SlideShare a Scribd company logo
1 of 16
Download to read offline
Pertemuan 4:
OOP: Polymorphism
Akhmad Khanif Zyen, M.Kom
Karakteristik OOP
1. Encapsulation
2. Inheritance
3. Polymorphism
Kasus
Jika ingin memiliki fungsi test()
untuk banyak binatang, maka
harus didefinisikan banyak fungsi
test. Bagaimana agar cukup satu
fungsi untuk semuanya?
IS-A
● Buatlah class yang memiliki sifat umum (generic) yang mewakili
kelas-kelas lainnya, lalu jadikan supeclass bagi sub-subclass
● Karena tiap subclass IS-A superclass
Polymorphism superclass
subclass
subclass
Parameter merujuk pada object
yang lebih generik, sehingga
semua turunan Binatang
(gajah, kerbau) bisa
dimasukkan sebagai parameter
Polymorphism
POLY = banyak
MORPHISM = bentuk
● Object bisa berubah-ubah bentuk
● RTTI = Run Time Type Identification = tipe
data diidentifikasi ketika program running
● LATE BINDING = sebuah object akan
di-bind ke sebuah method ketika runtime
(bukan ketika compile)
Polymorphism
● Deklarasi val namaobject: Superclass = SubClass() lebih sering
diimplementasikan.
● Hal tersebut memudahkan dalam melakukan koleksi object
subclass
superclass
Koleksi (listOf merupakan
turunan dari arrayOf)
Casting Object
Error, karena object g hanya mengakses field
dan method dari Binatang
Object g dicasting sehingga dapat mengakses
semua atribut dan method dari gajah
Abstract
● Abstract class merupakan class yang hanya mendeklarasikan methodnya,
tanpa implementasi isi
● Abstract class minimal memiliki satu abstract method
● Baik class maupun method harus ditambahkan keyword abstract
● Konsekuensi abstract class, tidak dapat dicreate objectnya, tapi yang
mengimplementasikannya bisa
● Keuntungannya lebih simpel, dan hemat memori (tidak dibuatkan
objectnya oleh jvm)
Contoh Abstract Class
Contoh Abstract Class
Boleh mengandung
method yang tidak
abstract
Abstract Class
● Jika subclass dari class abstract tidak mengimplementasikan method
abstract, maka subclass wajib menjadi kelas abstract juga, sehingga tidak
bisa dibuat objectnya
Tidak implement method
makan(), maka wajib menjadi
abstract class
Abstract class
Kerbau tidak dapat
dibuat objectnya
Interface
● Cara menghasilkan efek polymorphisme
1. Extends dari class biasa
2. Extend dari abstract class
3. Implement sebuah interface
● Interface:
1. Mirip seperti abstract class, tapi semua method HARUS abstract
2. Class yang mengimplement interface, dalam kotlin menggunakan titik dua (:)
3. Class yang mengimplement HARUS mengimplement SEMUA method yang
dideklarasikan dalam interface
4. Sebuah class BISA mengimplement lebih dari satu interface
Interface, seluruh method
akan bersifat abstract, baik
ditulis maupun tidak
Class yang ingin memiliki sifat
interface, harus implement (:) dan
semua method harus “override”
Extends + Implements
Class ManusiaSakti
meng-extends class
Manusia dan
meng-implements
interface Dosen dan
sniper
Budi sebagai object dari
class ManusiaSakti,
dapat mewakili Dosen,
Sniper dan Manusia
Program to Interface
Program to Interface merupakan pendekatan dimana program dengan konsep OOP
lebih fokus pada interface, bukan pada implementasi (hidden implementation)
Mysql implement
database
IbmDb2 implement
database
Mengubah dari
Mysql ke IbmDb2

More Related Content

What's hot

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
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program javaSaprudin Eskom
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objekroy naldo
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphismeSaprudin Eskom
 
8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan methodSaprudin Eskom
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasiSaprudin Eskom
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
14. java class library
14. java class library14. java class library
14. java class librarySaprudin Eskom
 
Class dan object
Class dan objectClass dan object
Class dan objectHardini_HD
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan hermawanawang
 

What's hot (16)

