SlideShare a Scribd company logo
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

PARADIGMA PENDIDIKAN.ppt
PARADIGMA PENDIDIKAN.pptPARADIGMA PENDIDIKAN.ppt
PARADIGMA PENDIDIKAN.ppt
UNIVERSITY OF ADI BUANA SURABAYA
 
Recursion in Python
Recursion in PythonRecursion in Python
Recursion in Python
Fariz Darari
 
Materi class built in
Materi class built inMateri class built in
Materi class built in
Sri Sadilia
 
HYBRID LEARNING.pptx
HYBRID LEARNING.pptxHYBRID LEARNING.pptx
HYBRID LEARNING.pptx
GemaRullyana1
 
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
 
CSS Layouting #1 : Display
CSS Layouting #1 : DisplayCSS Layouting #1 : Display
CSS Layouting #1 : Display
Sandhika Galih
 
Laporan praktikum modul 1 (pemrograman swing)
Laporan praktikum modul 1 (pemrograman swing)Laporan praktikum modul 1 (pemrograman swing)
Laporan praktikum modul 1 (pemrograman swing)
Devi Apriansyah
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
rizki adam kurniawan
 
Model pembelajaran interaktif
Model pembelajaran interaktifModel pembelajaran interaktif
Model pembelajaran interaktif
Ahmad H
 
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
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
rizki adam kurniawan
 
PBO - Lapres Enkapsulasi
PBO - Lapres EnkapsulasiPBO - Lapres Enkapsulasi
PBO - Lapres Enkapsulasi
Siska Amelia
 
Soal praktek power point
Soal praktek power pointSoal praktek power point
Soal praktek power point
yossifaradisa
 
Bahan ajar 4 pilar-pilar pendidikan
Bahan ajar 4   pilar-pilar pendidikanBahan ajar 4   pilar-pilar pendidikan
Bahan ajar 4 pilar-pilar pendidikan
Daniel Saroengoe
 
Ai 5
Ai 5Ai 5
Ai 5bayaws
 
Sistematika rencana pelaksanaan pembelajaran
Sistematika rencana pelaksanaan pembelajaranSistematika rencana pelaksanaan pembelajaran
Sistematika rencana pelaksanaan pembelajaran
Akhmad Nahyani
 

What's hot (20)

PARADIGMA PENDIDIKAN.ppt
PARADIGMA PENDIDIKAN.pptPARADIGMA PENDIDIKAN.ppt
PARADIGMA PENDIDIKAN.ppt
 
Recursion in Python
Recursion in PythonRecursion in Python
Recursion in Python
 
Materi class built in
Materi class built inMateri class built in
Materi class built in
 
Laporan ppl 2 k.nisa.nf
Laporan ppl 2 k.nisa.nfLaporan ppl 2 k.nisa.nf
Laporan ppl 2 k.nisa.nf
 
HYBRID LEARNING.pptx
HYBRID LEARNING.pptxHYBRID LEARNING.pptx
HYBRID LEARNING.pptx
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)
 
CSS Layouting #1 : Display
CSS Layouting #1 : DisplayCSS Layouting #1 : Display
CSS Layouting #1 : Display
 
Laporan praktikum modul 1 (pemrograman swing)
Laporan praktikum modul 1 (pemrograman swing)Laporan praktikum modul 1 (pemrograman swing)
Laporan praktikum modul 1 (pemrograman swing)
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
 
Model pembelajaran interaktif
Model pembelajaran interaktifModel pembelajaran interaktif
Model pembelajaran interaktif
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
 
PBO - Lapres Enkapsulasi
PBO - Lapres EnkapsulasiPBO - Lapres Enkapsulasi
PBO - Lapres Enkapsulasi
 
Silabus belajar dan pembelajaran
Silabus belajar dan pembelajaranSilabus belajar dan pembelajaran
Silabus belajar dan pembelajaran
 
Soal praktek power point
Soal praktek power pointSoal praktek power point
Soal praktek power point
 
Ips sd kls 4
Ips sd kls 4Ips sd kls 4
Ips sd kls 4
 
Bahan ajar 4 pilar-pilar pendidikan
Bahan ajar 4   pilar-pilar pendidikanBahan ajar 4   pilar-pilar pendidikan
Bahan ajar 4 pilar-pilar pendidikan
 
Ai 5
Ai 5Ai 5
Ai 5
 
Sistematika rencana pelaksanaan pembelajaran
Sistematika rencana pelaksanaan pembelajaranSistematika rencana pelaksanaan pembelajaran
Sistematika rencana pelaksanaan pembelajaran
 
