Tingkat Akses Data dan Method (Bagian 1)

advertisement
Tingkat Akses Data dan Method
(Bagian 1)
1. Menentukan Tingkat Akses Data dan Method
Dalam melakukan pembungkusan (encapsulation), sebenarnya kita menggabungkan data dan
kode (method) menjadi satu. Pada situasi semacam ini, kita dapat menentukan akses dari data
dan method tersebut mengguanakan kata kunci private dan public. Dalam PBO, data pada
umumnya didesain untuk bersifat private atau hanya dapat diakses oleh kelas yang
memilikinya saja. Pengaksesan data dari bagian luar hanya dapat dapat dilakukan melalui
method-method yang ada. Ini artinya, method pada umunya bersifat public. Meskipun
demikian, Java tetap menyediakan kemampuan apabila data dan method ingin ditentukan
tingkat aksesnya sesuai dengan keperluannya.


Public : berarti bahwa pengaksesan suatu data (variabel instan) atau method dapat
dilakukan dari luar kelas.
Private : berarti bahwa pengaksesan suatu data (variabel instan) atau method hanya
dapat dilakukan di dalam kelas, tidak bisa diakses dari luar kelas.
Secara umum, pembungkusan data dan method dari suatu kelas dapat dituliskan seperti
berikut:
classs namaKelas{
tingkat-akses data1;
tingkat-akses data2;
...
tingkat-akses dataN;
tingkat-akses method1(daftar-parameter){
//kode untuk method1
}
tingkat-akses method2(daftar-parameter){
//kode untuk method2
}
...
tingkat-akses methodN(daftar-parameter){
//kode untuk methodN
}
}
Contoh 1 :
class Siswa{
private String nama;
void isiData(String name){
nama = name;
}
String ambilNama(){
return nama;
}
}
public class PenentuAkses{
public static void main(String[] args){
Siswa siswa1 = new Siswa();
siswa1.isiData("Asti Damayanti");
System.out.println("Nama
siswa1.ambilNama());
via
method:
"
+
System.out.println("Nama
siswa1.nama);
}
}
via
variabel:
"
+
Program ini akan menghasilkan error karena ketika “siswa1.nama” dipanggil sementara
variabel instan nama aksesnya adalah private maka akan terjadi error di “Nama via variable :
siswa1.nama”.
Tabel 1.1 Perbedaan public dan private akses pada variabel
Penentu Akses
Keterangan
Variabel dapat diakses pada semua kelas
Public
yang menggunakan kelas yang berisi variabel
tersebut.
Variabel hanya dapat diakses oleh methodPrivate
method dalam kelas itu sendiri.
Tabel 1.2 Perbedaan public dan private akses pada method
Penentu Akses
Keterangan
Method dapat diakses oleh sembarang kelas.
Public
Method hanya dapat diakses oleh methodPrivate
method dalam kelas yang sama.
Contoh 2 :
class Lingkaran{
private double radius;
void isiJariJari(double r){
radius = r;
}
private double perolehPi(){
return 3.14;
}
public double perolehKeliling(){
return 2 * perolehPi() * radius;
}
}
public class PenentuMethod{
public static void main(String[] args){
Lingkaran bulatan = new Lingkaran();
bulatan.isiJariJari(75);
System.out.println("Keliling
bulatan.perolehKeliling());
System.out.println("pi
bulatan.perolehPi());
}
=
:
"
"
+
+
}
Program ini akan terjadi error karena ketika dipanggil “bulatan.perolehPi()” sementara
method perolehPi() diberikan akses private maka akan terjadi error di “pi :
bulatan.perolehPi()”
Contoh 3 :
class TingkatAkses{
int a;
public int b;
private int c;
public void setC(int nilai){
c=nilai;
}
public int getC(){
return c;
}
}
class DemoPublicDanPrivate{
public static void main(String[] args){
TingkatAkses obj = new TingkatAkses();
obj.a = 10;
obj.b = 20;
obj.setC(30);
System.out.println("Nilai obj.a = " + obj.a);
System.out.println("Nilai obj.b = " + obj.b);
System.out.println("Nilai
obj.c
=
"
+
obj.getC());
}
}
Download