SlideShare a Scribd company logo
1 of 20
Polymorphisme
OLEH: SAPRUDIN K, S.KOM.
Apa itu Polimorfisme?
Poly artinya banyak, morfisme artinya bentuk.
Polimorfisme (bahasa inggris polymorphism) adalah sebuah prinsip dalam biologi di mana
oraganisme atau spesies dapat memiliki banyak bentuk atau tahapan (stages).
Prinsip ini juga diadopsi pada pemrograman berorientasikan objek.
Sehingga kita dapat definisikan sebagai berikut:
Polimorfisme dalam OOP adalah sebuah prinsip di mana class dapat memiliki banyak “bentuk”
method yang berbeda-beda meskipun namanya sama.
“Bentuk” di sini dapat kita artikan: isinya berbeda, parameternya berbeda, dan tipe datanya
berbeda.
Polimorfisme pada Java ada dua macam:
1. Static Polymorphism (Polimorfisme statis);
2. Dynamic Polymorphism (Polimorfisme dinamis).
Beda dari keduanya terletak pada cara membuat polimorfismenya.
Polimorfisme statis menggunakan method overloading sedangkan polimorfisme dinamis
menggunakan method overriding.
Perbedaan Method Overloading dengan
Method Overriding
Method overloading terjadi pada sebuah class yang memiliki nama method yang sama tapi
memiliki parameter dan tipe data yang berbeda.
Kata kunci yang perlu kamu ingat:
“Dalam satu class”
“Nama method sama”
“Tipe data dan parameter beda”
Itulah method Overloading.
Contohnya, misalkan kita memiliki class Lingkaran.java. Pada class ini terdapat method luas().
Nah, si method luas() ini bisa saja memiliki parameter yang berbeda.
Misalnya kita ingin menghitung luas berdasarkan jari-jari (radius) atau diameter.
Maka kita dapat membuat class-nya seperti ini:
Coba perhatikan!
Class Lingkaran memiliki dua method yang namanya sama, yakni luas().
Tapi parameter dan tipe datanya berbeda dan juga isi atau rumus di dalamnya berbeda.
Inilah yang disebut polimorfisme statis.
Sudah paham?
Lalu Polimorfisme yang dinamis bagaimana?
Polimorfisme dinamis biasanya terjadi saat kita menggunakan pewarisan (inheritance) dan
implementasi interface.
Seperti yang sudah kita ketahui:
Pada pewarisan, kita bisa mewariskan atribut dan method dari class induk ke class anak.
Class anak akan memiliki nama method yang sama dengan class induk dan anak yang lainnya.
Nah! Di sinilah akan terjadi polimorfisme.
Class anak akan memiliki nama method yang sama, tapi
nanti isi dan parameternya bisa berbeda dari class induk.
Karena si class anak melakukan method overriding
(mendindih method) yang diwariskannya.
Polimofisme dinamis juga bisa terjadi saat menggunakan
interface.
Oh iya, buat kamu yang belum tahu interface:
Interface adalah class kosong yang berisi nama-nama method yang nanti harus
diimplementasikan pada class lain. Dalam pengimplementasiannya bisa saja tiap-tiap class akan
mengimplementasikan secara berbeda dengan nama method yang sama.
Nah, kelihatan kan bedanya?
Jadi polimorfisme statis hanya terjadi dalam satu class saja.
Sedangkan polimorfisme dinamis terjadi pada saat ada hubungan dengan class lain seperti
inheritance.
Oke, sekarang mari kita lihat contohnya.
Contoh Program Polimorfisme Dinamis
Perhatikan diagram ini:
Pada diagram tersebut, terdapat class BangunDatar yang
memiliki tiga subclass, yaitu: Persegi, Lingkaran dan
Segitiga.
Setiap class memiliki method yang sama yaitu luas() dan
keliling(). Akan tetapi method-method ini memiliki isi
rumus yang berbeda.
Mari kita coba buat dalam program Java.
Buatlah class baru dengan BangunDatar, kemudian isi dengan kode berikut:
Berikutnya buat class lagi dengan nama Persegi dan isi kodenya seperti ini:
Berikutnya buat class Segitiga dengan isi sebagai berikut:
Berikutnya buat class Lingkaran dengan isi sebagai berikut:
Terakhir, buat class Main dengan isi sebagai berikut:
Mau Contoh Lagi?
Oke, di contoh yang kedua ini kita akan membuat aplikasi untuk mengirim notifikasi dengan
Interface.
Ini adalah bentuk diagramnya:
Buatlah class baru dengan nama InterfaceNotifikasi dan isi kodenya seperti ini:
Berikutnya, buatlah class baru dengan nama EmailNotification dan isi seperti ini:
Berikutnya, buatlah class baru dengan nama SMSNotification dan isi seperti ini:
Berikutnya, buatlah class baru dengan nama PushNotification dan isi seperti ini:
Terakhir, buatlah class Main dan isi kodenya seperti ini:
Hasilnya:
Walapun semua isi method sendMessage() sama, namun nanti pada implementasinya di dunia nyata akan
beda-beda.
EmailNotification biasanya akan mengirim email dengan metode SMTP atau API. Sedangkan SMS bisa melalui
SMS Gateway.
Begitu juga dengan PushNotofication, nanti akan menggunakan API yang berbeda.
Nah itulah contoh polimorfisme dengan interface.
Sumber referensi: https://www.petanikode.com/java-oop-polimorfisme/
Sekian dan Terima kasih

