SKA#5 OOP Constructor | Java
- SKA#0 Pengantar
- SKA#1 Dasar | Java
- SKA#1 Dasar | Python
- SKA#2 Method | Java
- SKA#2 Function | Python
- SKA#3 Array | Java
- SKA#3 List | Python
- SKA#4 OOP Class sederhana | Java
- SKA#4 OOP Class sederhana | Python
- SKA#5 OOP Constructor | Java
- SKA#5 OOP Instance Method | Python
- SKA#6 OOP Instance Method | Java
Contoh kasus A artikel ke-5 untuk bahasa pemrograman Java
Perhatian, anda sebaiknya membaca terlebih dahulu materi pengantar untuk constructor pada artikel ini.
Pada artikel ke-5 ini, class NilaiMataKuliah dilengkapi dengan constructor. Dengan constructor, kita dapat menginstansiasi object dari class bersangkutan dan sekaligus memberi nilai pada fields yang ada sehingga kode program menjadi lebih ringkas.
Berikut adalah perubahan kode pada class NilaiMataKuliah. Perhatikan penambahan constructor pada baris ke 8 s.d 17.
Sebelum
public class NilaiMataKuliah { String nama; String namaMatKul; double nilaiHadir; double nilaiTugas; double nilaiUTS; double nilaiUAS; }
Sesudah
public class NilaiMataKuliah { String nama; String namaMatKul; double nilaiHadir; double nilaiTugas; double nilaiUTS; double nilaiUAS; public NilaiMataKuliah(String nama, String namaMatKul, double nilaiHadir, double nilaiTugas, double nilaiUTS, double nilaiUAS) { super(); this.nama = nama; this.namaMatKul = namaMatKul; this.nilaiHadir = nilaiHadir; this.nilaiTugas = nilaiTugas; this.nilaiUTS = nilaiUTS; this.nilaiUAS = nilaiUAS; } }
Dengan adanya constructor tersebut, instansiasi object dari class NilaiMataKuliah menjadi lebih sederhana seperti ditunjukkan pada method main berikut ini. Perhatikan bahwa baris 3 s.d 9 diganti dengan hanya satu baris saja.
Sebelum
public static void main(String[] args) { NilaiMataKuliah obj; obj = new NilaiMataKuliah(); obj.nama = "Agus"; obj.namaMatKul = "Pemrograman Lanjut"; obj.nilaiHadir = 80; obj.nilaiTugas = 75; obj.nilaiUTS = 83; obj.nilaiUAS = 70; double nilaiAkhir = hitungNilaiAkhir(obj.nilaiHadir, obj.nilaiTugas, obj.nilaiUTS, obj.nilaiUAS); String gradeAgus = nilaiKeGrade(nilaiAkhir); String teks = obj.nama +" pada mata kuliah "+ obj.namaMatKul +" memperoleh nilai akhir: "+nilaiAkhir+ ", dengan grade:"+ gradeAgus; System.out.println(teks); }
Sesudah
public static void main(String[] args) { NilaiMataKuliah obj; obj = new NilaiMataKuliah("Agus","Pemrograman Lanjut",80,75,83,70); double nilaiAkhir = hitungNilaiAkhir(obj.nilaiHadir, obj.nilaiTugas, obj.nilaiUTS, obj.nilaiUAS); String gradeAgus = nilaiKeGrade(nilaiAkhir); String teks = obj.nama +" pada mata kuliah "+ obj.namaMatKul +" memperoleh nilai akhir: "+nilaiAkhir+ ", dengan grade:"+ gradeAgus; System.out.println(teks); }
Pak, selain membuat program menjadi lebih ringkas dan sederhana adakah kelebihan lain dari OOP Constructor ini?
Manfaat yang paling penting dari constructor adalah kontrol penuh terhadap instansiasi object. Di dalam constructor kita bisa menjalankan proses tertentu terkait object yang nanti akan dihasilkan, termasuk di dalamnya memaksa bahwa fields tertentu harus terisi.