#WW

#WW
Home » » Program Interface Java

Program Interface Java

Written By Unknown on Friday, 21 March 2014 | 01:45

Program Interface Java
public class Driver {

    Becak becak1 = new Becak();
    Becak becak2 = new Becak();
    Becak becak3 = new Becak();
    Helicopter heli1 = new Helicopter();
    Kapal kapal1 = new Kapal();
    Kapal kapal2 = new Kapal();
   
    Kendaraan[] kendaraan = new Kendaraan[8];
   
    String[] komponen = {"Roda", "Baling-Baling", "Mesin", "Pintu", "Kursi"};
   
    public void cekKomponen(int nomorKendaraan, int nomorKomponen){
            if(kendaraan[nomorKendaraan] instanceof Becak){
                if(nomorKomponen != 1 && nomorKomponen != 2){
                    kendaraan[nomorKendaraan].addKomponen(komponen[nomorKomponen]);
                    System.out.println("Komponen "+ komponen[nomorKomponen]+ " sudah ditambahkan");
                }else{
                    System.out.println("Komponen "+ komponen[nomorKomponen]+ " tidak bisa ditambahkan ke becak");
                }
            }else if(kendaraan[nomorKendaraan] instanceof Helicopter){
                kendaraan[nomorKendaraan].addKomponen(komponen[nomorKomponen]);
                System.out.println("Komponen "+ komponen[nomorKomponen]+ " sudah ditambahkan");
            }else if(kendaraan[nomorKendaraan] instanceof Kapal){
                if(nomorKomponen != 0 && nomorKomponen != 1){
                    kendaraan[nomorKendaraan].addKomponen(komponen[nomorKomponen]);
                    System.out.println("Komponen "+ komponen[nomorKomponen]+ " sudah ditambahkan");
                }else{
                    System.out.println("Komponen "+ komponen[nomorKomponen]+ " tidak bisa ditambahkan ke becak");
                }
            }
           
        }
   
    public Driver(){
           
        becak1.setHarga(10000);
        becak2.setHarga(15000);
        becak3.setHarga(20000);
        heli1.setHarga(40000);
        kapal1.setHarga(60000);
        kapal2.setHarga(68000);

        becak1.setKecepatan(50);
        becak2.setKecepatan(55);
        becak3.setKecepatan(60);
        heli1.setKecepatan(350);
        kapal1.setKecepatan(250);
        kapal2.setKecepatan(200);
       
        becak1.setWarna("Merah");
        becak2.setWarna("Jingga");
        becak3.setWarna("Kuning");
        heli1.setWarna("Hijau");
        kapal1.setWarna("Biru");
        kapal2.setWarna("Nila");
       
        becak1.setJumlahKursi(2);
        becak2.setJumlahKursi(3);
        becak3.setJumlahKursi(4);
        heli1.setJumlahKursi(4);
        kapal1.setJumlahKursi(200);
        kapal2.setJumlahKursi(2000);
       
        kendaraan[0]=becak1;
        kendaraan[1]=becak2;
        kendaraan[2]=becak3;
        kendaraan[3]=kapal1;
        kendaraan[4]=kapal2;
        kendaraan[5]=heli1;
       
        cekKomponen(0, 0);
        cekKomponen(0, 1);
        cekKomponen(0, 4);
       
        cekKomponen(1, 0);
        cekKomponen(1, 2);
        cekKomponen(1, 4);
       
        cekKomponen(2, 0);
        cekKomponen(2, 4);
       
        cekKomponen(3, 0);
        cekKomponen(3, 1);
        cekKomponen(3, 2);
        cekKomponen(3, 3);
        cekKomponen(3, 4);
       
        cekKomponen(4, 2);
        cekKomponen(4, 3);
        cekKomponen(4, 4);
       
        cekKomponen(5, 0);
        cekKomponen(5, 1);
        cekKomponen(5, 2);
        cekKomponen(5, 3);
        cekKomponen(5, 4);   
       
        heli1.removeKomponen("Pintu");
        heli1.removeKomponen("Pintu");
       
        becak1.tampilKomponen();
        becak2.tampilKomponen();
        becak3.tampilKomponen();
        heli1.tampilKomponen();
        kapal1.tampilKomponen();
        kapal2.tampilKomponen();
    }
   