Network programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanNetwork programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java Lanjutan
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program java
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objek
 
04 inheritance
04 inheritance04 inheritance
04 inheritance
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphisme
 
8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan method
 
Java Class
Java ClassJava Class
Java Class
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasi
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
14. java class library
14. java class library14. java class library
14. java class library
 
Class dan object
Class dan objectClass dan object
Class dan object
 
Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)
 
Konsep dasar oop
Konsep dasar oopKonsep dasar oop
Konsep dasar oop
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
 
12. polymorphisme
12. polymorphisme12. polymorphisme
12. polymorphisme
 

Similar to OOP-Polymorphism

Pengenalan Java
Pengenalan JavaPengenalan Java
Pengenalan JavaLaili Aidi
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6ゴースト アノン
 
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
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interfaceRobbie AkaChopa
 
Bab I - Konsep PBO.pptx
Bab I - Konsep PBO.pptxBab I - Konsep PBO.pptx
Bab I - Konsep PBO.pptxAgiHusni
 
penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingsoftscients
 
pemrograman berorientasi objek
pemrograman berorientasi objekpemrograman berorientasi objek
pemrograman berorientasi objekSiti Alifah
 
PBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptxPBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptxHeriPurwanto74
 
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptT1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptxirplsmksa
 
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptxSEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptxmuhammaddliyaaul
 
Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Rudi Hartono
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)rizki adam kurniawan
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objekNamira Namirah
 

Similar to OOP-Polymorphism (20)

Pengenalan Java
Pengenalan JavaPengenalan Java
Pengenalan Java
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
 
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
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interface
 
Modul 1 Algo
Modul 1 AlgoModul 1 Algo
Modul 1 Algo
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
 
Bab I - Konsep PBO.pptx
Bab I - Konsep PBO.pptxBab I - Konsep PBO.pptx
Bab I - Konsep PBO.pptx
 
penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programming
 
pemrograman berorientasi objek
pemrograman berorientasi objekpemrograman berorientasi objek
pemrograman berorientasi objek
 
PBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptxPBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptx
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
3. OOP Java
3. OOP Java3. OOP Java
3. OOP Java
 
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptT1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
 
Threading
ThreadingThreading
Threading
 
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptxSEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
 
Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Basic Java Application - Sesi 5
Basic Java Application - Sesi 5
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 

More from Akhmad Khanif Zyen

Pemrograman Mobile Pertemuan 1
Pemrograman Mobile Pertemuan 1Pemrograman Mobile Pertemuan 1
Pemrograman Mobile Pertemuan 1Akhmad Khanif Zyen
 
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar FlutterPemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar FlutterAkhmad Khanif Zyen
 
Pemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : PerkenalanPemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : PerkenalanAkhmad Khanif Zyen
 
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...Akhmad Khanif Zyen
 
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar KotlinMobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar KotlinAkhmad Khanif Zyen
 
Surat keterangan garansi software
Surat keterangan garansi softwareSurat keterangan garansi software
Surat keterangan garansi softwareAkhmad Khanif Zyen
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3Akhmad Khanif Zyen
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2Akhmad Khanif Zyen
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1Akhmad Khanif Zyen
 

More from Akhmad Khanif Zyen (13)

Pemrograman Mobile Pertemuan 1
Pemrograman Mobile Pertemuan 1Pemrograman Mobile Pertemuan 1
Pemrograman Mobile Pertemuan 1
 
Yii2 fundamentals bagian 1
Yii2 fundamentals   bagian 1Yii2 fundamentals   bagian 1
Yii2 fundamentals bagian 1
 
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar FlutterPemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
 
Pemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : PerkenalanPemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : Perkenalan
 
Mobile app syllabus 2019
Mobile app syllabus 2019Mobile app syllabus 2019
Mobile app syllabus 2019
 
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
 
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar KotlinMobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
 
Filosofi belajar abad 21
Filosofi belajar abad 21Filosofi belajar abad 21
Filosofi belajar abad 21
 
Perintah dasar Linux
Perintah dasar LinuxPerintah dasar Linux
Perintah dasar Linux
 
