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

Bab-4.-Polymorphism pemrograman berbasis

  • 1.
    Pemrograman Berorientasi Objek Polymorphism Oleh: Zarnelly, S.Kom, M.Sc PRODI SISTEM INFORMASI UIN SUSKA RIAU
  • 2.
    Polymorphism • Polymorphism berasaldari bhs yunani yang berarti banyak bentuk. • Konsep ini memungkinkan objek melakukan aksi atau tindakan yang mungkin secara prinsip sama namun prosesnya berbeda.
  • 3.
    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
  • 4.
  • 5.
    Polimorfisme pada Javaada dua macam: 1.Static Polymorphism (Polimorfisme statis); 2.Dynamic Polymorphism (Polimorfisme dinamis). • Beda dari keduanya terletak pada cara membuat polimorfismenya.
  • 6.
    POLIMORFISME STATIS • Polimorfismestatis menggunakan method overloading sedangkan polimorfisme dinamis menggunakan method overriding.
  • 7.
    OVERLOADING • Method overloadingterjadi pada sebuah class yang memiliki nama method yang sama tapi memiliki parameter dan tipe data yang berbeda.
  • 8.
    CONTOH OVERLOADING Contohnya misalkankita 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.
  • 9.
  • 10.
    POLIMORFISME DINAMIS • P0limorfismedinamis 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.
  • 11.
    • Class anakakan 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.
  • 12.
  • 13.
    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.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
    LATIHAN Buatlah sebuah programmenggunakan 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