✅ 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