Pemrograman Berorientasi Objek
Polymorphism
Oleh :
Zarnelly, S.Kom, M.Sc
PRODI SISTEM INFORMASI
UIN SUSKA RIAU
Polymorphism
•Polymorphism berasal dari bhs yunani yang
berarti banyak bentuk.
•Konsep ini memungkinkan objek melakukan
aksi atau tindakan yang mungkin secara
prinsip sama namun prosesnya berbeda.
Polymorphism
•Dalam pemrograman, polimorfisme dapat
diartikan sebagai modul yang memiliki
nama sama, namun memiliki behaviour
(tingkah laku) yang berbeda sehingga
listing code implementasinya juga berbeda
Polymorphism
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
•Polimorfisme statis
menggunakan
method
overloading
sedangkan polimorfisme
dinamis menggunakan
method
overriding.
OVERLOADING
•Method overloading terjadi
pada
sebuah class
yang
memiliki
nama method yang
sama
tapi memiliki
parameter dan
tipe data yang berbeda.
CONTOH 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.
CONTOH OVERLOADING
POLIMORFISME DINAMIS
•P0limorfisme dinamis biasanya terjadi saat
kita menggunakan PEWARISAN dan
implementasi
interface.
•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.
•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
(merubah method) yang
diwariskannya.
CONTOH POLIMORFISME
DINAMIS
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.
1.
2
3
4
5
LATIHAN
Buatlah sebuah program menggunakan konsep
Overriding, untuk menghitung konversi suhu dari Celcius
ke
•Fahrenheit 212
•Kelvin (273+celcius) 373
•Reamur 80
Nama Class induk Konversisuhu
Nama Project konversisuhu
Nama method hitungsuhu
Nama Object cf, ck, cr