Kamis, 07 Juni 2012

Interface

share

public interface Email {
    public void getEmail();
}

public class Pegawai implements Email {
    protected String nama_Pegawai;
    protected int nip_Pegawai;

    public String getNama_Pegawai() {
        return nama_Pegawai;
    }
    public void setNama_Pegawai(String nama_Pegawai) {
        this.nama_Pegawai = nama_Pegawai;
    }
    public int getNip_Pegawai() {
        return nip_Pegawai;
    }
    public void setNip_Pegawai(int nip_Pegawai) {
        this.nip_Pegawai = nip_Pegawai;
    }
    @Override
    public void getEmail() {
        System.out.println("Email");
    }
}

public class Manager extends Pegawai {
    @Override
    public void getEmail() {
        System.out.println(nip_Pegawai+"@manajer.usd.ac.id");
    }
}

public class Marketing extends Pegawai {
    @Override
    public void getEmail() {
        System.out.println(nip_Pegawai+"@marketing.usd.ac.id");
    }
}

public class Honorer extends Pegawai {
    @Override
    public void getEmail() {
        System.out.println(nip_Pegawai+"@honorer.usd.ac.id");
    }
}

import java.util.Scanner;
public class MainEmail {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        Manager manag = new Manager();
        Marketing market = new Marketing();
        Honorer honor = new Honorer();
       
        System.out.println("INPUT DATA MANAGER");
        System.out.printf("Masukkan Nama    :");
        String namaManager = input.next();
        manag.setNama_Pegawai(namaManager);
        System.out.printf("Masukkan NIP     :");
        int nipManager = input.nextInt();
        manag.setNip_Pegawai(nipManager);
        System.out.println();
       
        System.out.println("INPUT DATA MARKETING");
        System.out.printf("Masukkan Nama    :");
        String namaMarketing = input.next();
        market.setNama_Pegawai(namaMarketing);
        System.out.printf("Masukkan NIP     :");
        int nipMarketing = input.nextInt();
        market.setNip_Pegawai(nipMarketing);
        System.out.println();
       
        System.out.println("INPUT DATA HONORER");
        System.out.printf("Masukkan Nama    :");
        String namaHonorer = input.next();
        honor.setNama_Pegawai(namaHonorer);
        System.out.printf("Masukkan NIP     :");
        int nipHonorer = input.nextInt();
        honor.setNip_Pegawai(nipHonorer);
        System.out.println();
       
        System.out.println("DATA MANAGER");
        System.out.println("Nama    :"+manag.getNama_Pegawai());
        System.out.println("NIP     :"+manag.getNip_Pegawai());
        System.out.printf("Email    :");
        manag.getEmail();
        System.out.println();
       
        System.out.println("DATA MARKETING");
        System.out.println("Nama    :"+market.getNama_Pegawai());
        System.out.println("NIP     :"+market.getNip_Pegawai());
        System.out.printf("Email    :");
        market.getEmail();
        System.out.println();
       
        System.out.println("DATA HONORER");
        System.out.println("Nama    :"+honor.getNama_Pegawai());
        System.out.println("NIP     :"+honor.getNip_Pegawai());
        System.out.printf("Email    :");
        honor.getEmail();
        System.out.println();
    }
}

Kelas Abstract

share

abstract class Pegawai {
    protected String nama;
    protected int nip;
    protected String jabatan;
    protected int lama;
    protected int golongan;
    protected int tunjangan;
   
    public String getNama() {
        return nama;
    }
    public int getNip() {
        return nip;
    }
    public String getJabatan() {
        return jabatan;
    }
    public int getLama() {
        return lama;
    }
    public int getGolongan() {
        return golongan;
    }
    public int getTunjangan() {
        return tunjangan;
    }
   
    public void setNama(String nama) {
        this.nama = nama;
    }
    public void setNip(int nip) {
        this.nip = nip;
    }
    public void setJabatan(String jabatan) {
        this.jabatan = jabatan;
    }
    public void setLama(int lama) {
        this.lama = lama;
    }
    public void setGolongan(int golongan) {
        this.golongan = golongan;
    }
    public void setTunjangan(int tunjangan) {
        this.tunjangan = tunjangan;
    }
   
    public int Golongan() {
        int gaji;
        if(golongan == 1) {
            gaji = 500000;
            return gaji;
        }
        else if (golongan == 2) {
            gaji = 750000;
            return gaji;
        }
        else {
            gaji = 1000000;
            return gaji;
        }
    }
    public int Tunjangan() {
        int tunjang;
        if(tunjangan == 1) {
            tunjang = 0;
            return tunjang;
        }
        else if(tunjangan == 2) {
            tunjang = 75000;
            return tunjang;
        }
        else if (tunjangan == 3) {
            tunjang = 50000;
            return tunjang;
        }
        else {
            tunjang = 125000;
            return tunjang;
        }
    }
    public double Bonus() {
        int bonus;
        bonus = getLama()*5000;
        return bonus;
    }
    public abstract double Gaji();
}

