SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
INHERITANCE 
(PEWARISAN)
TOPICS 
Inheritance 
Deklarasi inheritance 
Kata kunci this & super
PENGERTIAN DASAR INHERITANCE 
Inheritance (Pewarisan) merupakan salah satu dari tiga 
konsep dasar OOP. 
Konsep inheritance ini mengadopsi dunia riil dimana suatu 
entitas/obyek dapat mempunyai entitas/obyek turunan. 
Dengan konsep inheritance, sebuah class dapat mempunyai 
class turunan.
PENGERTIAN DASAR INHERITANCE 
Pewarisan merupakan mekanisme/cara membuat kelas baru dari kelas 
yang sudah ada. 
Kelas yang sudah ada  superclass/parent class 
Kelas turunan  subclass 
Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.
CONTOH GAMBARAN 
PEWARISAN ANTAR CLAsuSpeSrclass 
subclass
DEKLARASI INHERITANCE 
Dengan menambahkan kata kunci extends setelah deklarasi 
nama class, kemudian diikuti dengan nama parent class-nya. 
Kata kunci extends tersebut memberitahu kompiler Java 
bahwa kita ingin melakukan perluasan class.
DEKLARASI INHERITANCE 
public class B extends A { 
… 
} 
Class A menjadi parent class 
Class B menjadi child class 
Class B mewarisi semua member class yang ada 
pada class A.
BAGAIMANA CARANYA? 
A 
- varA 
+ getA() 
+ setA(int a) 
Bagaimana membuat 
kelas B dari kelas A?
Class B extends A{ 
//....... 
} 
Class C extends B{ 
//..... 
|
Semua class di dalam Java adalah merupakan subclass dari class 
super induk yang bernama Object. 
Misalnya saja terdapat sebuah class sederhana : 
public class A { 
… 
}
Pada saat dikompilasi, Kompiler Java akan membacanya 
sebagai subclass dari class Object. 
public class A extends Object { 
… 
}
KAPAN KITA MENERAPKAN 
INHERITANCE? 
Kita baru perlu menerapkan inheritance pada saat kita jumpai 
ada suatu class yang dapat diperluas dari class lain.
MISAL TERDAPAT CLASS PEGAWAI 
public class Pegawai { 
public String nama; 
public double gaji; 
}
MISAL TERDAPAT CLASS MANAGER 
public class Manajer { 
public String nama; 
public double gaji; 
public String departemen; 
}
public class Manajer extends Pegawai { 
public String departemen; 
}
SINGLE INHERITANCE 
• Konsep inheritance yang ada di Java hanya 
memperkenankan adanya single inheritance, 
yaitu suatu sublass hanya dapat mempunyai 
satu parent class. Dengan kata lain, suatu 
class hanya dapat meng-extend satu class 
saja. 
• Jika dibutuhkan adanya multiple inheritance 
(satu class memiliki lebih dari satu parent 
class) maka solusinya dapat menggunakan 
interface. (next topic)
MULTILEVEL 
INHERITANCE 
Konsep inheritance yang ada di Java juga memperkenankan 
adanya multilevel inheritance. 
Konsep multilevel inheritance memperbolehkan suatu subclass 
mempunyai subclass lagi.
SINGLE DAN MULTILEVEL INHERITANCE
PENGAKSESAN MEMBER YANG DIDEKLARASIKAN DI 
PARENT CLASS DARI SUBCLASS 
Pengaksesan member yang ada di parent 
class dari subclass-nya tidak berbeda 
dengan pengaksesan member subclass itu 
sendiri. 
Misalnya di class Manajer kita ingin 
mengakses data member nama melalui 
sebuah function member IsiData(), sekaligus 
kita juga ingin mengakses data member 
departemen di class Manajer.
public class Manajer extends Pegawai { 
public String departemen; 
public void IsiData(String n, String d) { 
nama=n; 
departemen=d; 
} 
}
KONTROL PENGAKSESAN 
Dalam dunia riil, suatu entitas induk bisa saja 
tidak mewariskan sebagian dari apa-apa yang ia 
punyai kepada entitas turunan karena sesuatu 
hal. 
Demikian juga dengan konsep inheritance 
dalam OOP. 
Suatu parent class dapat tidak mewariskan 
sebagian member-nya kepada subclass-nya. 
Sebagai contoh, kita coba untuk memodifikasi 
class Pegawai. 
Hal ini dipengaruhi oleh access modifier.
public class Pegawai { 
private String nama; 
public double gaji; 
}
Coba untuk mengkompilasi class Manajer pada 
contoh sebelumnya. 
Apa yang terjadi? 
Pesan kesalahan akan muncul seperti ini : 
Manajer.java:5: nama has private access in Pegawai 
Ini membuktikan bahwa class Manajer tidak 
mewarisi data member nama dari parent class-nya 
(Pegawai). 
nama=n;
PRO TECTED 
Protected mempunyai kemampuan akses 
yang lebih besar daripada private dan 
default. 
Protected feature dari suatu class bisa 
diakses oleh semua class dalam satu 
package. 
Class diluar package boleh melakukan 
melakukan subclass, dan subclass tersebut 
bisa mengakses feature superclass.
EXAMPLE: PROTECTED 
1. package adifferentpackage; // Class Ski now in 
// a different package 
2. Public class Ski { 
3. protected void applyWax() { . . . } 
4. } 
1. Public package sportinggoods; 
2. class DownhillSki extends Ski { 
3. void tuneup() { 
4. applyWax();  OK 
5. // other tuneup functionality here 
6. } 
7. }
KONSTRUKTOR TIDAK 
DIWARISKAN 
Konstruktor dari parent class tidak dapat 
diwariskan ke subclass-nya. 
Konsekuensinya, setiap kali kita membuat 
suatu subclass, maka kita harus memanggil 
konstruktor parent class. 
Pemanggilan konstruktor parent harus 
dilakukan pada baris pertama dari 
konstruktor subclass.
KONSTRUKTOR TIDAK 
DIWARISKAN 
Jika kita tidak mendeklarasikannya secara eksplisit, maka 
kompiler Java akan menambahkan deklarasi pemanggilan 
konstruktor parent class di konstruktor subclass.
KONSTRUKTOR TIDAK 
DIWARISKAN 
Sebelum subclass menjalankan 
konstruktornya sendiri, subclass akan 
menjalankan constructor superclass terlebih 
dahulu. 
Hal ini terjadi karena secara implisit pada 
constructor subclass ditambahkan 
pemanggilan super()yang bertujuan 
memanggil constructor superclass oleh 
kompiler.
MISALNYA SAJA KITA MEMPUNYAI DUA BUAH 
CLASS SEBAGAI BERIKUT :
Pada saat program tersebut dikompilasi, maka kompiler Java 
akan menambahkan : 
 konstruktor class Parent 
 konstruktor class Child 
 pemanggilan konstruktor class Parent di kostruktor class Child
SEHINGGA PROGRAM TERSEBUT SAMA 
SAJA DENGAN YANG BERIKUT INI :
CONSTRUCTOR PADA 
INHERITANCE Misalkan kita buat class parent bernama Person sbb : 
public class Person { 
protected String name; 
protected String address; 
public Person(){ 
System.out.println(“Inside Person:Constructor”); 
Sekarang, kita buat class lain bernama Student yang meng-extends class Person. 
} 
} 
public class Student extends Person { 
public Student(){ 
System.out.println(“Inside Student:Constructor”); 
} 
}
ALUR EKSEKUSI 
CONSTRUCTOR 
Ketika sebuah object Student diinstansiasi, d e fa ult 
c o ns truc to r dari superclass Student dipanggil secara 
implisit untuk melakukan inisialisasi seperlunya. 
Setelah itu, pernyataan di dalam constructor 
subclass baru dijalankan.
PENJELASAN 
Untuk memperjelasnya, perhatikan kode dibawah ini, 
public static void main( String[] args ){ 
Student anna = new Student(); 
} 
Dalam kode ini, kita membuat sebuah object dari class 
Student. Hasil dari program adalah: 
Inside Person:Constructor 
Inside Student:Constructor
DIAGRAM ALUR 
EKSEKUSI 
CONSTRUCTOR
LATIHAN 1 Untuk kelas Bentuk : 
getWarna adl method yang akan 
mengembalikan nilai variabel warna 
setWarna adl method untuk mengubah nilai 
variabel warna 
printInfo adl method yang akan menuliskan 
“Bentuk berwarna [warna]” 
Untuk kelas BujurSangkar : 
getSisi adl method yang akan mengembalikan 
nilai variabel sisi 
setSisi adl method untuk mengubah nilai 
variabel sisi 
hitungLuas adl method yang akan 
mengembalikan hasil perhitungan luas 
bujursangkar 
printInfo adl method yang akan menuliskan 
“Bujursangkar berwarna [warna], luas = [luas]” 
Bentuk 
- warna 
+ constructor (String warna) 
+ String getWarna() 
+ void setWarna(String warna) 
+ void printInfo() 
BujurSangkar 
- sisi 
+ constructor (double sisi, 
String warna) 
+ double getSisi() 
+ void setSisi(double sisi) 
+ double hitungLuas() 
+ void printInfo()
LATIHAN 2 
Buatlah kelas Lingkaran sbg turunan kelas Bentuk. 
Lingkaran 
- radius 
+ constructor (double radius, String warna) 
+ double getRadius() 
+ void setRadius(double r) 
+ double hitungLuas() 
+ void printInfo() 
constructor akan menginisialisasi radius dan warna 
getRadius adl method yang akan mengembalikan nilai variabel radius 
setRadius adl method untuk mengubah nilai variabel radius 
hitungLuas adl method yang akan mengembalikan hasil perhitungan luas lingkaran 
(PHI jadikan sbg konstanta kelas) 
printInfo adl method yang akan menuliskan “Lingkaran [warna], luas = [luas]”
LATIHAN 3 
Silinder 
Buatlah kelas Silinder sbg turunan kelas 
Lingkaran 
- tinggi 
+ constructor (double tinggi, double radius, String warna) 
+ double getTinggi() 
+ void setTinggi(double t) 
+ double hitungVolume() 
+ void printInfo() 
 constructor akan menginisialisasi variabel tinggi, radius, dan warna 
 getTinggi adl method yg akan mengembalikan tinggi 
 setTinggi adl method yg akan mengubah tinggi 
 hitungVolume adl method yg akan mengembalikan hasil perhitungan 
volum silinder 
 printInfo adl method yg akan menuliskan “Silinder warna [warna], 
volume = [volume]”

Weitere ähnliche Inhalte

Was ist angesagt?

Tugas 5 individu rekayasa web 0316
Tugas 5 individu rekayasa web 0316Tugas 5 individu rekayasa web 0316
Tugas 5 individu rekayasa web 0316septianarul
 
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
 
Konsep Inheritance
Konsep InheritanceKonsep Inheritance
Konsep InheritanceRiski_kiki
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekWahyu Widodo
 
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 prak2 constructor dan overloading
Modul prak2   constructor dan overloadingModul prak2   constructor dan overloading
Modul prak2 constructor dan overloadingwahyuniwulan
 
Materi pelatihan java_fundamental
Materi pelatihan java_fundamentalMateri pelatihan java_fundamental
Materi pelatihan java_fundamentalLaode ADB Ali
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Melina Krisnawati
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan hermawanawang
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
istilah inheritance pada Pemrograman Berorientasi Object
istilah inheritance pada Pemrograman Berorientasi Objectistilah inheritance pada Pemrograman Berorientasi Object
istilah inheritance pada Pemrograman Berorientasi ObjectAjat Sudrajat
 
Pewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVAPewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVAdyko ananta
 

Was ist angesagt? (17)

Tugas 5 individu rekayasa web 0316
Tugas 5 individu rekayasa web 0316Tugas 5 individu rekayasa web 0316
Tugas 5 individu rekayasa web 0316
 
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)
 
