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"); artinya adalah memangil class Mahasiswa dengan nama Intan/Nurjanah dan diikuti dengan menjalankan method Mahasiswa yang dimaksudkan untuk mengisi variabel nama dan npm. System.out.println("Nama \t : " + Nurjanah.tampilkanNama()); System.out.println("Nama \t : " + Intan.tampilkanNama()); memberikan perintah cetak "Nama :" dikuti dengan Nurjanah sebagi nama yang telah dideklarasiakn diatas, dan tampilkanNama() merupakan perintah untuk memanggil variabel nama.
Nurjanah.JK();
Nurjanah.kelas();
Nurjanah.MK();
Nurjanah.Kampus();
System.out.println();
System.out.println("======Terima kasih=====");
perintah ini digunakan untuk memanggil dan mencetak variabel jenis kelanin (JK), kelas, mata kuliah (MK), dan kampus yang terlebih dahulu telah kita deklarasikan diatas. Dan akan menghasilakan output seperti dibawah ini...
Output Program
Tidak ada komentar:
Posting Komentar