SlideShare a Scribd company logo
1 of 3
Download to read offline
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.

More Related Content

Similar to Modul 5 pbo

pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptxpertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptxssuserc54f06
 
PBO_03_Inheritance.pptx
PBO_03_Inheritance.pptxPBO_03_Inheritance.pptx
PBO_03_Inheritance.pptxplgbk
 
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Rakhmat Dedi Gunawan
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15Ekha Cahya Nugraha
 
Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphismrahmantoyuri
 
Laporan8
Laporan8Laporan8
Laporan8Sa Lam
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Melina Krisnawati
 
Pemrograman 2 Part 3.pdf
Pemrograman 2 Part 3.pdfPemrograman 2 Part 3.pdf
Pemrograman 2 Part 3.pdfJeffryAndrian
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Debby Ummul
 
tmplt.ppt
tmplt.ppttmplt.ppt
tmplt.pptwrw243
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Rakhmat Dedi Gunawan
 
Modul pratikum pbo - inheritance
Modul pratikum pbo - inheritanceModul pratikum pbo - inheritance
Modul pratikum pbo - inheritancerahmantoyuri
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
Konsep Overloading (1).pptx
Konsep Overloading (1).pptxKonsep Overloading (1).pptx
Konsep Overloading (1).pptxAsepKhabrilRifao
 
1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_ku1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_kuIrfanRifangga
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervanaris
 

Similar to Modul 5 pbo (20)

pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptxpertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
 
PBO_03_Inheritance.pptx
PBO_03_Inheritance.pptxPBO_03_Inheritance.pptx
PBO_03_Inheritance.pptx
 
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
 
Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphism
 
Laporan8
Laporan8Laporan8
Laporan8
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
 
Pemrograman 2 Part 3.pdf
Pemrograman 2 Part 3.pdfPemrograman 2 Part 3.pdf
Pemrograman 2 Part 3.pdf
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
 
P5 depandi enda
P5 depandi endaP5 depandi enda
P5 depandi enda
 
tmplt.ppt
tmplt.ppttmplt.ppt
tmplt.ppt
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)
 
Modul pratikum pbo - inheritance
Modul pratikum pbo - inheritanceModul pratikum pbo - inheritance
Modul pratikum pbo - inheritance
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Konsep Overloading (1).pptx
Konsep Overloading (1).pptxKonsep Overloading (1).pptx
Konsep Overloading (1).pptx
 
Java4
Java4Java4
Java4
 
1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_ku1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_ku
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervan
 
dasar OOP
dasar OOPdasar OOP
dasar OOP
 

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.