Rabu, 07 November 2018

Pewarisan Bangun Datar

Konsep Inheritance ini mengadopsi dunia riil dimana suatu entitas/objek dapat mempunyai entitas/objek turunan. Dengan konsep inheritance, sebuah kelas dapat mempunyai class turunan. Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class-nya, sehingga member dari suatu subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya. Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya.

Di dalam Java untuk mendeklarasikan sutu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.

Contoh: Suatu class Bagun Ruang (Tabung, Balok, Kubus) mewarisi sifat dari Bangun Datar (Lingkran, Persegi, Persegi Panjang), dimana untuk menghitung salah satu bangun ruang tersebut dibutuhkan luas dari bangun datar. Luas bangun datar dihitung pada kelas bangun datar (Lingkaran, Persegi, Persegi Panjang) sehingga hasil perhitungan tersebut akan dilanjutkan pada class bangun ruang (Tabung, Kubus, Balok)
Untuk lebih jelasnya tentang konsep inheritance ini, langsung saja ikuti langkah-langkahnya:

1. Buat New Project (Ctrl+Shift+N) beri nama BangunDatar dan masukkan kode berikut:

package bangundatar;
import java.util.Scanner;

/**
 *
 * @author ari
 */
public class BangunDatar {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int pil;
        Lingkaran L = new Lingkaran();
        Segitiga S = new Segitiga();
        Persegi pg = new Persegi();
        PersegiPanjang P = new PersegiPanjang();
        Scanner inp = new Scanner(System.in);
        System.out.println("MENU");           
        System.out.println("1. Lingkaran");
        System.out.println("2. Segitiga");      
        System.out.println("3. Persegi");      
        System.out.println("4. Persegi Panjang");           
        System.out.print("Pilihan : ");
        pil = inp.nextInt();
        switch(pil){
            case 1 : L.Lingkaran();break;
            case 2 : S.Segitiga();break;
            case 3 : pg.Persegi();break;
            case 4 : P.Persegipanjang();break;
          
        }
    }   

}

2. Buat Class Baru beri Nama Persegi Masukan Source Code

package bangundatar;
import java.util.Scanner;
/**
 *
 * @author ari
 */

    public class Persegi extends BangunDatar{
    public void Persegi(){
        double sb,lb,kb;
        Scanner c = new Scanner(System.in);
        System.out.println("Persegi");
        System.out.println("    ");
        System.out.println("Masukkan sisi : ");
        sb = c.nextDouble();      
        lb = sb*sb;
        kb = 4*sb;
        System.out.println("Luas Bujur Sangkar adalah : "+lb);
        System.out.println("Keliling Bujur Sangkar adalah : "+kb);
    }   
}

    3. Buat Class Persegi Panjang Masukan Source Code

package bangundatar;
import java.util.Scanner;

/**
 *
 * @author ari
 */
public class PersegiPanjang {
public void Persegipanjang(){
        double pp,lep,lp,kp;
        Scanner d = new Scanner(System.in);
        System.out.println("PERSEGI PANJANG");
        System.out.println("Masukkan Panjang : ");
        pp = d.nextDouble();      
        System.out.println("Masukkan Lebar : ");
        lep = d.nextDouble();      
        lp = pp*lep;
        kp = (2*pp)+(2*lep);
        System.out.println("Luas Persegi Panjang adalah : "+lp);
        System.out.println("Keliling Persegi Panjang adalah : "+kp);
    }

}

4. Buat Class Segitiga Masukan Source Code

package bangundatar;
import java.util.Scanner;

/**
 *
 * @author ari
 */
public class Segitiga extends BangunDatar{
    public void Segitiga(){
        double ls,as,ts,ss,ks;
        Scanner a = new Scanner(System.in);
        System.out.println("SEGITIGA");
        System.out.println("   ");
        System.out.println("Masukkan alas : ");
        as = a.nextDouble();
        System.out.println("Masukkan tinggi :");
        ts = a.nextDouble();
        System.out.println("Masukkan sisi : ");
        ss = a.nextDouble();
        ls = (as*ts)/2;
        ks = (ss*2)+as;
        System.out.println("Luas Segitiga adalah : "+ls);
        System.out.println("Keliling Segitiga adalah : "+ks);
    }

}
 5 Buat Class Lingkaran Masukan Source Code
package bangundatar;
import java.util.Scanner;

/**
 *
 * @author ari
 */
public class Lingkaran extends BangunDatar{
    public void Lingkaran(){      
        double ll,rl,kl,phi = 3.14;
        Scanner b = new Scanner(System.in);
        System.out.println("LINGKARAN");
        System.out.println("  ");
        System.out.println("Masukkan jari-jari : ");
        rl = b.nextDouble();
        ll = phi*rl*rl;
        kl = 2*phi*rl;
        System.out.println("Luas Lingkaran adalah : "+ll);
        System.out.println("Keliling Lingkaran adalah : "+kl);
   }

}

Output ya lihat dibawah



Selamat Mencoba

Tidak ada komentar:

Posting Komentar

Inheritens Pada Rental VCD Menggunakan superclass

K ali ini saya akan membuat post mengenai tentang Bagaimana pewarisan pada java menggunakan super class. 1. Masukan Code yang ada di bawah...