Polimorfisme Adalah: Pengertian, Tipe-Tipe, dan Contohnya

Muthiatur Rohmah

•

01 July 2024

•

424

Image Banner

Di dunia pemrograman, polimorfisme adalah salah satu konsep yang wajib dipahami. Pasalnya, konsep ini memungkinkan kode yang dibuat menjadi lebih fleksibel dan mudah diubah.

Pemahaman ini terutama penting buat kamu yang bekerja dalam pemrograman berorientasi objek. Kalau tertarik untuk mempelajarinya, baca penjelasan lengkapnya di bawah ini, ya!


Apa yang Dimaksud dengan Polimorfisme?

Polimorfisme adalah konsep populer dalam pemrograman berorientasi objek (OOP). 

Dilansir dari techtarget, polimorfisme merupakan konsep yang merujuk pada ide bahwa suatu entitas dalam kode bisa memiliki lebih dari satu bentuk. Entitas tersebut bisa beruba variabel, fungsi, ataupun objek.

Bentuk-bentuk berbeda ini muncul karena entitas tersebut dapat diberi makna yang berbeda. Selain itu, mereka juga bisa digunakan dengan berbagai cara dalam konteks yang berbeda.

Di samping itu, banyak bahasa pemrograman yang mendukung polimorfisme, termasuk Java, Ruby, C++, PHP, dan Python. 

Dalam bahasa itu, polimorfisme memungkinkan objek-objek dari kelas yang berada dalam pohon hierarki sama untuk berperilaku berbeda. Ini berlaku meskipun mungkin memiliki fungsi dengan nama yang sama.

Lebih lanjut, polimorfisme merupakan konsep fundamental yang memberikan fleksibilitas dalam penggunaan kode dan mempermudah pemeliharaan serta pengembangan perangkat lunak. 

Dengan memahami polimorfisme, kamu dapat menulis kode yang lebih efisien dan mudah diubah sesuai kebutuhan.


Tipe-Tipe Polimorfisme

Dilansir dari techtarget, polimorfisme bisa dibagi jadi 2 tipe utama yang mencakup compile-time polymorphism dan runtime polymorphism. Berikut adalah penjelasan lengkapnya:


Polimorfisme Waktu Kompilasi (Compile-Time Polymorphism)

Nama lain dari kategori ini adalah polimorfisme statis. Tipe ini bekerja menggunakan metode overloading

Teknik ini membuat beberapa metode dengan nama yang sama dalam satu kelas, tetapi dengan jumlah atau tipe parameter yang berbeda.


Polimorfisme Waktu Eksekusi (Runtime Polymorphism)

Nama lain dari tipe ini adalah polimorfisme dinamis. Kategori ini bekerja menggunakan metode overriding.

Teknik ini bekerja ketika kelas anak memberikan definisi baru untuk metode yang ada di kelas induk. Ini sering dikaitkan dengan upcasting, di mana kelas induk menunjuk ke instance dari kelas anak.


Contoh Polimorfisme

Supaya lebih paham dengan konsep ini, MinDi akan kasih contohnya. Dalam contoh ini, MinDi punya kelas Hewan dengan metode suara(). Kelas Anjing dan Kucing menulis ulang (override) metode suara() tersebut dengan implementasi masing-masing. 

Saat program berjalan, objek Hewan akan memanggil metode suara() yang sesuai dengan jenis objek sebenarnya, apakah itu Anjing atau Kucing. Kode program tersebut bisa ditulis seperti ini:



Dalam contoh di atas, metode suara() menunjukkan polimorfisme karena metode yang dipanggil tergantung pada jenis objek sebenarnya saat runtime. 

Jika objek Hewan adalah Anjing, maka metode suara() dari kelas Anjing yang dipanggil. Jika objek Hewan adalah Kucing, maka metode suara() dari kelas Kucing yang dipanggil.


Kesimpulan

Itulah penjelasan mendalam mengenai apa itu polimorfisme. Dapat disimpulkan bahwa polimorfisme adalah konsep penting dalam pemrograman berorientasi objek. 

Konsep ini membantu memastikan bahwa kodemulebih fleksibel dan mudah diubah. Selain pemahaman tentang polimorfisme, menguasai berbagai konsep ilmu data juga bisa mempermudah pekerjaanmu. 

Kalau tertarik mempelajarinya, MinDi rekomendasikan kamu untuk ikut Bootcamp Data Science Dibimbing.id.

Di sini, kamu akan belajar semua hal tentang data science, machine learning, dan data analytics bersama mentor ahli di industri. 

Kalau baru mulaipun, kamu tidak perlu khawatir karena pelajarannya dirancang untuk pemula. Selain itu, kamu juga akan mendapatkan pengalaman langsung melalui proyek-proyek nyata selama program berlangsung. 

Bukan hanya itu, kamu juga akan dijamin mendapatkan pekerjaan lewat koneksi ke lebih dari 500+ perusahaan. Jadi, segera daftarkan dirimu dan tingkatkan keahlian di bidang pemrograman bareng Dibimbing.id!


FAQ (Frequently Asked Questions)

1. Apa yang Dimaksud dengan Polimorfisme dalam Java?

Polimorfisme dalam Java adalah konsep dalam pemrograman berorientasi objek yang memungkinkan satu metode atau fungsi untuk memiliki berbagai bentuk. 

Ini bisa dicapai melalui dua mekanisme utama: metode overloading dan overriding. Berikut detailnya:

  1. Metode Overloading: Ini adalah bentuk polimorfisme statis atau compile-time. Dalam overloading, beberapa metode dalam satu kelas dapat memiliki nama yang sama tetapi dengan parameter yang berbeda (jumlah atau tipe parameter). Contohnya:


  1. Metode Overriding: Ini adalah bentuk polimorfisme dinamis atau runtime. Dalam overriding, sebuah metode di kelas anak dapat menulis ulang metode yang ada di kelas induk dengan implementasi yang berbeda. Contohnya:


2. Apa Itu Polimorfisme pada Python?

Polimorfisme pada Python adalah konsep yang memungkinkan metode atau fungsi untuk beroperasi dengan cara yang berbeda tergantung pada objek yang memanggilnya. 

Python mendukung polimorfisme melalui duck typing, di mana tipe suatu objek ditentukan oleh cara objek tersebut digunakan, bukan oleh deklarasi tipe eksplisit.


Referensi

  1. Polymorphism in Java [Buka]
  2. OOP Concepts for Beginners: What is Polymorphism [Buka]
  3. Polymorphism [Buka]

Share

Author Image

Muthiatur Rohmah

Muthia adalah seorang Content Writer dengan kurang lebih satu tahun pengalaman. Muthia seorang lulusan Sastra Indonesia yang hobi menonton dan menulis. Sebagai SEO Content Writer Dibimbing, Ia telah menulis berbagai konten yang berkaitan dengan Human Resources, Business Intelligence, Web Development, Product Management dan Digital Marketing.

Hi!👋

Kalau kamu butuh bantuan,

hubungi kami via WhatsApp ya!