//file Karyawan.java public class Karyawan { private String nama,NIP

advertisement
//file Karyawan.java
public class Karyawan {
private String nama,NIP,NPWP; //deklarasi beberapa variabel dengan tipe yang sama dapat
//dituliskan dengan cara ini
private double gaji;
private int status=0; // pengaturan nilai default status
public Karyawan(String a, String b, String c){
nama=a;
NIP=b;
NPWP=c;
}
public String getNama(){
return nama;
}
//penambahan method getStatus() agar variabel status dapat diakses
public int getStatus(){
return status;
}
public String getNPWP(){
return NPWP;
}
public void setGaji(double a){
gaji=a;
}
public void setStatus(int s){
if ((s==0)||(s==1)){
status=s;
}else{System.out.println("Mohon isikan nilai 0 atau 1");}
}
public double hitungPajak(){ // hanya menghasilkan pajak yg harus dibayar
//Perhatikan urutan IF
if (gaji>20000000)
return 0.2*gaji;
else if (gaji>12000000)
return 0.1*gaji;
else
return 0;
}
public void viewInfo(){
System.out.println("nama:"+nama);
System.out.println("NIP:"+NIP);
System.out.println("NPWP"+NPWP);
System.out.println("nama:"+hitungPajak());
}
}
//file Perusahaan.java
public class Perusahaan {
private Karyawan[] listKaryawan=new Karyawan[50];//inisialisasi array
private String NPWP;
private String Nama;
private int jumK;
public Perusahaan(String a, String b){
Nama=a;
NPWP=b;
jumK=0;
}
//tambahan method getJumlahKaryawan(), agar variabel jumk dapat diakses
public int getJumlahKaryawan(){
return jumK;
}
//tambahan method getKaryawan(), agar variabel listKaryawan dapat diakses
public Karyawan[] getKaryawan(){
return listKaryawan;
}
public void addKaryawan(Karyawan k){
listKaryawan[jumK]=k;
jumK++;
}
public void viewAllKaryawan(){
for (int i=0;i<jumK;i++)
listKaryawan[i].viewInfo();
}
public void filterKaryawan(double a){
for (int i=0;i<jumK;i++){
if (listKaryawan[i].hitungPajak()>= a)
listKaryawan[i].viewInfo();
}
}
public void filterKaryawan(int Status){
for (int i=0;i<jumK;i++){
if (listKaryawan[i].getStatus()==Status)
listKaryawan[i].viewInfo();
}
}
public double hitungPajakTotal(){
double temp=0;
for (int i=0;i<jumK;i++){
temp=temp+listKaryawan[i].hitungPajak();
}
return temp;
}
public double hitungPajakMasuk(){
double temp=0;
for (int i=0;i<jumK;i++){
if (listKaryawan[i].getStatus()==1)
{
temp=temp+listKaryawan[i].hitungPajak();
}
}
return temp;
}
public void viewInfo(){
System.out.println("Nama: "+Nama);
System.out.println("NPWP: "+NPWP);
System.out.println("Jumlah Karyawan: "+jumK);
System.out.println("Total Pajak Karyawan :"+hitungPajakTotal());
}
}
//file KPP.java
public class KPP {
private String nama;
private Perusahaan[] listPerusahaan=new Perusahaan[50];
private int jumP;
public KPP(String a){
nama=a;
jumP=0;
}
public void addPerusahaan(Perusahaan p){
listPerusahaan[jumP]=p;
jumP++;
}
public void viewAllPerusahaan(){
for (int i=0;i<jumP;i++)
listPerusahaan[i].viewInfo();
}
public double hitungPajakTotal(){
double temp=0;
for (int i=0;i<jumP;i++)
temp=temp+listPerusahaan[i].hitungPajakTotal();
return temp;
}
public void viewPajakTotal(){
System.out.println("Total Pajak KPP: "+hitungPajakTotal());
}
public double hitungPajakMasuk(){
//dalam membangun method ini dapat dilakukan dengan menggunakan method
// hitungPajakMasuk() pada kelas perusahaan
double temp=0;
for (int i=0;i<jumP;i++)
temp=temp+listPerusahaan[i].hitungPajakMasuk();
return temp;
}
public void viewPajakMasuk(){
System.out.println("Total Pajak Masuk: "+hitungPajakMasuk());
}
public void viewInfo(){
System.out.println("Nama KPP:"+nama);
System.out.println("Jumlah Perusahaan:"+jumP);
System.out.println("Target Pajak:"+hitungPajakTotal());
System.out.println("Realisasi Pajak :"+hitungPajakMasuk());
System.out.println("Persentase Realisasi Pajak :"+
((hitungPajakMasuk()/hitungPajakTotal())*100)+"%");
}
}
//File AppServer.java
class AppServer {
public static void main(String args[]) {
//SATU: lahirkan objek K1, K2, K3, K4
Karyawan K1 = new Karyawan("Kuuga","10101","1111");
Karyawan K2 = new Karyawan("Agito","10102","1112");
Karyawan K3 = new Karyawan("Faiz","10103","1113");
Karyawan K4 = new Karyawan("Fangire","10104","1114");
//DUA: atur gaji dan status karyawan yg sudah lahir
K1.setGaji(5000000); // 5 juta
K2.setGaji(13000000); // 13 juta
K3.setGaji(25000000); // 25 juta
K4.setGaji(8000000); // 8 juta
K1.setStatus(1); // sudah bayar pajak
K2.setStatus(0); // belum bayar pajak
K3.setStatus(1);
K4.setStatus(1);
// TIGA: tampilkan informasi K1
K1.viewInfo();
// EMPAT: lahirkan objek perusahaan
Perusahaan P1 = new Perusahaan("PT Luar Biasa","1000");
Perusahaan P2 = new Perusahaan("PT Krisis Moneter","1001");
// LIMA: hubungkan K1-K2 ke P1, dan K3-K4 ke P2
P1.addKaryawan(K1); // K1 dimasukkan ke array0 di P1
P1.addKaryawan(K2); // K2 dimasukkan ke array1 di P1
P2.addKaryawan(K3);// K3 dimasukkan ke array0 di P2
P2.addKaryawan(K4);// K4 dimasukkan ke array0 di P2
P1.viewInfo();
P2.viewInfo();
P1.viewAllKaryawan(); // tampilkan data array: K1, K2
P2.viewAllKaryawan(); // tampilkan data array: K3, K4
P1.filterKaryawan(0);
P2.filterKaryawan(0);
KPP KPP1 = new KPP("KPP Ujung Kulon");
KPP1.addPerusahaan(P1);
KPP1.addPerusahaan(P2);
KPP1.viewInfo();
}
}
Download