Praktikum KPLBO Collection I
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 array. Tulislah kode program dibawah ini dan perhatikan komentar yang ada di kode program tersebut. Buatlah kelas ArrayTipePrimitif seperti di bawah ini : ArrayTipePrimitif.java package p9.a; public class ArrayTipePrimitif { public static final int MAX_ELEMEN = 10; public static void main(String[] args) { // deklarasi array int[] arr; // menciptakan objek array dengan elemen X arr = new int[MAX_ELEMEN]; // Atau deklarasi + menciptakan objek array // int[] arr = new int[MAX_ELEMEN]; // Mengisi nilai ke array for (int i = 0; i < arr.length; i++) { arr[i] = (i+1); } // Menampilkan isi nilai dari array for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+ " "); } } }
Running, kemudian amati yang terjadi !!! Ubahlah kode program diatas sehingga menghasilkan output seperti ini : 1 3 5 7 9
Latihan 2 :
Latihan ke dua ini yaitu melanjutkan dari latihan yang pertama dengan menambahkan kode program untuk membungkus proses terkait dengan array. Buatlah kelas ArrayTipePrimitif2 seperti di bawah ini : ArrayTipePrimitif2.java package p9.a; public class ArrayTipePrimitif2 { public static int MAX_ELEMEN = 10; private int[] arr; public ArrayTipePrimitif2() { arr = new int[MAX_ELEMEN]; } public ArrayTipePrimitif2(int maxElemen) { MAX_ELEMEN = maxElemen; arr = new int[MAX_ELEMEN]; } public void isiArray() {
2
for (int i = 0; i < arr.length; i++) { arr[i] = (i+1); } } public void tampilArray() { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+ " "); } } public static void main(String[] args) { ArrayTipePrimitif2 atp = new ArrayTipePrimitif2(); atp.isiArray(); atp.tampilArray(); } }
Running, kemudian amati yang terjadi !!!
Latihan 3 :
Latihan ke tiga yaitu latihan penggunaan array yang telah menggunakan tipe objek. Tipe objek yang digunakan adalah kelas MataKuliah yang telah pernah dibuat dilatihan sebelumnya. Buatlah kelas MataKuliah seperti di bawah ini : MataKuliah.java package p9.b; /** * * @author Ade Sukendar * @version 1.2 * @since 22/2/2014 * */ public class MataKuliah { private String kode; private String nama; private int sks; private char indeksNilai; /* * Konstruktor */ public MataKuliah() {} public MataKuliah(String kode, String nama, int sks, char indeksNilaiNilai) { setKode(kode); setNama(nama); setSks(sks); setIndeksNilai(indeksNilaiNilai); } /** * Method ini berfungsi untuk mendapatkan nilai * dari indeks nilai matakuliah * * @return nilai indeks */ public int getNilaiIndeks() { if (indeksNilai == 'A') { return 4; } else if (indeksNilai == 'B') { return 3;
3
} else if (indeksNilai == 'C') { return 2; } else if (indeksNilai == 'D') { return 1; } else if (indeksNilai == 'E') { return 0; } return -1; } /* * Method Setter & Getter disembunyikan * Implementasi method ini harus tetap dibuat * */ }
Buatlah kelas MataKuliah seperti di bawah ini : MataKuliah.java package p9.b; import p9.b.MataKuliah; public class ArrayTipeObjek { public static int MAX_ELEMEN = 5; public static void main(String[] args) { // deklarasi array MataKuliah[] arrMK; // menciptakan objek array arrMK = new MataKuliah[MAX_ELEMEN]; // Atau deklarasi array & menciptakan objek array // Matakuliah[] arrMK = new Matakuliah[MAX_ELEMEN]; // Mengisi objek matakuliah ke array for (int i = 0; i < arrMK.length; i++) { MataKuliah mk = new MataKuliah(""+ (i+1), "Matakuliah"+ i, 3, 'A'); arrMK[i] = mk; } // Menampilkan objek matakuliah dari array for (int i = 0; i < arrMK.length; i++) { MataKuliah mk = arrMK[i]; System.out.print(""+ mk.getKode()+ ","+ mk.getNama()+ ","+ mk.getSks()); System.out.println(); } } }
Running, kemudian amati yang terjadi !!! Ubahlah kode program diatas sehingga menghasilkan output seperti di bawah ini :
3,Matakuliah4,4 4,Matakuliah5,4 5,Matakuliah6,4 6,Matakuliah7,4
4
Latihan 4
Latihan ke empat melanjutkan dari latihan yang ke tiga dengan menambahkan kode program untuk membungkus proses penanganan array dalam satu kelas. Berikut dibawah ini diagram kelas untuk menangani array.
Buatlah kelas ArraysMatakuliah seperti di bawah ini : ArraysMatakuliah.java package p9.c; import p9.b.MataKuliah; public class ArraysMatakuliah { public final static int MAX_ELEMEN = 10; private MataKuliah[] arr; /* * Konstruktor */ public ArraysMatakuliah() { arr = new MataKuliah[MAX_ELEMEN]; } public ArraysMatakuliah(int maxElemen) { arr = new MataKuliah[maxElemen]; } /** * Menambahkan objek matakuliah ke dalam array * * @param matakuliah */ public void add(MataKuliah mk, int indeks) { arr[indeks] = mk; } /** * Menghapus objek matakuliah dari array * * @param matakuliah * @return delete dilakukan atau tidak */ public boolean delete(MataKuliah mk) { // temukan matakuliah berdasarkan kode // jika ada, hapus objek matakuliah di array return false;
5
} /** * Menghapus objek matakuliah dari array * * @param indeks */ public void deleteByIndeks(int indeks) { MataKuliah mk = arr[indeks]; if (mk != null) { arr[indeks] = null; } } /** * Mencari objek matakuliah dari array * berdasarkan kode matakuliah * * @param matakuliah * @return true: objek matakuliah ada, * false: objek matakuliah tidak ada */ public MataKuliah find(MataKuliah mk) { return null; } /** * Menampilkan atribut objek matakuliah dari array */ public void show() { for (int i = 0; i < arr.length; i++) { MataKuliah mk = arr[i]; if (mk != null) { System.out.print(""+ mk.getKode()+ ","+ mk.getNama()+ ","+ mk.getSks()); System.out.println(); } } } /** * Mencari objek matakuliah dari array * berdasarkan indeks array * * @param indeks * @return objek matakuliah */ public MataKuliah get(int indeks) { return arr[indeks]; } }
Buatlah kelas ArraysMatakuliahMain seperti di bawah ini : ArraysMatakuliahMain.java package p9.c; import p9.b.MataKuliah; public class ArraysMatakuliahMain { public static void main(String[] args) { ArraysMatakuliah am = new ArraysMatakuliah(); MataKuliah MataKuliah MataKuliah MataKuliah
mk1 mk2 mk3 mk4
am.add(mk1, am.add(mk2, am.add(mk3, am.add(mk4,
= = = =
new new new new
MataKuliah("IF123", MataKuliah("IF124", MataKuliah("IF125", MataKuliah("IF126",
"Alpro1", 4, 'A'); "Alpro2", 3, 'B'); "KPLBO", 3, 'B'); "RKPPL", 2, 'A');
0); 1); 2); 3);
6
am.show(); // Lengkapi kode program : // gunakan fungsi delete // tampilkan atribut objek dalam array // gunakan fungsi deleteByIndeks // tampilkan atribut objek dalam array // gunakan fungsi find dengan : // objek matakuliah beratribut kode IF123 // objek matakuliah beratribut kode IF127 // gunakan fungsi get dan tampilkan atributnya } }
Running, kemudian amati yang terjadi !!! Lengkapi kode program yang belum diimplementasikan !
7