Senin, 12 November 2012

TURUNAN (INHERITANCE )

Inhirentance pewarisan

Perngertian dari inheritance adalah dimana sebuah objek dapat mempunyai objek turunan. Dalam hal pemrogramman makan dapat diimpelementasikan dengan sebuah class yang mempunyai class turunan. Class yang mempunyai class turunan disebut sebagai Parent Class atau Base Class, sedangkan class yang menjadi turunan dari Parent Class disebut sebagai Subclass atau Child Class. Secara sederhana misal Hewan adalah parent class maka child class bisa berupa ayam,kucing,bebek dll. Suatu subclass dapat mewarisi sebagian atau keseluruhan sifat dari parent class-nya, denga kata lain sebuah subclass hanya merupakan perluasan dari parent class.
Dekalarasi Inheritance
Cara untuk mendeklarasikan inheritance adalah dengan memberikan keyword extendssetelah nama class diikuti denga nama parent class.Kata kunci extends memberikan informasi pada kompiler Java bahwa kita ingin melakukan perluasan class.

package tugas_turunan;
/**
 *
 * @author agung
 */
public class LatihanBentuk2D {//class latihan bentuk 2D

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {//pengenalan klasss
        // TODO code application logic here
        BujurSangkar A = new BujurSangkar();// pemanggilan kelas bujur sangkar
        A.setSisi(20);// menentukan sisi bujur sangkar 20
        System.out.println("Luas " + A.getBentuk() + " = " + A.hitungLuas());// output program luas bujur sangkar A.
       
        Kubus B = new Kubus();//pemanggilan class kubus
        B.setSisi(10);// menentukan sendiri sisi (10)
        System.out.println("Volume " + A.getBentuk6() + " = " + B.hitungVolume());// output pada layar volume kubus
       
        PersegiPanjang C = new PersegiPanjang();//pemanggilan class persegi panjang
        C.setPanjangLebar(10, 5);//menentukan nilai panjang dan lebar 10,dan 5
        System.out.println("Luas"+C.getBentuk()+"="+C.hitungLuas());//output ke layar luas persegi panjang
       
        SegiTiga D = new SegiTiga();//pemanggilan class persegi panjang
        D.setAlasTinggi(4, 5);//menentukan nilai alas dan tinggi 4,5
        System.out.println("Luas"+D.getBentuk()+"="+D.hitungLuas());//output pada layar dengan luas segitiga
       
         Lingkaran E = new Lingkaran();//memanggil class lingkaran
        C.hitungLuasLingkaran();// menentukan luas lingkaran
        System.out.println("Luas"+ A.getBentuk4() + " = " + C.hitungLuasLingkaran());//output pada layar luas lingkaran
       
        Balok F = new Balok();// memanggil class lingkaran
        C.hitungLuasBalok();//menentukan luas balok
        System.out.println("Luas"+ A.getBentuk5() + " = " + C.hitungLuasBalok());//output pada layar balok
       
       
       
    }
}

Turunan pertama dari class luas bujur sangkar

public class BujurSangkar extends Bentuk2D {// turunan dari class bujur sangkar
   
    public void setSisi(int sisi) {//inisialisasi sisi dengan variable integer
        panjang = sisi;
    }

    @Override
    public double hitungLuas() {//pengenalan variable double untuk hitung luas
        return panjang*panjang;//nilai kembalian dengan rumus panjang*panjang
    }
   
    public double hitungLuassegitiga() {//pengenalan variable doble untuk hasil luas segitiga
        return 0.5*alas*tinggi;//nilai kembalian dari class tutunan 0,5*alas*tinggi
    }
   
   
    public double hitungLuasLingkaran() {
        return phi*r*r;
    }
   
    public double hitungLuasBalok(){
    return panjang*lebar*tinggi;
    }


    @Override
    public String getBentuk() {// pengenalan bentuk dari bujur sangkar
        return "Bujur Sangkar";// dengan nilai kembalian bujur sangkar
    }
    public String getBentuk2() {
        return "Persegi panjang"; 
    }
  
    public String getBentuk3 () {
        return "Segitiga" ;
    }akhir dari program

Turunan class kubus

/**
 *
 * @author agung
 */
public class Kubus extends BujurSangkar {// turunan dari class bujur sangkar
      
