SlideShare a Scribd company logo
1 of 12
INHERITANCE
POLYMORFISME
KELAS ABSTRAK
Modul 4 Pemrograman JavaDevi Adi Nufriana & Baidowi
INHERITANCE
Konsep Hierarki, Hubungan orangtua dan
anak.
Sub Class / ChildSub Class / Child
[public] class SubKelas extends
SuperKelas {
....
}
Bentuk Umum Penulisannya
Java hanya mengenal dan menunjang
single inheritance.
NOTE
Super Class / Parent
Konsep hubungan antar super class dan
subclass
 Kelas dengan modifier “final” tidak dapat dijadikan super-kelas.
 Atribut dan metode yang bukan-private secara otomatis diwariskan ke sub-kelas kecuali yang di-override
(dideklarasi ulang oleh sub-kelas).
 Jika metode di definisikan ulang pada sub-kelas dengan parameter yang sama pada super-kelas, Ini disebut
dengan “override” metode yang ada pada super-kelasnya.
 Konstruktor tidak diwariskan, tetapi dapat dipanggil atau dijalankan pada konstruktor di sub-kelas dengan
menggunakan bentuk super(parameter).
 Jika ada sebuah atribut dengan nama sama dengan nama atribut yang ada pada super-kelasnya, atribut yang
