SlideShare a Scribd company logo
1 of 29
Oleh:
Fahmi, M.Kom.
 Inheritance (pewarisan) merupakan salah satu konsep dasar
OOP.
 Konsep inheritance mengadopsi dunia nyata dimana suatu
entitas/obyek dapat mempunyai entitas/obyek turunan.
 Dengan konsep inheritance, sebuah class dapat mempunyai
class turunan.
 Class yang mempunyai class turunan dinamakan parent
class atau base class, sedangkan class turunan seringkali
disebut subclass atau child class.
 Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh
parent class.
 Karena suatu subclass dapat mewarisi apa yang dipunyai oleh
parent class, maka subclass terdiri dari apa-apa yang diwarisi
dari class parent-nya.
 Kesimpulannya, bahwa suatu subclass tidak lain hanya
memperluas (extends) parent class-nya.
 Untuk mendeklarasikan 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.
public class A {
…
}
public class B extends A {
…
}
 Kapan kita menerapkan inheritance? pada saat kita
jumpai ada suatu class yang dapat diperluas dari
class lain.
• Keuntungan dari Inheritance adalah Reusability
 Sekali perilaku(method) didefinisikan pada superclass, maka
perilaku tersebut secara otomatis diwariskan ke subclass,
sehingga hanya perlu menulis method sekali dan bisa
digunakan untuk semua subclass.
 Sekali properti/field di definisikan di superclass, maka semua
properti di wariskan ke semua subclass. Superclass dan
subclass berbagi properti.
 Subclass hanya perlu mengimplementasikan jika ada
perbedaan dengan parentnya.
public class Pegawai {
public String nama;
public double gaji;
}
public class Manajer {
public String nama;
publi double gaji;
public String departemen;
}
Misal Terdapat Class Pegawai Misal Terdapat Class Manager
• Dari 2 buah class diatas, kita lihat class Manajer mempunyai data member yang
identik sama dengan class Pegawai, hanya saja ada tambahan data member
departemen.
• Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari
class Pegawai dengan tambahan data member departemen.
• Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita
tuliskan seperti berikut :
public class Manajer extends Pegawai {
public String departemen;
}
 Konsep inheritance yang ada di Java adalah hanya
memperkenankan adanya single inheritance.
 Konsep single inheritance hanya memperbolehkan suatu
sublass mempunyai satu parent class.
Contoh gambar pewarisan pada kelas hewan
• Hewan adalah superclass dari karnivora dan herbivora.
• Class turunan karnivora dan herbivora memiliki data dan method yang
dimiliki kelas hewan.
public class Anak extends Bapak {
}
public class Bapak {
protected void Nama(){
System.out.println("Nama Saya Deny");
}
protected void Pekerjaan(){
System.out.println("Pekerjaan Saya Wirausaha");
}
}
public class BelajarInheritance {
public static void main(String[] args){
Anak mhs = new Anak();
mhs.Nama();
mhs.Pekerjaan();
}
}
Buat class dengan nama
Bapak
Untuk menginduk
pada suatu class, kita
menggunakan kata kunci extends.
instansiasi objek pada main
class (BelajarInheritance)
Bapak.java
Anak.java
BelajarInheritance.java
Tampil Suara
Suara Anjing :Guk Guk Guk !
Tampil Suara
Suara Kucing :Meong Meong
public class Binatang {
String SuaraBinatang, SuaraBinatang2;
public void tampilSuara()
{
SuaraBinatang ="Guk Guk Guk !";
SuaraBinatang2="Meong Meong";
System.out.println("Tampil Suara");
}
}
public class Anjing extends Binatang {
public void suaraAnjing(){
// method dari class Anjing
System.out.println ("Suara Anjing :"+SuaraBinatang);
}
}
public class CetakBinatang {
//main Class
public static void main(String[] args){
Anjing suara=new Anjing();
suara.tampilSuara();
suara.suaraAnjing();
Kucing suara2=new Kucing();
suara2.tampilSuara();
suara2.suaraKucing();
}
}
public class Kucing extends Binatang{
public void suaraKucing(){
// method dari class kucing
System.out.println("Suara Kucing :"+SuaraBinatang2);
}
}
Binatang.java
Kucing.java
Anjing.java
CetakBinatang.java
 Konsep inheritance yang ada di Java memperkenankan adanya
multilevel inheritance.
 Konsep multilevel inheritance memperbolehkan suatu subclass
mempunyai subclass lagi.
 Dalam dunia yang sebenarnya, belum tentu entitas
