
Ketika mulai belajar Python, kamu mungkin sudah mengenal variabel, percabangan, perulangan, dan function. Namun, ketika program yang dibuat semakin besar, menulis semua kode dalam bentuk function saja bisa menjadi kurang praktis.
Di sinilah OOP Python atau Object-Oriented Programming mulai berperan.
OOP merupakan konsep pemrograman yang mengorganisasi program menggunakan object. Setiap object dapat memiliki data dan fungsi yang berkaitan dengannya. Dengan konsep ini, kode program dapat dibuat lebih terstruktur, mudah dikembangkan, dan lebih mudah dipelihara.
Salah satu hal terpenting dalam OOP Python adalah memahami class dan object.
Bagi kamu yang masih pemula, jangan khawatir. Pada artikel ini, kita akan membahas OOP Python dari dasar dengan contoh sederhana.
Apa Itu OOP Python?
OOP Python adalah pendekatan pemrograman yang menggunakan object sebagai bagian utama dalam menyusun sebuah program.
Object dapat dianggap sebagai sesuatu yang mempunyai:
- Data atau attribute
- Perilaku atau method
Sebagai contoh, kita ingin membuat program tentang sebuah mobil.
Mobil bisa memiliki data seperti:
- Merek
- Warna
- Tahun
Mobil juga memiliki perilaku seperti:
- Menyalakan mesin
- Berjalan
- Berhenti
Dalam OOP, data dan perilaku tersebut dapat dikelompokkan ke dalam sebuah object.
Dengan cara ini, program menjadi lebih terorganisir karena bagian-bagian yang saling berhubungan dapat ditempatkan dalam satu struktur.
Apa Itu Class dalam Python?
Class adalah sebuah cetak biru atau blueprint yang digunakan untuk membuat object.
Bayangkan kamu memiliki cetakan kue. Cetakan tersebut bukan kue yang sudah jadi, tetapi digunakan untuk membuat kue dengan bentuk tertentu.
Konsep yang sama berlaku pada class.
Class = cetak biru
Object = hasil yang dibuat dari cetak biru tersebut
Contoh class sederhana dalam Python:
class Mobil:
pass
Kode tersebut membuat sebuah class bernama Mobil.
Class tersebut masih kosong karena menggunakan pass. Namun, nantinya kita dapat menambahkan attribute dan method ke dalamnya.
Apa Itu Object dalam Python?
Object adalah instance atau hasil nyata dari sebuah class.
Jika Mobil merupakan class, kita dapat membuat object dari class tersebut seperti berikut:
class Mobil:
pass
mobil1 = Mobil()
mobil2 = Mobil()
Pada contoh tersebut, mobil1 dan mobil2 merupakan object dari class Mobil.
Meskipun dibuat dari class yang sama, kedua object tersebut dapat memiliki data yang berbeda.
Misalnya:
mobil1.warna = "Merah"
mobil2.warna = "Hitam"
print(mobil1.warna)
print(mobil2.warna)
Hasilnya:
Merah
Hitam
Inilah salah satu kelebihan OOP. Kita dapat membuat banyak object berdasarkan satu class.
Perbedaan Class dan Object
Bagi pemula, perbedaan antara class dan object terkadang membingungkan.
Sederhananya:
| Class | Object |
|---|---|
| Cetak biru | Hasil dari cetak biru |
| Menentukan struktur | Memiliki data nyata |
| Digunakan untuk membuat object | Dibuat berdasarkan class |
Contoh: Mobil | Contoh: mobil1 |
Contoh lainnya adalah class Siswa.
class Siswa:
pass
Kemudian kita membuat beberapa object:
siswa1 = Siswa()
siswa2 = Siswa()
siswa1 dan siswa2 merupakan object dari class Siswa.
Mengenal Attribute dalam OOP Python
Attribute adalah data atau karakteristik yang dimiliki oleh sebuah object.
Contohnya, sebuah siswa mungkin mempunyai:
- Nama
- Kelas
- Jurusan
- Umur
Attribute dapat dibuat melalui method __init__().
Contohnya:
class Siswa:
def __init__(self, nama, kelas):
self.nama = nama
self.kelas = kelas
Kemudian kita dapat membuat object:
siswa1 = Siswa("Rahena", "XI RPL")
print(siswa1.nama)
print(siswa1.kelas)
Hasilnya:
Rahena
XI RPL
Pada contoh tersebut:
namaadalah attributekelasadalah attributeself.namamenyimpan nama siswaself.kelasmenyimpan kelas siswa
Apa Fungsi __init__() pada Python?
Dalam OOP Python, kamu akan cukup sering menemukan fungsi __init__().
Method ini biasanya digunakan untuk memberikan nilai awal ketika sebuah object dibuat.
Contoh:
class Laptop:
def __init__(self, merek, ram):
self.merek = merek
self.ram = ram
Kemudian:
laptop1 = Laptop("ASUS", 8)
print(laptop1.merek)
print(laptop1.ram)
Hasil:
ASUS
8
Ketika laptop1 dibuat, Python akan menjalankan __init__() dan memberikan nilai "ASUS" serta 8 ke attribute object tersebut.
Apa Itu self dalam OOP Python?
self merupakan bagian penting yang perlu dipahami ketika belajar OOP Python.
self digunakan untuk mengacu pada object yang sedang digunakan.
Contohnya:
class Siswa:
def __init__(self, nama):
self.nama = nama
Pada kode:
self.nama = nama
self.nama merupakan attribute milik object, sedangkan nama merupakan nilai yang diberikan ketika object dibuat.
Misalnya:
siswa1 = Siswa("Andi")
siswa2 = Siswa("Budi")
Maka:
siswa1.namaberisi"Andi"siswa2.namaberisi"Budi"
Dengan demikian, setiap object dapat mempunyai nilai attribute masing-masing.
Mengenal Method dalam OOP Python
Jika attribute digunakan untuk menyimpan data, method digunakan untuk mendefinisikan perilaku sebuah object.
Method sebenarnya adalah function yang berada di dalam class.
Contohnya:
class Siswa:
def __init__(self, nama):
self.nama = nama
def belajar(self):
print(self.nama, "sedang belajar")
Kemudian:
siswa1 = Siswa("Andi")
siswa1.belajar()
Hasilnya:
Andi sedang belajar
Method belajar() merupakan perilaku yang dimiliki oleh object siswa1.
Contoh OOP Python Sederhana
Sekarang mari kita buat contoh yang menggabungkan class, object, attribute, dan method.
Misalnya kita ingin membuat program sederhana untuk menyimpan data laptop.
class Laptop:
def __init__(self, merek, ram):
self.merek = merek
self.ram = ram
def info(self):
print("Merek:", self.merek)
print("RAM:", self.ram, "GB")
laptop1 = Laptop("Lenovo", 8)
laptop2 = Laptop("Acer", 16)
laptop1.info()
laptop2.info()
Hasilnya kurang lebih:
Merek: Lenovo
RAM: 8 GB
Merek: Acer
RAM: 16 GB
Dari contoh tersebut, kita bisa melihat bahwa satu class dapat digunakan untuk membuat beberapa object.
Mengapa OOP Python Penting Dipelajari?
OOP bukan hanya sekadar konsep yang harus dipahami karena ada di materi pemrograman. Konsep ini sangat berguna ketika kita mulai membuat program yang lebih kompleks.
Berikut beberapa manfaat OOP Python.
1. Membuat Kode Lebih Terstruktur
Dengan OOP, data dan fungsi yang saling berhubungan dapat dikelompokkan dalam sebuah class.
Hal ini membuat struktur program menjadi lebih jelas.
2. Mengurangi Pengulangan Kode
Satu class dapat digunakan untuk membuat banyak object.
Misalnya kita memiliki class Siswa. Dari satu class tersebut kita dapat membuat puluhan atau bahkan ratusan object siswa tanpa harus membuat struktur program dari awal.
3. Lebih Mudah Dikembangkan
Ketika program semakin besar, struktur kode yang baik akan sangat membantu.
Kita dapat menambahkan attribute atau method baru ke dalam class sesuai kebutuhan.
4. Memudahkan Pemeliharaan Program
Program yang terstruktur biasanya lebih mudah diperbaiki ketika terjadi error.
Developer juga lebih mudah mengetahui bagian mana yang harus diubah.
Konsep OOP Python Selain Class dan Object
Setelah memahami class dan object, kamu nantinya akan menemukan beberapa konsep OOP lainnya.
Empat konsep yang sering dibahas dalam OOP adalah:
1. Encapsulation
Encapsulation merupakan konsep untuk mengatur bagaimana data dan method dalam object digunakan.
Tujuannya antara lain membantu menjaga struktur data agar tidak sembarangan diakses atau diubah.
2. Inheritance
Inheritance atau pewarisan memungkinkan sebuah class mendapatkan attribute dan method dari class lain.
Contohnya, kita memiliki class Hewan, kemudian membuat class Kucing yang mewarisi karakteristik dari Hewan.
3. Polymorphism
Polymorphism memungkinkan method dengan nama yang sama memiliki perilaku berbeda tergantung object atau class yang menggunakannya.
Konsep ini sangat berguna ketika aplikasi sudah memiliki struktur yang lebih kompleks.
4. Abstraction
Abstraction digunakan untuk menyembunyikan detail implementasi yang tidak perlu diketahui pengguna dan hanya menampilkan bagian yang penting.
Keempat konsep tersebut biasanya dipelajari setelah memahami dasar class dan object.
Contoh Sederhana Inheritance Python
Sebagai gambaran, berikut contoh inheritance sederhana:
class Hewan:
def suara(self):
print("Hewan mengeluarkan suara")
class Kucing(Hewan):
def suara(self):
print("Meong")
kucing1 = Kucing()
kucing1.suara()
Hasil:
Meong
Class Kucing mendapatkan struktur dari class Hewan, kemudian memiliki implementasi method suara() sendiri.
Tidak perlu langsung menghafalkan konsep ini. Yang paling penting bagi pemula adalah memahami hubungan antara class, object, attribute, dan method terlebih dahulu.
Kapan Sebaiknya Menggunakan OOP?
OOP sangat cocok digunakan ketika program memiliki banyak data dan perilaku yang saling berhubungan.
Misalnya:
- Sistem informasi sekolah
- Aplikasi kasir
- Sistem perpustakaan
- Aplikasi toko online
- Sistem manajemen inventaris
- Game
- Aplikasi desktop
- Aplikasi web
Sebaliknya, untuk program yang sangat sederhana, penggunaan OOP belum tentu diperlukan.
Contohnya, program yang hanya melakukan satu atau dua perhitungan sederhana bisa dibuat menggunakan function biasa.
Jadi, pemilihan OOP sebaiknya disesuaikan dengan kebutuhan program.
Tips Belajar OOP Python untuk Pemula
Belajar OOP memang membutuhkan sedikit waktu karena ada beberapa istilah baru. Namun, kamu bisa mempelajarinya secara bertahap.
Berikut beberapa tips yang bisa dicoba.
1. Pahami Class dan Object Terlebih Dahulu
Jangan langsung mencoba mempelajari semua konsep OOP sekaligus.
Pastikan kamu benar-benar memahami hubungan antara class dan object.
2. Gunakan Contoh Kehidupan Sehari-hari
Misalnya:
Class: Mobil
Object: mobil1
Attribute: warna, merek, tahun
Method: jalan(), berhenti()
Cara seperti ini dapat membuat konsep OOP lebih mudah dibayangkan.
3. Banyak Berlatih
Cobalah membuat class sederhana seperti:
Siswa
Laptop
Mobil
Buku
Produk
Karyawan
Hewan
Kemudian tambahkan attribute dan method sesuai kebutuhan.
4. Buat Project Sederhana
Setelah memahami dasarnya, cobalah membuat project kecil menggunakan OOP.
Misalnya aplikasi kasir sederhana atau sistem data siswa.
Dengan membuat project, kamu akan lebih memahami kapan dan mengapa OOP digunakan.
Kesimpulan
OOP Python adalah konsep pemrograman yang menggunakan object sebagai salah satu dasar dalam menyusun program. Dua konsep paling penting untuk dipahami oleh pemula adalah class dan object.
Class dapat diibaratkan sebagai cetak biru, sedangkan object adalah hasil nyata yang dibuat berdasarkan cetak biru tersebut.
Selain class dan object, kamu juga perlu memahami attribute, method, __init__(), dan self sebelum melanjutkan ke konsep OOP yang lebih kompleks seperti inheritance, encapsulation, polymorphism, dan abstraction.
Dengan memahami OOP secara bertahap dan rutin berlatih menggunakan contoh sederhana, kamu akan lebih siap membuat program Python yang terstruktur dan mudah dikembangkan.
Sudah memahami dasar OOP Python? Selanjutnya, coba buat class sederhana seperti Siswa, Laptop, atau Produk, lalu tambahkan attribute dan method sendiri. Dari latihan kecil seperti inilah kemampuan coding akan berkembang sedikit demi sedikit.