Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem sekaligus menyederhanakan penggunaan system itu sendiri. Akses ke internal sistem diatur sedemikian
rupa melalui seperangkat interface. Contoh kasus sepeda motor, pada sistem pemindahan gigi transmisi, maka pengendara tidak perlu tahu detail dari bagaimana proses pemindahan gigi itu dilakukan oleh mesin, cukup tahu bagaimana menekan gigi transmisi itu. Pedal gigi transmisi yang diinjak pengendara itu merupakan interface (antar muka) pengendara dengan sistem transmisi sepeda motor.
Enkapsulasi mempunyai dua hal mendasar, yaitu :
· Information hiding
· Interface to acces data
Misalnya saja kita ambil contoh kasus program yang sebelumnya. NRP dari siswa-siswa IT2 adalah berada dalam range 1-10. Jika kita tidak melakukan enkapsulasi pada class siswa, maka data dari nrp yang kita masukkan tentunya akan diperbolehkan nilai riil dalam range tipe data int. oleh karena itu, information hidingterhadap atribut nrp sangat diperlukan, sehingga nrp tidak bias diakses secara langsung.
Lalu, kalau atribut nrp tersebut disembunyikan, bagaimana cara mengakses atribut nrp itu untuk memberikan atau mengubah nilai?.Nah disaat ini kita memerlukan suatu interface to acces data, yang berupa method dimana didalamnya terdapat implementasi untuk mengakses data nrp. Berkaitan dengan kasus diatas. Class siswa dapat kita modifikasi agar memakai konsep enkapsulasi seperti terlihat dibawah ini :
public class Siswa {
private int nrp;
public String nama;
public void isi Nrp(int n) {
if(n>=1&&n<=10)
nrp=n;
else
System.out.println(“Error…!!”);
}
Public void Info(){
System.out.println(“Saya siswa ITN”);
}
}
Categories:
Pemrograman