LAPORAN RESMI PEMOGRAMAN BERBASIS OBYEK PRAKTIKUM 19 - COLLECTIONS ( SET DAN LIST ) LATIHAN 1. Penerapan konsep himpunan pada interface Set Listing Program : //latihan1.java package latihan; import java.util.*; public class latihan1 { public static void main(String[] args) { Set A = new HashSet (); A.add(1); A.add(2); A.add(3); A.add(4); A.add(5); Set B = new HashSet (); B.add(5); B.add(6); B.add(7); B.add(8); B.add(9); B.add(10); Set notduplicate = new TreeSet(A); notduplicate.removeAll(B); print("A - B",notduplicate); Set irisan = new TreeSet(A); irisan.retainAll(B); //irisan print("Irisan",irisan); Set gabungan = new TreeSet(A); gabungan.addAll(B); //gabungan print("Gabungan",gabungan); Set complement = new TreeSet(A); System.out.println("----------------Complement----------------"); System.out.println(A.containsAll(B)); } private static void print(String label, Collection c) { System.out.println("----------------"+label+"----------------"); Iterator it = c.iterator(); while(it.hasNext()){ System.out.println(it.next()); } } } Output : Analisa : Pada praktikum ini kita menerapkan konsep himpunan pada interface Set. Dengan menggunakan fungsifungsi yang terdapat pada class-class pada Collection. Kita menggunakan beberapa fungsi ini unutk mendapatkan output seperti : Kita menggunakan removeAll() unutk himpunan selisih, retainAll() untuk himpunan bilangan irisan, addAll() untuk himpunan bilangan gabungan, containsAll() untuk mengetahui himpunan bilangan A apakan merupakan komplemen dari himpunan bilangan B. 2. Memahami penggunaan interface List Listing Program : //latihan2.java package latihan; import java.util.*; public class latihan2 { public static void main(String[] args) { List mhs = new ArrayList(); mhs.add("Melia"); mhs.add("Vella"); mhs.add("Diba"); mhs.add("Avida"); mhs.add("Mita"); System.out.print("\nList asli : "); System.out.println(mhs); Collections.reverse(mhs); System.out.print("\nList setelah dibalik : "); System.out.println(mhs); Collections.shuffle(mhs); System.out.print("\nList setelah diacak : "); System.out.println(mhs); Collections.sort(mhs); System.out.print("\nList setelah diurutkan : "); System.out.println(mhs); System.out.println(""); } } Output : Analisa : Dari praktikum diatas kita menggunakan interface list dan menggunakan method-method dari clas collections untuk mengurutkan mengacak dan membalik data. Method yang digunakan antara lain reserve untuk membalik data, shuffle untuk mengacak data, dan sort untuk mengurutkan data . 3. Memahami penggunaan interface List (2) //Mahasiswa.java package latihan; public class Mahasiswa implements Comparable{ private int nrp; private String nama; public Mahasiswa(int n, String s){ nrp = n; nama = s; } @Override public String toString() { String string = "[ "+nrp+" , "+nama+"]"; return string; } @Override public int compareTo(Object o){ return this.nrp - ((Mahasiswa)o).nrp; } } //latihan3.java package latihan; import java.util.*; public class latihan3 { public static void main(String[] args) { List<Mahasiswa> mhs = new ArrayList<>(); Mahasiswa mhs1 = new Mahasiswa(2101, "Melia"); Mahasiswa mhs2 = new Mahasiswa(2102, "Aji"); Mahasiswa mhs3 = new Mahasiswa(2103, "Kiki"); Mahasiswa mhs4 = new Mahasiswa(2104, "Alfiyah"); Mahasiswa mhs5 = new Mahasiswa(2105, "Wahyu"); mhs.add(mhs1); mhs.add(mhs2); mhs.add(mhs3); mhs.add(mhs4); mhs.add(mhs5); System.out.println("Data Pertama"); System.out.println(mhs); System.out.println("\nData setelah dibalik"); Collections.reverse(mhs); System.out.println(mhs); System.out.println("\nData setelah diacak"); Collections.shuffle(mhs); System.out.println(mhs); Collections.sort(mhs); System.out.print("\nList setelah diurutkan : "); System.out.println(mhs); System.out.println(""); } } Ouput : Analisa : Pada praktikum diatas kami menggunakan ArrayList. Data ArrayList berasal dari class Mahasiswa dimana terdiri dari variable nama dan nrp. Untuk membalik data tersebut menggunakan method “reserve”. Untuk mengacak data tersebut menggunakan method “shuffle” yang terdapat pada class Collections. Sedangkan untuk mengurutkan menggunakan interface Comparable dengan menerapkan method compareTo. Karena data yang diurutkan harus pasti. Sedangkan mahasiswa memiliki variable nama dan nrp. Kita harus tahu mengurutkan berdasarkan nrp atau nama. TUGAS 1. Penggunaan class LinkedList pada interface List //tugas1.java package tugas; import java.util.*; public class tugas1 { public static void main(String[] args) { List warna = new ArrayList(); warna.add("MAGENTA"); warna.add("RED"); warna.add("WHITE"); warna.add("BLUE"); warna.add("CYAN"); System.out.println("Warna : " +warna); List deleteWarna = new ArrayList(); deleteWarna.add("RED"); deleteWarna.add("WHITE"); deleteWarna.add("BLUE"); System.out.println("Warna yang di hapus : " +deleteWarna); warna.removeAll(deleteWarna); System.out.println("Output : " +warna); } } Output : Analisa : Pada percobaan ini kita menggunakan ArrayList untuk menghasilkan output wana setelah dihapus dengan warna yang terdapat oada deleteWarna kita menggnakan method removeAll() yang berfungsi untuk menghilangkan elemen yang sama sehingga hanya akan tampil warna yang tidak memilki duplikasi. 2. Pengurutan data mahasiswa berdasarkan nilai //Mahasiswa.java package tugas; public class Mahasiswa implements Comparable { private String nrp; private String nama; private float nilai; Mahasiswa(String nrp, String nama){ this.nrp = nrp; this.nama = nama; this.nilai = 59 + (float) Math.random() * 41; } @Override public String toString() { String string = "\n "+nrp+", "+nama+", "+nilai+" "; return string; } @Override public int compareTo(Object o) { return (int) (((Mahasiswa)o).nilai-this.nilai); } } //tugas2.java package tugas; import java.util.*; public class tugas2 { public static void main(String[] args) { LinkedList<Mahasiswa> mhs = new LinkedList<>(); Mahasiswa mhs1 = new Mahasiswa("2101", "Melia"); Mahasiswa mhs2 = new Mahasiswa("2102", "Aji"); Mahasiswa mhs3 = new Mahasiswa("2103", "Kiki"); Mahasiswa mhs4 = new Mahasiswa("2104", "Alfiyah"); Mahasiswa mhs5 = new Mahasiswa("2105", "Wahyu"); Mahasiswa mhs6 = new Mahasiswa("2106", "Fifi"); Mahasiswa mhs7 = new Mahasiswa("2107", "Dina"); Mahasiswa mhs8 = new Mahasiswa("2108", "Nabilah"); Mahasiswa mhs9 = new Mahasiswa("2109", "Agus"); Mahasiswa mhs10 = new Mahasiswa("2110", "Tegar"); mhs.add(mhs1); mhs.add(mhs2); mhs.add(mhs3); mhs.add(mhs4); mhs.add(mhs5); mhs.add(mhs6); mhs.add(mhs7); mhs.add(mhs8); mhs.add(mhs9); mhs.add(mhs10); System.out.println("Data Pertama"); System.out.println(mhs); System.out.println("\nData Setelah diurutkan berdasarkan nilai"); Collections.sort(mhs); System.out.println(mhs); } } Output : Analisa : Pada praktikum ino kami menggunakan LinkedList. Data dari LinkedList berasal dari class Mahasiswa dimana Mahasiswa terdiri dari variable nama, nrp, dan nilai. Untuk nilai diset secara random sehingga menggunakan fungsi Math.random. untuk mengurutkan berdasarkan nilai menggunakan interface Comparable yaitu dengan method compareTo. Karena jika menggunakan sort seperti biasanya tidak bisa karena data yang disorting lebih dari satu. Sehingga hanya bisa diurutkan dengan mengimplementasikan interface Comparable/ Comparator.