Surat keterangan garansi software
Surat keterangan garansi softwareSurat keterangan garansi software
Surat keterangan garansi software
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
 

Recently uploaded

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
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisNazla aulia
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxDwiYuniarti14
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
demontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdfdemontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdfIndri117648
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxc9fhbm7gzj
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxalalfardilah
 
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
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
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
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdftsaniasalftn18
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxawaldarmawan3
 
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
 
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
 
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
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 

Recently uploaded (20)

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
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara Inggris
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
demontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdfdemontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdf
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptx
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.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]
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdf
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
 
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
 
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
 
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 & ...
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 

OOP-Polymorphism

  • 2. Karakteristik OOP 1. Encapsulation 2. Inheritance 3. Polymorphism
  • 3. Kasus Jika ingin memiliki fungsi test() untuk banyak binatang, maka harus didefinisikan banyak fungsi test. Bagaimana agar cukup satu fungsi untuk semuanya?
  • 4. IS-A ● Buatlah class yang memiliki sifat umum (generic) yang mewakili kelas-kelas lainnya, lalu jadikan supeclass bagi sub-subclass ● Karena tiap subclass IS-A superclass
  • 5. Polymorphism superclass subclass subclass Parameter merujuk pada object yang lebih generik, sehingga semua turunan Binatang (gajah, kerbau) bisa dimasukkan sebagai parameter
  • 6. Polymorphism POLY = banyak MORPHISM = bentuk ● Object bisa berubah-ubah bentuk ● RTTI = Run Time Type Identification = tipe data diidentifikasi ketika program running ● LATE BINDING = sebuah object akan di-bind ke sebuah method ketika runtime (bukan ketika compile)
  • 7. Polymorphism ● Deklarasi val namaobject: Superclass = SubClass() lebih sering diimplementasikan. ● Hal tersebut memudahkan dalam melakukan koleksi object subclass superclass Koleksi (listOf merupakan turunan dari arrayOf)
  • 8. Casting Object Error, karena object g hanya mengakses field dan method dari Binatang Object g dicasting sehingga dapat mengakses semua atribut dan method dari gajah
  • 9. Abstract ● Abstract class merupakan class yang hanya mendeklarasikan methodnya, tanpa implementasi isi ● Abstract class minimal memiliki satu abstract method ● Baik class maupun method harus ditambahkan keyword abstract ● Konsekuensi abstract class, tidak dapat dicreate objectnya, tapi yang mengimplementasikannya bisa ● Keuntungannya lebih simpel, dan hemat memori (tidak dibuatkan objectnya oleh jvm)
  • 11. Contoh Abstract Class Boleh mengandung method yang tidak abstract
  • 12. Abstract Class ● Jika subclass dari class abstract tidak mengimplementasikan method abstract, maka subclass wajib menjadi kelas abstract juga, sehingga tidak bisa dibuat objectnya Tidak implement method makan(), maka wajib menjadi abstract class Abstract class Kerbau tidak dapat dibuat objectnya
  • 13. Interface ● Cara menghasilkan efek polymorphisme 1. Extends dari class biasa 2. Extend dari abstract class 3. Implement sebuah interface ● Interface: 1. Mirip seperti abstract class, tapi semua method HARUS abstract 2. Class yang mengimplement interface, dalam kotlin menggunakan titik dua (:) 3. Class yang mengimplement HARUS mengimplement SEMUA method yang dideklarasikan dalam interface 4. Sebuah class BISA mengimplement lebih dari satu interface
  • 14. Interface, seluruh method akan bersifat abstract, baik ditulis maupun tidak Class yang ingin memiliki sifat interface, harus implement (:) dan semua method harus “override”
  • 15. Extends + Implements Class ManusiaSakti meng-extends class Manusia dan meng-implements interface Dosen dan sniper Budi sebagai object dari class ManusiaSakti, dapat mewakili Dosen, Sniper dan Manusia
  • 16. Program to Interface Program to Interface merupakan pendekatan dimana program dengan konsep OOP lebih fokus pada interface, bukan pada implementasi (hidden implementation) Mysql implement database IbmDb2 implement database Mengubah dari Mysql ke IbmDb2