Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Memahami Polimorfisme di Python

2 min read .
Memahami Polimorfisme di Python

Polimorfisme adalah konsep inti dalam pemrograman berorientasi objek (OOP) yang memungkinkan objek dari kelas berbeda diperlakukan sebagai objek dari superclass yang sama. Ini membuat kode lebih fleksibel, dapat digunakan kembali, dan lebih mudah dipelihara. Di panduan ini, kita akan membahas apa itu polimorfisme, cara kerjanya di Python, dan aplikasinya dalam dunia nyata.

1. Apa Itu Polimorfisme?

Polimorfisme berasal dari bahasa Yunani yang berarti “banyak bentuk.” Dalam pemrograman, polimorfisme memungkinkan kelas berbeda memberikan implementasi unik dari metode yang memiliki nama sama. Dengan polimorfisme, objek yang berbeda dapat diproses melalui antarmuka yang seragam.

2. Cara Kerja Polimorfisme di Python

Di Python, polimorfisme memungkinkan Anda mendefinisikan metode di kelas dasar dan meng-override metode tersebut di kelas turunan. Nama metode yang sama dapat berperilaku berbeda tergantung pada objek yang memanggilnya. Hal ini sangat berguna saat bekerja dengan hierarki kelas dan merancang perangkat lunak yang fleksibel.

3. Jenis Polimorfisme di Python

Python mendukung dua jenis polimorfisme utama:

  • Polimorfisme Waktu Kompilasi (Method Overloading): Python tidak mendukung overloading tradisional, tetapi hasil serupa dapat dicapai dengan argumen default.
  • Polimorfisme Waktu Eksekusi (Method Overriding): Terjadi ketika kelas anak menyediakan implementasi spesifik dari metode yang sudah ada di kelas induk.

4. Polimorfisme dengan Inheritance

Polimorfisme sangat erat kaitannya dengan inheritance. Saat kelas turunan meng-override metode dari kelas induk, perilaku metode bisa berbeda tergantung objek yang digunakan.

Contoh:

class Animal:
    def sound(self):
        print("This animal makes a sound")

class Dog(Animal):
    def sound(self):
        print("The dog barks")

class Cat(Animal):
    def sound(self):
        print("The cat meows")

# Menggunakan polimorfisme
animals = [Dog(), Cat()]

for animal in animals:
    animal.sound()

Output:

The dog barks
The cat meows

5. Polimorfisme dengan Fungsi dan Metode

Polimorfisme juga bekerja dengan fungsi, memungkinkan fungsi menangani objek secara berbeda berdasarkan tipe objek. Contohnya, fungsi yang menerima parameter dapat menerima objek apa pun yang memiliki metode tertentu, terlepas dari kelasnya.

Contoh:

def make_sound(animal):
    animal.sound()

make_sound(Dog())  # Output: The dog barks
make_sound(Cat())  # Output: The cat meows

6. Contoh Polimorfisme di Dunia Nyata

  • Pengembangan GUI: Berbagai objek tombol dapat memiliki handler klik yang sama.
  • Pemrosesan Data: Format data yang berbeda bisa diproses menggunakan antarmuka yang sama.
  • Pengembangan Game: Karakter dalam game bisa memiliki aksi umum seperti move, attack, atau defend, dengan implementasi berbeda tergantung jenis karakter.

7. Keuntungan Menggunakan Polimorfisme di Python

  • Kode Bisa Digunakan Kembali: Menulis kode yang bekerja dengan berbagai objek menggunakan satu antarmuka.
  • Mudah Dipelihara: Menambahkan kelas baru tanpa mengubah kode yang sudah ada.
  • Fleksibel dan Skalabel: Menyesuaikan dengan kebutuhan baru dengan membuat kelas baru tanpa merubah struktur utama.

8. Kesimpulan

Polimorfisme adalah fitur Python yang kuat, meningkatkan fleksibilitas dan membuat kode lebih bersih serta mudah dipelihara. Dengan memahami polimorfisme, Anda dapat membangun aplikasi yang lebih mudah dipahami, diperluas, dan dikelola.

Lihat Juga

chevron-up