7. Pemrograman Berorientasi Objek (OOP) dalam Python

 

✅ 7. Pemrograman Berorientasi Objek (OOP) dalam Python

Pemrograman Berorientasi Objek (Object-Oriented Programming / OOP) adalah paradigma pemrograman yang menggunakan objek untuk mengorganisir kode. OOP membantu dalam membangun program yang lebih modular, terstruktur, dan mudah untuk dikembangkan.


1️⃣ Class & Object

📌 Class adalah blueprint (kerangka) untuk membuat objek.
📌 Object adalah instansi dari class, yang memiliki atribut (data) dan metode (fungsi).

🔹 Membuat Class dan Object

📌 Contoh:

# Membuat class Mobil
class Mobil:
    # Atribut class
    warna = "Merah"
    merk = "Toyota"

# Membuat object dari class Mobil
mobil1 = Mobil()
mobil2 = Mobil()

# Mengakses atribut class
print(mobil1.warna)  # Output: Merah
print(mobil2.merk)   # Output: Toyota

📌 Penjelasan:
✅ Mobil adalah class yang memiliki atribut warna dan merk.
✅ mobil1 dan mobil2 adalah object yang dibuat dari class Mobil.
✅ Kita bisa mengakses atribut dengan object.atribut.


2️⃣ Constructor (__init__()) & Method

📌 Constructor (__init__) adalah metode khusus yang akan dijalankan secara otomatis saat objek dibuat.
📌 Method adalah fungsi yang didefinisikan dalam class untuk memberikan perilaku pada objek.

🔹 Membuat Constructor & Method

📌 Contoh:

# Membuat class dengan constructor
class Mobil:
    def __init__(self, merk, warna):
        self.merk = merk
        self.warna = warna

    # Method untuk menampilkan informasi mobil
    def tampilkan_info(self):
        print(f"Mobil {self.merk} berwarna {self.warna}")

# Membuat object dari class Mobil
mobil1 = Mobil("Toyota", "Merah")
mobil2 = Mobil("Honda", "Biru")

# Memanggil method
mobil1.tampilkan_info()  # Output: Mobil Toyota berwarna Merah
mobil2.tampilkan_info()  # Output: Mobil Honda berwarna Biru

📌 Penjelasan:
✅ __init__(self, merk, warna) adalah constructor yang dijalankan saat objek dibuat.
✅ self.merk dan self.warna adalah atribut yang diatur berdasarkan parameter yang diberikan.
✅ tampilkan_info(self) adalah method yang digunakan untuk menampilkan informasi objek.


3️⃣ Inheritance (Pewarisan) & Polymorphism

📌 Inheritance (Pewarisan) memungkinkan suatu class mewarisi atribut dan method dari class lain.
📌 Polymorphism memungkinkan method dengan nama yang sama tetapi dengan perilaku berbeda pada class yang berbeda.

🔹 Inheritance (Pewarisan)

📌 Contoh:

# Class induk (superclass)
class Kendaraan:
    def __init__(self, merk, warna):
        self.merk = merk
        self.warna = warna

    def info(self):
        print(f"Kendaraan {self.merk} berwarna {self.warna}")

# Class anak (subclass) yang mewarisi class Kendaraan
class Mobil(Kendaraan):
    def __init__(self, merk, warna, jenis):
        super().__init__(merk, warna)  # Memanggil constructor dari superclass
        self.jenis = jenis

    def info_mobil(self):
        print(f"Mobil {self.merk} adalah {self.jenis} berwarna {self.warna}")

# Membuat objek dari subclass
mobil1 = Mobil("Toyota", "Hitam", "SUV")
mobil1.info()        # Output: Kendaraan Toyota berwarna Hitam
mobil1.info_mobil()  # Output: Mobil Toyota adalah SUV berwarna Hitam

📌 Penjelasan:
✅ Mobil adalah subclass yang mewarisi dari Kendaraan.
✅ super().__init__(merk, warna) digunakan untuk memanggil constructor dari superclass.
✅ Mobil memiliki method tambahan info_mobil(), selain method info() dari superclass.


🔹 Polymorphism (Bentuk Berbeda untuk Method yang Sama)

📌 Contoh:

class Burung:
    def bersuara(self):
        print("Cuit cuit!")

class Anjing:
    def bersuara(self):
        print("Guk guk!")

# Polymorphism: Memanggil method dengan nama yang sama dari class yang berbeda
hewan1 = Burung()
hewan2 = Anjing()

hewan1.bersuara()  # Output: Cuit cuit!
hewan2.bersuara()  # Output: Guk guk!

📌 Penjelasan:
✅ Burung dan Anjing memiliki method dengan nama yang sama, yaitu bersuara().
✅ Polymorphism memungkinkan kita memanggil bersuara() dari class yang berbeda dengan output yang berbeda.


📌 Kesimpulan

✅ Class & Object digunakan untuk membuat struktur data yang lebih rapi dan modular.
✅ Constructor (__init__()) & Method memungkinkan kita membuat objek dengan atribut dan perilaku khusus.
✅ Inheritance (Pewarisan) memungkinkan class baru mewarisi atribut dan method dari class lain.
✅ Polymorphism memungkinkan method dengan nama yang sama memiliki perilaku berbeda pada class yang berbeda.


🔥 Selanjutnya, kita akan belajar tentang Manipulasi File dalam Python. Mau aku buatkan penjelasannya juga? 🚀

Tidak ada komentar:

Posting Komentar