Polimorfisme
Jelajahi konsep OOP tingkat lanjut.
Polimorfisme adalah pelajaran Python For Kids gratis di CoddyKit. Ini adalah pelajaran 5 dari 5. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python For Kids, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python For Kids mencakup 5 pelajaran total.
Polimorfisme
Selamat datang kembali di pelajaran Pemrograman Berorientasi Objek (OOP)! Hari ini, kita akan mempelajari polimorfisme dalam Python, yaitu konsep penting yang memungkinkan objek memiliki berbagai bentuk.

Apa Itu Polimorfisme?
Polimorfisme adalah konsep dasar dalam OOP yang memungkinkan objek dari kelas yang berbeda diperlakukan sebagai objek dari kelas induk yang sama. Konsep ini memungkinkan metode yang sama berperilaku secara berbeda berdasarkan objek yang memanggilnya.
- Definisi: "Banyak bentuk" — kemampuan objek yang berbeda untuk merespons secara unik terhadap pemanggilan metode yang sama.
- Tujuan: Meningkatkan fleksibilitas dan integrasi kode dengan memungkinkan objek yang dapat saling dipertukarkan.
Mari lihat cara kerja polimorfisme dalam Python!
Menerapkan Polimorfisme
Polimorfisme dapat dicapai dalam Python melalui penggantian metode dan penggunaan fungsi bawaan yang dapat bekerja dengan berbagai jenis objek.
- Penggantian Metode: Mendefinisikan ulang metode di kelas turunan yang sebelumnya telah didefinisikan di kelas induk.
- Fungsi Bawaan: Fungsi seperti
len()yang dapat bekerja dengan berbagai tipe data.
Mari pelajari penggantian metode secara lebih mendalam.
Penggantian Metode
Penggantian metode memungkinkan kelas turunan menyediakan implementasi khusus untuk metode yang telah didefinisikan di kelas induknya. Hal ini merupakan aspek penting dari polimorfisme.
Contoh:
# Defines the Animal parent class with a speak method
class Animal:
def speak(self):
print("The animal makes a sound.") # Generic speak method
Membuat Kelas Turunan dengan Metode yang Diganti
Mari buat kelas turunan yang mewarisi dari Animal dan mengganti metode speak untuk memberikan perilaku khusus.
Contoh:
# Defines the Dog child class inheriting from Animal
class Dog(Animal):
def speak(self):
print("The dog barks.") # Overridden speak method
# Defines the Cat child class inheriting from Animal
class Cat(Animal):
def speak(self):
print("The cat meows.") # Overridden speak method
Menggunakan Polimorfisme dengan Metode yang Diganti
Sekarang, mari buat objek dari kelas turunan dan lihat bagaimana objek tersebut menunjukkan perilaku yang berbeda dengan menggunakan nama metode yang sama.
Contoh:
# Creates objects of Dog and Cat classes
dog = Dog()
cat = Cat()
# Calls the speak method on both objects
dog.speak() # Output: The dog barks.
cat.speak() # Output: The cat meows.
Polimorfisme dengan Fungsi Bawaan
Polimorfisme tidak terbatas pada kelas yang ditentukan pengguna. Fungsi bawaan Python seperti len() dapat bekerja dengan berbagai tipe data, sehingga menunjukkan perilaku polimorfik.
Contoh:
# Uses len() with a list
my_list = [1, 2, 3, 4]
print(len(my_list)) # Output: 4
# Uses len() with a string
my_string = "Hello"
print(len(my_string)) # Output: 5
# Uses len() with a dictionary
my_dict = {"a": 1, "b": 2}
print(len(my_dict)) # Output: 2
Program Contoh: Menghitung Luas Shape
Mari buat program yang menghitung luas berbagai bentuk menggunakan polimorfisme. Kita akan mendefinisikan kelas induk Shape serta kelas turunan Circle dan Rectangle yang mengganti metode area.
Kode:
# Defines the Shape parent class with an area method
class Shape:
def area(self):
pass # Placeholder method
# Defines the Circle child class inheriting from Shape
class Circle(Shape):
def __init__(self, radius):
self.radius = radius # Sets the radius of the circle
def area(self):
return 3.14 * self.radius ** 2 # Calculates area of the circle
# Defines the Rectangle child class inheriting from Shape
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width # Sets the width of the rectangle
self.height = height # Sets the height of the rectangle
def area(self):
return self.width * self.height # Calculates area of the rectangle
# Creates objects of Circle and Rectangle classes
circle = Circle(5)
rectangle = Rectangle(4, 6)
# Calculates and prints areas using polymorphism
print("Circle Area:", circle.area()) # Output: Circle Area: 78.5
print("Rectangle Area:", rectangle.area()) # Output: Rectangle Area: 24
# Defines the Vehicle parent class with a move method
class Vehicle:
def move(self):
print("The vehicle moves.")
# Defines the Bicycle child class inheriting from Vehicle
class Bicycle(Vehicle):
def move(self):
print("The bicycle pedals forward.")
# Defines the Airplane child class inheriting from Vehicle
class Airplane(Vehicle):
def move(self):
print("The airplane flies in the sky.")
# Creates objects of Bicycle and Airplane classes
bike = Bicycle()
plane = Airplane()
# Calls the move method on both objects
bike.move()
plane.move()
Kerja Bagus!
Anda telah mempelajari polimorfisme dalam Python dan cara konsep ini memungkinkan objek dari kelas yang berbeda merespons secara unik terhadap pemanggilan metode yang sama. Polimorfisme meningkatkan fleksibilitas dan skalabilitas kode Anda, sehingga kode lebih mudah dikelola dan dikembangkan. Teruslah berlatih dengan membuat lebih banyak kelas dan metode yang memanfaatkan perilaku polimorfik untuk memperkuat pemahaman Anda!

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Polimorfisme ” gratis?
Ya — teks lengkap “Polimorfisme ” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python For Kids, upgrade ke CoddyKit PRO. Kursus Python For Kids mencakup 5 pelajaran total.
Apa yang akan aku pelajari di “Polimorfisme ”?
Jelajahi konsep OOP tingkat lanjut. Kamu berlatih Python For Kids dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Python For Kids?
Tidak diperlukan pengalaman sebelumnya. Python For Kids di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 5 dari 5.
Berapa lama pelajaran “Polimorfisme ” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Python For Kids ini?
Ya. Setiap pelajaran Python For Kids menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.