Hak Cipta © pada Inggih Permana



Modul 5                 Perwarisan dan Polimerfisme
                       “Bunuhlah diri anda sendiri, tetapi jangan bunuh diri!”



Pada materi ini akan membahas dua hal penting pada Java, yaitu perwarisan dan polimerfisme. Kedua
konsep ini merupakan bagian dari empat konsep utama dalam pemograman berorientasi objek. Konsep
yang dua lagi adalah abstraksi dan enkapsulasi, konsep-konsep yang ini akan dijelaskan pada materi
selanjutnya

Perwarisan
Pengantar
Perwarisan (inheritance) adalah salah satu kelebihan dari pemograman berorientasi objek, karena
dengan teknik ini anda dapat membuat kelas melalu perluasan kelas yang sudah ada. Analoginya adalah
dengan menggunakan manusia, seorang manusia kemungkinan besar akan mewarisi sifat kepada
anaknya, anaknya akan mewarisi lagi kepada anaknya, dan begitu seterusnya. Kelas yang mewarisi
disebut dengan parrent class dan kelas yang diwarisi disebut child class.

Cara menggunakan perwarisan
Secara umum perwarisan diilustrasikan sebagai berikut.

    class child_class extends parent_class

Contoh :
Parent class
public class PersegiPanjang{

          double panjang;
          double lebar;

          void setPanjang(double panjang){
                this.panjang = panjang;
          }

          void setLebar(double lebar){
                this.lebar = lebar;
          }

          double luasPersegiPanjang(){
                return panjang*lebar;
          }

}

Child class
public class Balok extends PersegiPanjang{

          double tinggi;
          void setTinggi(double tinggi){
Hak Cipta © pada Inggih Permana


                 this.tinggi = tinggi;
       }

       double volumeBalok(){
             return luasPersegiPanjang()*tinggi;
       }

}

Tes perwarisan
public class TesPerwarisan{
      public static void main(String[] args){

                 Balok bl = new Balok();
                 bl.setPanjang(2);
                 bl.setLebar(3);
                 bl.setTinggi(4);

                 double vol = bl.volumeBalok();
                 System.out.println(”Volume balok = ”+vol);

       }
}

Pada tes perwarisan terlihat meskipun balok tidak mempunyai method setPanjang() dan setLebar yang
ada di class PersegiPanjang, tetapi instance dari objek balok masih bisa menggunakannya. Ini karena
class Balok mewarisi semua method dan variabel yang ada di class PersegiPanjang. Sebenarnya child
class seperti class Balok bisa menjadi parrent class pada child class selanjutnya.

Polimefisme
Saat saya berkata “kaki saya tersandung kaki meja”, tentu saja yang ada dalam pikiran anda kaki yang
pertama dalam kalimat tersebut adalah benar-benar kaki manusia sedangkan kaki yang kedua adalah
tonggak agar meja bisa berdiri. Dalam bahasa Indonseia disebut majas personifikasi, lalu apa hubungan
dengan sub materi polimerfisme? Kurang lebih seperti itulah polimerfisme di Java, nama sama tetapi
parameter masukkannya berbeda. Perlu saya beritahu, bahwa polimerfisme yang dijelaskan disini
hanyalah polimefisme pada method.

Contoh :
public class Persegi{

       double panjang;
       double lebar;

       void setPanjang(double panjang){
             this.panjang = panjang;
       }
       void setLebar(double lebar){
             this.lebar = lebar;
       }
       double luasPersegi(){
             return panjang*lebar;
       }
Hak Cipta © pada Inggih Permana


       double luasPersegi(double sisi){
             return sisi*sisi;
       }

       double luasPersegi(int sisi){
             return sisi*sisi;
       }

       double luasPersegi(double p, double l){
             return p*l;
       }

       double luasPersegi(int p, int l){
             return p*l;
       }

}

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

              Persegi psg = new Persegi();

              psg.setPanjang(2.0);
              psg.setLebar(3.0);
              double luas1 = psg.luasPersegi();
              System.out.println(”Luas persegi I = ”+luas1);

              double luas2 = psg.luasPersegi(3.0);
              System.out.println(”Luas persegi II = ”+luas2);

              double luas3 = psg.luasPersegi(3);
              System.out.println(”Luas persegi III = ”+luas3);

              double luas4 = psg.luasPersegi(3.0, 4.0);
              System.out.println(”Luas persegi IV = ”+luas4);

              double luas5 = psg.luasPersegi(3, 4);
              System.out.println(”Luas persegi V = ”+luas5);

       }
}

