latihan codepolitan

Resume Praktikum PBO Modul 6 (Inner Class, Collection, and Generics)


Pada praktikum kali ini membahas tentang Inner Class, Collection dan Generics. Inner Class merupakan sebuah kelas yang didefinisikan di dalam sebuah kelas lainnya. Inner Class dapat mengakses khusus ke kelas yang melingkupinya. Collection merupakan obyek khusus yang digunakan untuk menampung banyak objek bertipe apapun. Generics merupakan Sebuah cara untuk memberikan batasan tipe kepada sebuah kelas atau fungsi. Di deklarasikan di dalam kelas dan di definisikan saat instansiasi.


Contoh pengunaan Innner Class :


Contoh penggunaan Collection :




Contoh 1 Definisi Inner Class di dalam Body Class (Project MyClass1.java) :


Source Code:



/** Main Program MyClass  */ (MyClas1.java)
package myclass1;



public class MyClass1 {


    public static void main(String[] args) {
        OuterDemo.InnerDemo inner =
        new OuterDemo().new InnerDemo();
        inner.print();
        System.out.println("Num = "+inner.getNum());
    }

  
/** Kelas OuterDemo  */ (OuterDemo.java)

package myclass1;

public class OuterDemo {
   
        private int num;
        class InnerDemo {
           
        public void print() {
        System.out.println("This is an inner class");
        }
       
        public int getNum() {
        return num;
        }
       
                        }
}



Contoh 2 Definisi Inner Class di dalam Body Method (Project OuterClass.java)

Source Code:


(OuterClass.java)

package outerclass;
public class OuterClass {

        void myMethod() {
        int num = 23;
        class MethodInnerDemo {
        public void print() {
        System.out.println("The number = "+num);
        }
        }
        MethodInnerDemo mid = new MethodInnerDemo();
        mid.print();
        }
   
    public static void main(String[] args) {
       OuterClass oc = new OuterClass();
oc.myMethod();
    }
   
}



Contoh 3 Collection (Project JavaApplication1.java)

Source Code:


(JavaApplication1.java)
package javaapplication1;
import java.util.*;

public class JavaApplication1 {

    public static void main(String[] args) {
     
            List list = new ArrayList();
            list.add(200);
            list.add("Hello");
            list.add(235);
            list.add("Donny");
            // normal loop
            System.out.println("Normal loop");
            for (int i = 0; i < list.size(); i++) {
            Object o = list.get(i);
            System.out.println(o);
            }
            // loop using for-element
            System.out.println("for-element loop");
            for (Object o : list) {
            System.out.println(o);
            }
            // Loop using iterator
            System.out.println("loop using iterator");
            Iterator itr = list.iterator();
            while (itr.hasNext()) {
            Object o = itr.next();
            System.out.println(o);
            }
            // loop using lambda Expression
            System.out.println("loop using lambda expression");
            list.forEach(o -> System.out.println(o));
            // loop using reference
            System.out.println("loop using reference");
            list.forEach(System.out::println);
       
    }
   
}





Contoh 4 Menggunakan Interface Comparator (Project Employee.java)

Source Code:


(Employee.java)


package employee;
import java.util.*;
public class Employee implements Comparable<Employee> {

        private String name;
        private int salary;
        public Employee(String name, int salary) {
        this.name = name;
        this.salary = salary;
        }
        public String getName() {
        return name;
        }
        public int getSalary() {
        return salary;
        }
        @Override
        public String toString() {
        return "name=" + name + ", salary=" + salary;
        }
           
        @Override
        public int compareTo(Employee e) {
        return name.compareTo(e.name);
        }
    public static void main(String[] args) {
       
            List<Employee> listEmp = new ArrayList();
            listEmp.add(new Employee("bobby", 3000));
            listEmp.add(new Employee("erick", 1600));
            listEmp.add(new Employee("rey", 2500));
            listEmp.add(new Employee("anna", 3500));
            Collections.sort(listEmp);
            listEmp.forEach(System.out::println);
       
    }
   
}




Contoh 5 Menggunakan Generics (Project MyGenerics.java)

Source Code:


(Employee.java)

package mygenerics;
import java.util.*;
public class MyGenerics<E> {
private List<E> list = new ArrayList<>();
        public int getSize() {
        return list.size();
        }
        public void insert(E item) {
        list.add(item);
        }
        public void printAll() {
        list.forEach(System.out::println);
 
    }
       
    public static void main(String[] args) {
       
        class Building {
        String address;
        Building(String address) {
        this.address = address;
        }
        @Override
        public String toString() {
        return "address: "+address;
        }
        }
        MyGenerics<Building> building = new MyGenerics<>();
        building.insert(new Building("Jl Margahayu Raya no. 30"));
        building.insert(new Building("Jl Cisaranten no. 17"));
        building.insert(new Building("Jl Banteng no. 25"));
        building.insert(new Building("Jl Solokan Jeruk no. 14"));
        building.insert(new Building("Jl Telekomunikasi no. 6"));
        building.printAll();
}
}








Comments