Selasa, 03 April 2012

Enkapsulasi Java

Pada posting kali ini saya akan membahas mengenai enkapsulasi java. Sebelumnya kita harus mengetahui apa sih pengertian enkapsulasi pada java itu ??

Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. atau pengertian lainnya Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni :
• 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.

Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut. Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.

Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.

Contoh program :
Listing Program - Mahasiswa.java

public class Mahasiswa{

private String nama;
private String npm;

public Mahasiswa(String n, String npm) {
this.nama = n;
this.npm = npm;
}

public String tampilkanNama() {
return nama;
}

public String tampilkanNpm() {
return npm;
}


public void JK() {
System.out.println("Jenis Kelamin : Perempuan");
}

public void kelas() {
System.out.println("Kelas : 2IA08");
}

public void MK() {
System.out.println("Mata Kuliah : Pemrograman Berbasis Objek");
}

public void Kampus() {
System.out.println(" Universitas Gunadarma ");
}
}




Listing Program - main.java



public class main{

public static void main(String[] args) {
Mahasiswa Intan = new Mahasiswa("Intan", "53410572");
System.out.println("Nama \t : " + Intan.tampilkanNama());
System.out.println("NPM \t : " + Intan.tampilkanNpm());
Intan.JK();
Intan.kelas();
Intan.MK();
Intan.Kampus();
System.out.println();

Mahasiswa Nurjanah = new Mahasiswa("Nurjanah", "55410176");
System.out.println("Nama \t : " + Nurjanah.tampilkanNama());
System.out.println("NIM \t : " + Nurjanah.tampilkanNpm());
Nurjanah.JK();
Nurjanah.kelas();
Nurjanah.MK();
Nurjanah.Kampus();
System.out.println();
System.out.println("======Terima kasih=====");
}
}




  Compile Mahasiswa.java dan main.java lalu run main.java.
 

Analisa Program


Program ini adalah sebuah program sederhana mengenai cara kerja enkapsulasi pada bahasa pemrograman java.  Mahasiswa class berisi atribut yang mempunyai modifier public(+), sehingga main sebagai test program mempunyai akses langsung terhadap atribut pada Mahasiswa. Untuk mengimplementasikan enkapsulasi, kita tidak menginginkan sembarang object dapat mengakses data kapan saja. Untuk itu, kita deklarasikan atribut dari class sebagai private. private String nama; private String npm;   Namun, ada kalanya dimana kita menginginkan object lain untuk dapat mengakses data private. 
Kita lihat pada output kita menginisialisasi  isi dari Mahasiswa Intan = new Mahasiswa("Intan", "53410572");  Mahasiswa Nurjanah = new Mahasiswa("Nurjanah", "55410176"); 
Output Program 




Tidak ada komentar:

Posting Komentar