    public double hitungVolume() {//pengenalan variable double untuk menghitung volume
        return sisi*sisi*sisi;// nilai kembalian dengan rumus sisi*sisi*sisi
    }


Turunan    class  persegi panjang

public class PersegePanjang extends BujurSangkar {// mengambil turunan dari class persegi panjang
    public double hitungLuaspersegi(){// pengenalan variable double luas persegi panjang
        return panjang*lebar;//nilai kembali untuk menghitung dengan rumus panjang * lebar
    }
   
}// akhir dari program

Turunan class segitiga
public class Segitiga extends BujurSangkar {// turunan dari class persegi panjang
    public double hitungLuaspersegi(){// pengenalan variable luas persegi
        return alas*tinggi/2;//  nilai kembalian dari alas * tinggi
    }
   
}// akhir dari program


Turunan class lingkaran

**
 *
 * @author agung
 */
public class Lingkaran extends BujurSangkar{ // turunan dari class bujur sangkar class lingkarn
    public double hitungLuasLingkaran(){  // pengenalan variable double luas lingkaran
        return phi*r*r;// nilai kembalian phi*r*r
    }
   
}

Turunan dari class balok

/**
 *
 * @author agung
 */
public class Balok extends BujurSangkar { // turunan dari balok dari class bujur sangkar  
    public double hitungLuaspersegi(){// pengnalan variable double
        return panjang*lebar;// nilai kembali panjang* lebar
    }
   
}

output program


Read More..

Senin, 15 Oktober 2012

PERSEGI PANJANG (construktor dan overloading )


konstruktor:
1.Konstruktor harus menggunakan nama yang sama dengan class.termasuk huruf besar dan kecilnya.
2.Dalam satu class bisa terdapat lebih dari satu konstruktor.
3.konstruktor akan dieksekusi setiap kli ada pembuatan objek.
4.Setiap class harus mempunyai paling tidak sebuah konstruktor.
5.konstruktor tidak memiliki hak akses. 
6.Jika sudah mendeklarasikan konstruktor, maka konstruktor default tidak akan dibuat oleh kompiler Java.
Sebuah class memiliki beberapa konstruktor.Konstruktor yang dibuat lebih dari satu dibunakan untuk keperluan berikut:
1.Menentukan nilaiInstance variabel yang berbeda. Jadi, pada setiap konstruktor diinisialisasi variabel yang berbeda.
2.Melakukan tugas awal dengan menjalankan metode tertentu,seperti untuk melakukan penghitungan. Jadi, selama konstruktor dijalankan,akan dilakukan penghitungan.
Contoh deklarasi konstruktor


overloading ;

Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu. Dalam hal ini satu konstruktor dengan konstruktor yang lain berupa jumlah parameter atau tipe parameter.

package persegi1;

/**

 *
 * @author agung
 */
public class persegipanjang {// nama class persegi panjang
    private double panjang;// inisialisasi panjang  dengan var double yang hanya dapat di gunakan oleh turunan dari panjang
    private double lebar; // inisialisasi lebar  dengan var double yang hanya dapat di gunakan oleh turunan dari lebar

    persegipanjang (){

        // merupakan konstuctor dari class persegi panjang 
        // konsructor harus sama persis dengan nama classnya
        // tetapi tidak memiliki hak akses
        panjang=10;// inisialisasi inputan “10”
        lebar=2;//inisialisasi inputan “2”
    }
        persegipanjang (double panjang,double lebar){
        // deklarasi method dan parameter
        this.panjang= panjang;
       // panjang yang dideklarasikan menunjuk pada panjang
        // yang ada pada class
        this.lebar=lebar;
        }
// metode hitung hasil merupakan metode overloading, dimana nama methodnya sama tetapi beda parameternya.
                public void setpanjang(double panjang){
                    this.panjang=panjang;
                }
                    public void setlebar(double lebar){
                        this.lebar=lebar;
                    }
                       
                        public void hitungluas(){
                            System.out.println(panjang*lebar);// output pada layar panjang*lebar
                        }
                       public void hitungluas (double panjang,double lebar){
                       setpanjang(panjang);// inisialisasi panjang
                       setlebar(lebar);//inisialisasi lebar
                       hitungluas();// hasil dari luas persegi
                       }
    public double getpanjang(){// inputan panjang dengan var double
        return panjang;
    }
    public double getlebar(){//inputan lebar  dengan var double  
        return lebar;
           
        }
    }//akhir class 

KELAS PERSEGI PANJANG 




*

 *

 * @author agung

 */

public class panjang {// nama class panjang
   public static void main(String[] args) {//membuat objek
       
        persegipanjang a = new persegipanjang();//objek baru dari class panjang
        a.hitungluas();//perintah untuk menghitung luas pada objek A dengan nilai yang sudah ditentukan
        a.hitungluas(5,3); ();//memanggil method dan menunjukan nilai parameter
*
            pe
rsegipanjang b = new persegipanjang(20,10);// objek baru dari class panjang dan menunjukan nilai parameter
            b.hitungluas();
                persegipanjang malas = new persegipanjang();
                malas.setpanjang(8);// inputan panjang “8”
                malas.setlebar(4);//inputan “4”
                malas.hitungluas();// hasil dari hitung luas
                malas.hitungluas(a.getpanjang(),b.getlebar();// menghitung luas yang berada
    //pada objek C dan memanggil panjang dari objek A dan memanggil lebar dari objek B

               
}
}// akhir program 


kesimpulan program ;
dalam menentukan overloading maka di butuhkan sebuah parameter yang telah di tentukan dengan aturan :
  • Nama method harus sama
  • Daftar parameter harus berbeda
  • Return type boleh sama, juga boleh berbeda  



output program :







Read More..
Related Posts Plugin for WordPress, Blogger...