1. Pendahuluan tentang Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang didasarkan pada konsep “objek”, yang merupakan entitas yang memiliki data (atribut) dan kode (metode) yang berhubungan dengan entitas tersebut. OOP memungkinkan pengembang untuk mengorganisasi dan memanipulasi kode dalam bentuk yang lebih terstruktur dan modular, yang memudahkan dalam pengembangan, pemeliharaan, dan penggunaan kembali kode.
Dalam paradigma OOP, dunia nyata dipetakan ke dalam model objek di dalam program. Setiap objek memiliki karakteristik yang unik (atribut) dan dapat melakukan tindakan tertentu (metode). Misalnya, sebuah objek “Mobil” dapat memiliki atribut seperti merk, model, dan warna, serta metode untuk mengendarai, menghentikan, atau memperbaiki mobil tersebut.
Python adalah salah satu bahasa pemrograman yang mendukung OOP secara alami. Dalam Python, hampir semua hal adalah objek, termasuk angka, string, list, dan bahkan fungsi. Hal ini memungkinkan pengembang untuk menggunakan konsep OOP secara langsung dalam kode mereka tanpa perlu melalui proses tambahan.
Dalam artikel ini, kita akan menjelajahi konsep dasar OOP dalam Python, termasuk kelas, objek, enkapsulasi, pewarisan, dan polimorfisme. Dengan memahami konsep-konsep ini, Anda akan memiliki dasar yang kuat untuk mengembangkan aplikasi Python yang lebih besar dan lebih kompleks menggunakan paradigma OOP.
2. Kelas dan Objek
Dalam Pemrograman Berorientasi Objek (OOP), kelas adalah cetak biru atau templat untuk membuat objek, sedangkan objek adalah instansi dari kelas. Setiap objek memiliki atribut yang mendefinisikan karakteristik objek tersebut, dan metode yang mendefinisikan perilaku objek tersebut.
Definisi Kelas:
Kelas didefinisikan menggunakan kata kunci class
diikuti dengan nama kelas, dan di dalamnya berisi definisi atribut dan metode.
class Manusia:
def __init__(self, nama, usia):
self.nama = nama
self.usia = usia
def sapa(self):
print(f"Halo, nama saya {self.nama} dan saya berusia {self.usia} tahun.")
Pembuatan Objek:
Objek dibuat dari sebuah kelas menggunakan sintaks nama_kelas()
. Proses ini disebut “instansiasi”.
orang = Manusia("John", 30)
Panggilan Metode Objek:
Setelah objek dibuat, metode dapat dipanggil pada objek tersebut menggunakan sintaks nama_objek.nama_metode()
.
orang.sapa() # Output: Halo, nama saya John dan saya berusia 30 tahun.
Dalam contoh di atas, Manusia
adalah kelas yang memiliki atribut nama
dan usia
, serta metode sapa()
. Objek orang
dibuat dari kelas Manusia
, dan kemudian metode sapa()
dipanggil pada objek tersebut. Hal ini menghasilkan output “Halo, nama saya John dan saya berusia 30 tahun.”
3. Encapsulation
Encapsulation adalah konsep dalam Pemrograman Berorientasi Objek (OOP) yang mengacu pada pembungkusan data dan metode yang beroperasi pada data dalam satu unit. Dengan menggunakan encapsulation, Anda dapat menyembunyikan detail implementasi internal suatu objek dari pengguna luar. Dalam Python, encapsulation dapat dicapai dengan menggunakan atribut dan metode pribadi.
Atribut Pribadi:
Atribut pribadi adalah atribut yang dimulai dengan garis bawah ganda (_
). Atribut ini tidak seharusnya diakses secara langsung dari luar kelas.
class Manusia:
def __init__(self, nama, usia):
self._nama = nama # Atribut pribadi
self._usia = usia
def sapa(self):
print(f"Halo, nama saya {self._nama} dan saya berusia {self._usia} tahun.")
Metode Pribadi:
Metode pribadi adalah metode yang dimulai dengan garis bawah ganda (_
). Metode ini tidak seharusnya dipanggil dari luar kelas.
class Manusia:
def __init__(self, nama, usia):
self._nama = nama
self._usia = usia
def _sapa(self): # Metode pribadi
print(f"Halo, nama saya {self._nama} dan saya berusia {self._usia} tahun.")
orang = Manusia("Anna", 25)
orang._sapa() # Memanggil metode pribadi
Dengan menggunakan encapsulation, Anda dapat mengendalikan akses ke atribut dan metode dalam kelas Anda, sehingga meningkatkan keamanan dan mencegah penggunaan yang tidak diinginkan dari luar kelas. Ini membantu dalam membangun kode yang lebih bersih dan lebih terstruktur.
Memahami Konsep Dasar Pemrograman Berorientasi Objek (OOP) dalam Python – Bagian 2