Praktikum Pemrograman Berorientasi Objek (PBO) Modul 6 (Java)
POLIMORPHISM
I. LANDASAN TEORI
Polymorphism mempunyai makna sesuatu yang memiliki banyak bentuk, yaitu memiliki nama sama, tetapi memiliki kelakuan (behaviour) yang berbeda.Perhatikan gambar diatas !
Class bentuk yang merupakan class induk (superclass) dari class lingkaran, elips, dan segitiga mempunyai method gambar() dan hapus(). Class-class anak (subclass) juga mempunyai method gambar() dan hapus(). Meskipun keempat class tersebut mempunyai nama method yang sama, tetapi isi (source code/yang dilakukan/output) dari masing-masing method tersebut berbeda.
Jika kita menginginkan sebuah objek yang dapat memanggil setiap method (yaitu method gambar & hapus) yang ada pada setiap class (pada superclass maupun subclass), maka gunakanlah teknik Polymorphism. Polymorphism hanya berlaku pada method dan tidak berlaku untuk atribut.
Untuk mendapatkan operasi polymorphism dari suatu method, maka method tersebut haruslah merupakan method yang ada di class induk (lihat diagram diatas bahwa method gambar() dan hapus(), selain terdapat di class-class turunan class Bentuk, juga terdapat di class Bentuk).
II. PRAKTIKUM
Praktikum1
1. Buatlah project baru di Netbeans dengan nama Modul6PBO2. Buat file empty java file baru
3. Ketikan source code berikut ini dan simpan dengan nama file TesBentuk.java
4. Jalankan file TesBentuk.java tersebut, maka hasilnya adalah sebagai berikut :
Praktikum2
1. Buat file empty java file baru2. Ketikan source code berikut ini dan simpan dengan nama file Bentukwajah.java
3. Buat file empty java file baru
4. Ketikan source code berikut ini dan simpan dengan nama file Programpolimorphism.java
5. Jalankan file Programpolimorphism.java tersebut, maka hasilnya adalah sebagai berikut :
Praktikum3
1. Buat file empty java file baru2. Ketikan source code berikut ini dan simpan dengan nama file Hewan.java
3. Buat file empty java file baru
4. Ketikan source code berikut ini dan simpan dengan nama file DemoHewan.java
5. Jalankan file DemoHewan.java tersebut, maka hasilnya adalah sebagai berikut :
III. POST TEST
Buatlah program polimorphism dengan case studi yang berbeda dari praktikum diatasDisini saya akan membuat program tentang Program Studi yang ada di FKOM Uniku
Pertama, kita buat terlebih dahulu class dengan nama Prodi.java
Source code nya adalah sebagai berikut :
Kedua, kita buat class baru dengan nama Fkom.java
Source code nya adalah sebagai berikut :
Kemudian kita jalankan file Fkom.java tersebut, maka hasilnya adalah sebagai berikut :
IV. TUGAS INDIVIDU
Apa perbedaan Inheritance dengan Polimorphism, Jelaskan !
Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep inheritance ini mengadopsi dunia nyata dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dalam dunia nyata, suatu entitas turunan dapat mewarisi apa-apa yang dipunyai dari entitas induknya. Misalkan saja antara entitas Bapak dan entitas Anak. Entitas anak dapat mewarisi apa-apa yang dipunyai oleh entitas Bapaknya. Demikian juga dalam konsep inheritance.
Inheritance
merupakan proses pewarisan data dan method dari suatu class yang telah ada
kepada suatu class baru. Class yang mewariskan disebut dengan superclass /
parent class / base class, sedangkan class yang mewarisi (class yang baru)
disebut dengan subclass/ child class / derived class. Subclass tidak dapat
mewarisi anggota private dari superclass-nya. Dengan inheritance, class yang
baru (subclass) akan mirip dengan class yang lama (superclass) namun memiliki
karakteristik yang baru. Dalam Java, subclass hanya bisa memiliki satu superclass
(single inheritance) sedangkan superclass bisa memiliki satu subclass atau
lebih. Untuk menerapkan inheritance, gunakan statement “extends”.
Sedangkan
Polimorphism mempunyai makna sesuatu yang memiliki banyak bentuk, yaitu
memiliki nama sama, tetapi memiliki kelakuan (behaviour) yang berbeda.
Kondisi yang harus dipenuhi supaya polimorphism dapat
diimplementasikan adalah :
1. Method yang dipanggil
harus melalui variabel dari superclass.
2. Method yang dipanggil
harus juga menjadi method dari super class.
3. Signature method
harus sama baik pada superclass maupun subclass.
4. Method access
attribute pada subclass tidak boleh lebih terbatas dari super class.
DAFTAR PUSTAKA
Buku Modul Praktikum PBO FKOM Universitas Kuninganhttps://syafrudinmtop.blogspot.com/2015/03/inheritance-dan-polymorphism-dalam.html
Komentar
Posting Komentar