Encapsulation
Enkapsulasi adalah sebuah peroses pemaketan / penyatu data bersama metode – metodenya, dimana hal ini bermanfaat untuk menyembunyikan rincian – rincian implementasi dari pemakai. Maksud dari enkampsulasi ini adalah untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dalam Java enkapsulasi dapat dilakukukan dengan pembentukan kelas – kelas, menggunakan keyword class
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 dalam program
Belajar.Java
class belajar{
public String x =”Pintar”;
private String y = “Java”;
}
Pintar.Java
public class Pintar{
public static void main(String[]args){
Coba panggil = new Belajar();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}
Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar. Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar.
Di dalam Java, pengkapsulan dapat dilakukan dengan pembentukan kelas-kelas menggunakan keyword class. Sedangkan penyembunyian informasi dapat dilakukan dengan pengendalian terhadap pengaksesan pembentuk kelas dengan keyword-keyword untuk kendali pengaksesan default, private, protected, dan public. Penyembunyian informasi deilakukan dengan implementasi penerapan kendari menggunakan keyword private dan protected pada elemen data.
Ada 2 manfaat utama dari encapsulation yaitu :
- Penyembunyian Informasi (information hiding)
Hal ini mengacu kepada perlindungan terhadap implementasi obejk internal. Objek tersebut dari interface public dan bagian private yang merupakan kombinasi data dan metode internal. Manfaat utamanya adalah bagian internal dapat berubah tanpa mempengaruhi bagian-bagian program yang lain.
- Modularitas
Modularitas berarti objek dapat dikelola secara independen. Karena kode sumber bagian internal objek dikelola secara terpisah dari antarmuka, maka Kita bebas melakukan modifikasi yang tidak menyebabkan masalah pada bagian-bagian lain dari sistem. Manfaat ini mempermudah mendistriibusikan objek-objek dari sistem.
Program:
_____________________________________________
Class Mahasiswa:
package Encapsulation;
public class Mahasiswa {
private String jurusan;
private String Matkul;
private String nama;
private String npm;
public void setJurusan(String newValue){
jurusan = newValue;
}
public void setMatkul(String newValue){
Matkul = newValue;
}
public void setNama( String newValue){
nama = newValue;
}
public void setNpm(String newValue){
npm = newValue;
}
public String getJurusan(){
return jurusan;
}
public String getMatkul(){
return Matkul;
}
public String getNama(){
return nama;
}
public String getNpm(){
return npm;
}
}
_______________________________________________________________________
Class Encapsulation:
package Encapsulation;
public class main {
public static void main(String[] args) {
Mahasiswa wie = new Mahasiswa();
wie.setJurusan(“Teknik Informatika “);
wie.setMatkul(“PBO “);
wie.setNama(“Dwi Fadil S “);
wie.setNpm(“14060020”);
System.out.println(“Jurusan:”+wie.getJurusan()+”MataKuliah:”+wie.getMatkul()+”Nama:” +wie.getNama()+”NPM:”+wie.getNpm());
}
}
_______________________________________________________________________
Output:
Jurusan:Teknik Informatika MataKuliah:PBO Nama:Dwi Fadil S NPM:14060020
Kesimpulan Program :
class Mahasiswa merupakan kelas untuk pembentukan Objek dan pemrosesan dalam pencarian data. Sedangkan untuk class Encapsulation merupakan kelas untuk menampilkan hasil dari proses tersebut.