Main Menu

Belajar Python Dasar #12: Encapsulation


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar Python Dasar #12: Encapsulation

Halo teman-teman semuanya, pada artikel kali ini kita akan membahas lebih dalam tentang Encapsulation di Python.

Encapsulation adalah salah satu pilar utama dari Pemrograman Berorientasi Objek (OOP) yang digunakan untuk melindungi data di dalam class agar tidak diakses sembarangan dari luar.

Dengan encapsulation, kita bisa mengontrol bagaimana data diakses dan dimodifikasi, sehingga program menjadi lebih aman, terstruktur, dan terhindar dari error yang tidak diinginkan.

Apa itu Encapsulation?

  • Encapsulation berarti membungkus data (atribut) dan method di dalam sebuah class.
  • Data di dalam class bisa dibuat private agar tidak bisa diakses langsung dari luar class.
  • Untuk mengakses data private, biasanya digunakan method getter (mengambil data) dan setter (mengubah data).

Public, Protected, dan Private

Di Python, akses level ditentukan dengan konvensi penulisan nama atribut:

  1. Public → bisa diakses dari mana saja.

    self.nama
    
  2. Protected → ditandai dengan satu garis bawah _. (Hanya konvensi, masih bisa diakses dari luar tapi dianjurkan jangan.)

    self._alamat
    
  3. Private → ditandai dengan dua garis bawah __. (Tidak bisa langsung diakses dari luar class.)

    self.__saldo
    

Contoh Encapsulation dengan Private Attribute

class BankAccount:
    def __init__(self, saldo_awal):
        self.__saldo = saldo_awal  # private attribute

    # getter
    def lihat_saldo(self):
        return self.__saldo

    # setter
    def setor(self, jumlah):
        if jumlah > 0:
            self.__saldo += jumlah
        else:
            print("Jumlah setor harus positif!")

    def tarik(self, jumlah):
        if 0 < jumlah <= self.__saldo:
            self.__saldo -= jumlah
        else:
            print("Saldo tidak cukup atau jumlah tidak valid!")

# Membuat objek
akun = BankAccount(1000)

# Mengakses saldo lewat method (bukan langsung)
print("Saldo awal:", akun.lihat_saldo())

akun.setor(500)
print("Setelah setor:", akun.lihat_saldo())

akun.tarik(300)
print("Setelah tarik:", akun.lihat_saldo())

Output:

Saldo awal: 1000
Setelah setor: 1500
Setelah tarik: 1200

Kenapa Perlu Encapsulation?

Tanpa encapsulation, atribut __saldo bisa diubah sembarangan dari luar class, sehingga data bisa tidak konsisten. Dengan encapsulation:

  • Data lebih aman karena hanya bisa diakses lewat method resmi.
  • Programmer bisa menambahkan validasi sebelum data diubah.
  • Struktur program lebih rapi dan mudah dipelihara.

Kesimpulan

Pada artikel ini kita telah mempelajari Encapsulation di Python. Encapsulation memungkinkan kita melindungi data di dalam class dengan membuat atribut private, serta mengakses atau memodifikasinya melalui method getter dan setter.

Dengan memahami encapsulation, kita bisa menulis kode yang lebih aman, terkontrol, dan sesuai prinsip OOP yang baik.

Konsep ini juga akan menjadi pondasi penting sebelum melangkah ke pilar OOP berikutnya, yaitu Inheritance (Pewarisan).

Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami