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).
2. 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 :
2. 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 :
2. 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 :
Source code nya adalah sebagai berikut :
Kemudian buat class baru, kemmudian ketikan source code berikut ini :
terakhir kita jalankan program tersebut, maka hasilnya adalah sebagai berikut :
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 diatasSource code nya adalah sebagai berikut :
Kemudian buat class baru, kemmudian ketikan source code berikut ini :
terakhir kita jalankan program 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.
Sekian yang dapat saya sampaikan, Terimakasih :)
Komentar
Posting Komentar