public class Manager extends Pegawai {
    @Override
    public double Gaji() {
        return(Golongan()+Tunjangan()+Bonus());
    }
}

public class Marketing extends Pegawai {
    @Override
    public double Gaji() {
        return(Golongan()+Bonus());
    }
}

public class Honorer extends Pegawai {
    @Override
    public double Gaji() {
        return(Bonus());
    }
}

import java.util.Scanner;
public class TestPegawai {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int jumlah_manager;
        System.out.print("Masukkan Jumlah Manager = ");
        int x = new Scanner(System.in).nextInt();
        jumlah_manager = x;
       
        int jumlah_marketing;
        System.out.print("Masukkan Jumlah Marketing = ");
        int y = new Scanner(System.in).nextInt();
        jumlah_marketing = y;
       
        int jumlah_honorer;
        System.out.print("Masukkan Jumlah Honorer = ");
        int z = new Scanner(System.in).nextInt();
        jumlah_honorer = z;
        System.out.println();
       
        Manager[] manag;
        manag = new Manager[jumlah_manager];
        int n = 1;
        for (int i = 0; i < manag.length; i++) {
            manag[i] = new Manager();
            System.out.println("Inputan Manager ke- "+n++);
            System.out.printf("\tMasukkan Nama = ");
            String naManag = new Scanner(System.in).nextLine();
            manag[i].setNama(naManag);
            System.out.printf("\tMasukkan Nip = ");
            int niManag = new Scanner(System.in).nextInt();
            manag[i].setNip(niManag);
            System.out.printf("\tMasukkan Golongan = ");
            manag[i].setGolongan(input.nextInt());
            System.out.printf("\tMasukkan Lama Kerja Lembur = ");
            manag[i].setLama(input.nextInt());
            System.out.printf("\tMasukkan Tunjangan = ");
            manag[i].setTunjangan(input.nextInt());
            System.out.println();
        }
       
        Marketing[] market;
        market = new Marketing[jumlah_marketing];
        n = 1;
        for (int i = 0; i < market.length; i++) {
            market[i] = new Marketing();
            System.out.println("Inputan Marketing ke- "+n++);
            System.out.printf("\tMasukkan Nama = ");
            String naMarket = new Scanner(System.in).nextLine();
            market[i].setNama(naMarket);
            System.out.printf("\tMasukkan Nip = ");
            int niMarket = new Scanner(System.in).nextInt();
            market[i].setNip(niMarket);
            System.out.printf("\tMasukkan Golongan = ");
            market[i].setGolongan(input.nextInt());
            System.out.printf("\tMasukkan Lama Kerja Lembur = ");
            market[i].setLama(input.nextInt());
            System.out.println();
        }
       
        Honorer[] honor;
        honor = new Honorer[jumlah_honorer];
        n = 1;
        for (int i = 0; i < honor.length; i++) {
            honor [i] = new Honorer();
            System.out.println("Inputan Honorer ke- "+n++);
            System.out.printf("\tMasukkan Nama = ");
            String naHonor = new Scanner(System.in).nextLine();
            honor[i].setNama(naHonor);
            System.out.printf("\tMasukkan Nip = ");
            int niHonor = new Scanner(System.in).nextInt();
            honor[i].setNip(niHonor);
            System.out.printf("\tMasukkan Lama Kerja Lembur = ");
            honor[i].setLama(input.nextInt());
            System.out.println();
        }
       
        for(int a = 0; a<70 ; a++) {
            System.out.print((char)176);
        }
       
        System.out.println();
        System.out.println("DATA MANAGER");
        n = 1;
        for(int i = 0; i < manag.length; i++) {
            System.out.println("Data Manager ke- "+n++);
            System.out.println("\tNama          : "+manag[i].getNama());
            System.out.println("\tNIP           : "+manag[i].getNip());
            System.out.println("\tGaji Total    : "+manag[i].Gaji());
        }
        System.out.println("DATA MARKETING");
        double sum = 0;
        n = 1;
        for(int i = 0; i < market.length; i++) {
            System.out.println("Data Marketing ke- "+n++);
            System.out.println("\tNama          : "+market[i].getNama());
            System.out.println("\tNIP           : "+market[i].getNip());
            System.out.println("\tGaji Total    : "+market[i].Gaji());
            sum += market[i].Gaji();
        }
        System.out.println("Gaji Keseluruhan Marketing = "+sum);
        System.out.println("DATA HONORER");
        n = 1;
        for(int i = 0; i < honor.length; i++) {
            System.out.println("Data Honorer ke- "+n++);
            System.out.println("\tNama          : "+honor[i].getNama());
            System.out.println("\tNIP           : "+honor[i].getNip());
            System.out.println("\tGaji Total    : "+honor[i].Gaji());
        }
    }
}