Di program ini akan membedakan gaji dari masing-masing pegawai:
- Bos
- Pegawai tetap
- Pegawai kontrak
Untuk itu diperlukan SuperClass(Pegawai) dan SubClass(Bos, Pegawai
Tetap, Pegawai Kontrak) serta Program utama. Dengan kata lain kita perlu
membuat 5 class dalam satu program.
- Pertama kita buat Superclass "Pegawai"
- Buat variabel - variabel yang diperlukan
- Masukkan fungsi yang akan diberikan pada class pegawai "Absen"&"gaji"
kemudian ketikan codingan seperti berikut :
int gaji;
int gajipokok=150000;
public void Absen(){
System.out.println("perusahaan Homer");
}
public void gaji(){
System.out.println("Gaji pokok pegawai=+gajipokok");
}
}
- Berikan keyword "extends" yang merujuk pada SuperClass
- Tambahkan type dan nama dari variabel
- Lakukan Overiding pada bagian fungsi "Absen" yang nantinya akan dimunculkan
- Tambahkan pula fungsi lain yaitu "gajibos"
int gajibonus;
int gajilembur;
int total;
int jumlahlemburbos;
public void Absen(){
System.out.println("Nama=Homer");
}
public void gajibos (int jumlahlemburbos){
gajilembur = gajilembur * jumlahlemburbos;
total = gajipokok+gajibonus+gajilembur;
System.out.println("Gaji bos = " + total);
}
}
- Lakukan hal yang sama dengan cara pertama
- Perbedaannya pada variabel gajitunjangan diberi angka tertentu
- Dan pada fungsi gajipegawaitetap diberikan fungsi khusus sehingga dapat di overloading
public class pegawai_tetap extends bos{
int gajilembur=1700;
int gajitunjangan=2000;
int totalgajiperusahaan;
int jumlahlembur;
public void Absen(){
System.out.println("Nama=flender");
}
public void gajipegawaitetap(int jumlahlembur){
gajilembur=gajilembur*jumlahlembur;
totalgajiperusahaan=gajipokok+gajitunjangan+gajilembur;
System.out.println("Gaji bos="+totalgajiperusahaan);
}
}
4. Buat SubclassC dengan nama "pegawai_kontrak"
- Pengisian sama seperti pada SubclassB
public class pegawai_kontrak extends pegawai{
int gajitambahan;
int totalgajiperusahaan;
public void Absen(){
System.out.println("Nama= Plopper CS");
}
public void gajipegawaikontrak(int gajitambahan){
totalgajiperusahaan=gajipokok+gajitambahan;
System.out.println("Gaji bos="+totalgajiperusahaan);
}
}
5. Buat program utama "program_utama"
- Buat constructor dari class yang sebelumnya
- Panggil fungsi dari masing-masing class yang telah dibuat contoh : "Absen","gaji", dll.
- Lakukan Overriding pada fungsi yang diberikan hak seperti fungsi "gajibos" pada class bos.
- Isi data Overriding sesuai dengan fungsi yang telah dibuat pada Class Sebelumnya
public class program_utama {
public static void main (String[]Args){
pegawai objsuper = new pegawai();
bos objsubA = new bos();
pegawai_tetap objsubB = new pegawai_tetap();
pegawai_kontrak objsubC = new pegawai_kontrak();
System.out.println("Gaji pokok");
objsuper.Absen();
objsuper.gaji();
System.out.println("\n");
System.out.println("Gaji bos");
objsubA.Absen();
objsubA.gajibos(4);
System.out.println("\n");
System.out.println("Gaji Pegawai Tetap");
objsubB.Absen();
objsubB.gajipegawaitetap(4);
System.out.println("\n");
System.out.println("Gaji Pegawai Kontrak");
objsubC.Absen();
objsubC.gajipegawaikontrak(500);
System.out.println("\n");
}
}
6. Jalankan program