Konsep Enkapsulasi(encapsulation) pada Object Oriented Programming dengan Java
- Dapatkan link
- X
- Aplikasi Lainnya
Konsep Enkapsulasi(encapsulation) pada Object Oriented Programming dengan Java
Java adalah salah satu bahasa pemrograman berbasis OOP(Object Oriented Programming). Dalam Pemrograman Berbasis Objek ini yang terdapat beberapa konsep yaitu Objek(object), Kelas(class), Abstraksi(Abstraction), Enkapsulasi/Pengkapsulan(Encapsulation), Polimorfisme, dan Inheritas.
Enkapsulasi/pengkapsulan(Encapsulation)
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan 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 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.
1. 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.
2. 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.
Enkapsulasi tersebut terdiri dari tiga jenis yaitu public, protected, dan private.
1. Public
Merupakan kata kunci yang digunakan dalam java yang memungkinkan setiap variabel dan method
yang di deklarasikan dalam class public dapat di akses oleh semua class yang sama, subclass atau non subclass yang sama di package yang sama, subclass dan non subclass di package yang berbeda.
2. Protected
Merupakan kata kunci yang di deklarasikan untuk memproteksi suatu class agar setiap variabel dan method yang dideklarasikan tidak dapat di akses oleh non subclass di dalam package yang sama. Dalam class protected, yang dapat mengakses variabel dan method nya adalah jika methodnya berada pada classnya sama, subclass dan non sub yang sama di package yang sama, dan subclass di package yang berbeda.
3. Private
Merupakan kata kunci yang dideklarasikan dalam suatu class agar setiap variabel dan method yang berada dalam class private ini hanya dapat diakses oleh class yang sama. Didalam bahasa pemgrograman java class yang bersifat private memproteksi agar semua variabel dan methodnya tidak dapat di akses oleh semua subclass dan non subclass di package yang sama, dan subclass dan non subclass di package yang berbeda.
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 Encapsulation
#include <iostream> using namespace std; class remoteTV{ private: string tombolNo[10]; public: void setTombolNo(int i, string value){ tombolNo[i] = value; } string getTombolNo(int i){ return tombolNo[i]; } }; int main(){ remoteTV ruangTamu; ruangTamu.setTombolNo(0, "Channel BCPP"); ruangTamu.setTombolNo(1, "Channel BelajarCPP"); ruangTamu.setTombolNo(2, "Channel CPP"); ruangTamu.setTombolNo(3, "Channel C"); cout<<ruangTamu.getTombolNo(0)<<endl; cout<<ruangTamu.getTombolNo(1)<<endl; cout<<ruangTamu.getTombolNo(2)<<endl; cout<<ruangTamu.getTombolNo(3)<<endl; return 0; }
Pada contoh program di atas menggunakan konsep Encapsulation dimana kita tidak bisa dengan mudah mengakses variabel
tombolNo
secara langsung, dan harus menggunakan perantara menggunakan fungsi yang dinamakan teknik “Setter dan Getter”.Syarat Encapsulation
Setelah penulis contohkan di atas, untung mengimplementasikan sebuah konsep encapsulation, dibutuhkan syarat sebagai berikut:
- Data dan fungsi yang disembunyikan harus berlabel private atau protected(jika dibutuhkan untuk hubungan antar class), agar tidak bisa diakses secara sembarang dan disalahgunakan.
- Data dan fungsi yang digunakan untuk antarmuka harus berlabel public.
Kesimpulan
Dari apa yang telah kita pelajari mengenai access specifier di artikel sebelumnya, encapsulation adalah dimana kemampuan kita untuk mengorganisasi kode kita dengan pemahaman menggunakan access specifier dimana teknik ini akan mengarahkan anda ke sebuah teknik Abstraction, dimana kita harus menyembunyikan data yang harus disembunyikan agar tidak disalahgunakan dan hanya membagikan sedikit data sebagai antar muka yang memang layak diberikan.
Method setter dan getter adalah dua method yang tugasnya untuk mengambil dan mengisi data ke dalam objek.
Dalam OOP kita sering mendengar istilah encapsulation (pembungkusan), di mana data dibungkus dengan modifier
private
agar tidak bisa diakses secara langsung dari luar class.
Nah method setter dan getter inilah yang akan membantu kita mengakses data tersebut.
Mengapa harus dibuat seperti ini?
Ada beberapa alasannya:
- Untuk meningkatkan keamanan data;
- Agar lebih mudah dalam mengontrol atribut dan dan method;
- Class bisa kita buat menjadi read-only dan write-only;
- dan fleksibel: programmer dapat mengganti sebagian dari kode tanpa harus takut berdampak pada kode yang lain.
Cara Membuat Method Setter dan Getter
Cara membuat method setter dan getter sama saja seperti membaut method biasa.
Contoh:
class User {
private String username;
private String password;
// ini method setter
public void setUsername(String username){
this.username = username;
}
public void setPassword(String password){
this.password = password;
}
// ini method getter
public String getUsername(){
return this.username;
}
public String getPassword(){
return this.password;
}
}
Method setter dan getter harus diberikan modifier
public
, karena method ini akan diakses dari luar class.
Perbedaan method setter dengan getter terletak pada nilai kembalian, parameter, dan isi method-nya.
Method setter tidak memiliki nilai kembalian
void
(kosong). Karena tugasnya hanya untuk mengisi data ke dalam atribut.
Sedangkan method getter memiliki nilai kembalian sesuai dengan tipe data yang akan diambil.

Nama method setter dan getter harus diawali dengan
set
untuk setter dan get
untuk getter.
Apa boleh menggunakan bahasa indonesia? misalnya
isi
untuk setter dan ambil
untuk getter.
Boleh-boleh saja, tapi ini tidak dianjurkan. Karena jika kita bekerja dengan tim, tim yang lain akan kesulitan. Apalagi dalam tim tersebut menggunakan bahasa inggris.
Menggunakan Method Setter dan Getter
Setelah kita membuat method setter dan getter, kita bisa mengakses atau menggunakannya seperti method biasa.
Contoh:
// Kode ini ditulis di dalam method main
// membuat objek dari class User
User dian = new User();
// menggunakan method setter
dian.setUsername("dian");
dian.setPassword("kopiJava");
// menggunakan method getter
System.out.println("Username: " + dian.getUsername());
System.out.println("Password: " + dian.getPassword());
Hasil output:

Tips Cepat Membuat Method Setter dan Getter di Netbeans
Kita sudah membuat contoh setter dan getter untuk dua atribut data.
Bagaiman akalau ada banyak data? misal ada 10 atribut yang membutuhkan method setter dan getter.
Kita bisa memanfaatkan fitur generator di Netbeans.
Caranya:
Pertama buat dulu atribut data yang akan dibuatkan method setter dan getter seperti ini:
class Book {
private String title;
private String author;
private String price;
private String isbn;
private String year;
}
Setelah itu klik kanan, lalu pilih Insert Code… atau tekan tombol
Alt
+Insert
sehingga akan muncul menu seperti ini:
Pilih Setter and Getter untuk masuk ke menu generator Setter dan Getter. Lalu tentukan atribut yang akan dibuatkan method setter dan getter-nya.

Kalik Generate untuk membuatnya…

Selesai dalam sekejap…
Generator setter dan getter tidak hanya ada di Netbeans saja. Pada IDE seperti Intellij dan Android Studio juga ada.
Namun mungkin tombol atau menu untuk mengaksesnya berbeda.
Apa Selanjutnya?
Intinya… method setter dan getter bertugas untuk mengakses dan mengisi data ke dalam objek.
Kita akan banyak menemukannya di contoh-contoh kasus tertentu. Seperti dalam pembuatan model data, pembuatan aplikasi android, dll.
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
Posting Komentar