Kamis, 12 April 2012

ENKAPSULASI PADA JAVA



Enkapsulasi merupakan teknik yang membuat variabel/field class menjadi bersifat privat dan menyediakan akses ke variabel/field melalui public method. Jika field di deklarasikan sebagai private, maka field ini tidak bisa diakses oleh siapapun diluar class, dengan demikian field disembunyikan di dalam class.

Mari kita ibaratkan suatu kelas itu dienkapsulasi sebagai angkot. nah kursi-kursi di dalamnya itu bersifat private karena hanya bisa diakses orang yang berada di dalam. untuk mengakses kursi tersebut hanya bisa melalui pintu masuk yang bisa kita samakan dengan fungsi setter/getter.

Keuntungan enkapsulasi?
Kembali ke analogi angkot. Dengan enkapsulasi kita bisa memastikan bahwa hanya yang berhak yang dapat masuk dan duduk di kursi angkot. Misalnya di pintu angkot ditaroh kernet yang narikin duit sebelum masuk. Jadi gak bayar = gak bisa masuk. Balik ke java, enkapsulasi mencegah akses data secara langsung dari luar. Untuk mengakses dari luar, disediakan fungsi2 khusus untuk menanganinya (biasanya sih disebut getter/setter). Di fungsi tersebut bisa aja ditambahin aturan data yang boleh masuk yang gimana (di setter). Atau data yang keluar formatnya harus gimana (getter).



Manfaat utama teknik encapsulation adalah kita mampu memodifikasi kode tanpa merusak kode yang telah digunakan pada class lain.
Enkapsulasi memiliki manfaat sebagai berikut:
> Modularitas
    Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya.
> Information Hiding
Penyembunyian informasi yang tidak perlu diketahui objek lain.

Contoh program :

public class enkapsulasi {

   private String nama;
   private int umur;

   public int getUmur(){
      return umur;
   }
   public String getNama(){
      return nama;
   }
   public void setUmur( int newUmur){
      umur = newUmur;
   }
   public void setNama(String newNama){
      nama = newNama;
   }
}

Jadi, method public merupakan akses ke field class yang disediakan di luar class. Method yang disediakan diatas adalah method ‘set’ dan ‘get’. Sehingga jika class lain jika ingin mengakses field harus melalui method ‘set’ dan ‘get’.

Variabel – variable yang ada  pada class Enkapsulasi dapat di akses dengan cara berikut.


public class enkapsulasi1{
   public static void main(String[] args){
      enkapsulasi enkap = new enkapsulasi();
      enkap.setNama("Andre Pramana Putra");
      enkap.setUmur(19);
      System.out.println("Nama : " + enkap.getNama());
      System.out.println("Umur : "+ enkap.getUmur());
    }
}

Selanjuntya kitacompile program, berikut langkah compilenya :

-         -   javac enkapsulasi.java
-          - javac enkapsulasi.java
  - java enkapsulasi

berikut outputnya :



1 komentar: