Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Python: Objek dan Berkas

Pelajaran 2 dari 16

Kelas dan objek

Method dan keadaan objek

Setelah pelajaran ini kamu bisa menulis method yang membaca dan mengubah atribut objek, dan membedakan atribut milik objek dari atribut milik kelas.

±13 menitDiperiksa 5 Okt 2026

Materi

Method adalah fungsi yang ditulis di dalam kelas. Saat dipanggil lewat objek, misalnya kartu.isi(50000), Python mengirim objek itu sebagai argumen pertama, sehingga pemanggilan tadi sama dengan KartuParkir.isi(kartu, 50000). Di dalam method, self memberi akses ke atribut objek yang memanggilnya: method bisa membaca self.saldo, mengubahnya, atau memanggil method lain lewat self.

class KartuParkir:
    tarif = 5000                      # atribut kelas: sama untuk semua kartu

    def __init__(self, plat, saldo=0):
        self.plat = plat              # atribut objek: berbeda tiap kartu
        self.saldo = saldo

    def isi(self, jumlah):
        self.saldo += jumlah

    def keluar(self, jam):
        biaya = jam * self.tarif
        if biaya > self.saldo:
            return False
        self.saldo -= biaya
        return True

k = KartuParkir("D 1234 AB", 20000)
print(k.keluar(3), k.saldo)   # True 5000
print(k.keluar(2), k.saldo)   # False 5000

Atribut yang ditulis langsung di badan kelas, di luar method, adalah atribut kelas: satu nilai yang dipakai bersama semua objek. Bentuk ini cocok untuk tetapan seperti tarif per jam. Data yang berbeda untuk tiap objek ditulis lewat self di dalam __init__.

Kapan dipakai: method cocok untuk aturan yang selalu melekat pada datanya, seperti saldo yang tidak boleh minus. Dengan aturan itu di satu tempat, semua bagian program yang memakai objek mengikuti aturan yang sama.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Apa yang tercetak oleh kode ini?

class Kas:
    def __init__(self, saldo):
        self.saldo = saldo

    def total(self):
        return self.saldo + 10000

k = Kas(5000)
print(k.total)
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke