Main Menu

Belajar Python Dasar #13: Inheritance


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar Python Dasar #13: Inheritance

Halo teman-teman semuanya, pada artikel kali ini kita akan membahas tentang Inheritance atau pewarisan dalam Python.

Inheritance adalah salah satu pilar utama Pemrograman Berorientasi Objek (OOP) yang memungkinkan sebuah class mewarisi atribut dan method dari class lain.

Dengan inheritance, kita bisa membuat class baru (anak/turunan) yang mewarisi sifat dari class lama (induk/parent). Hal ini membuat kode lebih efisien, reusable, dan mudah dikembangkan.

Apa itu Inheritance?

  • Parent class (superclass) → class yang diwarisi.
  • Child class (subclass) → class turunan yang mewarisi atribut dan method dari parent.

Subclass bisa:

  1. Menggunakan semua atribut dan method parent class.
  2. Menambahkan atribut/method baru.
  3. Menimpa (override) method dari parent class.

Contoh Inheritance Dasar

# Parent class
class Hewan:
    def __init__(self, nama):
        self.nama = nama

    def suara(self):
        print("Hewan ini memiliki suara.")

# Child class
class Kucing(Hewan):
    def suara(self):
        print(f"{self.nama} mengeong: Meow!")

class Anjing(Hewan):
    def suara(self):
        print(f"{self.nama} menggonggong: Guk guk!")

# Membuat objek dari class turunan
kucing = Kucing("Tom")
anjing = Anjing("Spike")

kucing.suara()
anjing.suara()

Output:

Tom mengeong: Meow!
Spike menggonggong: Guk guk!

Pada contoh di atas:

  • Class Kucing dan Anjing adalah turunan dari class Hewan.
  • Mereka mewarisi atribut nama, tapi menimpa method suara() agar lebih spesifik.

Menambahkan Method Baru di Subclass

class Burung(Hewan):
    def suara(self):
        print(f"{self.nama} berkicau: Cuit cuit!")

    def terbang(self):
        print(f"{self.nama} sedang terbang!")
        
burung = Burung("Rio")
burung.suara()
burung.terbang()

Output:

Rio berkicau: Cuit cuit!
Rio sedang terbang!

Subclass Burung selain menimpa method suara(), juga menambahkan method baru terbang().

Menggunakan super() untuk Akses Parent

Kadang kita ingin menambahkan fungsionalitas baru tanpa menghapus perilaku lama. Kita bisa menggunakan super() untuk memanggil constructor atau method dari parent class.

class Mahasiswa:
    def __init__(self, nama, jurusan):
        self.nama = nama
        self.jurusan = jurusan

    def info(self):
        print(f"Nama: {self.nama}, Jurusan: {self.jurusan}")

class MahasiswaBaru(Mahasiswa):
    def __init__(self, nama, jurusan, tahun_masuk):
        super().__init__(nama, jurusan)   # memanggil constructor parent
        self.tahun_masuk = tahun_masuk

    def info(self):
        super().info()  # memanggil method parent
        print(f"Tahun Masuk: {self.tahun_masuk}")

maba = MahasiswaBaru("Andi", "Informatika", 2025)
maba.info()

Output:

Nama: Andi, Jurusan: Informatika
Tahun Masuk: 2025

Dengan super(), subclass MahasiswaBaru bisa memperluas method info() dari parent Mahasiswa.

Kesimpulan

Pada artikel ini kita sudah mempelajari tentang Inheritance (pewarisan) di Python. Inheritance memungkinkan sebuah class turunan untuk mewarisi atribut dan method dari class induk, serta dapat menambahkan atau menimpa perilaku sesuai kebutuhan.

Dengan inheritance, kode menjadi lebih ringkas, reusable, dan mudah dikembangkan. Setelah memahami inheritance, kita bisa melanjutkan ke konsep berikutnya, yaitu Polymorphism, yang membuat method dengan nama sama dapat berperilaku berbeda sesuai objeknya.

Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami