1. PENGERTIAN INHERITANCE (Pewarisan)
Inheritance adalah turunan atau pewarisan suatu class ke class baru dengan mewakili semua function yang ada di class utama (parent class). Inheritance sering sekali digunakan di dalam pemrograman berorientasi objek atau OOP. Berikut contoh yang saya buat dengan kasus menghitung gaji karyawan tetap dan tidak tetap dengan menggunakan turunan class pegawai yang diinputkan secara manual melalui keyboard.
import java.util.Scanner;
class Pegawai
{
String NIP,Nama;
public void
input()
{
Scanner
a=new Scanner (System.in);
System.out.print("Masukkan
Nama = ");
Nama=a.nextLine();
System.out.print("Masukkan
NIP = ");
NIP=a.nextLine();
}
public void
cetak()
{
System.out.println
("Nama = "+Nama);
System.out.println
("NIP = "+NIP);
}
}
class tetap extends Pegawai
{
char Gol;
int
J_masuk,Gj_pokok,U_transp,total_gaji;
public void
input1()
{
input();
Scanner
b=new Scanner (System.in);
Scanner
c=new Scanner (System.in);
System.out.print("Masukkan
Golongan = ");
Gol=b.nextLine().charAt(0);
System.out.print("Masukkan
Jam Masuk = ");
J_masuk=c.nextInt();
}
public void
cetak1()
{
cetak();
if(Gol=='A')
{
Gj_pokok=750000;
U_transp=12500;
}
else
if(Gol=='B')
{
Gj_pokok=1000000;
U_transp=17500;
}
else
if (Gol=='C')
{
Gj_pokok=1200000;
U_transp=10000;
}
else
{
System.out.println("Tidak
Ada");
}
total_gaji=
Gj_pokok+(J_masuk*U_transp);
System.out.println("Total
Gaji = "+total_gaji);
}
}
class tidak_tetap extends Pegawai
{
int jml_hadir;
int gaji=150000;
public void
input2()
{
input();
Scanner
a=new Scanner (System.in);
System.out.print("Masukkan
Jumlah Hadir = ");
jml_hadir=a.nextInt();
}
public void
cetak2()
{
int
total_gaji2;
cetak();
total_gaji2=
jml_hadir*gaji;
System.out.println("Total
Gaji = "+total_gaji2);
}
}
public class Karyawan
{
public static void
main(String[]args)
{
tetap t=new tetap();
tidak_tetap tt=new tidak_tetap();
int lanjut;
int pilihan;
do
{
Scanner AA=new Scanner(System.in);
System.out.print("Pegawai
Tetap(1)/Pegawai Tidak Tetap(2) = ");
pilihan=AA.nextInt();
if(pilihan==1)
{
t.input1();
t.cetak1();
}
else if(pilihan==2)
{
tt.input2();
tt.cetak2();
}
else
{
System.out.println("Data
Tidak Ada");
}
System.out.print("Lanjutkan? YA(1) /TIDAK(2)
= ");
lanjut=AA.nextInt();
System.out.println("");
}
while(lanjut==1);
System.out.println("TERIMA KASIH SUDAH MENGAKSES");
}
}
project nya bagus
BalasHapus