contoh latihan inheritance di java (bangun datar)

saya ingin membuat program sederhana yang berfungsi untuk menghitung luas dari bangun datar, dimana bangun datarnya diantaranya segi empat, persegi panjang dan segitiga. apa yang harus dilakukan ? ikuti langkah berikut :

1.buat kelas bangun datar dengan nama BangunDatar.java, bangun datar ini hanya memiliki fungsi menghitung luas dan keliling yang belum jelas.

public class BangunDatar {

    public void hitungLuas()
    {
        System.out.println("belum terdefinisi / belum jelas luas apa yang di hitung");
    }

    public void hitungKeliling(){
        System.out.println("belum terdefinisi / belum jelas keliling apa yang di hitung");
    }
}

2. lalu buat kelas turunan dari kelas BangunDatar, atau dengan kata lain buat subclass dari BangunDatar, saya ambil contoh kelasnya adalah kelas segi empat dengan nama SegiEmpat.java, kelas ini sudah jelas dapat menghitung luas segi empat dengan cara mendefiniskan ulang method superclass nya atau istilahnya mengoverride method dari superclass nya yaitu kelas BangunDatar, method yang di override adalah method hitungLuas. kini methodnya sudah jelas dapat melakukan sesuatu yaitu menghitung luas, kita juga mengoverride method hitungKeliling.

public class SegiEmpat extends BangunDatar{
    //deklarasi variabel
    double sisi;

    //deklarasi method konstruktor tanpa parameter
    public SegiEmpat(){
    }
    //deklarasi method konstruktor dengan parameter
    public SegiEmpat(double inputsisi){
        this.sisi = inputsisi; // menentukan nilai dari variabel sisi adalah parameter inputsisi
    }

    //deklarasi method untuk menentukan nilai dari variabel sisi
    public void setSisi(double inputsisi){
        this.sisi = inputsisi;
    }
    //deklarasi method untuk menghitung luas dengan mengoverride method hitungLuas
    //dari superclass nya (kelas BangunDatar)

    @Override
    public void hitungLuas(){
        double luas ; //deklarasi variabel lokal
        luas = this.sisi * this.sisi;
        //mencetak luas
        System.out.println("luas segi empat dengan sisi "+sisi+" cm adalah "+luas+" cm kuadrat");

     public void hitungKeliling(){
        double keliling ; //deklarasi variabel lokal
        keliling = this.sisi * 4;
        //mencetak luas
        System.out.println("keliling segi empat dengan sisi "+sisi+" cm adalah "+keliling+" cm.");

    }

}

3. selanjutnya kita tinggal membuat kelas yang berfungsi untuk mengetes apakah kelas BangunDatar dan kelas turunannya yaitu SegiEmpat bisa berjalan dengan baik. kita beri nama kelas ini BangunDatarTest.java , pembuatan kelas ini agar bisa mengetesnya adalah sebagai berikut :
a. buat kelasnya

public class BangunDatarTest{
}

b.agar bisa di RUN maka kelas ini membutuhkan method khusus yaitu method “main”, kode kita menjadi

public class BangunDatarTest {
public static void main(String[] args){

}

}

c. setelah method main ada, maka kita akan menciptakan object dari masing – masing kelas dan kode kita akan menjadi seperti ini

public class BangunDatarTest {
    public static void main(String[] args){
        //buat objek dari kelas BangunDatar
        BangunDatar bd = new BangunDatar();
        //membuat objek bd melakukan sesuatu
        bd.hitungLuas();
        bd.hitungKeliling();

        //buatObjek dari Kelas SegiEmpat dengan nama sg
        SegiEmpat sg = new SegiEmpat(500);
        //membuat objek sg melakukan sesuatu sesuai method yang dipunyai oleh kelas segiempat
        sg.hitungLuas();
        sg.hitungKeliling();
    }

}

sebagai latihan anda juga bisa membuat kelas turunan lainnya dari BangunDatar seperti kelas persegi panjang, kelas segitiga . tentu variabel dan methodnya akan menyesuaikan dengan kegunaan dari kelas masing masing, misal untuk kelas persegi panjang variabelnya adalah panjang dan lebar, lalu untuk segitiga variabelnya adalah alas dan tinggi, untuk methodnya buatlah methodnya dapat menghitung luas dan keliling sesuai dengan jenis bangun datarnya.
sekian materi yang bisa saya sampaikan , semoga bermanfaat :) selamat belajar.

previous inheritance di java daftar materi java next polymorfisme
About these ads

2 comments on “contoh latihan inheritance di java (bangun datar)

  1. kenapa ada konstruktor tanpa parameter? fungsinya untuk apa? beda fungsi kah sama konstruktor dengan parameter??

    • jadi ketika kita gak bikin konstruktor tanpa parameter, java akan bikin konstruktor devault(otomatis sama java). lalu kalo kita bikin yg pake parameter maka kita tidak bisa lagi memakai yg tanpa parameter saat menciptakan object, harus membuat / menulis yang tanpa parameterdulu, bedanya kalo yg tanpa parameter begitu object jadi, maka si object tidak ada nilai yang dimasukkan lewat parameter, misal Kelas(String n){
      this.nama = n;
      }
      berarti ketika bikin object haruslah
      Kelas k = new Kelas(“namaku”);

      otomatis object k akan mempunyai nilai nama yaitu”namaku”. gmn?

silahkan ditanggapi :)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s