induk mewariskan semua 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.
public class Anak extends Bapak {
}
public class Bapak {
protected void Nama(){
System.out.println("Nama Saya Deny");
}
protected void Pekerjaan(){
System.out.println("Pekerjaan Saya Wirausaha");
}
}
public class BelajarInheritance {
public static void main(String[] args){
Anak mhs = new Anak();
mhs.Nama();
mhs.Pekerjaan();
}
}
Kalau modifier ini di ganti private
progran tidak berhasil karen
private hak akses hanya di dalam
class saja
 Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk
 Konsep ini memungkinkan digunakannya suatu interface yang sama
untuk memerintah obyek agar melakukan aksi atau tindakan yang
mungkin secara prinsip sama namun secara proses berbeda.
 Polymorphism adalah kemampuan untuk mempunyai beberapa bentuk
yang berbeda.
 Polimorfisme terjadi pada saat suatu obyek bertipe parent class, akan
tetapi pemanggilan konstruktornya melalui subclass.
 Dalam konsep yang lebih umum,polymorphism sering disebut istilah satu
interface banyak aksi
 Contoh yang konkrit dalam dunia nyata yaitu Mobil
 Mobil yang ada dipasaran terdiri atas berbagai tipe dan berbagai merk,
namun semuanya memiliki interface kemudi yang sama, seperti: stir,
tongkat transmisi, pedal gas dan rem
 Jika seseorang dapat mengemudikan satu jenis mobil saja dari satu merk
tertentu, maka orang itu akan dapat mengemudikan hampir semua jenis
mobil yang ada, karena semua mobil tersebut menggunakan interface yang
sama.
 Tetapi Harus diperhatikan disini bahwa interface yang sama tidak berarti
cara kerjanya juga sama
 Missal pedal gas, jika ditekan maka kecepatan mobil akan meningkat,
tapi bagaimana proses peningkatan kecepatan ini dapat berbeda-beda
untuk setiap jenis mobil
Text
Graph
Image
print
print
print
 Java memiliki 2 tipe polimorfisme
 Polimorfisme kompilasi (static binding)
▪ Polimorfisme statis, contoh pada method overloading.
▪ Overloading : Method yang terjadi di sebuah class yang memiliki nama
method yang sama tetapi memiliki parameter dan tipe data yang
berbeda.
 Polimorfisme runtime (dynamic binding)
▪ Polimorfisme dinamis, contoh pada method overriding.
▪ Overriding adalah suatu cara untuk mendefinisikan ulang method yang ada
pada class induk apabila class anak menginginkan adanya informasi yang
lain.
 Polimorfisme statis, contoh pada method overloading.
 Overloading : Method yang terjadi di sebuah class yang
memiliki nama method yang sama tetapi
memiliki parameter dan tipe data yang berbeda.
public class RerataNilaiOverloading {
int x1, x2, x3;
double y1, y2;
public int average(int x1, int x2) {
return (x1+x2)/2;
}
public double average(double y1, double y2) {
return (y1+y2)/2;
}
public int average(int z1, int z2, int z3) {
return (z1+z2+z3)/3;
}
}
public class TesOverloading {
public static void main(String args[]){
RerataNilaiOverloading rn = new RerataNilaiOverloading();
System.out.println("Reratai 21 dan 13 adalah : " + rn.average(21, 13));
System.out.println("Reratai 19.3 dan 39.5 adalah : " + rn.average(19.3, 39.5));
System.out.println("Reratai 123, 567 dan 744 adalah : " + rn.average(123, 567, 744));
}
}
Contoh Overloading
nama methodnya sama
(average) ttp fungsi dan
parameter berbeda
RerataNIlaiOverloading.java
TesOverloading.java
parameter berbeda
 Polimorfisme dinamis, contoh pada method overriding.
 Overriding adalah suatu cara untuk mendefinisikan ulang method
yang ada pada class induk apabila class anak menginginkan
adanya informasi yang lain.
main
Kucing
+main()
hewan
suara()
Berjalan()
Suara()
Anjing
Suara()
Ayam
Suara()
class Anjing extends Animal {
public void animalSound() {
System.out.println("Anjing Suaranya gug gug");
}
}
class Kucing extends Animal{
public void AnimalSound(){
System.out.println("Kucing suaranya : Meong meong");
}
}
class AnimalBeraksi {
public static void main(String[] args) {
Animal myAnimal = new Animal(); // Create a Animal object
Animal myAyam = new Ayam(); // Create a ayam object
Animal myAnjing = new Anjing(); // Create a Anjing object
Animal myKucing=new Kucing();
myAnimal.animalSound();
myAyam.animalSound();
myAnjing.animalSound();
myKucing.animalSound();
}
}
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Ayam extends Animal {
public void animalSound() {
System.out.println("Ayam suaranya : kukuruyuk");
}
}
main
Persegi
+main()
Bangun Datar
+luas()
+keliling
+sisi
+luas()
+keliling()
lingkaran
+r
+luas()
+keliling()
Segitiga
+alas
+tinggi
+luas()
+keliling()
• Gambar disamping ini mempunyai 4 class yaitu 1
class parent BangunDatar dan 3 subclass,
yaitu: Persegi, Lingkaran, dan Segitiga.
• Setiap class memiliki method yang sama
yaitu luas() dan keliling(), tetapi method-method
subclass memiliki isi rumus yang berbeda-beda.

