Kamis, 17 November 2016

Program Java perhitungan gaji pegawai (Inheritance)


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");
    }


}

1 komentar: