Ridwan Ismawan Aryana / 55410918
Saddam Senoadji / 59410169
2IA13
Saddam Senoadji / 59410169
2IA13
Dalam sebuah objek yang mengandung variabel-variabel dan method-method, dapat ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi dapat diartikan sebagai bungkusan (wrapper) pelindung program dan data yang sedang diolah. Sehingga pengguna (user) tidak perlu mengetahui isi dari method (fungsi) dan data yang digunakan. Pengguna (user) hanya cukup mengetahui tipe data, dan mengisi variable (atau membuat variable baru) sesuai dengan tipe data dari obyek yang bersangkutan. Hal tersebut dapat terlihat jelas jika kita membandingkan antara bahasa pemrograman yang prosedural (misalnya pascal) dengan bahasa yang Object Oriented (misalnya delphi). Pada pemrograman Pascal, kita harus menuliskan semua instruksi untuk membentuk suatu fungsi atau data. Sedangkan pada pemrograman Delphi kita sudah disediakan obyek-obyek (komponen) yang tinggal menggunakan saja. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain. Manfaat dari proses enkapsulasi adalah :
- Modularitas, Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.
- Information Hiding, Kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.
a. PersegiPanjang.java
public class PersegiPanjang{
private double panjang; // attribute yg di encap
private double lebar; // attribute yg di encap
private double tinggi; // attribute yg di encap
public PersegiPanjang() {
panjang = 0;
lebar = 0;
}
private double luas(double p, double l) { // di hide
return p*l;
}
public void setPanjang(double panjang) {
this.panjang = panjang;
}
public void setLebar(double lebar) {
this.lebar = lebar;
}
public double getPanjang() {
return panjang;
}
public double getLebar() {
return lebar;
}
public double getLuas() {
return luas(panjang, lebar);
}
}
b. MainPersegiPanjang.java
public class MainPersegiPanjang {
public static void main(String[] srgs) {
PersegiPanjang pp = new PersegiPanjang();
pp.setPanjang(20);
pp.setLebar(40);
System.out.println("Panjang : " + pp.getPanjang());
System.out.println("Lebar : " + pp.getLebar());
System.out.println("Luas : " + pp.getLuas());
}
}
Keterangan :
Dari latihan 1, kita mencoba untuk membuat sebuah class dari suatu obyek persegi panjang.
Dari latihan 1, kita mencoba untuk membuat sebuah class dari suatu obyek persegi panjang.
Class persegi panjang tersebut mempunyai method (fungsi) :
- luas (double p, double l), method ini digunakan untuk menghitung luas berdasarkan data dari variable panjang dan lebar.
- setPanjang(double panjang), method ini digunakan untuk mengisi variable panjang dengan tipe data double.
- setLebar(double lebar), method ini digunakan untuk mengisi variable lebar dengan tipe data double.
- getPanjang() , method ini digunakan untuk mengambil data dari variable panjang dengan tipe data double.
- getLebar(), method ini digunakan untuk mengambil data dari variable lebar dengan tipe data double.
- getLuas(), method ini digunakan untuk mengambil hasil perhitungan luas.
Sumber: