Praktikum KPLBO Final Object Concept I
Oleh : Ade Sukendar [
[email protected]]
Laboratorium Jurusan Teknik Informatika Universitas Pasundan 2014
Latihan 1 :
Latihan praktikum ini bertujuan untuk memberikan contoh penggunaan kelas abstrak. Kelas abstrak tidak dapat di instansiasi sehingga dibutuhkan kelas non-abstrak. Kelas non-abstrak akan mengimplementasikan kelas abstrak. Kelas Mahasiswa adalah kelas abstrak sedangkan kelas MahasiswaReguler adalah kelas implementasinya. Tulislah kode program dibawah ini. Buatlah kelas Mahasiswa seperti di bawah ini : Mahasiswa.java package p11.a; public abstract class Mahasiswa { protected String nrp; protected String nama; protected int totalSKS; /* * Konstruktor */ public Mahasiswa(String nrp, String nama, int totalSKS) { this.nrp = nrp; this.nama = nama; this.totalSKS = totalSKS; } /** * Method ini berfungsi untuk menentukan status mahasiswa * yang telah memenuhi batas minimal sks perkuliahan yang sudah * diambil. Method ini digunakan untuk persyaratan sidang tugas akhir * * @return status pemenuhan batas sks perkuliahan */ public abstract boolean courseComplete(); /* * Setter & Getter disembunyikan * namun implementasinya tetap ada */ }
Buatlah kelas MahasiswaReguler seperti di bawah ini : MahasiswaReguler.java package p11.a; public class MahasiswaReguler extends Mahasiswa { /* * Konstruktor */ public MahasiswaReguler() { super(null, null, 0); } public MahasiswaReguler(String nrp, String nama, int totalSKS) { super(nrp, nama, totalSKS); } @Override public boolean courseComplete() { return (totalSKS >= MahasiswaRule.MAX_SKS_REGULER); } }
2
Buatlah kelas MahasiswaTes seperti di bawah ini : MahasiswaTes.java package p11.a; public class MahasiswaTest { public static void main(String[] args) { MahasiswaReguler mhs1 = new MahasiswaReguler("123040300", "Mahmud", 150); MahasiswaReguler mhs2 = new MahasiswaReguler("123040301", "Abdul", 100); System.out.println(mhs1.getNrp()+ " memenuhi minimal sks:"+ mhs1.courseComplete()); System.out.println(mhs2.getNrp()+ " memenuhi minimal sks:"+ mhs2.courseComplete()); } }
Buatlah kelas MahasiswaRule seperti di bawah ini : MahasiswaRule.java package p11.a; public class MahasiswaRule { public static int MAX_SKS_REGULER = 130; }
Running, kemudian amati yang terjadi !!! Tambahkan mahasiswa lainnya seperti dibawah ini dan kelola dengan objek collection ArrayList. - 123040302, Zakaria, 120 - 123040303, Ahmed, 130 - 123040305, Zubaedah, 129
Latihan 2 :
Latihan ke dua ini melanjutkan dari latihan yang pertama dengan membuat kelas main yang baru yaitu kelas MahasiswaTest2. Buatlah kelas MahasiswaTest2 seperti di bawah ini : MahasiswaTest2.java public class MahasiswaTest2 { public static void main(String[] args) { Mahasiswa mhs1 = new MahasiswaReguler("123040300", "Mahmud", 150); Mahasiswa mhs2 = new MahasiswaReguler("123040301", "Abdul", 100); System.out.println(mhs1.getNrp()+ " memenuhi minimal sks:"+ mhs1.courseComplete()); System.out.println(mhs2.getNrp()+ " memenuhi minimal sks:"+ mhs2.courseComplete()); } }
Running dan amati yang terjadi !!! 3
Apa perbedaan kode diatas dengan latihan yang pertama ? Apa nama konsep OOP untuk koding diatas pada instansiasi objek mahasiswa mhs1 dan mhs2?
Latihan 3 : Latihan yang ke tiga ini masih melanjutkan dari latihan yang sebelumnya. Buatlah kelas MahasiswaKaryawan untuk menangani mahasiswa kelas karyawan. Kelas ini mengimplementasikan kelas abstrak Mahasiswa. Total maksimal sks adalah 97. Buatlah objek MahasiswaKaryawan dengan atribut:
123040400, Asep, 120 123040401, Sunandar, 90 123040402, Sunarya, 105
Kelola dengan inputan dan output objek ini dengan menggunakan kelas collection ArrayList.
.
Latihan 4 :
Latihan ke empat yaitu latihan penggunaan interface. Interface berisi method yang belum ada impelemntasinya, sama seperti method abstrak di latihan sebelumnya. Setiap interface harus diimplementasikan oleh sebuah kelas. Kelas ini akan men-overide semua method dari interface. Buatlah interface Mahasiswa seperti di bawah ini : Mahasiswa.java package p11.d; public interface Mahasiswa { /** * Method ini berfungsi untuk menentukan status mahasiswa * yang telah memenuhi batas minimal sks perkuliahan yang sudah * diambil. Method ini digunakan untuk persyaratan sidang tugas akhir * * @return status pemenuhan batas sks perkuliahan */ public boolean courseComplete(); }
Buatlah kelas MahasiswaReguler seperti di bawah ini : MahasiswaReguler.java package p11.d; import p11.a.MahasiswaRule; public class MahasiswaReguler
implements Mahasiswa {
private String nrp; private String nama; private int totalSKS; /* * Konstruktor */ public MahasiswaReguler() {}
4
public MahasiswaReguler(String nrp, String nama, int totalSKS) { this.nrp = nrp; this.nama = nama; this.totalSKS = totalSKS; } @Override public boolean courseComplete() { return (totalSKS >= MahasiswaRule.MAX_SKS_REGULER); } /* * Setter & Getter disembunyikan * namun implementasinya tetap ada */ }
Buatlah kelas MahasiswaTest3 seperti di bawah ini : MahasiswaTest3.java package p11.d; public class MahasiswaTest3 { public static void main(String[] args) { MahasiswaReguler mhs1 = new MahasiswaReguler( "123040300", "Mahmud", 150); MahasiswaReguler mhs2 = new MahasiswaReguler( "123040301", "Abdul", 100); System.out.println(mhs1.getNrp()+ " memenuhi minimal sks:"+ mhs1.courseComplete()); System.out.println(mhs2.getNrp()+ " memenuhi minimal sks:"+ mhs2.courseComplete()); } }
Running, kemudian amati yang terjadi !!!
Latihan 5 :
Latihan ke lima ini melanjutkan dari latihan yang ke empat dengan membuat kelas main yang baru yaitu kelas MahasiswaTest4. Buatlah kelas MahasiswaTest4 seperti di bawah ini : MahasiswaTest4.java package p11.d; public class MahasiswaTest4 { public static void main(String[] args) { Mahasiswa mhs1 = new MahasiswaReguler("123040300", "Mahmud", 150); Mahasiswa mhs2 = new MahasiswaReguler("123040301", "Abdul", 100); System.out.println(mhs1.getNrp()+ " memenuhi minimal sks:"+ mhs1.courseComplete()); System.out.println(mhs2.getNrp()+ " memenuhi minimal sks:"+ mhs2.courseComplete()); } }
Running dan amati yang terjadi !!!
5