Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang berfokus pada konsep objek. Dalam OOP, program dibangun dengan membuat objek yang mewakili entitas atau konsep dalam dunia nyata. Objek memiliki atribut (variabel) dan metode (fungsi) yang digunakan untuk mengakses dan memanipulasi data. Python mendukung OOP dengan kuat, dan berikut adalah konsep dasar OOP dalam Python beserta contohnya:
1. Kelas (Class)
Kelas adalah blueprint atau cetak biru untuk objek. Ini adalah struktur yang mendefinisikan atribut (variabel) dan metode (fungsi) yang akan dimiliki oleh objek yang akan dibuat dari kelas tersebut.
Contoh:
class Mobil:
def __init__(self, merk, warna):
self.merk = merk
self.warna = warna
def info(self):
return f"Mobil {self.merk} berwarna {self.warna}"
Di atas, kita telah mendefinisikan kelas Mobil dengan dua atribut (merk dan warna) dan metode info yang memberikan informasi tentang mobil.
2. Objek (Object)
Objek adalah instance yang dibuat dari kelas. Objek memiliki atribut yang didefinisikan oleh kelasnya dan dapat menggunakan metode yang didefinisikan dalam kelas tersebut.
Contoh:
mobil1 = Mobil("Toyota", "Merah")
mobil2 = Mobil("Honda", "Biru")
Kami telah membuat dua objek, mobil1 dan mobil2, yang merupakan instance dari kelas Mobil.
3. Atribut (Attribute)
Atribut adalah variabel yang dimiliki oleh objek. Atribut dapat berbeda nilainya antara satu objek dengan objek lainnya.
Contoh:
print(mobil1.merk) # Output: Toyota
print(mobil2.warna) # Output: Biru
Kami mengakses atribut merk dan warna dari objek mobil1 dan mobil2.
4. Metode (Method)
Metode adalah fungsi yang dimiliki oleh objek. Metode dapat digunakan untuk melakukan tindakan tertentu pada objek atau mengembalikan informasi tentang objek.
Contoh:
print(mobil1.info()) # Output: Mobil Toyota berwarna Merah
print(mobil2.info()) # Output: Mobil Honda berwarna Biru
Kami menggunakan metode info untuk mendapatkan informasi tentang objek mobil1 dan mobil2.
5. Inheritance (Pewarisan)
Inheritance adalah konsep di mana kelas baru (subclass) dapat mewarisi atribut dan metode dari kelas yang sudah ada (superclass). Ini memungkinkan untuk membuat hierarki kelas.
Contoh:
class MobilListrik(Mobil):
def __init__(self, merk, warna, baterai):
super().__init__(merk, warna)
self.baterai = baterai
def info(self):
return f"Mobil listrik {self.merk} berwarna {self.warna} dengan baterai {self.baterai} 75 kWh"
Di sini, kita telah membuat kelas MobilListrik yang adalah subclass dari Mobil. Ini mewarisi atribut dan metode dari kelas Mobil.
6. Polymorphism
Polymorphism adalah konsep di mana objek dari berbagai kelas dapat digunakan dengan cara yang serupa. Ini memungkinkan untuk mengganti metode yang ada atau menambahkan metode baru di kelas turunan.
Contoh:
def deskripsi_mobil(mobil):
print(mobil.info())
mobil1 = Mobil("Toyota", "Merah")
mobil_listrik1 = MobilListrik("Tesla", "Putih", 75)
deskripsi_mobil(mobil1) # Output: Mobil Toyota berwarna Merah
deskripsi_mobil(mobil_listrik1) # Output: Mobil listrik Tesla berwarna Putih dengan baterai 75 kWh
Di sini, kita memiliki fungsi deskripsi_mobil yang dapat menerima objek dari kelas Mobil atau MobilListrik, menunjukkan polymorphism.
Ini adalah beberapa konsep dasar OOP dalam Python. OOP adalah pendekatan yang kuat dan sangat berguna dalam pengembangan perangkat lunak yang besar dan kompleks.
