THOUSANDS OF FREE BLOGGER TEMPLATES

Kamis, 09 Juni 2011

Modul 3 Inheritance/Pewarisan

          Minggu kemarin Qt sudah membahas tentang Polymorfisme,nah sekarang Qt melanjutkan ke pembahasan selanjutnya yaitu materi Inheritance,dimana materi ini perbedaannya sangat tipis.

           Inheritance merupakan salah satu dari 3 konsep dasar OOP.dimana Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan. 

           Pewarisan merupakan peristiwa di suatu kelas mewarisi data dan fungsi anggota dari kelas yang lain. Kelas yang mewarisi, diistilahkan dengan kelas anak atau kelas turunan, sedangkan kelas yang mewariskan, diistilahkan dengan induk. Pewarisan memungkinkan seorang programmer berorientasi obyek menghindari penulisan ulang fungsi dan data anggota berulang kali.

           Suatu kelas dapat diciptakan berdasarkan kelas lain. Kelas baru ini mempunyai sifat-sifat yang sama dengan kelas pembentuknya, ditambah sifat-sifat khusus lainnya. Dengan pewarisan kita dapat menciptakan kelas baru yang mempunyai sifat sama dengan kelas lain tanpa harus menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse).
         Sifat pewarisan ini menyebabkan kelas-kelas dalam pemrograman berorientasi objek membentuk hirarki kelas mulai dari kelas dasar, kelas turunan pertama, kelas turunan kedua dan seterusnya.

Implementasi
          Pada bagian kegiatan praktikum ini, kita  akan belajar membuat class yang dikelompokkan dalam package kemudian menggunakan package ini dari class lain. 

/*langkah ke-1: Membuat Class Rumah*/
class Rumah
{
private String a = " Rumahmewah ";
public void info()
{
System.out.println (" ");
System.out.println (" Rumah = "+a);
}
}

/*langkah ke-2: Membuat Class rumahindah turunan dari Rumah*/
class rumahindah extends Rumah
{
private String b = " tombol alarm ";
public void info()
{
System.out.println (" ");
super.info();                       //super mewarisi sifat dari parent dan dirinya sendiri
System.out.println (" rumahindah = "+b);
}
}

/*langkah ke-3: Membuat Main Program dengan Nama Class TipeRumah */
public class TipeRumah
{
public static void main ( String[]args )
{
rumahindah C = new rumahindah();
C.info();
}
}

Hasil Running

Tugas Akhir
          Buatlah program java untuk menurunkan 2 buah kelas turunan dari kelas induk yang berupa lingkaran dimana program ini dapat menghitung luas dan keliling lingkaran !
Berikut Source codenya:

/*langkah ke-1: Membuat Class Lingkaranku*/
class Lingkaranku
{
public double r;
public double phi=3.14;
public void panjangr()
{
System.out.println("Panjang jari-jari : "+ r);
}
}

/*langkah ke-2: Membuat Class Keliling turunan dari Lingkaranku*/
class Keliling extends Lingkaranku
{
double kel,r2,P;
public void Hitungkel()
{
P=super.phi;
r2=super.r;
kel=2*r2*P;
System.out.println("Keliling lingkaran : "+ kel);
}
}

/*langkah ke-3: Membuat Class Luas turunan dari Lingkaranku*/
class Luas extends Lingkaranku
{
double l,r2,P;
public void Hitungl()
{
P=super.phi;
r2=super.r;
l=2*P*r2*r2;
System.out.println("Luas lingkaran = "+ l);
}
}

/*langkah ke-4: Membuat Main Program dengan Nama Class lingkaran */
public class lingkaran
{
public static void main (String[] args)
{
Keliling kel1=new Keliling();
Luas l1=new Luas();
kel1.r=6;
l1.r=9;

kel1.Hitungkel();
l1.Hitungl();
}
}

Hasil Running

Tugas Tambahan
  • Buatlah class Shape. class memiliki dua field String: name dan size. class mempunyai method printShapeInfo, dimana hanya mengeluarkan nilai name dan field size dari object Shape. Juga memiliki method printShapeName dan printShapeSize, dimana mencetak nama dan size dariobject, berturut-turut.
  • Menggunakan pewarisan, buat class Square dengan field yang sama dan method seperti itu dari class Shape. Class ini mempunyai dua tambahan field integer: length dan width. Method printShapeLength dan printShapeWidth yang mencetak panjang dan lebar object yang juga termasuk dalam class ini.
Berikut Source codenya:

/*langkah ke-1: Membuat Class Shape*/
class Shape{

String name, size;

public Shape(String name){
this.name = name;
}

public void printShapeInfo(){
System.out.println("Shape name : "+name);
System.out.println("Shape Size : "+size);
}

public void printShapeName(){
System.out.println("Shape name : "+name);
}

public void printShapeSize(){
System.out.println("Shape size : "+size);
}

}

/*langkah ke-2: Membuat Class Square turunan dari Shape*/
class square extends Shape{

String name, size;
int length, width;

public square(String name){
super(name);
}

public void printShapeInfo(){
super.printShapeInfo();
}

public void printShapeName(){
super.printShapeName();
}

public void printShapeSize(){
super.size = String.valueOf(length*width);
super.printShapeSize();
}

public void printWidth(){
System.out.println("Lebar : "+width);
}

public void printLength(){
System.out.println("Panjang : "+length);
}
}

/*langkah ke-3: Membuat Main Program dengan Nama Class Main */
class main{

public static void main (String[] args){


System.out.println("====================================");


square persegi = new square("persegi");

persegi.length = 10;
persegi.width = 8;

persegi.printShapeName();

persegi.printLength();
persegi.printWidth();



persegi.printShapeSize();
System.out.println("\n");
System.out.println("Jadi kesimpulannya..");
persegi.printShapeInfo();
}
}

Hasil Running:

0 komentar:

Posting Komentar