← Kembali ke kursus
Pelajaran kursus · Python
Pelajaran 25

Class, constructor, dan atribut

Definisikan cetakan, buat objek, isi data lewat __init__.

Pahami konsepnya

Class adalah cetakan; objek adalah hasil cetaknya. class Siswa: mendefinisikan cetakan; ari = Siswa() mencetak satu objek. Method __init__(self, ...) adalah constructor — kode yang otomatis berjalan setiap objek dibuat, tempat mengisi atribut awal.

self adalah referensi ke objek itu sendiri — wajib parameter pertama tiap method. ari.nama = "Ari" bisa dari luar, tapi mengisinya di __init__ lebih rapi: semua atribut terdaftar di satu tempat.

Visibility Python pakai konvensi underscore: _nama "sebaiknya jangan disentuh" (protected), __nama "jangan sentuh" (private — Python mengganti namanya jadi _ClassName__nama). Tidak ada enforcement sungguhan seperti private Java — hanya kesepakatan komunitas.

Coba contoh kode

class Siswa:
    def __init__(self, nama, poin):
        self.nama = nama
        self.poin = poin

    def info(self):
        return f"{self.nama} ({self.poin} poin)"

ari = Siswa("Ari", 10)
budi = Siswa("Budi", 25)
print(ari.info())
print(budi.info())

Dua objek dari cetakan yang sama dengan data berbeda. __init__ menerima nama dan poin lalu menyimpannya sebagai atribut self. Method info mengakses atribut lewat self.

Latihan singkat

Uji: Siswa("Ari", 17).info() harus `Ari (17 poin)`.