Java4
Java4Java4
Java4
 
Konsep Inheritance
Konsep InheritanceKonsep Inheritance
Konsep Inheritance
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
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 prak2 constructor dan overloading
Modul prak2   constructor dan overloadingModul prak2   constructor dan overloading
Modul prak2 constructor dan overloading
 
Materi pelatihan java fundamental
Materi pelatihan java fundamentalMateri pelatihan java fundamental
Materi pelatihan java fundamental
 
Materi pelatihan java_fundamental
Materi pelatihan java_fundamentalMateri pelatihan java_fundamental
Materi pelatihan java_fundamental
 
Jeni konsep oop
Jeni   konsep oopJeni   konsep oop
Jeni konsep oop
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
istilah inheritance pada Pemrograman Berorientasi Object
istilah inheritance pada Pemrograman Berorientasi Objectistilah inheritance pada Pemrograman Berorientasi Object
istilah inheritance pada Pemrograman Berorientasi Object
 
Pewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVAPewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVA
 
5475 1 review konsep pbo
5475 1 review konsep pbo5475 1 review konsep pbo
5475 1 review konsep pbo
 
Laporan PBO Modul 4
Laporan PBO Modul 4Laporan PBO Modul 4
Laporan PBO Modul 4
 

Ähnlich wie WARISAN_DAN_PEWARISAN

Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa webart david
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceKristanto Wijaya
 
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJurnal IT
 
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
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa webosta92
 
