Modul 11: OOP (Pemrograman Berorientasi Objek)
Yang akan kamu kuasai
- Membuat class, atribut, dan method
- Konstruktor __init__ & inheritance
- Menilai kapan OOP perlu (dan kapan tidak)
1 · Teori (~5–10 mnt baca)
Class adalah cetak biru; objek adalah hasil cetaknya. Contoh: class Rekening mencetak banyak objek rekening, masing-masing punya saldo sendiri. Atribut = data milik objek; method = perilakunya.
class Rekening:
def __init__(self, pemilik, saldo=0):
self.pemilik = pemilik
self.saldo = saldo
def setor(self, jumlah):
self.saldo += jumlah
return self.saldo
rek = Rekening('Budi', 100000)
print(rek.setor(50000)) # 150000
print(rek.pemilik) # BudiOutput:
150000
Budi__init__ adalah konstruktor — dijalankan otomatis saat objek dibuat. self merujuk ke objek itu sendiri (ini yang membedakan rekening Budi vs Sari). Inheritance (pewarisan) membuat class turunan mewarisi semua milik induknya, lalu menambah/mengubah perilaku.
class RekeningBisnis(Rekening):
def setor(self, jumlah):
self.saldo += jumlah + 1000 # bonus bisnis
return self.saldo
print(RekeningBisnis('PT Maju', 100000).setor(50000)) # 151000Output:
151000Magic method seperti __str__ mengontrol tampilan saat print(objek), __len__ untuk len(objek), __eq__ untuk perbandingan. Gunakan seperlunya — keterbacaan dulu.
2 · Video
Tonton 1 video inti dari kurasi pencarian ini (gratis, di YouTube):
▶ Tonton Video PilihanPraktek — Editor Python di Browser
Buat class Keranjang dengan __init__ (items = list kosong), method tambah(x) yang menambahkan x lalu return self (agar bisa dirantai), dan method total() yang mengembalikan jumlah semua item.
Petunjuk
self.items.append(x) dan return sum(self.items)
⚠️ Hindari while True: tanpa break — Python berjalan di tab browser; loop tak berujung bisa membekukan halaman (refresh untuk reset). Perangkat lemah atau kuota kecil? Praktek ini juga bisa dikerjakan di Google Colab ↗.
Kuis
0/3 terjawab1. Method yang dijalankan otomatis saat objek dibuat adalah…
2. Fungsi self dalam method adalah…
3. class B(A) berarti…