SKA#5 OOP Constructor | Java

This entry is part 10 of 12 in the series SK A Grade Mahasiswa

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);
	}
Series Navigation<< SKA#4 OOP Class sederhana | PythonSKA#5 OOP Instance Method | Python >>

You may also like...

2 Responses

  1. Haeruzzikri says:

    Pak, selain membuat program menjadi lebih ringkas dan sederhana adakah kelebihan lain dari OOP Constructor ini?

    • Alza says:

      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.

Berikan komentar