Tugas 5 rekayasa web Freddy Ferdiansyah 1412510586
Tugas 5 rekayasa web Freddy Ferdiansyah 1412510586Tugas 5 rekayasa web Freddy Ferdiansyah 1412510586
Tugas 5 rekayasa web Freddy Ferdiansyah 1412510586freddyferdiansyah27
 
Tugas 5 Rekayasa Web 0316
Tugas 5 Rekayasa Web 0316Tugas 5 Rekayasa Web 0316
Tugas 5 Rekayasa Web 0316sapatati
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
OOP - Inheritance
OOP - InheritanceOOP - Inheritance
OOP - InheritanceKuliahKita
 
Materi object yg kosong
Materi object yg kosongMateri object yg kosong
Materi object yg kosongkgsrizky
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objekNamira Namirah
 
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan hermawanawang
 
Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5debbie95
 
Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5debbie95
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Rakhmat Dedi Gunawan
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJurnal IT
 

Ähnlich wie WARISAN_DAN_PEWARISAN (20)

Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa web
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
 
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
 
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
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa web
 
Tugas 5 rekayasa web Freddy Ferdiansyah 1412510586
Tugas 5 rekayasa web Freddy Ferdiansyah 1412510586Tugas 5 rekayasa web Freddy Ferdiansyah 1412510586
Tugas 5 rekayasa web Freddy Ferdiansyah 1412510586
 
