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