SlideShare ist ein Scribd-Unternehmen logo
1 von 25
PemrogramanBerorientasiObjek Inheritance (Pewarisan)
Pengertian Inheritance  Prosespewarisan data dan method darisuatukelaskepadakelas yang lain Class ygmewariskanSuperclass Class ygdiwariskan  	    Subclass
Keyword Extends bentukumumpada Java : 	<hakakses> class <subclass> extends <superclass> Contoh : 	public class mobilextendsKendaraanBermotor bentukumumpada C++ : 	class <subclass> : <hakakses> <superclass> contoh : 	class mobil : public kendaraan_bermotor
Keyword Super untukmemanggilkonstruktordan method oleh subclass yang dimilikiolehsuperclass ,[object Object],super () super(parameter) ,[object Object],super.method(parameter)
Jenis-Jenis Inheritance  Single Inheritance	(Pewarisan Tunggal) Multiple Inheritance (PewarisanJamak) Virtual Multiple Inheritance (PewarisanJamak Maya)
Single Inheritance (Pewarisan Tunggal) Adalahpewarisan yang jumlahkelasdasarnya (basic class / superclass) tunggal, tapikelasturunan (subclass) bisalebihdarisatu Konsep inheritance yang ada di Java hanya memperkenankan adanya single inheritance.
Single Inheritance (Pewarisan Tunggal)
Syntax Single Inheritance C++ JAVA class A {   . . . }; class B : public A {   . . . } class A {   . . . }; Public class B extends A {   . . . }
Contoh Single Inheritance ( Java ) public class Komputer {     String Processor; int Monitor; intHardDisk; int Memory;     public intgetHardDisk() {         return HardDisk;     }     public void setHardDisk(intHardDisk) { this.HardDisk = HardDisk;     }     public intgetMemory() {         return Memory;     }  public void setMemory(int Memory) { this.Memory = Memory;     }     public intgetMonitor() {         return Monitor;     }     public void setMonitor(int Monitor) { this.Monitor = Monitor;     }     public String getProcessor() {         return Processor;     }     public void setProcessor(String Processor) { this.Processor = Processor;     } }
Contoh Single Inheritance ( Java ) public class Laptop extends Komputer{        String typeBattery; intdurasiBattery;     public intgetDurasiBattery() {         return durasiBattery;     }     public void setDurasiBattery(intdurasiBattery) { this.durasiBattery = durasiBattery;     }     public String getTypeBattery() {         return typeBattery;     }     public void setTypeBattery(String typeBattery) { this.typeBattery = typeBattery;     } }
Contoh Single Inheritance ( Java ) public class Circle {    private double radius;    Circle(double r) {    //Constructor         radius = r;    }    Circle() {            //Constructor         radius = 1.0;    }    public double getRadius() {         return radius;    }    public double findArea() {         return radius*radius*3.14;   }  }
Contoh Single Inheritance ( Java ) public class Cylinder extends Circle {    private double length;    public Cylinder() {                   //Constructor  super();         length = 1.0;    }    public Cylinder(double r,double l) {  //Constructor  super(r);        length = l;        }    public double getLength() {         return length;   }    public double findArea() {  System.out.println(“Call Cylinder find Area”);         return 2*super.findArea()+2*getRadius()*3.14159*length;  }   public double findVolume() {         return findArea() * length;    }    }
Contoh Single Inheritance ( Java ) public class Test {     public static void main(String [] Args) {         //Create Cylinder object and display it's properties         Cylinder myCylinder = new Cylinder(5.0,2.0);  System.out.println("The length : "+myCylinder.getLength());  System.out.println("The radius : "+myCylinder.getRadius());  System.out.println("The Cylinder Volume : "+myCylinder.findVolume());  System.out.println("The area of Circle : "+myCylinder.findArea());     }   }
Multiple Inheritance (PewarisanJamak) Kelas yang diturunkanlebihdarisatukelas yang berbeda (jumlahkelasdasarnyalebihdarisatu) Java tidakmendukung Multiple Inheritance C++ mendukungMultiple Inheritance Java menggunakan interface untukmenggantikan konsep multiple inheritance    	Multiple Interface Inheritance
Multiple Inheritance (PewarisanJamak)
Syntax Multiple Inheritance class A {   . . . }; class B {   . . . } class C: public A, public B {   . . . }
Contoh Multiple Inheritance (C++)  class ayah{       public:              void rambut(){ cout<<">RambutnyaKeriting"<<endl;                   }              }; class ibu{       public:              void kulit(){ cout<<">KulitnyaPutih"<<endl;                   }       };
Contoh Multiple Inheritance (C++)  class anak : public ayah, public ibu{       public:              void hidung(){ cout<<">Hidunganakitumancung"<<endl<<endl;                   }        }; class cucu : public ayah, public ibu{       public:              void pandai(){ cout<<">CucudariKakekdanNenekitupandaiberhitung"<<endl<<endl;                   }              };
Virtual Multiple Inheritance Kelas yang diturunkanlebihdarisatukelas yang berbeda (jumlahkelasdasarnyalebihdarisatu) Hanyasaja, beberapadiantarakelasdasartersebutmerupakankelasturunandarikelasdasar yang sama
Virtual Multiple Inheritance
Syntax VirtualMultiple Inheritance class A {   . . . }; class B: virtual public A {   . . . }; class C: virtual public A {   . . . }; class D: public B, public C {   . . . };
Contoh Virtual Multiple Inheritance class hewan { public: void bergerak() { cout<<" # Bergerakberpindahtempat"<<endl; } }; class kuda: virtual public hewan { public : void berlari() { cout<<" # Berlarinyasangatcepat"<<endl; } }; class burung: virtual public hewan { public: void terbang() { cout<<" # Terbangmenembusawan"<<endl; } }; class pegasus: public kuda, public burung { public: void lariterbang() { cout<<"# Bersayap, laridandapatterbangkeangkasa"<<endl; } };
Hal ygperludipertimbangkansaatmewariskan method : Jika method disuperclass PUBLIC makasemua subclass bersifat PUBLIC Jika method disuperclass PROTECTED makabisamenjadi PROTECTED atau PUBLIC untuksemua subclass Jika method disuperclass DEFAULT makapada subclass bisamenjadi PRIVATE Jika method disuperclass PRIVATE, makatidakbisadiwariskan HubunganantaraAksesdan Inheritance
HakAkses Subclass danSuperclass
Selesai UniversitasKomputer Indonesia

Weitere ähnliche Inhalte

Was ist angesagt?

Modul 5 Metode Inferensi dan Penalaran
Modul 5   Metode Inferensi dan PenalaranModul 5   Metode Inferensi dan Penalaran
Modul 5 Metode Inferensi dan Penalaranahmad haidaroh
 
15. lampiran listing program
15. lampiran   listing program15. lampiran   listing program
15. lampiran listing programFaza Zahrah
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekI Putu Arya Dharmaadi
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objekrizki adam kurniawan
 
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupLAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupIbrahim Naki
 
Mode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain PengalamatanMode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain Pengalamatanlailalutfi
 
Membuat game-shooting-dengan-pygame
Membuat game-shooting-dengan-pygameMembuat game-shooting-dengan-pygame
Membuat game-shooting-dengan-pygameRidwan Fadjar
 
1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx
1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx
1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptxDediPratmoSihite
 
Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueKuliahKita
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)rizki adam kurniawan
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekKuncara Laksana
 
Linear programming
Linear programmingLinear programming
Linear programmingAfdan Rojabi
 

Was ist angesagt? (20)

Modul 5 Metode Inferensi dan Penalaran
Modul 5   Metode Inferensi dan PenalaranModul 5   Metode Inferensi dan Penalaran
Modul 5 Metode Inferensi dan Penalaran
 
15. lampiran listing program
15. lampiran   listing program15. lampiran   listing program
15. lampiran listing program
 
8 tablo semantik
8   tablo semantik8   tablo semantik
8 tablo semantik
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
 
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupLAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
 
Mode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain PengalamatanMode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain Pengalamatan
 
Kuliah SPK : Metode TOPSIS
Kuliah SPK : Metode TOPSISKuliah SPK : Metode TOPSIS
Kuliah SPK : Metode TOPSIS
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
Temu 3 distribusi_frekuensi
Temu 3 distribusi_frekuensiTemu 3 distribusi_frekuensi
Temu 3 distribusi_frekuensi
 
Sistem Pakar Certainty factor
Sistem Pakar Certainty factor Sistem Pakar Certainty factor
Sistem Pakar Certainty factor
 
Membuat game-shooting-dengan-pygame
Membuat game-shooting-dengan-pygameMembuat game-shooting-dengan-pygame
Membuat game-shooting-dengan-pygame
 
1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx
1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx
1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx
 
Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - Queue
 
Pertemuan 14 ok
Pertemuan 14 okPertemuan 14 ok
Pertemuan 14 ok
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
 
Pengulangan dan Seleksi
Pengulangan dan SeleksiPengulangan dan Seleksi
Pengulangan dan Seleksi
 
Linear programming
Linear programmingLinear programming
Linear programming
 

Inheritance

  • 2. Pengertian Inheritance Prosespewarisan data dan method darisuatukelaskepadakelas yang lain Class ygmewariskanSuperclass Class ygdiwariskan Subclass
  • 3. Keyword Extends bentukumumpada Java : <hakakses> class <subclass> extends <superclass> Contoh : public class mobilextendsKendaraanBermotor bentukumumpada C++ : class <subclass> : <hakakses> <superclass> contoh : class mobil : public kendaraan_bermotor
  • 4.
  • 5. Jenis-Jenis Inheritance Single Inheritance (Pewarisan Tunggal) Multiple Inheritance (PewarisanJamak) Virtual Multiple Inheritance (PewarisanJamak Maya)
  • 6. Single Inheritance (Pewarisan Tunggal) Adalahpewarisan yang jumlahkelasdasarnya (basic class / superclass) tunggal, tapikelasturunan (subclass) bisalebihdarisatu Konsep inheritance yang ada di Java hanya memperkenankan adanya single inheritance.
  • 8. Syntax Single Inheritance C++ JAVA class A { . . . }; class B : public A { . . . } class A { . . . }; Public class B extends A { . . . }
  • 9. Contoh Single Inheritance ( Java ) public class Komputer { String Processor; int Monitor; intHardDisk; int Memory; public intgetHardDisk() { return HardDisk; } public void setHardDisk(intHardDisk) { this.HardDisk = HardDisk; } public intgetMemory() { return Memory; } public void setMemory(int Memory) { this.Memory = Memory; } public intgetMonitor() { return Monitor; } public void setMonitor(int Monitor) { this.Monitor = Monitor; } public String getProcessor() { return Processor; } public void setProcessor(String Processor) { this.Processor = Processor; } }
  • 10. Contoh Single Inheritance ( Java ) public class Laptop extends Komputer{ String typeBattery; intdurasiBattery; public intgetDurasiBattery() { return durasiBattery; } public void setDurasiBattery(intdurasiBattery) { this.durasiBattery = durasiBattery; } public String getTypeBattery() { return typeBattery; } public void setTypeBattery(String typeBattery) { this.typeBattery = typeBattery; } }
  • 11. Contoh Single Inheritance ( Java ) public class Circle { private double radius; Circle(double r) { //Constructor radius = r; } Circle() { //Constructor radius = 1.0; } public double getRadius() { return radius; } public double findArea() { return radius*radius*3.14; } }
  • 12. Contoh Single Inheritance ( Java ) public class Cylinder extends Circle { private double length; public Cylinder() { //Constructor super(); length = 1.0; } public Cylinder(double r,double l) { //Constructor super(r); length = l; } public double getLength() { return length; } public double findArea() { System.out.println(“Call Cylinder find Area”); return 2*super.findArea()+2*getRadius()*3.14159*length; } public double findVolume() { return findArea() * length; } }
  • 13. Contoh Single Inheritance ( Java ) public class Test { public static void main(String [] Args) { //Create Cylinder object and display it's properties Cylinder myCylinder = new Cylinder(5.0,2.0); System.out.println("The length : "+myCylinder.getLength()); System.out.println("The radius : "+myCylinder.getRadius()); System.out.println("The Cylinder Volume : "+myCylinder.findVolume()); System.out.println("The area of Circle : "+myCylinder.findArea()); } }
  • 14. Multiple Inheritance (PewarisanJamak) Kelas yang diturunkanlebihdarisatukelas yang berbeda (jumlahkelasdasarnyalebihdarisatu) Java tidakmendukung Multiple Inheritance C++ mendukungMultiple Inheritance Java menggunakan interface untukmenggantikan konsep multiple inheritance Multiple Interface Inheritance
  • 16. Syntax Multiple Inheritance class A { . . . }; class B { . . . } class C: public A, public B { . . . }
  • 17. Contoh Multiple Inheritance (C++) class ayah{ public: void rambut(){ cout<<">RambutnyaKeriting"<<endl; } }; class ibu{ public: void kulit(){ cout<<">KulitnyaPutih"<<endl; } };
  • 18. Contoh Multiple Inheritance (C++) class anak : public ayah, public ibu{ public: void hidung(){ cout<<">Hidunganakitumancung"<<endl<<endl; } }; class cucu : public ayah, public ibu{ public: void pandai(){ cout<<">CucudariKakekdanNenekitupandaiberhitung"<<endl<<endl; } };
  • 19. Virtual Multiple Inheritance Kelas yang diturunkanlebihdarisatukelas yang berbeda (jumlahkelasdasarnyalebihdarisatu) Hanyasaja, beberapadiantarakelasdasartersebutmerupakankelasturunandarikelasdasar yang sama
  • 21. Syntax VirtualMultiple Inheritance class A { . . . }; class B: virtual public A { . . . }; class C: virtual public A { . . . }; class D: public B, public C { . . . };
  • 22. Contoh Virtual Multiple Inheritance class hewan { public: void bergerak() { cout<<" # Bergerakberpindahtempat"<<endl; } }; class kuda: virtual public hewan { public : void berlari() { cout<<" # Berlarinyasangatcepat"<<endl; } }; class burung: virtual public hewan { public: void terbang() { cout<<" # Terbangmenembusawan"<<endl; } }; class pegasus: public kuda, public burung { public: void lariterbang() { cout<<"# Bersayap, laridandapatterbangkeangkasa"<<endl; } };
  • 23. Hal ygperludipertimbangkansaatmewariskan method : Jika method disuperclass PUBLIC makasemua subclass bersifat PUBLIC Jika method disuperclass PROTECTED makabisamenjadi PROTECTED atau PUBLIC untuksemua subclass Jika method disuperclass DEFAULT makapada subclass bisamenjadi PRIVATE Jika method disuperclass PRIVATE, makatidakbisadiwariskan HubunganantaraAksesdan Inheritance

Hinweis der Redaktion

  1. s
  2. s
  3. s
  4. s
  5. s