Pecahan
PecahanPecahan
Pecahan
 

Similar to 12. polymorphisme

12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphisme
Saprudin Eskom
 
32221 7 polimorfisme
32221 7 polimorfisme32221 7 polimorfisme
32221 7 polimorfisme
Universitas Bina Darma Palembang
 
penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programming
softscients
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - PolymorphismKuliahKita
 
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
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
Namira Namirah
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objek
roy naldo
 
Pbo
PboPbo
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 arguements
Jefri Fahrian
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented Programming
Rolly Yesputra
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
rahmantoyuri
 
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
ssuserc54f06
 
12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism
Saprudin Eskom
 
Resume aplinet
Resume aplinetResume aplinet
Resume aplinet
Mais Weli Ropiah
 
BAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISMEBAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISME
Ricko SkyWriter
 
Pewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan InterfacePewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan InterfaceIbrahim Naki
 
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
Jurnal IT
 
Inheritance Dan Polimorfisme
Inheritance Dan PolimorfismeInheritance Dan Polimorfisme
Inheritance Dan Polimorfisme
Diana Anggraini
 
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
AdityaSuryani1
 

Similar to 12. polymorphisme (20)

12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphisme
 
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
 
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)
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objek
 
Pbo
PboPbo
Pbo
 
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
 
12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism
 
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
 
Pewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan InterfacePewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan Interface
 
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
 
Inheritance Dan Polimorfisme
Inheritance Dan PolimorfismeInheritance Dan Polimorfisme
Inheritance Dan Polimorfisme
 
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
 

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.docx
Saprudin 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.docx
Saprudin Eskom
 
RPMS PAT PBO XI.docx
RPMS PAT PBO XI.docxRPMS PAT PBO XI.docx
RPMS PAT PBO XI.docx
Saprudin Eskom
 
RPMS PAT DPPLG X.docx
RPMS PAT DPPLG X.docxRPMS PAT DPPLG X.docx
RPMS PAT DPPLG X.docx
Saprudin 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 Pemasaran
Saprudin Eskom
 
Tugas Praktikum Ms Excel.pdf
Tugas Praktikum Ms Excel.pdfTugas Praktikum Ms Excel.pdf
Tugas Praktikum Ms Excel.pdf
Saprudin Eskom
 
Tugas Praktikum Ms. Word.pdf
Tugas Praktikum Ms. Word.pdfTugas Praktikum Ms. Word.pdf
Tugas Praktikum Ms. Word.pdf
Saprudin Eskom
 
6. percabangan 2 kondisi
6. percabangan 2 kondisi6. percabangan 2 kondisi
6. percabangan 2 kondisi
Saprudin Eskom
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator java
Saprudin Eskom
 
5. algoritma percabangan 1 kondisi
5. algoritma percabangan 1 kondisi5. algoritma percabangan 1 kondisi
5. algoritma percabangan 1 kondisi
Saprudin Eskom
 
1. konsep pbo
1. konsep pbo1. konsep pbo
1. konsep pbo
Saprudin Eskom
 
2. prosedur pbo
2. prosedur pbo2. prosedur pbo
2. prosedur pbo
Saprudin Eskom
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program java
Saprudin 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 sql
Saprudin Eskom
 
14. java class library
14. java class library14. java class library
14. java class library
Saprudin 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 sql
Saprudin Eskom
 
16. error handling
16. error handling16. error handling
16. error handling
Saprudin Eskom
 
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
 
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 java
Saprudin 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
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program java
 
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
 
15. konsep java class library (jcl)
15. konsep java class library (jcl)15. konsep java class library (jcl)
15. konsep java class library (jcl)
 
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
 

Recently uploaded

PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
jodikurniawan341
 
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
ozijaya
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
kinayaptr30
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
Dedi Dwitagama
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Fathan Emran
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
AdePutraTunggali
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
agusmulyadi08
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
UmyHasna1
 
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptxSEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
bobobodo693
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
muhammadRifai732845
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
SEMUELSAMBOKARAENG
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
SurosoSuroso19
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
erlita3
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
ppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdfppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdf
setiatinambunan
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
safitriana935
 
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
Indah106914
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
UditGheozi2
 
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdfMATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
ssuser289c2f1
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
asyi1
 

Recently uploaded (20)

PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
 
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
 
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptxSEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
ppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdfppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdf
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
 
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
 
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdfMATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.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/