LAPORAN RESMI PEMOGRAMAN BERBASIS OBYEK

advertisement
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.
Download