More Related Content

What's hot

Pewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan InterfacePewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan InterfaceIbrahim Naki
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6ゴースト アノン
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objekNamira Namirah
 
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
 
Inheritance Dan Polimorfisme
Inheritance Dan PolimorfismeInheritance Dan Polimorfisme
Inheritance Dan PolimorfismeDiana Anggraini
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingMelina Krisnawati
 
Network programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanNetwork programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanLia Rusdyana Dewi
 
Pengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi ObjekPengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi Objekwawanext01
 
15. konsep java class library (jcl)
15. konsep java class library (jcl)15. konsep java class library (jcl)
15. konsep java class library (jcl)Saprudin Eskom
 
Network Programming 2 - Dasar Pemrograman Java
Network Programming 2 - Dasar Pemrograman JavaNetwork Programming 2 - Dasar Pemrograman Java
Network Programming 2 - Dasar Pemrograman JavaLia Rusdyana Dewi
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekWahyu Widodo
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objekroy naldo
 

What's hot (17)

Pewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan InterfacePewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan Interface
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
 
[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
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)
 
Inheritance Dan Polimorfisme
Inheritance Dan PolimorfismeInheritance Dan Polimorfisme
Inheritance Dan Polimorfisme
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
 
Network programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanNetwork programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java Lanjutan
 
Pengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi ObjekPengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi Objek
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
Tugas aplinet meresum
Tugas aplinet meresumTugas aplinet meresum
Tugas aplinet meresum
 
Pbo
PboPbo
Pbo
 
15. konsep java class library (jcl)
15. konsep java class library (jcl)15. konsep java class library (jcl)
15. konsep java class library (jcl)
 
Network Programming 2 - Dasar Pemrograman Java
Network Programming 2 - Dasar Pemrograman JavaNetwork Programming 2 - Dasar Pemrograman Java
Network Programming 2 - Dasar Pemrograman Java
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Java Class
Java ClassJava Class
Java Class
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objek
 

Similar to 12. polymorphisme

penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingsoftscients
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - PolymorphismKuliahKita
 
