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 Modul6PBO
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 :

Praktikum2

1. Buat file empty java file baru
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 :

Praktikum3

1. Buat file empty java file baru
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 :

III. POST TEST

Buatlah program polimorphism dengan case studi yang berbeda dari praktikum diatas

Disini 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 Kuningan
https://syafrudinmtop.blogspot.com/2015/03/inheritance-dan-polymorphism-dalam.html

Komentar

Postingan populer dari blog ini

Laporan Praktikum Jaringan Komputer Modul 2 (IP Addressing dan Simulator Cisco Packet Tracer)

Praktikum Jaringan Komputer Modul 7 (Static Routing)

Praktikum Jaringan Komputer Modul 4 (VLAN TRUNKING)