Jumat, 10 Juni 2011


BAB II
PEMBAHASAN

I.             Teori
Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object.
Contoh dari hierarki class :
 

Superclass : class yang letaknya di atas class tertentu di dalam hierarki.
Subclass : class yang letaknya di bawah class tertentu di dalam hierarki.
Keuntungan penggunaan Inheritance dalam OOP : Reusability
      Ketika behavior(method) dideklarasikan dalam superclass, behavior tersebut otomatis diwariskan ke seluruh subclass
      Jadi, Anda dapat meng-enkode method hanya sekali dan method tersebut dapat digunakan oleh seluruh subclass
      Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya sendiri dan parent-nya
Untuk mengambil sebuah class, gunakan keyword extends.
            Pada bagian di bawah ini merupakan contoh program inherintance:
/*langkah ke-1: Membuat Class Rumah*/

class Rumah
{
      private String a = " Rumahmewah ";
      public void info()
      {
            //System.out.println (" Dipanggil pada  =  "+this);
            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();
            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();
      }
}

BAB III
TUGAS PENDAHULUAN

1.      Apa yang perbedaan antara Induk Kelas dengan Kelas Turunan?
2.      Jelaskan keyword super dan extends dalam Pewarisan?

Pembahasan:

  • Induk kelas (super class )  : kelas yang letaknya diatas kelas tertentu dalam hierarki. Kelas Turunan (subclass ) : kelas yang letaknya dibawah kelas tertentu dalam hierarki.
Contoh penggambaran superclass dan subclass
 Dapat dikatakan bahwa Buku merupakan subclass dari Bahan Bacaan, dan Bahan Bacaan adalah superclass dari Buku. Proses superclass dan subclass ini adalah aspek organisasional penting dari rancangan pemrograman berorientasi obyek. Teknik ini memberikan significant reuse code dan membuat sistem lebih mudah dikembangkan.Keuntungan ini bertambah karena fakta bahwa perilaku obyek
dapat menurun (inherit) dari induknya dalam hirarki Suatu class hanya dapat diturunkan dari satu class induk. Java hanya mengijinkan single inheritance, tidak multiple.

  • Keyword Super digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass. Pemanggilan super ( ) hanya dapat digunakan di dalam constructor, hanya constructor yang dapat menjalankan constructor. Jika digunakan, super( ) harus menjadi pernyataan pertama di dalam body constructor subclass. Jika pemanggilan super( ) diabaikan di dalam class turunan, Java memanggilnya secara implisit agar ruang memory untuk atribut-atribut turunan segera dialokasikan.
Keyword extend merupakan keyword  yang  harus kita tambahkan pada definisi class yang menjadi subclass. Salah satu kelebihan dari keyword extend  adalah relatif mudah dalam pengembangan system yang telah dibuat.

BAB IV
KEGIATAN PRAKTIKUM

Membuat kelas Rumah
/*Disimpan dalam file Rumah.java*/
/*Kode Program untuk kelas rumah*/
class Rumah
{
     private String a = " Rumahmewah ";
     public void info()
     {
           System.out.println (" ");
           System.out.println (" Rumah           = "+a);
     }
}
Membuat kelas rumahindah turunan dari kelas Rumah
/*Disimpan dalam file Rumah.java*/
/*Kode Program untuk kelas rumahindah*/
class rumahindah extends Rumah
{
     private String b           =    " tombol alarm ";
     public void info()
     {
           System.out.println (" ");
           super.info();
           System.out.println (" rumahindah     = "+b);
     }
}
Membuat kelas TipeRumah sebagai program utama
/*Disimpan dalam file TipeRumah.java*/
/*Kode Program untuk kelas RumahIndah*/
public class TipeRumah
{
     public static void main ( String[]args )
     {
           rumahindah C = new rumahindah();
           C.info();
     }
}

Hasil Running

BAB V
TUGAS AKHIR


Membuat kelas Lingkaran
/*Disimpan dalam file Lingkaran.java*/
/*Kode Program untuk kelas Lingkaran*/
class Lingkaran
{
     protected int r= 100;
     void info(){
                System.out.println("Jari- jari :" + r);
     }
}

Membuat kelas Luas yang merupakan kelas turunan dari kelas Lingkaran
/*Disimpan dalam file Lingkaran.java*/
/*Kode Program untuk kelas Luas*/
class Luas extends Lingkaran
{
     private int r;
     public double hasil()
     {              
           r=super.r;
           return 3.14*r*r;
     }
}

Membuat kelas Keliling yang merupakan kelas turunan dari kelas Lingkaran
/*Disimpan dalam file Lingkaran.java*/
/*Kode Program untuk kelas Keliling*/
class Keliling extends Lingkaran
{
     private int r;
     public double hasil()
     {              
           r=super.r;
           return 3.14*2*r;
     }
}

Membuat kelas hasilLingkaran yang merupakan program utama
/*Disimpan dalam file hasilLingkaran.java*/
/*Kode Program untuk kelas hasilLingkaran*/
public class hasilLingkaran{
     public static void main ( String[]args )
     {
           Lingkaran lingkaran= new Lingkaran();
           Luas luas = new Luas();
           Keliling kll=new Keliling();
           lingkaran.info();
           System.out.println("Luas Lingkaran :"+ luas.hasil());
           System.out.println("Keliling Lingkaran :"+ kll.hasil());
     }
}

Hasil Running

Jumat, 03 Juni 2011


Polymorphism
Kemampuan sebuah variabel reference untuk merubah behavior sesuai dengan apa yang dipunyai object.
polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan.

public class polimorfisme {
            public static void main(String[]args){
                        penyanyi a;
                        penyanyiKlasik astrie = new penyanyiKlasik();
                        a = astrie;
                        a.bernyanyi();
                        penyanyiRnb bayu = new penyanyiRnb();
                        a = bayu;
                        a.bernyanyi();             
            }
}
class penyanyi{
   void bernyanyi () {
        System.out.println("mari bernyanyi ..");
    }
}
class penyanyiKlasik extends penyanyi {
void bernyanyi () {
            super.bernyanyi ();
            System.out.println ("bernyanyi dengan irama klasik");

    }
}
class penyanyiRnb extends penyanyiKlasik {
            void bernyanyi (){
                        super.bernyanyi();
                        System.out.println ("bernyanyi dengan irama RnB");
            }
}
hasil :

BAB III
TUGAS PENDAHULUAN
                                                                                                                                                                               
1.      Keuntungan apa yang bisa didapat dengan Polymorphism?
Kita bisa membuat kode program tanpa harus mengetahui persis apa yang akan dilakukan program saat kita menulis program tersebut
2.      Bagaimana hubungan antar teknik overloading dengan Polymorphism?
Metode overloading adalah mendefinisikan metode yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama. Sedangkan polimorfisme merupakan kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila metode yang sama dipanggil, dimana aksi metode tergantung dari tipe objeknya dan signature metode harus sama baik pada superclass maupun subclass.