Object oriented programming ( oop
Object oriented programming ( oopObject oriented programming ( oop
Object oriented programming ( oopIwan Kurniarasa
 
04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguements04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguementsJefri Fahrian
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingRolly Yesputra
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONrahmantoyuri
 
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
 
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
 
BAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISMEBAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISMERicko SkyWriter
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJurnal IT
 
516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptxAdityaSuryani1
 
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptxPengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptxDzulFadliRahman1
 
Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphismrahmantoyuri
 
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Rakhmat Dedi Gunawan
 
Part 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming LanjutanPart 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming LanjutanRolly Yesputra
 
Modul oop with java application mauludin
Modul oop with java application   mauludinModul oop with java application   mauludin
Modul oop with java application mauludinMauludin Ahmad
 

Similar to 12. polymorphisme (20)

32221 7 polimorfisme
32221 7 polimorfisme32221 7 polimorfisme
32221 7 polimorfisme
 
penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programming
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - Polymorphism
 
Object oriented programming ( oop
Object oriented programming ( oopObject oriented programming ( oop
Object oriented programming ( oop
 
04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguements04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguements
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented Programming
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
 
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
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Resume aplinet
Resume aplinetResume aplinet
Resume aplinet
 
BAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISMEBAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISME
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
 
516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx
 
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptxPengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
 
Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphism
 
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
 
Part 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming LanjutanPart 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming Lanjutan
 
Modul oop with java application mauludin
Modul oop with java application   mauludinModul oop with java application   mauludin
Modul oop with java application mauludin
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Pemrograman desktop
Pemrograman desktopPemrograman desktop
Pemrograman desktop
 

More from Saprudin Eskom

soal + jawaban PAT DPPLG kelas X PPLG.docx
soal + jawaban PAT DPPLG kelas X PPLG.docxsoal + jawaban PAT DPPLG kelas X PPLG.docx
soal + jawaban PAT DPPLG kelas X PPLG.docxSaprudin Eskom
 
Soal + jawaban PAT PBO Kelas XI RPL 2021.docx
Soal + jawaban PAT PBO Kelas XI RPL 2021.docxSoal + jawaban PAT PBO Kelas XI RPL 2021.docx
Soal + jawaban PAT PBO Kelas XI RPL 2021.docxSaprudin Eskom
 
PAS Ganjil Digital Branding kelas XI Pemasaran
PAS Ganjil Digital Branding kelas XI PemasaranPAS Ganjil Digital Branding kelas XI Pemasaran
PAS Ganjil Digital Branding kelas XI PemasaranSaprudin Eskom
 
Tugas Praktikum Ms Excel.pdf
Tugas Praktikum Ms Excel.pdfTugas Praktikum Ms Excel.pdf
Tugas Praktikum Ms Excel.pdfSaprudin Eskom
 
Tugas Praktikum Ms. Word.pdf
Tugas Praktikum Ms. Word.pdfTugas Praktikum Ms. Word.pdf
Tugas Praktikum Ms. Word.pdfSaprudin Eskom
 
6. percabangan 2 kondisi
6. percabangan 2 kondisi6. percabangan 2 kondisi
6. percabangan 2 kondisiSaprudin Eskom
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator javaSaprudin Eskom
 
5. algoritma percabangan 1 kondisi
5. algoritma percabangan 1 kondisi5. algoritma percabangan 1 kondisi
5. algoritma percabangan 1 kondisiSaprudin Eskom
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sqlSaprudin Eskom
 
14. java class library
14. java class library14. java class library
14. java class librarySaprudin Eskom
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sqlSaprudin Eskom
 
13. memahami interface di java (dan contohnya)
13. memahami interface di java (dan contohnya)13. memahami interface di java (dan contohnya)
13. memahami interface di java (dan contohnya)Saprudin Eskom
 
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada javaSaprudin Eskom
 
7. percabangan bersarang
7. percabangan bersarang7. percabangan bersarang
7. percabangan bersarangSaprudin Eskom
 
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021Saprudin Eskom
 

More from Saprudin Eskom (20)

soal + jawaban PAT DPPLG kelas X PPLG.docx
soal + jawaban PAT DPPLG kelas X PPLG.docxsoal + jawaban PAT DPPLG kelas X PPLG.docx
soal + jawaban PAT DPPLG kelas X PPLG.docx
 
Soal + jawaban PAT PBO Kelas XI RPL 2021.docx
Soal + jawaban PAT PBO Kelas XI RPL 2021.docxSoal + jawaban PAT PBO Kelas XI RPL 2021.docx
Soal + jawaban PAT PBO Kelas XI RPL 2021.docx
 
RPMS PAT PBO XI.docx
RPMS PAT PBO XI.docxRPMS PAT PBO XI.docx
RPMS PAT PBO XI.docx
 
RPMS PAT DPPLG X.docx
RPMS PAT DPPLG X.docxRPMS PAT DPPLG X.docx
RPMS PAT DPPLG X.docx
 
PAS Ganjil Digital Branding kelas XI Pemasaran
PAS Ganjil Digital Branding kelas XI PemasaranPAS Ganjil Digital Branding kelas XI Pemasaran
PAS Ganjil Digital Branding kelas XI Pemasaran
 
Tugas Praktikum Ms Excel.pdf
Tugas Praktikum Ms Excel.pdfTugas Praktikum Ms Excel.pdf
Tugas Praktikum Ms Excel.pdf
 
Tugas Praktikum Ms. Word.pdf
Tugas Praktikum Ms. Word.pdfTugas Praktikum Ms. Word.pdf
Tugas Praktikum Ms. Word.pdf
 
6. percabangan 2 kondisi
6. percabangan 2 kondisi6. percabangan 2 kondisi
6. percabangan 2 kondisi
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator java
 
5. algoritma percabangan 1 kondisi
5. algoritma percabangan 1 kondisi5. algoritma percabangan 1 kondisi
5. algoritma percabangan 1 kondisi
 
1. konsep pbo
1. konsep pbo1. konsep pbo
1. konsep pbo
 
2. prosedur pbo
2. prosedur pbo2. prosedur pbo
2. prosedur pbo
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
14. java class library
14. java class library14. java class library
14. java class library
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
16. error handling
16. error handling16. error handling
16. error handling
 
13. memahami interface di java (dan contohnya)
13. memahami interface di java (dan contohnya)13. memahami interface di java (dan contohnya)
13. memahami interface di java (dan contohnya)
 
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada java
 
7. percabangan bersarang
7. percabangan bersarang7. percabangan bersarang
7. percabangan bersarang
 
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
 

Recently uploaded

tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
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
 
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
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxawaldarmawan3
 
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
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
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
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
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
 
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
 
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
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxIgitNuryana13
 
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
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 

Recently uploaded (20)

tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
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
 
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
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.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
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
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
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
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
 
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
 
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]
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
 
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
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 

12. polymorphisme

  • 2. Apa itu Polimorfisme? Poly artinya banyak, morfisme artinya bentuk. Polimorfisme (bahasa inggris polymorphism) adalah sebuah prinsip dalam biologi di mana oraganisme atau spesies dapat memiliki banyak bentuk atau tahapan (stages). Prinsip ini juga diadopsi pada pemrograman berorientasikan objek. Sehingga kita dapat definisikan sebagai berikut: Polimorfisme dalam OOP adalah sebuah prinsip di mana class dapat memiliki banyak “bentuk” method yang berbeda-beda meskipun namanya sama. “Bentuk” di sini dapat kita artikan: isinya berbeda, parameternya berbeda, dan tipe datanya berbeda.
  • 3. Polimorfisme pada Java ada dua macam: 1. Static Polymorphism (Polimorfisme statis); 2. Dynamic Polymorphism (Polimorfisme dinamis). Beda dari keduanya terletak pada cara membuat polimorfismenya. Polimorfisme statis menggunakan method overloading sedangkan polimorfisme dinamis menggunakan method overriding.
  • 4. Perbedaan Method Overloading dengan Method Overriding Method overloading terjadi pada sebuah class yang memiliki nama method yang sama tapi memiliki parameter dan tipe data yang berbeda. Kata kunci yang perlu kamu ingat: “Dalam satu class” “Nama method sama” “Tipe data dan parameter beda” Itulah method Overloading. Contohnya, misalkan kita memiliki class Lingkaran.java. Pada class ini terdapat method luas(). Nah, si method luas() ini bisa saja memiliki parameter yang berbeda.
  • 5. Misalnya kita ingin menghitung luas berdasarkan jari-jari (radius) atau diameter. Maka kita dapat membuat class-nya seperti ini:
  • 6. Coba perhatikan! Class Lingkaran memiliki dua method yang namanya sama, yakni luas(). Tapi parameter dan tipe datanya berbeda dan juga isi atau rumus di dalamnya berbeda. Inilah yang disebut polimorfisme statis. Sudah paham? Lalu Polimorfisme yang dinamis bagaimana? Polimorfisme dinamis biasanya terjadi saat kita menggunakan pewarisan (inheritance) dan implementasi interface. Seperti yang sudah kita ketahui: Pada pewarisan, kita bisa mewariskan atribut dan method dari class induk ke class anak. Class anak akan memiliki nama method yang sama dengan class induk dan anak yang lainnya. Nah! Di sinilah akan terjadi polimorfisme.
  • 7. Class anak akan memiliki nama method yang sama, tapi nanti isi dan parameternya bisa berbeda dari class induk. Karena si class anak melakukan method overriding (mendindih method) yang diwariskannya. Polimofisme dinamis juga bisa terjadi saat menggunakan interface.
  • 8. Oh iya, buat kamu yang belum tahu interface: Interface adalah class kosong yang berisi nama-nama method yang nanti harus diimplementasikan pada class lain. Dalam pengimplementasiannya bisa saja tiap-tiap class akan mengimplementasikan secara berbeda dengan nama method yang sama. Nah, kelihatan kan bedanya? Jadi polimorfisme statis hanya terjadi dalam satu class saja. Sedangkan polimorfisme dinamis terjadi pada saat ada hubungan dengan class lain seperti inheritance. Oke, sekarang mari kita lihat contohnya.
  • 9. Contoh Program Polimorfisme Dinamis Perhatikan diagram ini: Pada diagram tersebut, terdapat class BangunDatar yang memiliki tiga subclass, yaitu: Persegi, Lingkaran dan Segitiga. Setiap class memiliki method yang sama yaitu luas() dan keliling(). Akan tetapi method-method ini memiliki isi rumus yang berbeda. Mari kita coba buat dalam program Java.
  • 10. Buatlah class baru dengan BangunDatar, kemudian isi dengan kode berikut:
  • 11. Berikutnya buat class lagi dengan nama Persegi dan isi kodenya seperti ini:
  • 12. Berikutnya buat class Segitiga dengan isi sebagai berikut:
  • 13. Berikutnya buat class Lingkaran dengan isi sebagai berikut:
  • 14. Terakhir, buat class Main dengan isi sebagai berikut:
  • 15. Mau Contoh Lagi? Oke, di contoh yang kedua ini kita akan membuat aplikasi untuk mengirim notifikasi dengan Interface. Ini adalah bentuk diagramnya:
  • 16. Buatlah class baru dengan nama InterfaceNotifikasi dan isi kodenya seperti ini: Berikutnya, buatlah class baru dengan nama EmailNotification dan isi seperti ini:
  • 17. Berikutnya, buatlah class baru dengan nama SMSNotification dan isi seperti ini: Berikutnya, buatlah class baru dengan nama PushNotification dan isi seperti ini:
  • 18. Terakhir, buatlah class Main dan isi kodenya seperti ini:
  • 19. Hasilnya: Walapun semua isi method sendMessage() sama, namun nanti pada implementasinya di dunia nyata akan beda-beda. EmailNotification biasanya akan mengirim email dengan metode SMTP atau API. Sedangkan SMS bisa melalui SMS Gateway. Begitu juga dengan PushNotofication, nanti akan menggunakan API yang berbeda. Nah itulah contoh polimorfisme dengan interface. Sumber referensi: https://www.petanikode.com/java-oop-polimorfisme/