di super-kelas tetap ada tetapi disembunyikan. Untuk mengakses atribut yang tersembunyikan gunakan kata-
kunci prefiks “super”.
public class Hewan {
public int Kaki;
public void makan() {
System.out.println(“Hewan Butuh Makan”)
}
}
Superclass
public class Kuda extends Hewan {
Kuda(int kaki){
Kaki = 4;
}
}
Example
SubClass
Hewan
Kuda Kucing
OVERLOADING
Metode dimana dalam satu kelas yang namanya
sama tetapi berbeda signature-nya (parameternya).
Overload  Konstruktor
OVERIDING
Dua metode dimana yang satu di super-kelas dan
satunya di sub-kelas dengan nama yang sama, tipe
data hasil sama, dan signature (atau parameter) yang
sama juga
Override  toString() dan equals()
public class Mahasiswa{
private int nomorInduk;
private String nama;
private double ipk;
public Mahasiswa(int ni, String nm,
double ip){
nomorInduk = ni;
nama = nm;
ipk = ip;
}
public Mahasiswa(int ni, String nm){
nomorInduk = ni;
nama = nm;
ipk = 0.0;
}
public void keterangan(){
System.out.println(“Belum Lulus”);
}
....
}
Super Class Sub Class
public class MahasiswaPasca extends
Mahasiswa{
private String penelitian;
private String dosenPembimbing;
public void keterangan(){
System.out.println(“LULUS”);
}
.....
}
Note :
Warna Merah Overloading
Warna Biru Overiding
Konstruktor Sub Kelas
Untuk menginisialisasi atribut obyek yang ada pada super-
kelas, konstruktor sub-kelas harus memanggil sebuah
konstruktor dari super-kelas dengan bentuk:
Super(parameter)
Note:
Statemen ini harus dilakukan paling awal
public class MahasiswaPasca extends Mahasiswa{
private String penelitian;
private String dosenPembimbing;
public MahasiswaPasca(int nim, String
nama, String bs, double ipk, String
penelitian, String dp){
super(nim,nama,bs,ipk);
this.penelitian = penelitian;
this.dosenPembimbing = dp;
}
.....
}
Polymorphism
Dapat meningkatkan generalisasi program
dan kemudahan dibaca.
Upcasting Downcasting
Mereferensi obyek dari jenis sub-kelas dengan deklarasi variabel
menggunakan jenis super-kelas
Sebuah obyek dibuat dengan super-Kelas namun direferensi
oleh variabel dengan tipe kelas sub-Kelas.
SuperKelas obyek = new SubKelas(parameter);
SuperKelas obyekSuper = new SuperKelas(parameter);
SubKelas obyekSub = (SubKelas) obyekSuper;
Jika obyekSub mengakses metode yang hanya ada pada sub-kelas, karena jenis referensinya adalah SubKelas,
maka tidak akan menghasilkan compile-error. Tetapi hal ini dapat menimbulkan runtime-error berupa
“java.lang.ClassCastException”.
if(obyekSub instanceOf SubKelas) {
obyekSub.metodeSubKelas(parameter);
}
Class Kucing extends Hewan {
Public void suara() {
System.out.println(“Meow”);
}
}
SubClass
Class Program {
Public static void main(String args []) {
Hewan kuda = new kuda();
Hewan kucing = new kucing();
Kuda.suara();
Kucing.suara();
}
MainClass
public class Hewan {
public void tidur(){
System.out.println("Tidur");
}
}
SuperClass
class Program {
public static void main (String args []){
Hewan kambing = new Hewan();
Kambing kb = (Kambing) kambing;
kb.tidur();
}
MainClass
Kelas Abstrak
Di sub-kelas, kita boleh (opsional) melakukan
override terhadap metode yang ada pada
super-kelas. Tetapi adakalanya di mana ada
situasi di mana super-kelas akan memaksa
agar sub-kelas meng-override metode
tertentu, karena metode tersebut tidak dapat
diimplementasikan pada super-kelas.
Karyawan
nomorIndukKaryawan
menghitungGaji()
Dosen
jumlahSKS
honorSKS
menghitungGaji()
Staff
gajiPokok
totalJam
menghitungGaji()
public abstract class Karyawan {
public Karyawan(int nik, String nama){
this.nomorIndukKaryawan = nik;
this.nama = nama;
}
...
public abstract double menghitungGaji();
...
} Kelas Abstrak
public class Staff extends Karyawan{
public double menghitungGaji(){
double gaji = 0.0;
if(totalJam > 180) {
gaji = (180 * gajiPokok) +
((totalJam - 180) * (1.5 *
gajiPokok));
} else {
gaji = totalJam * gajiPokok;
}
return gaji/180.0;
}
...
}
SubClass
public class Dosen extends Karyawan {
public double menghitungGaji(){
double gaji = jumlahSKS * 4.5 *
honorSKS;
return gaji;
}
...
}
Kita tidak boleh membuat obyek dari jenis kelas abstrak
Karyawan ahmad = new Karyawan(65321,”Ahmad”);
Boleh digunakan sebagai referensi (atau variabel) yang merujuk pada
sub-kelas yang bukan abstrak
Karyawan ahmad = new Staff(65321,”Ahmad”);
MAKASIH

More Related Content

What's hot

Pewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVAPewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVAdyko ananta
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa webart david
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa webosta92
 
istilah inheritance pada Pemrograman Berorientasi Object
istilah inheritance pada Pemrograman Berorientasi Objectistilah inheritance pada Pemrograman Berorientasi Object
istilah inheritance pada Pemrograman Berorientasi ObjectAjat Sudrajat
 
Tugas 5 Rekayasa Web
Tugas 5 Rekayasa WebTugas 5 Rekayasa Web
Tugas 5 Rekayasa WebSugianto oo
 
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
 
8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan methodSaprudin Eskom
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa webrimaafauziaah
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept EsterLumba
 
Tugas 5 individu rekayasa web 0316
Tugas 5 individu rekayasa web 0316Tugas 5 individu rekayasa web 0316
Tugas 5 individu rekayasa web 0316septianarul
 

What's hot (13)

Pewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVAPewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVA
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa web
 
12. polymorphisme
12. polymorphisme12. polymorphisme
12. polymorphisme
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa web
 
istilah inheritance pada Pemrograman Berorientasi Object
istilah inheritance pada Pemrograman Berorientasi Objectistilah inheritance pada Pemrograman Berorientasi Object
istilah inheritance pada Pemrograman Berorientasi Object
 
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
 
8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan method
 
Tugas aplinet meresum
Tugas aplinet meresumTugas aplinet meresum
Tugas aplinet meresum
 
Tugas 5 rekayasa web
Tugas 5 rekayasa webTugas 5 rekayasa web
Tugas 5 rekayasa web
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept
 
17419 6 override
17419 6 override17419 6 override
17419 6 override
 
Tugas 5 individu rekayasa web 0316
Tugas 5 individu rekayasa web 0316Tugas 5 individu rekayasa web 0316
Tugas 5 individu rekayasa web 0316
 

Similar to INHERITANCE-POLYMORPHISM

Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5debbie95
 
Tugas 5 rekweb Ika Sulistiyani
Tugas 5 rekweb Ika Sulistiyani Tugas 5 rekweb Ika Sulistiyani
Tugas 5 rekweb Ika Sulistiyani ikasulistiyani
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan intePbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inteSmkn-2 Pekanbaru
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervanaris
 
Tugas 5 – Rekayasa Web (KU) - 1311511057 - Raden Doni Wijoyo
Tugas 5 – Rekayasa Web (KU) - 1311511057 - Raden Doni WijoyoTugas 5 – Rekayasa Web (KU) - 1311511057 - Raden Doni Wijoyo
Tugas 5 – Rekayasa Web (KU) - 1311511057 - Raden Doni WijoyoDoni Wijoyo
 
Tugas individu pertemuan 05 (05042016)
Tugas individu pertemuan 05 (05042016)Tugas individu pertemuan 05 (05042016)
Tugas individu pertemuan 05 (05042016)Novia Indahsari
 
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
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objekNamira Namirah
 
Modul pratikum pbo - inheritance
Modul pratikum pbo - inheritanceModul pratikum pbo - inheritance
Modul pratikum pbo - inheritancerahmantoyuri
 
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
 
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
 
Rekweb5 hilmi afifi-1512510213
Rekweb5 hilmi afifi-1512510213Rekweb5 hilmi afifi-1512510213
Rekweb5 hilmi afifi-1512510213helmy afifi
 
Tugas 5 - Rekayasa Web
Tugas 5 - Rekayasa WebTugas 5 - Rekayasa Web
Tugas 5 - Rekayasa Webarisjunedi
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
PPT_overloading.pptx
PPT_overloading.pptxPPT_overloading.pptx
PPT_overloading.pptxAnakBaru5
 
pemrograman berorientasi objek
pemrograman berorientasi objekpemrograman berorientasi objek
pemrograman berorientasi objekSiti Alifah
 

Similar to INHERITANCE-POLYMORPHISM (20)

Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5
 
Tugas 5 rekweb Ika Sulistiyani
Tugas 5 rekweb Ika Sulistiyani Tugas 5 rekweb Ika Sulistiyani
Tugas 5 rekweb Ika Sulistiyani
 
Tugas 5
Tugas 5Tugas 5
Tugas 5
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan intePbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inte
 
365 4 inheritance
365 4 inheritance365 4 inheritance
365 4 inheritance
 
Pbo
PboPbo
Pbo
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervan
 
Tugas 5 – Rekayasa Web (KU) - 1311511057 - Raden Doni Wijoyo
Tugas 5 – Rekayasa Web (KU) - 1311511057 - Raden Doni WijoyoTugas 5 – Rekayasa Web (KU) - 1311511057 - Raden Doni Wijoyo
Tugas 5 – Rekayasa Web (KU) - 1311511057 - Raden Doni Wijoyo
 
Tugas individu pertemuan 05 (05042016)
Tugas individu pertemuan 05 (05042016)Tugas individu pertemuan 05 (05042016)
Tugas individu pertemuan 05 (05042016)
 
Tugas 5 rekayasaweb [1412511642] [sri susanto]
Tugas 5 rekayasaweb [1412511642] [sri susanto]Tugas 5 rekayasaweb [1412511642] [sri susanto]
Tugas 5 rekayasaweb [1412511642] [sri susanto]
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
Rekweb 5
Rekweb 5Rekweb 5
Rekweb 5
 
Modul pratikum pbo - inheritance
Modul pratikum pbo - inheritanceModul pratikum pbo - inheritance
Modul pratikum pbo - inheritance
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)
 
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
 
Rekweb5 hilmi afifi-1512510213
Rekweb5 hilmi afifi-1512510213Rekweb5 hilmi afifi-1512510213
Rekweb5 hilmi afifi-1512510213
 
Tugas 5 - Rekayasa Web
Tugas 5 - Rekayasa WebTugas 5 - Rekayasa Web
Tugas 5 - Rekayasa Web
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
PPT_overloading.pptx
PPT_overloading.pptxPPT_overloading.pptx
PPT_overloading.pptx
 
pemrograman berorientasi objek
pemrograman berorientasi objekpemrograman berorientasi objek
pemrograman berorientasi objek
 

Recently uploaded

soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 
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
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfbibizaenab
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
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
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptxMiftahunnajahTVIBS
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
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
 
Lembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxLembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxbkandrisaputra
 
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
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 

Recently uploaded (20)

soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 
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]
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
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
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
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
 
Lembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxLembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocx
 
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
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 

INHERITANCE-POLYMORPHISM

  • 1. INHERITANCE POLYMORFISME KELAS ABSTRAK Modul 4 Pemrograman JavaDevi Adi Nufriana & Baidowi
  • 2. INHERITANCE Konsep Hierarki, Hubungan orangtua dan anak. Sub Class / ChildSub Class / Child [public] class SubKelas extends SuperKelas { .... } Bentuk Umum Penulisannya Java hanya mengenal dan menunjang single inheritance. NOTE Super Class / Parent
  • 3. Konsep hubungan antar super class dan subclass  Kelas dengan modifier “final” tidak dapat dijadikan super-kelas.  Atribut dan metode yang bukan-private secara otomatis diwariskan ke sub-kelas kecuali yang di-override (dideklarasi ulang oleh sub-kelas).  Jika metode di definisikan ulang pada sub-kelas dengan parameter yang sama pada super-kelas, Ini disebut dengan “override” metode yang ada pada super-kelasnya.  Konstruktor tidak diwariskan, tetapi dapat dipanggil atau dijalankan pada konstruktor di sub-kelas dengan menggunakan bentuk super(parameter).  Jika ada sebuah atribut dengan nama sama dengan nama atribut yang ada pada super-kelasnya, atribut yang di super-kelas tetap ada tetapi disembunyikan. Untuk mengakses atribut yang tersembunyikan gunakan kata- kunci prefiks “super”.
  • 4. public class Hewan { public int Kaki; public void makan() { System.out.println(“Hewan Butuh Makan”) } } Superclass public class Kuda extends Hewan { Kuda(int kaki){ Kaki = 4; } } Example SubClass Hewan Kuda Kucing
  • 5. OVERLOADING Metode dimana dalam satu kelas yang namanya sama tetapi berbeda signature-nya (parameternya). Overload  Konstruktor OVERIDING Dua metode dimana yang satu di super-kelas dan satunya di sub-kelas dengan nama yang sama, tipe data hasil sama, dan signature (atau parameter) yang sama juga Override  toString() dan equals()
  • 6. public class Mahasiswa{ private int nomorInduk; private String nama; private double ipk; public Mahasiswa(int ni, String nm, double ip){ nomorInduk = ni; nama = nm; ipk = ip; } public Mahasiswa(int ni, String nm){ nomorInduk = ni; nama = nm; ipk = 0.0; } public void keterangan(){ System.out.println(“Belum Lulus”); } .... } Super Class Sub Class public class MahasiswaPasca extends Mahasiswa{ private String penelitian; private String dosenPembimbing; public void keterangan(){ System.out.println(“LULUS”); } ..... } Note : Warna Merah Overloading Warna Biru Overiding
  • 7. Konstruktor Sub Kelas Untuk menginisialisasi atribut obyek yang ada pada super- kelas, konstruktor sub-kelas harus memanggil sebuah konstruktor dari super-kelas dengan bentuk: Super(parameter) Note: Statemen ini harus dilakukan paling awal public class MahasiswaPasca extends Mahasiswa{ private String penelitian; private String dosenPembimbing; public MahasiswaPasca(int nim, String nama, String bs, double ipk, String penelitian, String dp){ super(nim,nama,bs,ipk); this.penelitian = penelitian; this.dosenPembimbing = dp; } ..... }
  • 8. Polymorphism Dapat meningkatkan generalisasi program dan kemudahan dibaca. Upcasting Downcasting Mereferensi obyek dari jenis sub-kelas dengan deklarasi variabel menggunakan jenis super-kelas Sebuah obyek dibuat dengan super-Kelas namun direferensi oleh variabel dengan tipe kelas sub-Kelas. SuperKelas obyek = new SubKelas(parameter); SuperKelas obyekSuper = new SuperKelas(parameter); SubKelas obyekSub = (SubKelas) obyekSuper; Jika obyekSub mengakses metode yang hanya ada pada sub-kelas, karena jenis referensinya adalah SubKelas, maka tidak akan menghasilkan compile-error. Tetapi hal ini dapat menimbulkan runtime-error berupa “java.lang.ClassCastException”. if(obyekSub instanceOf SubKelas) { obyekSub.metodeSubKelas(parameter); }
  • 9. Class Kucing extends Hewan { Public void suara() { System.out.println(“Meow”); } } SubClass Class Program { Public static void main(String args []) { Hewan kuda = new kuda(); Hewan kucing = new kucing(); Kuda.suara(); Kucing.suara(); } MainClass public class Hewan { public void tidur(){ System.out.println("Tidur"); } } SuperClass class Program { public static void main (String args []){ Hewan kambing = new Hewan(); Kambing kb = (Kambing) kambing; kb.tidur(); } MainClass
  • 10. Kelas Abstrak Di sub-kelas, kita boleh (opsional) melakukan override terhadap metode yang ada pada super-kelas. Tetapi adakalanya di mana ada situasi di mana super-kelas akan memaksa agar sub-kelas meng-override metode tertentu, karena metode tersebut tidak dapat diimplementasikan pada super-kelas. Karyawan nomorIndukKaryawan menghitungGaji() Dosen jumlahSKS honorSKS menghitungGaji() Staff gajiPokok totalJam menghitungGaji()
  • 11. public abstract class Karyawan { public Karyawan(int nik, String nama){ this.nomorIndukKaryawan = nik; this.nama = nama; } ... public abstract double menghitungGaji(); ... } Kelas Abstrak public class Staff extends Karyawan{ public double menghitungGaji(){ double gaji = 0.0; if(totalJam > 180) { gaji = (180 * gajiPokok) + ((totalJam - 180) * (1.5 * gajiPokok)); } else { gaji = totalJam * gajiPokok; } return gaji/180.0; } ... } SubClass public class Dosen extends Karyawan { public double menghitungGaji(){ double gaji = jumlahSKS * 4.5 * honorSKS; return gaji; } ... } Kita tidak boleh membuat obyek dari jenis kelas abstrak Karyawan ahmad = new Karyawan(65321,”Ahmad”); Boleh digunakan sebagai referensi (atau variabel) yang merujuk pada sub-kelas yang bukan abstrak Karyawan ahmad = new Staff(65321,”Ahmad”);

Editor's Notes

  1. Salah satu fitur yang sangat baik dari Java adalah kegunaan kembali (re-usability). Jika sebuah kelas sudah didefinisikan dan dibuat, kelas tersebut dapat digunakan oleh aplikasi apapun ketika metode-metode dibutuhkan. Jika kita hendak membuat sebuah kelas, sementara ada kelas yang sudah ada dan memilik fitur-fitur yang hampir (atau mendekati) kebutuhan yang kita harapkan, kita tidak harus membuat Kelas dari awal lagi, melainkan kita memanfaatkan kelas yang sudah ada dan menambahkan atau mengubah beberapa atribut dan/atau metode tambahan.
  2. Merupakan metode untuk mengimplementasikan hierarki public class Test {   public static void main (String args []){ Binatang binatang1 = new Kambing(); Kambing kambing = (Kambing) binatang1; kambing.bergerak(); kambing.makan(); Binatang binatang2 = new Sapi(); Sapi sapi = (Sapi) binatang2; sapi.bergerak(); sapi.makan(); } }
  3. public class Peternak { public void memberiMakan(Binatang a){ a.bergerak(); a.makan(); if (a instanceof Kambing){ Kambing kambing = (Kambing) a; kambing.makan(); } } }