SlideShare a Scribd company logo
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 Lanjutan
Lia Rusdyana Dewi
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program java
Saprudin Eskom
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objek
roy naldo
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
Alvian Bhakti
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphisme
Saprudin Eskom
 
8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan method
Saprudin Eskom
 
Java Class
Java ClassJava Class
Java Class
Ibrahim Naki
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasi
Saprudin 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 library
Saprudin Eskom
 
Class dan object
Class dan objectClass dan object
Class dan object
Hardini_HD
 
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)
stephan EL'wiin Shaarawy
 
Konsep dasar oop
Konsep dasar oopKonsep dasar oop
Konsep dasar oop
Fajar Baskoro
 
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
 
12. polymorphisme
12. polymorphisme12. polymorphisme
12. polymorphisme
Saprudin Eskom
 

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 Mobile Application 2 Pertemuan 4 Dasar Kotlin OOP Polymorphism

Pengenalan Java
Pengenalan JavaPengenalan Java
Pengenalan Java
Laili Aidi
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
Teknik Komputer & Informatika
 
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
AdityaSuryani1
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interface
Robbie AkaChopa
 
Modul 1 Algo
Modul 1 AlgoModul 1 Algo
Modul 1 Algo
STMIK AKAKOM
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
Rhendy Thanaya
 
Bab I - Konsep PBO.pptx
Bab I - Konsep PBO.pptxBab I - Konsep PBO.pptx
Bab I - Konsep PBO.pptx
AgiHusni
 
penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programming
softscients
 
pemrograman berorientasi objek
pemrograman berorientasi objekpemrograman berorientasi objek
pemrograman berorientasi objek
Siti Alifah
 
PBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptxPBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptx
HeriPurwanto74
 
Java
JavaJava
Java
JavaJava
3. OOP Java
3. OOP Java3. OOP Java
3. OOP Java
beiharira
 
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptT1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
xirplsmksa
 
Threading
ThreadingThreading
Threading
KikiSupendi
 
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptxSEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
muhammaddliyaaul
 
Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Basic Java Application - Sesi 5
Basic Java Application - Sesi 5
Rudi 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 objek
Namira Namirah
 

Similar to Mobile Application 2 Pertemuan 4 Dasar Kotlin 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 1
Akhmad Khanif Zyen
 
Yii2 fundamentals bagian 1
Yii2 fundamentals   bagian 1Yii2 fundamentals   bagian 1
Yii2 fundamentals bagian 1
Akhmad 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 Flutter
Akhmad Khanif Zyen
 
Pemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : PerkenalanPemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : Perkenalan
Akhmad Khanif Zyen
 
Mobile app syllabus 2019
Mobile app syllabus 2019Mobile app syllabus 2019
Mobile app syllabus 2019
Akhmad 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 Kotlin
Akhmad Khanif Zyen
 
Filosofi belajar abad 21
Filosofi belajar abad 21Filosofi belajar abad 21
Filosofi belajar abad 21
Akhmad Khanif Zyen
 
Perintah dasar Linux
Perintah dasar LinuxPerintah dasar Linux
Perintah dasar Linux
Akhmad Khanif Zyen
 
Surat keterangan garansi software
Surat keterangan garansi softwareSurat keterangan garansi software
Surat keterangan garansi software
Akhmad 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 3
Akhmad 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 2
Akhmad 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 1
Akhmad 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

SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKANSAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
NURULNAHARIAHBINTIAH
 
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARUAKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
junaedikuluri1
 
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdfMODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
YuristaAndriyani1
 
Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?
SABDA
 
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Fathan Emran
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
YongYongYong1
 
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOKPENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
GusniartiGusniarti5
 
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Fathan Emran
 
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdfRANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
junarpudin36
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Sosdiklihparmassdm
 
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIANSINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
NanieIbrahim
 
Seminar Pendidikan PPG Filosofi Pendidikan.pdf
Seminar Pendidikan PPG Filosofi Pendidikan.pdfSeminar Pendidikan PPG Filosofi Pendidikan.pdf
Seminar Pendidikan PPG Filosofi Pendidikan.pdf
inganahsholihahpangs
 
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Fathan Emran
 
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
ahyani72
 
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdfKisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
indraayurestuw
 
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptxGERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
fildiausmayusuf1
 
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdfPpt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
fadlurrahman260903
 
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Fathan Emran
 
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi KomunikasiMateri Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
AdePutraTunggali
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Fathan Emran
 

Recently uploaded (20)

SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKANSAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
 
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARUAKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
 
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdfMODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
 
Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?
 
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
 
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOKPENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
 
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
 
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdfRANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
 
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIANSINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
 
Seminar Pendidikan PPG Filosofi Pendidikan.pdf
Seminar Pendidikan PPG Filosofi Pendidikan.pdfSeminar Pendidikan PPG Filosofi Pendidikan.pdf
Seminar Pendidikan PPG Filosofi Pendidikan.pdf
 
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
 
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
 
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdfKisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
 
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptxGERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
 
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdfPpt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
 
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
 
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi KomunikasiMateri Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
 

Mobile Application 2 Pertemuan 4 Dasar Kotlin 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