11. inheritance
11. inheritance11. inheritance
11. inheritance
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Tugas 5 Rekayasa Web 0316
Tugas 5 Rekayasa Web 0316Tugas 5 Rekayasa Web 0316
Tugas 5 Rekayasa Web 0316
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Pbo
PboPbo
Pbo
 
17419 6 override
17419 6 override17419 6 override
17419 6 override
 
OOP - Inheritance
OOP - InheritanceOOP - Inheritance
OOP - Inheritance
 
Materi object yg kosong
Materi object yg kosongMateri object yg kosong
Materi object yg kosong
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
 
Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5
 
Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdf
 

Kürzlich hochgeladen

Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdfJaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdfHendroGunawan8
 
hentikan buli danGANGGUAN SEKSUAL UNTUK MURID.pptx
hentikan buli danGANGGUAN SEKSUAL UNTUK MURID.pptxhentikan buli danGANGGUAN SEKSUAL UNTUK MURID.pptx
hentikan buli danGANGGUAN SEKSUAL UNTUK MURID.pptxKalpanaMoorthy3
 
Penyusunan Paragraf Primakara Informatika IFPagi3
Penyusunan Paragraf Primakara Informatika IFPagi3Penyusunan Paragraf Primakara Informatika IFPagi3
Penyusunan Paragraf Primakara Informatika IFPagi3SatriaPamungkas18
 
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pptx
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pptxAKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pptx
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pptxHeriyantoHeriyanto44
 
Elemen Jurnalistik Ilmu Komunikasii.pptx
Elemen Jurnalistik Ilmu Komunikasii.pptxElemen Jurnalistik Ilmu Komunikasii.pptx
Elemen Jurnalistik Ilmu Komunikasii.pptxGyaCahyaPratiwi
 
UNSUR - UNSUR, LUAS, KELILING LINGKARAN.pptx
UNSUR - UNSUR, LUAS, KELILING LINGKARAN.pptxUNSUR - UNSUR, LUAS, KELILING LINGKARAN.pptx
UNSUR - UNSUR, LUAS, KELILING LINGKARAN.pptxFranxisca Kurniawati
 
Materi B.indo (Penyusunan Paragraf).pptx
Materi B.indo (Penyusunan Paragraf).pptxMateri B.indo (Penyusunan Paragraf).pptx
Materi B.indo (Penyusunan Paragraf).pptxafkarzidan98
 
Perbaikan ekonomi zaman Habibie (Offering A - 4-6) Pertemuan - 10.pdf
Perbaikan ekonomi zaman Habibie (Offering A - 4-6) Pertemuan - 10.pdfPerbaikan ekonomi zaman Habibie (Offering A - 4-6) Pertemuan - 10.pdf
Perbaikan ekonomi zaman Habibie (Offering A - 4-6) Pertemuan - 10.pdfAgungNugroho932694
 
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pdf
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pdfAKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pdf
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pdfHeriyantoHeriyanto44
 
(NEW) Template Presentasi UGM yang terbaru
(NEW) Template Presentasi UGM yang terbaru(NEW) Template Presentasi UGM yang terbaru
(NEW) Template Presentasi UGM yang terbaruSilvanaAyu
 
Materi Kuliah Ramadhan WARISAN SYAWAL 1444.pptx
Materi Kuliah Ramadhan WARISAN SYAWAL 1444.pptxMateri Kuliah Ramadhan WARISAN SYAWAL 1444.pptx
Materi Kuliah Ramadhan WARISAN SYAWAL 1444.pptxc9fhbm7gzj
 
