K
Python · modul 11/14
79%

Modul 11: OOP (Pemrograman Berorientasi Objek)

Menengah~75 menit

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)       # Budi
Output:
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))  # 151000
Output:
151000

Magic method seperti __str__ mengontrol tampilan saat print(objek), __len__ untuk len(objek), __eq__ untuk perbandingan. Gunakan seperlunya — keterbacaan dulu.

💡 Kapan OOP perlu? Saat data + perilakunya memang satu kesatuan (rekening, keranjang belanja, player game). Kalau hanya mengolah data sederhana, fungsi biasa lebih jelas. Jangan OOP karena terlihat keren.

2 · Video

Tonton 1 video inti dari kurasi pencarian ini (gratis, di YouTube):

▶ Tonton Video Pilihan

Praktek — 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 terjawab
  1. 1. Method yang dijalankan otomatis saat objek dibuat adalah…

  2. 2. Fungsi self dalam method adalah…

  3. 3. class B(A) berarti…