Senin, 19 November 2012

Tugas PBO (pewarisan/ inheritance)



Terdapat 8 class:

1.     Class Bentuk2D
package bentuk2D
/**
 *
 * @author h_meed
 */
public abstract class Bentuk2D {//mendeklarasikan class dengan nama Bentuk2D dengan tipe abstract 
 
    int panjang = 1;//inisialisasi panjang bertipe integer yg bernilai 1

    int lebar = 1;//inisialisasi panjang bertipe integer yg bernilai 1

   
    public abstract double hitungLuas();//behaviour
    public abstract String getBentuk();//behaviour
   
}//akhir dari sebuah class


2.     Class Bujur sangkar
package bentuk2D;
/**
 *
 * @author h_meed
 */
public class BujurSangkar extends Bentuk2D {//mendeklarasikan class BujurSangkar yg merupakan turunan dari class Bentuk2D
 
    public void setSisi(int sisi) {//memanggil sisi dari class Bentuk2d dengan tipe integer

        panjang = sisi;// dengan nilai panjang=sisi
    }
    @Override
    public double hitungLuas() {//menghitung luas bertipe double
        return panjang*panjang;//rumus yang digunakan
    }
    @Override
    public String getBentuk() { //memanggil Bentuk bertipe string
        return "Bujur Sangkar"; //kembali ke Bujur Sangkar
    }  
}//akhir dari sebuah class


3.     Class Lingkaran
package bentuk2D;
/**
 *
 * @author h_meed
 */
public class lingkaran extends Bentuk2D {//mendeklarasikan class BujurSangkar yg merupakan turunan dari class Bentuk2D

    public void setJ(int J) {//inisialisasi J yang berbentuk integer
        panjang = J;// dengan nilai panjang = J

    }
    public double hitungLuas(){//menghitung luas bertipe double
        return 22*(panjang*panjang)/7;//rumus luas lingkaran
    }
     public String getBentuk() { //memanggil Bentuk bertipe string
        return "lingkaran";//kembali ke lingkaran
    }   
}//akhir dari sebuah class


4.     Class p_panjang (Persegi Panjang)
package bentuk2D;
/**
 *
 * @author h_meed
 */
public class p_panjang extends Bentuk2D {//mendeklarasikan class BujurSangkar yg merupakan turunan dari class Bentuk2D

    public void setP(int P) {//inisialisasi P yang berbentuk integer
        panjang = P;// dengan nilai panjang = P
    }
    public void setL(int L) {//inisialisasi L yang berbentuk integer
        lebar = L;// dengan nilai lebar = L
    }
     public double hitungLuas(){//menghitung luas bertipe double
        return lebar*panjang; //rumus luas persegi panjang
    }
    public String getBentuk() { //memanggil Bentuk bertipe string
        return "persegi panjang";//kembali ke persegi panjang
    }
}//akhir dari sebuah class


5.     Class Segitiga
package bentuk2D;
/**
 *
 * @author h_meed
 */
public class segi3 extends Bentuk2D {//mendeklarasikan class BujurSangkar yg merupakan turunan dari class Bentuk2D

    public void setTinggi(int tinggi) {//inisialisasi tinggi berbentuk integer
        panjang = tinggi;// dengan nilai panjang = tinggi
    }
    public void setAlas (int alas) {//inisialisasi alas yang berbentuk integer
        lebar = alas;// dengan nilai lebar = alas
    }
    public double hitungLuas(){//menghitung luas bertipe double
        return (lebar/2)*panjang; //rumus luas segitiga
    }
    public String getBentuk() {//memanggil Bentuk bertipe string
        return "segi3";//kembali ke segi3
    }  
}//akhir dari sebuah class


6.     Kubus
package bentuk2D;
/**
 *
 * @author h_meed
 */
public class Kubus extends BujurSangkar {//mendeklarasikan class BujurSangkar yg merupakan turunan dari class BujurSangkar
       
    public double hitungVolume() {//menghitung Volume bertipe double
        return panjang*panjang*panjang;//rumus volume kubus
    }
    public String getBentuk() {//memanggil Bentuk bertipe string
        return "Kubus";//kembali ke kubus
    }  
}//akhir dari sebuah class


7.     Balok
package bentuk2D;
/**
 *
 * @author h_meed
 */
public class balok extends p_panjang{//mendeklarasikan class BujurSangkar yg merupakan turunan dari class p_panjang(persegi panjang)

    public void setPan(int Pan) {//inisialisasi Pan yang berbentuk integer
        panjang = Pan; // dengan nilai panjang = Pan
    }
    public void setLeb(int Leb) {//inisialisasi Leb yang berbentuk integer
        lebar = Leb; // dengan nilai lebar = Leb
    }
   public double hitungVolume() {//menghitung Volume bertipe double
       return panjang*lebar*panjang; //rumus volume balok
    }
    public String getBentuk() {//memanggil Bentuk bertipe string
        return "Balok";//kembali ke kubus
    }  
}//akhir dari sebuah class


8.     Class LatihanBentuk2D (program yang dijalankan)
package bentuk2D;
/**
 *
 * @author h_meed
 */
public class LatihanBentuk2D {//mendeklarasikan class dengan nama LatihanBentuk2D

    public static void main(String[] args) {//method utama untuk mengeksekusi program dibawahnya

        System.out.println("Bentuk 2D");//menampilkan tulisan Bentuk 2D
        BujurSangkar A = new BujurSangkar();//objek baru BujurSangkar A dari class BujurSangkar

        A.setSisi(20); //inisial dari A mengatur sisi dengan nilai 20
        System.out.println("Luas " + A.getBentuk() + " = " + A.hitungLuas());//mencetak Luas dengan memanggil dari Bentuk dan hasilnya keluar saat pemanggilan class hitung luas bujur sangkar
       
        segi3 C = new segi3();//objek baru BujurSangkar C dari class segi3
        C.setTinggi(6); //inisial dari C mengatur Tinggi dengan nilai 6
        C.setAlas(4); //inisial dari C mengatur Alas dengan nilai 4
        System.out.println("luas "+ C.getBentuk()+ "="+ C.hitungLuas());//mencetak Luas dengan memanggil dari Bentuk dan hasilnya keluar saat pemanggilan class hitung luas segitiga
       
        p_panjang D= new p_panjang();//objek baru BujurSangkar D dari class p_panjang
        D.setP(6); //inisial dari D mengatur P dengan nilai 6
        D.setL(4); //inisial dari D mengatur sisi dengan nilai 4
        System.out.println("luas "+D.getBentuk()+"="+D.hitungLuas());//mencetak Luas dengan memanggil dari Bentuk dan hasilnya keluar saat pemanggilan class hitung luas persegi panjang
       
        lingkaran E= new lingkaran();//objek baru BujurSangkar E dari class lingkaran
        E.setJ(7); //inisial dari E mengatur J dengan nilai 7
        System.out.println("luas "+E.getBentuk()+"="+E.hitungLuas());//mencetak Luas dengan memanggil dari Bentuk dan hasilnya keluar saat pemanggilan class hitung luas lingkaran
        System.out.println("");//ganti baris/paragraf
        System.out.println("Bentuk 3D");//cetak tulisan Bentuk 3D
       
        Kubus B = new Kubus();//objek baru BujurSangkar B dari class kubus
        B.setSisi(10); //inisial dari B mengatur sisi dengan nilai 10
        System.out.println("Volume "+B.getBentuk()+"="+B.hitungVolume()); //mencetak Volume dengan memanggil dari Bentuk dan hasilnya keluar saat pemanggilan class hitung volume kubus
       
        balok F = new balok();//objek baru BujurSangkar F dari class balok
        F.setPan(10); //inisial dari F mengatur Pan dengan nilai 10
  F.setLeb(6); //inisial dari F mengatur Leb dengan nilai 6        System.out.println("Volume "+F.getBentuk()+"="+F.hitungVolume()); //mencetak Volume dengan memanggil dari Bentuk dan hasilnya keluar saat pemanggilan class hitung volume balok
       
    }
}//akhir dari sebuah class

Hasil dari program