Praktikum KPLBO Collection II Oleh : Ade Sukendar [ade.sukendar@unpas.ac.id] Laboratorium Jurusan Teknik Informatika Universitas Pasundan 2014
Latihan 1 : Latihan praktikum ini bertujuan untuk memberikan contoh penggunaan collection dengan menggunakan kelas ArrayList. Objek yang dikelola oleh arraylist adalah MataKuliah (yang digunakan di pertemuan 9). Tulislah kode program dibawah ini dan perhatikan komentar yang ada di kode program tersebut. Buatlah kelas ContohArrayList seperti di bawah ini : ContohArrayList.java package p10.a; import java.util.arraylist; import java.util.iterator; import java.util.list; public class ContohArrayList { // create objek ArrayList // cara 1 ArrayList<MataKuliah> listmatakuliah = new ArrayList<MataKuliah>(); // cara 2 //List<MataKuliah> listmatakuliah = new ArrayList<MataKuliah>(); // create objek matakuliah yaang akan dikelola oleh objek ArrayList MataKuliah mk1 = new MataKuliah("IF123", "Alpro1", 4, 'A'); MataKuliah mk2 = new MataKuliah("IF124", "Alpro2", 3, 'B'); MataKuliah mk3 = new MataKuliah("IF125", "KPLBO", 3, 'B'); MataKuliah mk4 = new MataKuliah("IF126", "RKPPL", 2, 'A'); // tambahkan objek matakuliah ke arraylist listmatakuliah.add(mk1); listmatakuliah.add(mk2); listmatakuliah.add(mk3); listmatakuliah.add(mk4); // tampilkan objek matakuliah dari arraylist (cara 1) for (MataKuliah mk : listmatakuliah) { System.out.println(mk.getKode()+ ","+ mk.getindeksnilai()); //atau (cara 2) //Iterator<MataKuliah> iteratormk = listmatakuliah.iterator(); //while(iteratormk.hasnext()) { // MataKuliah mk = iteratormk.next(); // System.out.println(mk.getKode()+ ","+ mk.getindeksnilai()); // Running, kemudian amati yang terjadi!!! Ubahlah kode program diatas sehingga sesuai spesifikasi dibawah ini : a. Gunakanlah cara ke-2 untuk membuat objek ArrayList, running dan amati! b. Tampilkan semua atribut objek Matakuliah dengan mengoveride method tostring objek Matakuliah! c. Gunakanlah cara ke-2 untuk mengkases objek dalam arraylist dan menampilkannya ke layar, running dan amati! 2
Latihan 2 : Latihan ke dua ini yaitu melanjutkan dari latihan yang pertama dengan menambahkan kode program untuk membungkus proses terkait dengan arraylist (pendekatan yang ke-3 dalam slide materi). Buatlah kelas RataMatakuliah seperti di bawah ini : RataMatakuliah.java package p10.b; import java.util.arraylist; import java.util.list; public class RataMataKuliah { private List<MataKuliah> listmk; public RataMataKuliah() { listmk = new ArrayList<>(); public void addmatakuliah(matakuliah mk) { listmk.add(mk); Menghitung rata-rata nilai indeks matakuliah yang di simpan didalam arraylist @return nilai rata-rata matakuliah public double hitungrata2nilai() { Menghitung nilai indeks total matakuliah yang di simpan didalam arraylist @return nilai indeks total matakuliah private int hitungpembilang() { Menghitung jumlah objek matakuliah yang berada di dalam arraylist @return jumlah objek matakuliah private int hitungpenyebut() { Menampilkan semua atribut matakuliah yang berada di dalam arraylist ke layar private void tampilmatakuliah() { // lengkapi... Menghitung jumlah objek matakuliah yang berada di dalam arraylist @return jumlah objek matakuliah 3
public int size() { Lengakapi implementasi dari program, kemudian running dan amati yang terjadi!!! Buatlah kelas RataMatakuliahMain seperti di bawah ini : RataMatakuliahMain.java package p10.b; public class RataMataKuliahMain { RataMataKuliah rmk = new RataMataKuliah(); MataKuliah mk1 = new MataKuliah("IF123", "Alpro1", 4, 'A'); MataKuliah mk2 = new MataKuliah("IF124", "Alpro2", 3, 'B'); MataKuliah mk3 = new MataKuliah("IF125", "KPLBO", 3, 'B'); MataKuliah mk4 = new MataKuliah("IF126", "RKPPL", 2, 'A'); MataKuliah mk5 = new MataKuliah("IF127", "Matematika", 2, 'B'); rmk.addmatakuliah(mk1); rmk.addmatakuliah(mk2); rmk.addmatakuliah(mk3); rmk.addmatakuliah(mk4); rmk.tampilmatakuliah(); System.out.println(rmk.size()); // ditambahkan satu objek matakuliah mk5 // tampilkan ukuran objek di dalam arraylist System.out.println("Nilai Rata-rata : "+ rmk.hitungrata2nilai()); Running dan amati yang terjadi!!! Tambahkan kode program yang diberi tanda komentar! Run dan amati! Latihan 3 : Latihan ke tiga yaitu latihan penggunaan class collection dengan menggunakan tipe Map. Map yang digunakan dalam contoh ini yaitu HashMap dan TreeMap. Contoh ini ingin menunjukkan perbedaanya antara type HashMap dan TreeMap. Buatlah kelas HashTree seperti di bawah ini : HashTree.java package p10.c; import java.util.hashmap; import java.util.treemap; public class HashTree { HashMap<String, String> hashmap = new HashMap<String, String>(); TreeMap<String, String> treemap = new TreeMap<String, String>(); 4
hashmap.put("fish", "FISH"); hashmap.put("dog", "DOG"); hashmap.put("cat", "CAT"); hashmap.put("rat", "RAT"); hashmap.put("zebra", "ZEBRA"); //tambahkan String dengan urutan yang sama ke treemap treemap.put("fish", "FISH"); treemap.put("dog", "DOG"); treemap.put("cat", "CAT"); treemap.put("rat", "RAT"); treemap.put("zebra", "ZEBRA"); System.out.println("Menelusuri HashMap"); //Menggunakan foreach, ambil nilainya saja for (String string : hashmap.values()) { System.out.println(string); System.out.println(); System.out.println("Menelusuri TreeMap"); //Menggunakan foreach, ambil nilainya saja for (String string : treemap.values()) { System.out.println(string); Running, kemudian amati yang terjadi!!! Buatlah contoh seperti diatas namun hanya untuk penggunaan dengan HashMap. Objek yang digunakan adalah seperti latihan sebelumnya yaitu objek MataKuliah. Nilai key object HashMap adalah kode matakuliah dan nilai value-nya adalah objek matakuliah. Prosesnya: masukkan objek-objek matakuliah ke dalam Hashmap kemudian tampilkan ke layar 5