Tutorial pemrograman berorientasi objek #4 - Polimorfisme - Galih Laras Prakoso

Rabu, 12 Desember 2018

Tutorial pemrograman berorientasi objek #4 - Polimorfisme
tutorial-pemrograman-berorientasi-objek-4-polimorfisme-cover

Akhirnya kita sampai di bagian terakhir dari seri tutorial pemrograman berorientasi objek ini. Mungkin terdengar sangat asing bagi kamu yang baru pertama kali mendengar kata ini. Tapi tenang saja, seperti yang sudah aku janjikan sebelumnya bahwa penjelasannya akan aku buat sesederhana mungkin sehingga menjadi sangat mudah untuk dipahami.

Pada tutorial sebelumnya kita sudah sama-sama belajar tentang pewarisan dalam PBO dan kita sangat senang bahwa pewarisan membantu kita untuk memecahkan masalah. Tetapi sekarang justru permasalahan baru muncul dari pewarisan.

tutorial-pemrograman-berorientasi-objek-4-polimorfisme-ilustrasi

Perhatikan beberapa bangun datar diatas. Kita tahu bahwa bangun datar memiliki 2 kesamaan yang sangat umum yaitu sama-sama memiliki Luas dan Keliling. Lalu dimana permasalahannya?

Oke, sekarang misalnya kita menginginkan sebuah koleksi yang di dalamnya terdapat campuran 3 bangun datar di atas. Kita ingin memperlakukan semua objek yang ada dalam koleksi tersebut dengan cara yang sama.

Misalnya untuk koleksi yang di dalamnya terdapat campuran dari 3 objek di atas kita ingin menghitung luas dan keliling masing-masing objek, bagaimana kita memperlakukan 3 objek tersebut dengan cara yang sama padahal 3 objek tersebut adalah objek yang berbeda, cara menghitung keliling dan luasnya pun berbeda. Polimorfisme dapat menjadi solusi atas permasalahan di atas.

Polimorfisme
Polimorfisme diambil dari bahasa Yunani yang berarti "banyak bentuk". Dengan polimorfisme kita dapat memperlakukan campuran objek dalam sebuah koleksi dengan cara yang sama.

Polimorfisme memungkinkan kita untuk memperlakukan sebuah child class sama persis seperti parent class nya. Misalnya dalam contoh kasus di atas, lingkaran, segitiga dan persegi adalah child class dari parent class yang bernama bangun datar.

Ketika kita bisa mengimplementasikan pengukuran luas dan keliling pada parent class yaitu bangun datar, tentunya pengukuran luas dan keliling juga akan dapat di dimplementasikan kepada child class-nya yaitu lingkaransegitiga dan persegi.

Yuk, mari kita lihat implementasinya di baris kode Java.

Seperti yang kita lihat pada contoh kodingan di atas, class LingkaranSegitigaSamaSisi dan Persegi adalah turunan dari class BangunDatar. BangunDatar adalah abstract class yang memiliki dua abstract method yang harus diimplementasikan oleh class turunannya yaitu hitungLuas() dan hitungKeliling().

Dengan begitu kita dapat menyimpan koleksi bangun datar yang isinya terdapat campuran tiga objek yakni lingkaran, segitiga dan persegi. Dan kita dapat memperlakukan tiga objek yang berbeda tersebut seperti bangun datar yaitu menghitung keliling dan luasnya.
Yee. Masalah selesai! Selamat, kamu sekarang sudah mempelajari keempat prinsip dari PBO. Jika masih ada yang kamu belum mengerti, jangan malu untuk bertanya, silahkan meninggalkan pertanyaan pada kolom komentar di bawah. Bagikan tutorial ini kepada teman-temanmu yang lain supaya mereka juga benar-benar paham PBO beserta implementasinya dalam memecahkan masalah di dunia nyata melalui pemrograman.

Web App Developer, Mobile App Developer and Startup Enterpreneur.

0 komentar:

Posting Komentar

GALIH LARAS PRAKOSO
-
Yogyakarta, Indonesia

SEND ME A MESSAGE