Praktikum KPLBO - Blog Unpas

advertisement
Praktikum KPLBO
Collection II
Oleh :
Ade Sukendar [[email protected]]
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;
import p9.b.MataKuliah;
public class ContohArrayList {
public static void main(String[] args) {
// 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;
import p9.b.MataKuliah;
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() {
return 0; // lengkapi......
}
/**
* Menghitung nilai indeks total matakuliah yang
* di simpan didalam arraylist
*
* @return nilai indeks total matakuliah
*/
private int hitungPembilang() {
return 0; // lengkapi......
}
/**
* Menghitung jumlah objek matakuliah yang berada
* di dalam arraylist
*
* @return jumlah objek matakuliah
*/
private int hitungPenyebut() {
return 0; // lengkapi......
}
/**
* 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() {
return 0; // lengkapi......
}
}

Lengakapi implementasi dari program, kemudian running dan amati yang terjadi !!!

Buatlah kelas RataMatakuliahMain seperti di bawah ini :
RataMatakuliahMain.java
package p10.b;
import p9.b.MataKuliah;
public class RataMataKuliahMain {
public static void main(String[] args) {
RataMataKuliah rmk = new RataMataKuliah();
MataKuliah
MataKuliah
MataKuliah
MataKuliah
MataKuliah
mk1
mk2
mk3
mk4
mk5
=
=
=
=
=
new
new
new
new
new
MataKuliah("IF123",
MataKuliah("IF124",
MataKuliah("IF125",
MataKuliah("IF126",
MataKuliah("IF127",
"Alpro1", 4, 'A');
"Alpro2", 3, 'B');
"KPLBO", 3, 'B');
"RKPPL", 2, 'A');
"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 {
public static void main(String[] args) {
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
Download