More Related Content

Similar to pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx

1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_ku1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_kuIrfanRifangga
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept EsterLumba
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa webosta92
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan intePbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inteSmkn-2 Pekanbaru
 
Tugas 5 rekayasaweb [1412511642] [sri susanto]
Tugas 5 rekayasaweb [1412511642] [sri susanto]Tugas 5 rekayasaweb [1412511642] [sri susanto]
Tugas 5 rekayasaweb [1412511642] [sri susanto]Universitas Budi Luhur
 
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
 
Materi object yg kosong
Materi object yg kosongMateri object yg kosong
Materi object yg kosongkgsrizky
 
PBO_03_Inheritance.pptx
PBO_03_Inheritance.pptxPBO_03_Inheritance.pptx
PBO_03_Inheritance.pptxplgbk
 
OOP - Inheritance
OOP - InheritanceOOP - Inheritance
OOP - InheritanceKuliahKita
 
Konsep Overloading (1).pptx
Konsep Overloading (1).pptxKonsep Overloading (1).pptx
Konsep Overloading (1).pptxAsepKhabrilRifao
 
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
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - PolymorphismKuliahKita
 
Rekweb5 hilmi afifi-1512510213
Rekweb5 hilmi afifi-1512510213Rekweb5 hilmi afifi-1512510213
Rekweb5 hilmi afifi-1512510213helmy afifi
 
Rizki christoper 1211510480 tugas rekweb 5
Rizki christoper 1211510480 tugas rekweb 5Rizki christoper 1211510480 tugas rekweb 5
Rizki christoper 1211510480 tugas rekweb 5Rizki Christoper
 
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 InterfaceIndividual Consultants
 

Similar to pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx (20)

365 4 inheritance
365 4 inheritance365 4 inheritance
365 4 inheritance
 
1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_ku1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_ku
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa web
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan intePbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inte
 
Pbo
PboPbo
Pbo
 
Tugas 5
Tugas 5Tugas 5
Tugas 5
 
Tugas 5 rekayasaweb [1412511642] [sri susanto]
Tugas 5 rekayasaweb [1412511642] [sri susanto]Tugas 5 rekayasaweb [1412511642] [sri susanto]
Tugas 5 rekayasaweb [1412511642] [sri susanto]
 
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)
 
Materi object yg kosong
Materi object yg kosongMateri object yg kosong
Materi object yg kosong
 
PBO_03_Inheritance.pptx
PBO_03_Inheritance.pptxPBO_03_Inheritance.pptx
PBO_03_Inheritance.pptx
 
OOP - Inheritance
OOP - InheritanceOOP - Inheritance
OOP - Inheritance
 
Konsep Overloading (1).pptx
Konsep Overloading (1).pptxKonsep Overloading (1).pptx
Konsep Overloading (1).pptx
 
Modul 5 pbo
Modul 5 pboModul 5 pbo
Modul 5 pbo
 
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
 
Rekweb 5
Rekweb 5Rekweb 5
Rekweb 5
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - Polymorphism
 
Rekweb5 hilmi afifi-1512510213
Rekweb5 hilmi afifi-1512510213Rekweb5 hilmi afifi-1512510213
Rekweb5 hilmi afifi-1512510213
 
Rizki christoper 1211510480 tugas rekweb 5
Rizki christoper 1211510480 tugas rekweb 5Rizki christoper 1211510480 tugas rekweb 5
Rizki christoper 1211510480 tugas rekweb 5
 
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
 

Recently uploaded

MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docxbkandrisaputra
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisNazla aulia
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau tripletMelianaJayasaputra
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsAdePutraTunggali
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaNadia Putri Ayu
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxDwiYuniarti14
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfChrodtianTian
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxarnisariningsih98
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdftsaniasalftn18
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Abdiera
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023DodiSetiawan46
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 

Recently uploaded (20)

MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docx
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara Inggris
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public Relations
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional Dunia
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdf
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 

pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx

  • 2.  Inheritance (pewarisan) merupakan salah satu konsep dasar OOP.  Konsep inheritance mengadopsi dunia nyata dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan.  Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.  Class yang mempunyai class turunan dinamakan parent class atau base class, sedangkan class turunan seringkali disebut subclass atau child class.  Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.
  • 3.  Karena suatu subclass dapat mewarisi apa yang dipunyai oleh parent class, maka subclass terdiri dari apa-apa yang diwarisi dari class parent-nya.  Kesimpulannya, bahwa suatu subclass tidak lain hanya memperluas (extends) parent class-nya.
  • 4.
  • 5.  Untuk mendeklarasikan 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. public class A { … } public class B extends A { … }
  • 6.  Kapan kita menerapkan inheritance? pada saat kita jumpai ada suatu class yang dapat diperluas dari class lain.
  • 7. • Keuntungan dari Inheritance adalah Reusability  Sekali perilaku(method) didefinisikan pada superclass, maka perilaku tersebut secara otomatis diwariskan ke subclass, sehingga hanya perlu menulis method sekali dan bisa digunakan untuk semua subclass.  Sekali properti/field di definisikan di superclass, maka semua properti di wariskan ke semua subclass. Superclass dan subclass berbagi properti.  Subclass hanya perlu mengimplementasikan jika ada perbedaan dengan parentnya.
  • 8. public class Pegawai { public String nama; public double gaji; } public class Manajer { public String nama; publi double gaji; public String departemen; } Misal Terdapat Class Pegawai Misal Terdapat Class Manager • Dari 2 buah class diatas, kita lihat class Manajer mempunyai data member yang identik sama dengan class Pegawai, hanya saja ada tambahan data member departemen. • Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari class Pegawai dengan tambahan data member departemen. • Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita tuliskan seperti berikut : public class Manajer extends Pegawai { public String departemen; }
  • 9.  Konsep inheritance yang ada di Java adalah hanya memperkenankan adanya single inheritance.  Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class.
  • 10. Contoh gambar pewarisan pada kelas hewan • Hewan adalah superclass dari karnivora dan herbivora. • Class turunan karnivora dan herbivora memiliki data dan method yang dimiliki kelas hewan.
  • 11. public class Anak extends Bapak { } public class Bapak { protected void Nama(){ System.out.println("Nama Saya Deny"); } protected void Pekerjaan(){ System.out.println("Pekerjaan Saya Wirausaha"); } } public class BelajarInheritance { public static void main(String[] args){ Anak mhs = new Anak(); mhs.Nama(); mhs.Pekerjaan(); } } Buat class dengan nama Bapak Untuk menginduk pada suatu class, kita menggunakan kata kunci extends. instansiasi objek pada main class (BelajarInheritance) Bapak.java Anak.java BelajarInheritance.java
  • 12. Tampil Suara Suara Anjing :Guk Guk Guk ! Tampil Suara Suara Kucing :Meong Meong
  • 13. public class Binatang { String SuaraBinatang, SuaraBinatang2; public void tampilSuara() { SuaraBinatang ="Guk Guk Guk !"; SuaraBinatang2="Meong Meong"; System.out.println("Tampil Suara"); } } public class Anjing extends Binatang { public void suaraAnjing(){ // method dari class Anjing System.out.println ("Suara Anjing :"+SuaraBinatang); } } public class CetakBinatang { //main Class public static void main(String[] args){ Anjing suara=new Anjing(); suara.tampilSuara(); suara.suaraAnjing(); Kucing suara2=new Kucing(); suara2.tampilSuara(); suara2.suaraKucing(); } } public class Kucing extends Binatang{ public void suaraKucing(){ // method dari class kucing System.out.println("Suara Kucing :"+SuaraBinatang2); } } Binatang.java Kucing.java Anjing.java CetakBinatang.java
  • 14.  Konsep inheritance yang ada di Java memperkenankan adanya multilevel inheritance.  Konsep multilevel inheritance memperbolehkan suatu subclass mempunyai subclass lagi.
  • 15.
  • 16.  Dalam dunia yang sebenarnya, belum tentu entitas induk mewariskan semua 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.
  • 17. public class Anak extends Bapak { } public class Bapak { protected void Nama(){ System.out.println("Nama Saya Deny"); } protected void Pekerjaan(){ System.out.println("Pekerjaan Saya Wirausaha"); } } public class BelajarInheritance { public static void main(String[] args){ Anak mhs = new Anak(); mhs.Nama(); mhs.Pekerjaan(); } } Kalau modifier ini di ganti private progran tidak berhasil karen private hak akses hanya di dalam class saja
  • 18.
  • 19.  Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk  Konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah obyek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda.  Polymorphism adalah kemampuan untuk mempunyai beberapa bentuk yang berbeda.  Polimorfisme terjadi pada saat suatu obyek bertipe parent class, akan tetapi pemanggilan konstruktornya melalui subclass.
  • 20.  Dalam konsep yang lebih umum,polymorphism sering disebut istilah satu interface banyak aksi  Contoh yang konkrit dalam dunia nyata yaitu Mobil  Mobil yang ada dipasaran terdiri atas berbagai tipe dan berbagai merk, namun semuanya memiliki interface kemudi yang sama, seperti: stir, tongkat transmisi, pedal gas dan rem  Jika seseorang dapat mengemudikan satu jenis mobil saja dari satu merk tertentu, maka orang itu akan dapat mengemudikan hampir semua jenis mobil yang ada, karena semua mobil tersebut menggunakan interface yang sama.  Tetapi Harus diperhatikan disini bahwa interface yang sama tidak berarti cara kerjanya juga sama  Missal pedal gas, jika ditekan maka kecepatan mobil akan meningkat, tapi bagaimana proses peningkatan kecepatan ini dapat berbeda-beda untuk setiap jenis mobil
  • 22.
  • 23.
  • 24.  Java memiliki 2 tipe polimorfisme  Polimorfisme kompilasi (static binding) ▪ Polimorfisme statis, contoh pada method overloading. ▪ Overloading : Method yang terjadi di sebuah class yang memiliki nama method yang sama tetapi memiliki parameter dan tipe data yang berbeda.  Polimorfisme runtime (dynamic binding) ▪ Polimorfisme dinamis, contoh pada method overriding. ▪ Overriding adalah suatu cara untuk mendefinisikan ulang method yang ada pada class induk apabila class anak menginginkan adanya informasi yang lain.
  • 25.  Polimorfisme statis, contoh pada method overloading.  Overloading : Method yang terjadi di sebuah class yang memiliki nama method yang sama tetapi memiliki parameter dan tipe data yang berbeda.
  • 26. public class RerataNilaiOverloading { int x1, x2, x3; double y1, y2; public int average(int x1, int x2) { return (x1+x2)/2; } public double average(double y1, double y2) { return (y1+y2)/2; } public int average(int z1, int z2, int z3) { return (z1+z2+z3)/3; } } public class TesOverloading { public static void main(String args[]){ RerataNilaiOverloading rn = new RerataNilaiOverloading(); System.out.println("Reratai 21 dan 13 adalah : " + rn.average(21, 13)); System.out.println("Reratai 19.3 dan 39.5 adalah : " + rn.average(19.3, 39.5)); System.out.println("Reratai 123, 567 dan 744 adalah : " + rn.average(123, 567, 744)); } } Contoh Overloading nama methodnya sama (average) ttp fungsi dan parameter berbeda RerataNIlaiOverloading.java TesOverloading.java parameter berbeda
  • 27.  Polimorfisme dinamis, contoh pada method overriding.  Overriding adalah suatu cara untuk mendefinisikan ulang method yang ada pada class induk apabila class anak menginginkan adanya informasi yang lain.
  • 28. main Kucing +main() hewan suara() Berjalan() Suara() Anjing Suara() Ayam Suara() class Anjing extends Animal { public void animalSound() { System.out.println("Anjing Suaranya gug gug"); } } class Kucing extends Animal{ public void AnimalSound(){ System.out.println("Kucing suaranya : Meong meong"); } } class AnimalBeraksi { public static void main(String[] args) { Animal myAnimal = new Animal(); // Create a Animal object Animal myAyam = new Ayam(); // Create a ayam object Animal myAnjing = new Anjing(); // Create a Anjing object Animal myKucing=new Kucing(); myAnimal.animalSound(); myAyam.animalSound(); myAnjing.animalSound(); myKucing.animalSound(); } } class Animal { public void animalSound() { System.out.println("The animal makes a sound"); } } class Ayam extends Animal { public void animalSound() { System.out.println("Ayam suaranya : kukuruyuk"); } }
  • 29. main Persegi +main() Bangun Datar +luas() +keliling +sisi +luas() +keliling() lingkaran +r +luas() +keliling() Segitiga +alas +tinggi +luas() +keliling() • Gambar disamping ini mempunyai 4 class yaitu 1 class parent BangunDatar dan 3 subclass, yaitu: Persegi, Lingkaran, dan Segitiga. • Setiap class memiliki method yang sama yaitu luas() dan keliling(), tetapi method-method subclass memiliki isi rumus yang berbeda-beda.