Enkapsulasi Java
Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni :
• Information hiding.
• Interface to access data.
Information hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.
Interface to access data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.
Berikut adalah contoh program sederhana :
import javax.swing.*;
import java.io.*;
public class Enkapsulasi{
/*Main Method*/
public static void main (String[] args){
//Membuat dari kelas hitungGaji untuk suatu-
//pegawai, dan memanggil method-methodnya
Penggajian pegawai = new Penggajian();
double sg;
String Nilai;
Nilai = JOptionPane.showInputDialog("");
sg = Double.parseDouble(Nilai);
pegawai.setGaji(sg);
pegawai.hitungGaji();
System.out.println("\nBesar Gaji Bersih : "+ pegawai.getGajiBersih());
}
}
/*Kelas Penggajian*/
class Penggajian {
//Mendeklarasikan variabel-variabel internal kelas Penggajian.
private double gajipokok, gajiSetelahPajak,pajakgaji;
public double gajiBersih;
private double potongan = 100000;
//Method untuk mengeset variabel internal gaji pokok.
public void setGaji(double gaji){
gajipokok = gaji;
}
//Method untuk menghitung gaji bersih.
public void hitungGaji(){
gajiSetelahPajak = gajipokok - (0.1 * gajipokok);
pajakgaji = (gajipokok*0.1);
gajiBersih = gajiSetelahPajak - potongan;
System.out.println("\nBesar Pajak Gaji : "+ pajakgaji);
System.out.println("\nBesar potongan Gaji : "+ potongan);
}
//Method yang mengembalikan gaji Pokok (Gaji sebelum-
//ada pengurangan)
public double getGajipokok(){
return gajipokok;
}
//Method yang mengmbalikan besar gaji bersih
public double getGajiBersih(){
return gajiBersih;
}
}
import java.io.*;
public class Enkapsulasi{
/*Main Method*/
public static void main (String[] args){
//Membuat dari kelas hitungGaji untuk suatu-
//pegawai, dan memanggil method-methodnya
Penggajian pegawai = new Penggajian();
double sg;
String Nilai;
Nilai = JOptionPane.showInputDialog("");
sg = Double.parseDouble(Nilai);
pegawai.setGaji(sg);
pegawai.hitungGaji();
System.out.println("\nBesar Gaji Bersih : "+ pegawai.getGajiBersih());
}
}
/*Kelas Penggajian*/
class Penggajian {
//Mendeklarasikan variabel-variabel internal kelas Penggajian.
private double gajipokok, gajiSetelahPajak,pajakgaji;
public double gajiBersih;
private double potongan = 100000;
//Method untuk mengeset variabel internal gaji pokok.
public void setGaji(double gaji){
gajipokok = gaji;
}
//Method untuk menghitung gaji bersih.
public void hitungGaji(){
gajiSetelahPajak = gajipokok - (0.1 * gajipokok);
pajakgaji = (gajipokok*0.1);
gajiBersih = gajiSetelahPajak - potongan;
System.out.println("\nBesar Pajak Gaji : "+ pajakgaji);
System.out.println("\nBesar potongan Gaji : "+ potongan);
}
//Method yang mengembalikan gaji Pokok (Gaji sebelum-
//ada pengurangan)
public double getGajipokok(){
return gajipokok;
}
//Method yang mengmbalikan besar gaji bersih
public double getGajiBersih(){
return gajiBersih;
}
}
LISTING :
OUTPUT :
Pembungkusan atau pengkapsulan merupakan proses membuat paket data objek bersama dengan metode-metodenya. Berdasarkan kode program, proses memisahkan aspek-aspek objek dilakukan dengan cara pembungkusan.
Dalam melakukan pembungkusan kode dan data di dalam java, terdapat tiga tingkat akses yang harus diketahui, yaitu private, protected, dan public.
Sumber :
http://littlebro-note.blogspot.com/2008/10/java-enkapsulasi.html
http://ebestmateri.blogspot.com/2010/07/pembungkusan-enkapsulasi-pada-java.html
Nama : Ni Putu Yuan Antaputeri
NPM : 54410952
Kelas : 2IA14
Partner :
Nama : Nanda Fitriya Hayati
NPM : 54410908
Kelas : 2IA14
Link : nandakapten.blogspot.com
Tanggal : 12 April 2012
1 comments:
Posting Komentar