Pada contoh diatas terlihat bahwa polimerfisme pada method di Java bisa terjadi pada jumlah
parameternya, tipe datanya atau kedua-duanya.

Modul 5 pbo

  • 1.
    Hak Cipta ©pada Inggih Permana Modul 5 Perwarisan dan Polimerfisme “Bunuhlah diri anda sendiri, tetapi jangan bunuh diri!” Pada materi ini akan membahas dua hal penting pada Java, yaitu perwarisan dan polimerfisme. Kedua konsep ini merupakan bagian dari empat konsep utama dalam pemograman berorientasi objek. Konsep yang dua lagi adalah abstraksi dan enkapsulasi, konsep-konsep yang ini akan dijelaskan pada materi selanjutnya Perwarisan Pengantar Perwarisan (inheritance) adalah salah satu kelebihan dari pemograman berorientasi objek, karena dengan teknik ini anda dapat membuat kelas melalu perluasan kelas yang sudah ada. Analoginya adalah dengan menggunakan manusia, seorang manusia kemungkinan besar akan mewarisi sifat kepada anaknya, anaknya akan mewarisi lagi kepada anaknya, dan begitu seterusnya. Kelas yang mewarisi disebut dengan parrent class dan kelas yang diwarisi disebut child class. Cara menggunakan perwarisan Secara umum perwarisan diilustrasikan sebagai berikut. class child_class extends parent_class Contoh : Parent class public class PersegiPanjang{ double panjang; double lebar; void setPanjang(double panjang){ this.panjang = panjang; } void setLebar(double lebar){ this.lebar = lebar; } double luasPersegiPanjang(){ return panjang*lebar; } } Child class public class Balok extends PersegiPanjang{ double tinggi; void setTinggi(double tinggi){
  • 2.
    Hak Cipta ©pada Inggih Permana this.tinggi = tinggi; } double volumeBalok(){ return luasPersegiPanjang()*tinggi; } } Tes perwarisan public class TesPerwarisan{ public static void main(String[] args){ Balok bl = new Balok(); bl.setPanjang(2); bl.setLebar(3); bl.setTinggi(4); double vol = bl.volumeBalok(); System.out.println(”Volume balok = ”+vol); } } Pada tes perwarisan terlihat meskipun balok tidak mempunyai method setPanjang() dan setLebar yang ada di class PersegiPanjang, tetapi instance dari objek balok masih bisa menggunakannya. Ini karena class Balok mewarisi semua method dan variabel yang ada di class PersegiPanjang. Sebenarnya child class seperti class Balok bisa menjadi parrent class pada child class selanjutnya. Polimefisme Saat saya berkata “kaki saya tersandung kaki meja”, tentu saja yang ada dalam pikiran anda kaki yang pertama dalam kalimat tersebut adalah benar-benar kaki manusia sedangkan kaki yang kedua adalah tonggak agar meja bisa berdiri. Dalam bahasa Indonseia disebut majas personifikasi, lalu apa hubungan dengan sub materi polimerfisme? Kurang lebih seperti itulah polimerfisme di Java, nama sama tetapi parameter masukkannya berbeda. Perlu saya beritahu, bahwa polimerfisme yang dijelaskan disini hanyalah polimefisme pada method. Contoh : public class Persegi{ double panjang; double lebar; void setPanjang(double panjang){ this.panjang = panjang; } void setLebar(double lebar){ this.lebar = lebar; } double luasPersegi(){ return panjang*lebar; }
  • 3.
    Hak Cipta ©pada Inggih Permana double luasPersegi(double sisi){ return sisi*sisi; } double luasPersegi(int sisi){ return sisi*sisi; } double luasPersegi(double p, double l){ return p*l; } double luasPersegi(int p, int l){ return p*l; } } public class TesPolimerfisme{ public static void main(String[] args){ Persegi psg = new Persegi(); psg.setPanjang(2.0); psg.setLebar(3.0); double luas1 = psg.luasPersegi(); System.out.println(”Luas persegi I = ”+luas1); double luas2 = psg.luasPersegi(3.0); System.out.println(”Luas persegi II = ”+luas2); double luas3 = psg.luasPersegi(3); System.out.println(”Luas persegi III = ”+luas3); double luas4 = psg.luasPersegi(3.0, 4.0); System.out.println(”Luas persegi IV = ”+luas4); double luas5 = psg.luasPersegi(3, 4); System.out.println(”Luas persegi V = ”+luas5); } } Pada contoh diatas terlihat bahwa polimerfisme pada method di Java bisa terjadi pada jumlah parameternya, tipe datanya atau kedua-duanya.