MATERI PEMBELAJARAN SENI BUDAYA.KELOMPOK 5.pptx
MATERI PEMBELAJARAN SENI BUDAYA.KELOMPOK 5.pptxMATERI PEMBELAJARAN SENI BUDAYA.KELOMPOK 5.pptx
MATERI PEMBELAJARAN SENI BUDAYA.KELOMPOK 5.pptxwulandaritirsa
 
Estetika Humanisme Diskusi Video Sesi Ke-1.pdf
Estetika Humanisme Diskusi Video Sesi Ke-1.pdfEstetika Humanisme Diskusi Video Sesi Ke-1.pdf
Estetika Humanisme Diskusi Video Sesi Ke-1.pdfHendroGunawan8
 
POKOK BAHASAN DEMOKRASI MATAKULIA PKN - DJOKO AW
POKOK BAHASAN DEMOKRASI MATAKULIA PKN - DJOKO AWPOKOK BAHASAN DEMOKRASI MATAKULIA PKN - DJOKO AW
POKOK BAHASAN DEMOKRASI MATAKULIA PKN - DJOKO AWKafe Buku Pak Aw
 
Silabus Pelatihan _Peranan dan Implementasi "Dual Banking Leverage Model (DBL...
Silabus Pelatihan _Peranan dan Implementasi "Dual Banking Leverage Model (DBL...Silabus Pelatihan _Peranan dan Implementasi "Dual Banking Leverage Model (DBL...
Silabus Pelatihan _Peranan dan Implementasi "Dual Banking Leverage Model (DBL...Kanaidi ken
 
bahasa-indonesia-penyusunan-paragraf.pptx
bahasa-indonesia-penyusunan-paragraf.pptxbahasa-indonesia-penyusunan-paragraf.pptx
bahasa-indonesia-penyusunan-paragraf.pptxvincentptk17
 
CERAMAH SINGKAT RAMADHAN RIFKI TENTANG TAUBAT.pptx
CERAMAH SINGKAT RAMADHAN RIFKI TENTANG TAUBAT.pptxCERAMAH SINGKAT RAMADHAN RIFKI TENTANG TAUBAT.pptx
CERAMAH SINGKAT RAMADHAN RIFKI TENTANG TAUBAT.pptxpolianariama40
 
Gandum & Lalang (Matius......13_24-30).pptx
Gandum & Lalang (Matius......13_24-30).pptxGandum & Lalang (Matius......13_24-30).pptx
Gandum & Lalang (Matius......13_24-30).pptxHansTobing
 
Adab bjjkkkkkkk gggggggghhhhywq dede dulu ya itu yg kamu
Adab bjjkkkkkkk gggggggghhhhywq dede dulu ya itu yg kamuAdab bjjkkkkkkk gggggggghhhhywq dede dulu ya itu yg kamu
Adab bjjkkkkkkk gggggggghhhhywq dede dulu ya itu yg kamuKarticha
 
KISI-KISI Soal PAS Geografi Kelas XII.docx
KISI-KISI Soal PAS Geografi Kelas XII.docxKISI-KISI Soal PAS Geografi Kelas XII.docx
KISI-KISI Soal PAS Geografi Kelas XII.docxjohan effendi
 

Kürzlich hochgeladen (20)

Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdfJaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
Jaringan VOIP Ringkasan PTT Pertemuan Ke-1.pdf
 
hentikan buli danGANGGUAN SEKSUAL UNTUK MURID.pptx
hentikan buli danGANGGUAN SEKSUAL UNTUK MURID.pptxhentikan buli danGANGGUAN SEKSUAL UNTUK MURID.pptx
hentikan buli danGANGGUAN SEKSUAL UNTUK MURID.pptx
 
Penyusunan Paragraf Primakara Informatika IFPagi3
Penyusunan Paragraf Primakara Informatika IFPagi3Penyusunan Paragraf Primakara Informatika IFPagi3
Penyusunan Paragraf Primakara Informatika IFPagi3
 
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pptx
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pptxAKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pptx
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pptx
 
Elemen Jurnalistik Ilmu Komunikasii.pptx
Elemen Jurnalistik Ilmu Komunikasii.pptxElemen Jurnalistik Ilmu Komunikasii.pptx
Elemen Jurnalistik Ilmu Komunikasii.pptx
 
UNSUR - UNSUR, LUAS, KELILING LINGKARAN.pptx
UNSUR - UNSUR, LUAS, KELILING LINGKARAN.pptxUNSUR - UNSUR, LUAS, KELILING LINGKARAN.pptx
UNSUR - UNSUR, LUAS, KELILING LINGKARAN.pptx
 
Materi B.indo (Penyusunan Paragraf).pptx
Materi B.indo (Penyusunan Paragraf).pptxMateri B.indo (Penyusunan Paragraf).pptx
Materi B.indo (Penyusunan Paragraf).pptx
 
Perbaikan ekonomi zaman Habibie (Offering A - 4-6) Pertemuan - 10.pdf
Perbaikan ekonomi zaman Habibie (Offering A - 4-6) Pertemuan - 10.pdfPerbaikan ekonomi zaman Habibie (Offering A - 4-6) Pertemuan - 10.pdf
Perbaikan ekonomi zaman Habibie (Offering A - 4-6) Pertemuan - 10.pdf
 
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pdf
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pdfAKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pdf
AKSI NYATA MODUL 1.3 VISI GURU PENGGERAK.pdf
 
(NEW) Template Presentasi UGM yang terbaru
(NEW) Template Presentasi UGM yang terbaru(NEW) Template Presentasi UGM yang terbaru
(NEW) Template Presentasi UGM yang terbaru
 
Materi Kuliah Ramadhan WARISAN SYAWAL 1444.pptx
Materi Kuliah Ramadhan WARISAN SYAWAL 1444.pptxMateri Kuliah Ramadhan WARISAN SYAWAL 1444.pptx
Materi Kuliah Ramadhan WARISAN SYAWAL 1444.pptx
 
MATERI PEMBELAJARAN SENI BUDAYA.KELOMPOK 5.pptx
MATERI PEMBELAJARAN SENI BUDAYA.KELOMPOK 5.pptxMATERI PEMBELAJARAN SENI BUDAYA.KELOMPOK 5.pptx
MATERI PEMBELAJARAN SENI BUDAYA.KELOMPOK 5.pptx
 
Estetika Humanisme Diskusi Video Sesi Ke-1.pdf
Estetika Humanisme Diskusi Video Sesi Ke-1.pdfEstetika Humanisme Diskusi Video Sesi Ke-1.pdf
Estetika Humanisme Diskusi Video Sesi Ke-1.pdf
 
POKOK BAHASAN DEMOKRASI MATAKULIA PKN - DJOKO AW
POKOK BAHASAN DEMOKRASI MATAKULIA PKN - DJOKO AWPOKOK BAHASAN DEMOKRASI MATAKULIA PKN - DJOKO AW
POKOK BAHASAN DEMOKRASI MATAKULIA PKN - DJOKO AW
 
Silabus Pelatihan _Peranan dan Implementasi "Dual Banking Leverage Model (DBL...
Silabus Pelatihan _Peranan dan Implementasi "Dual Banking Leverage Model (DBL...Silabus Pelatihan _Peranan dan Implementasi "Dual Banking Leverage Model (DBL...
Silabus Pelatihan _Peranan dan Implementasi "Dual Banking Leverage Model (DBL...
 
bahasa-indonesia-penyusunan-paragraf.pptx
bahasa-indonesia-penyusunan-paragraf.pptxbahasa-indonesia-penyusunan-paragraf.pptx
bahasa-indonesia-penyusunan-paragraf.pptx
 
CERAMAH SINGKAT RAMADHAN RIFKI TENTANG TAUBAT.pptx
CERAMAH SINGKAT RAMADHAN RIFKI TENTANG TAUBAT.pptxCERAMAH SINGKAT RAMADHAN RIFKI TENTANG TAUBAT.pptx
CERAMAH SINGKAT RAMADHAN RIFKI TENTANG TAUBAT.pptx
 
Gandum & Lalang (Matius......13_24-30).pptx
Gandum & Lalang (Matius......13_24-30).pptxGandum & Lalang (Matius......13_24-30).pptx
Gandum & Lalang (Matius......13_24-30).pptx
 
Adab bjjkkkkkkk gggggggghhhhywq dede dulu ya itu yg kamu
Adab bjjkkkkkkk gggggggghhhhywq dede dulu ya itu yg kamuAdab bjjkkkkkkk gggggggghhhhywq dede dulu ya itu yg kamu
Adab bjjkkkkkkk gggggggghhhhywq dede dulu ya itu yg kamu
 
KISI-KISI Soal PAS Geografi Kelas XII.docx
KISI-KISI Soal PAS Geografi Kelas XII.docxKISI-KISI Soal PAS Geografi Kelas XII.docx
KISI-KISI Soal PAS Geografi Kelas XII.docx
 

WARISAN_DAN_PEWARISAN

  • 2. TOPICS Inheritance Deklarasi inheritance Kata kunci this & super
  • 3. PENGERTIAN DASAR INHERITANCE Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
  • 4. PENGERTIAN DASAR INHERITANCE Pewarisan merupakan mekanisme/cara membuat kelas baru dari kelas yang sudah ada. Kelas yang sudah ada  superclass/parent class Kelas turunan  subclass Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.
  • 5. CONTOH GAMBARAN PEWARISAN ANTAR CLAsuSpeSrclass subclass
  • 6. DEKLARASI INHERITANCE Dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
  • 7. DEKLARASI INHERITANCE public class B extends A { … } Class A menjadi parent class Class B menjadi child class Class B mewarisi semua member class yang ada pada class A.
  • 8. BAGAIMANA CARANYA? A - varA + getA() + setA(int a) Bagaimana membuat kelas B dari kelas A?
  • 9. Class B extends A{ //....... } Class C extends B{ //..... |
  • 10. Semua class di dalam Java adalah merupakan subclass dari class super induk yang bernama Object. Misalnya saja terdapat sebuah class sederhana : public class A { … }
  • 11. Pada saat dikompilasi, Kompiler Java akan membacanya sebagai subclass dari class Object. public class A extends Object { … }
  • 12. KAPAN KITA MENERAPKAN INHERITANCE? Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class yang dapat diperluas dari class lain.
  • 13. MISAL TERDAPAT CLASS PEGAWAI public class Pegawai { public String nama; public double gaji; }
  • 14. MISAL TERDAPAT CLASS MANAGER public class Manajer { public String nama; public double gaji; public String departemen; }
  • 15. public class Manajer extends Pegawai { public String departemen; }
  • 16. SINGLE INHERITANCE • Konsep inheritance yang ada di Java hanya memperkenankan adanya single inheritance, yaitu suatu sublass hanya dapat mempunyai satu parent class. Dengan kata lain, suatu class hanya dapat meng-extend satu class saja. • Jika dibutuhkan adanya multiple inheritance (satu class memiliki lebih dari satu parent class) maka solusinya dapat menggunakan interface. (next topic)
  • 17. MULTILEVEL INHERITANCE Konsep inheritance yang ada di Java juga memperkenankan adanya multilevel inheritance. Konsep multilevel inheritance memperbolehkan suatu subclass mempunyai subclass lagi.
  • 18. SINGLE DAN MULTILEVEL INHERITANCE
  • 19. PENGAKSESAN MEMBER YANG DIDEKLARASIKAN DI PARENT CLASS DARI SUBCLASS Pengaksesan member yang ada di parent class dari subclass-nya tidak berbeda dengan pengaksesan member subclass itu sendiri. Misalnya di class Manajer kita ingin mengakses data member nama melalui sebuah function member IsiData(), sekaligus kita juga ingin mengakses data member departemen di class Manajer.
  • 20. public class Manajer extends Pegawai { public String departemen; public void IsiData(String n, String d) { nama=n; departemen=d; } }
  • 21. KONTROL PENGAKSESAN Dalam dunia riil, suatu entitas induk bisa saja tidak mewariskan sebagian dari apa-apa yang ia punyai kepada entitas turunan karena sesuatu hal. Demikian juga dengan konsep inheritance dalam OOP. Suatu parent class dapat tidak mewariskan sebagian member-nya kepada subclass-nya. Sebagai contoh, kita coba untuk memodifikasi class Pegawai. Hal ini dipengaruhi oleh access modifier.
  • 22. public class Pegawai { private String nama; public double gaji; }
  • 23. Coba untuk mengkompilasi class Manajer pada contoh sebelumnya. Apa yang terjadi? Pesan kesalahan akan muncul seperti ini : Manajer.java:5: nama has private access in Pegawai Ini membuktikan bahwa class Manajer tidak mewarisi data member nama dari parent class-nya (Pegawai). nama=n;
  • 24. PRO TECTED Protected mempunyai kemampuan akses yang lebih besar daripada private dan default. Protected feature dari suatu class bisa diakses oleh semua class dalam satu package. Class diluar package boleh melakukan melakukan subclass, dan subclass tersebut bisa mengakses feature superclass.
  • 25. EXAMPLE: PROTECTED 1. package adifferentpackage; // Class Ski now in // a different package 2. Public class Ski { 3. protected void applyWax() { . . . } 4. } 1. Public package sportinggoods; 2. class DownhillSki extends Ski { 3. void tuneup() { 4. applyWax();  OK 5. // other tuneup functionality here 6. } 7. }
  • 26. KONSTRUKTOR TIDAK DIWARISKAN Konstruktor dari parent class tidak dapat diwariskan ke subclass-nya. Konsekuensinya, setiap kali kita membuat suatu subclass, maka kita harus memanggil konstruktor parent class. Pemanggilan konstruktor parent harus dilakukan pada baris pertama dari konstruktor subclass.
  • 27. KONSTRUKTOR TIDAK DIWARISKAN Jika kita tidak mendeklarasikannya secara eksplisit, maka kompiler Java akan menambahkan deklarasi pemanggilan konstruktor parent class di konstruktor subclass.
  • 28. KONSTRUKTOR TIDAK DIWARISKAN Sebelum subclass menjalankan konstruktornya sendiri, subclass akan menjalankan constructor superclass terlebih dahulu. Hal ini terjadi karena secara implisit pada constructor subclass ditambahkan pemanggilan super()yang bertujuan memanggil constructor superclass oleh kompiler.
  • 29. MISALNYA SAJA KITA MEMPUNYAI DUA BUAH CLASS SEBAGAI BERIKUT :
  • 30. Pada saat program tersebut dikompilasi, maka kompiler Java akan menambahkan :  konstruktor class Parent  konstruktor class Child  pemanggilan konstruktor class Parent di kostruktor class Child
  • 31. SEHINGGA PROGRAM TERSEBUT SAMA SAJA DENGAN YANG BERIKUT INI :
  • 32.
  • 33. CONSTRUCTOR PADA INHERITANCE Misalkan kita buat class parent bernama Person sbb : public class Person { protected String name; protected String address; public Person(){ System.out.println(“Inside Person:Constructor”); Sekarang, kita buat class lain bernama Student yang meng-extends class Person. } } public class Student extends Person { public Student(){ System.out.println(“Inside Student:Constructor”); } }
  • 34. ALUR EKSEKUSI CONSTRUCTOR Ketika sebuah object Student diinstansiasi, d e fa ult c o ns truc to r dari superclass Student dipanggil secara implisit untuk melakukan inisialisasi seperlunya. Setelah itu, pernyataan di dalam constructor subclass baru dijalankan.
  • 35. PENJELASAN Untuk memperjelasnya, perhatikan kode dibawah ini, public static void main( String[] args ){ Student anna = new Student(); } Dalam kode ini, kita membuat sebuah object dari class Student. Hasil dari program adalah: Inside Person:Constructor Inside Student:Constructor
  • 36. DIAGRAM ALUR EKSEKUSI CONSTRUCTOR
  • 37. LATIHAN 1 Untuk kelas Bentuk : getWarna adl method yang akan mengembalikan nilai variabel warna setWarna adl method untuk mengubah nilai variabel warna printInfo adl method yang akan menuliskan “Bentuk berwarna [warna]” Untuk kelas BujurSangkar : getSisi adl method yang akan mengembalikan nilai variabel sisi setSisi adl method untuk mengubah nilai variabel sisi hitungLuas adl method yang akan mengembalikan hasil perhitungan luas bujursangkar printInfo adl method yang akan menuliskan “Bujursangkar berwarna [warna], luas = [luas]” Bentuk - warna + constructor (String warna) + String getWarna() + void setWarna(String warna) + void printInfo() BujurSangkar - sisi + constructor (double sisi, String warna) + double getSisi() + void setSisi(double sisi) + double hitungLuas() + void printInfo()
  • 38. LATIHAN 2 Buatlah kelas Lingkaran sbg turunan kelas Bentuk. Lingkaran - radius + constructor (double radius, String warna) + double getRadius() + void setRadius(double r) + double hitungLuas() + void printInfo() constructor akan menginisialisasi radius dan warna getRadius adl method yang akan mengembalikan nilai variabel radius setRadius adl method untuk mengubah nilai variabel radius hitungLuas adl method yang akan mengembalikan hasil perhitungan luas lingkaran (PHI jadikan sbg konstanta kelas) printInfo adl method yang akan menuliskan “Lingkaran [warna], luas = [luas]”
  • 39. LATIHAN 3 Silinder Buatlah kelas Silinder sbg turunan kelas Lingkaran - tinggi + constructor (double tinggi, double radius, String warna) + double getTinggi() + void setTinggi(double t) + double hitungVolume() + void printInfo()  constructor akan menginisialisasi variabel tinggi, radius, dan warna  getTinggi adl method yg akan mengembalikan tinggi  setTinggi adl method yg akan mengubah tinggi  hitungVolume adl method yg akan mengembalikan hasil perhitungan volum silinder  printInfo adl method yg akan menuliskan “Silinder warna [warna], volume = [volume]”