    public static void main(String[] args) {
        Driver d = new Driver();
    }
}


public class Becak extends Kendaraan implements InterfaceKendaraan{
    private String nama;
   
    public Becak(){}
    public String getNama(){
        return this.nama;
    }
    @Override
    public void setWarna(String w){
        this.warna=w;
    }
    @Override
    public void setJumlahKursi(int j){
        this.jmlKursi=j;
    }
    @Override
    public void tampilKomponen(){
        System.out.println("=======BECAK=======");
        System.out.println("Warna :"+this.warna);
        System.out.println("Jumlah Kursi :"+this.jmlKursi);
        System.out.println("Kecepatan :"+this.kecepatan);
        System.out.println("Komponen :");
        for(int i=0; i<getPointer(); i++){
            System.out.println(i+". "+getKomponen(i));
        }
    }
}



public class Helicopter extends Kendaraan implements InterfaceKendaraan{
    private String nama;
   
    public Helicopter(){}
    public String getNama(){
        return this.nama;
    }
   
    @Override
    public void setWarna(String w){
        this.warna=w;
    }
    @Override
    public void setJumlahKursi(int j){
        this.jmlKursi=j;
    }
    @Override
    public void tampilKomponen(){
        System.out.println("=======HELIKOPTER=======");
        System.out.println("Warna :"+this.warna);
        System.out.println("Jumlah Kursi :"+this.jmlKursi);
        System.out.println("Kecepatan :"+this.kecepatan);
        System.out.println("Komponen :");
        for(int i=0; i<getPointer(); i++){
            System.out.println(i+". "+getKomponen(i));
        }
    }
}



public interface InterfaceKendaraan{
    public void setWarna(String w);
    public void setJumlahKursi(int j);
}



public class Kapal extends Kendaraan implements InterfaceKendaraan{
    private String nama;
   
    public Kapal(){}
    public String getNama(){
        return this.nama;
    }
    @Override
    public void setWarna(String w){
        this.warna=w;
    }
    @Override
    public void setJumlahKursi(int j){
        this.jmlKursi=j;
    }
    @Override
    public void tampilKomponen(){
        System.out.println("=======KAPAL=======");
        System.out.println("Warna :"+this.warna);
        System.out.println("Jumlah Kursi :"+this.jmlKursi);
        System.out.println("Kecepatan :"+this.kecepatan);
        System.out.println("Komponen :");
        for(int i=0; i<getPointer(); i++){
            System.out.println(i+". "+getKomponen(i));
        }
    }
}




public class Kendaraan{
    private int Pointer=0;
    private String[] Komponen = new String[4];
    protected int kecepatan;
    protected int harga;
    protected int jmlKursi;
    protected String warna;
   
    public Kendaraan(){}
    public void setHarga(int harga){
        this.harga=harga;
    }
    public void setKecepatan(int k){
        this.kecepatan = k;
    }
    public void addKomponen(String k){
        if(Pointer!=4){
            this.Komponen[Pointer] = k;
            Pointer++;
        }
    }
    public void removeKomponen(String k){
        int j=-1;
        for(int i=0; i<Pointer; i++){
            if(Komponen[i].equals(k)){
                j=i;
            }
        }
        if(j!=-1){
            Pointer--;
            for(int i=j; i<Pointer; i++){
                Komponen[i]=Komponen[i+1];
            }
        }
    }
    public int getPointer(){
        return Pointer;
    }
    public String getKomponen(int i){
        return this.Komponen[i];
    }
    public void tampilKomponen(){
        for(int i=0; i<Pointer; i++){
            System.out.println("Komponen ke-"+i+": "+this.Komponen[i]);
        }
    }
}

0 komentar:

Post a Comment