Assalamualaikum..
Berjumpa
lagi ya.. kali ini saya akan membagikan metode yang ada dalam java, yaitu
Metode Overriding dan Metode Overloading.
Pada
program berisi perbedaan gaji dari masing-masing pegawai :
1)
Bos
2)
Pegawai Tetap
3)
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.
1)
Pertama kita buat Superclass "Pegawai"
~
Buat variabel - variabel yang diperlukan
~
Masukkan fungsi yang akan diberikan pada class pegawai
"Absen"&"gaji"
ketikan
script seperti berikut :
public
class pegawai {
int
nama;
int
gaji;
int
gajipokok=150000;
public
void Absen(){
System.out.println("Perusahaan Sumber
Makmur");
}
public
void gaji(){
System.out.println("Gaji Pokok Pegawai =
" + gajipokok);
}
}
2)
Buatlah SubClassA yaitu "bos"
- Berikan keyword "extend"
yang merujuk pada SuperClass
- Tambahkan type dan nama dari variabel
- Lakukan OverRidding pada bagian fungsi "Absen" yang nantinya akan dimunculkan
- Tambahkan pula fungsi lain yaitu "gajibos"
- Tambahkan type dan nama dari variabel
- Lakukan OverRidding pada bagian fungsi "Absen" yang nantinya akan dimunculkan
- Tambahkan pula fungsi lain yaitu "gajibos"
public class bos extends pegawai{
int gajibonus;
int gajilembur = 15000;
int total;
int jumlahlemburbos;
public void Absen(){
System.out.println("Nama = Afinda Nofi Nurfiyana");
}
public void gajibos (int jumlahlemburbos){
gajilembur = gajilembur * jumlahlemburbos;
total = gajipokok+gajibonus+gajilembur;
System.out.println("Gaji bos = " + total);
}
}
int gajibonus;
int gajilembur = 15000;
int total;
int jumlahlemburbos;
public void Absen(){
System.out.println("Nama = Afinda Nofi Nurfiyana");
}
public void gajibos (int jumlahlemburbos){
gajilembur = gajilembur * jumlahlemburbos;
total = gajipokok+gajibonus+gajilembur;
System.out.println("Gaji bos = " + total);
}
}
3)
Tambahkan SubclassB yaitu "pegawai_kontrak"
- 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
- Perbedaannya pada variabel gajitunjangan diberi angka tertentu
- Dan pada fungsi gajipegawaitetap diberikan fungsi khusus sehingga dapat di overloading
public class pegawai_kontrak extends
pegawai {
int gajitambahan;
int totalgajiperusahaan;
public void Absen (){
System.out.println("Nama = Mutiara");
}
public void gajipegawaikontrak(int gajitambahan){
totalgajiperusahaan = gajipokok + gajitambahan;
System.out.println("Gaji bos = " + totalgajiperusahaan);
}
}
int gajitambahan;
int totalgajiperusahaan;
public void Absen (){
System.out.println("Nama = Mutiara");
}
public void gajipegawaikontrak(int gajitambahan){
totalgajiperusahaan = gajipokok + gajitambahan;
System.out.println("Gaji bos = " + totalgajiperusahaan);
}
}
4)
Buat SubclassC dengan nama "pegawai_tetap"
- Pengisian sama seperti pada
SubclassB
public class pegawai_tetap extends
bos{
int gajilembur = 1700;
int gajitunjangan = 2500;
int totalgajiperusahaan;
int jumlahlembur;
public void Absen (){
System.out.println("Nama = Haryanto");
}
public void gajipegawaitetap(int jumlahlembur) {
gajilembur = gajilembur*jumlahlembur;
totalgajiperusahaan = gajipokok + gajitunjangan + gajilembur;
System.out.println("Gaji bos =" + totalgajiperusahaan);
}
}
int gajilembur = 1700;
int gajitunjangan = 2500;
int totalgajiperusahaan;
int jumlahlembur;
public void Absen (){
System.out.println("Nama = Haryanto");
}
public void gajipegawaitetap(int jumlahlembur) {
gajilembur = gajilembur*jumlahlembur;
totalgajiperusahaan = gajipokok + gajitunjangan + gajilembur;
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
- 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");
}
}
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)
Selesai berikut program yang telah dibuat tadi
Demikianlah yang bisa saya bagikan.. Semoga bermanfaat..
Wassalamualaikum..
0 komentar:
Posting Komentar