Encapsulation di C++ (Private, Getter, Setter)
Penjelasan
Encapsulation adalah prinsip OOP untuk menyembunyikan data internal object supaya tidak bisa diubah sembarangan dari luar. Di C++, field biasanya ditandai private (hanya bisa diakses dari dalam class itu sendiri), lalu disediakan method public getter (mengambil nilai) dan setter (mengubah nilai, bisa sekalian menambahkan validasi).
Contoh Konsep
#include <iostream>
class Akun {
private:
double saldo;
public:
double getSaldo() {
return saldo;
}
void setSaldo(double saldo) {
if (saldo >= 0) { // validasi, tidak boleh negatif
this->saldo = saldo;
}
}
};
int main() {
Akun akunku;
akunku.setSaldo(50000);
std::cout << akunku.getSaldo() << std::endl; // 50000
return 0;
}
Praktikum
Buat class Siswa dengan field private std::string nama, disertai getNama() dan setNama() yang menolak nilai kosong (string kosong). Buat object-nya di main(), panggil setNama() dengan nama kamu, lalu tampilkan hasil getNama().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Encapsulation bukan cuma soal keamanan, tapi juga fleksibilitas — dengan getter/setter kamu bisa menambah validasi atau logika tambahan di kemudian hari tanpa mengubah cara kode lain memakai class-mu.