Pemrograman Python OOP
Posted on 2024-05-28 09:14:08 admin
Object-Oriented Programming (OOP) adalah paradigma pemrograman yang menggunakan konsep "objek" dan "kelas". Dalam OOP, data dan fungsionalitas digabungkan menjadi satu kesatuan yang disebut sebagai objek. Python, sebagai salah satu bahasa pemrograman yang populer, mendukung OOP dengan baik.
Pengenalan Kelas dan Objek
Dalam OOP Python, kelas adalah blueprint atau cetak biru untuk membuat objek. Kelas mendefinisikan atribut dan metode yang dimiliki objek. Sebaliknya, objek adalah instance dari kelas tersebut. Berikut adalah contoh mendefinisikan kelas dalam Python:
class Hewan:
def __init__(self, nama, jenis):
self.nama = nama
self.jenis = jenis
def deskripsi(self):
return f"{self.nama} adalah seekor {self.jenis}"
Dalam contoh di atas, Hewan
adalah kelas dengan dua atribut (nama dan jenis) dan satu metode (deskripsi). Atribut didefinisikan dalam metode __init__
, yang merupakan konstruktor kelas.
Membuat Objek
Untuk membuat objek dari kelas, cukup panggil kelas seolah-olah itu adalah fungsi:
kucing = Hewan("Tom", "Kucing")
print(kucing.deskripsi()) # Output: Tom adalah seekor Kucing
Pemanggilan Hewan("Tom", "Kucing")
membuat objek kucing
yang merupakan instance dari kelas Hewan
.
Encapsulation (Penyembunyian)
Encapsulation adalah konsep OOP yang membungkus data (atribut) dan kode (metode) bersama-sama sebagai satu unit. Hal ini bertujuan untuk melindungi data dari akses yang tidak diinginkan. Pada Python, Anda dapat menggunakan prefix underscore untuk menunjukkan bahwa suatu atribut adalah private:
class Manusia:
def __init__(self, nama, usia):
self._nama = nama
self._usia = usia
def get_nama(self):
return self._nama
def get_usia(self):
return self._usia
Dalam contoh di atas, atribut _nama
dan _usia
diindikasikan sebagai private dengan menggunakan prefix underscore. Metode get_nama
dan get_usia
digunakan untuk mengakses atribut tersebut secara aman.
Inheritance (Pewarisan)
Inheritance adalah konsep OOP yang memungkinkan satu kelas untuk mewarisi atribut dan metode dari kelas lainnya. Kelas yang diwariskan disebut sebagai "superclass" atau "parent class", sedangkan kelas yang mewarisi disebut "subclass" atau "child class". Contoh berikut menunjukkan bagaimana inheritance digunakan di Python:
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
raise NotImplementedError("Subclasses must implement this method")
class Dog(Animal):
def speak(self):
return f"{self.name} says Woof!"
class Cat(Animal):
def speak(self):
return f"{self.name} says Meow!"
dog = Dog("Buddy")
cat = Cat("Kitty")
print(dog.speak()) # Output: Buddy says Woof!
print(cat.speak()) # Output: Kitty says Meow!
Di sini, Dog
dan Cat
mewarisi dari kelas Animal
, tetapi mereka menerapkan metode speak
mereka sendiri.
Polymorphism (Polimorfisme)
Polymorphism adalah konsep dalam OOP yang memungkinkan objek dari kelas yang berbeda untuk diperlakukan sebagai objek dari kelas yang sama melalui antarmuka yang sama. Dalam contoh inheritance di atas, metode speak
menunjukkan polimorfisme karena kelas yang berbeda (Dog dan Cat) mengimplementasikan metode dengan cara yang berbeda.
OOP dalam Python memungkinkan pengembangan perangkat lunak yang lebih modular, terorganisir, dan mudah dipelihara. Dengan memahami konsep dasar seperti kelas, objek, inheritance, dan polymorphism, Anda dapat membuat program Python yang lebih efektif dan efisien.