Assalamualaikum sahabat cyber saya harap kamu sehat dan bahagia dimana pun kalian berada , pada kesempatan kali ini kita akan membahasa tentang apa itu encapsulation didalam pemrograman berbasis objek kita kali ini .Tapi sebelum kita masuk ke coding kita harus tahu dahulu apa yang dimaksud dengan encapsulation

A.Pengertian Encapsulation

   Enkapsulasi adalah salah satu dari empat konsep OOP dasar. Tiga lainnya adalah pewarisan, polimorfisme, dan abstraksi. Enkapsulasi di Java adalah mekanisme membungkus data (variabel) dan kode yang bekerja pada data (metode) bersama-sama sebagai satu kesatuan.

B. Set dan Get

 kita telah belajar bahwa variabel privat hanya dapat diakses di dalam kelas yang sama (kelas luar tidak memiliki akses ke sana).Namun, dimungkinkan untuk mengaksesnya jika kami menyediakan metode get dan set publik. Metode get mengembalikan nilai variabel, dan metode set menetapkan nilainya

contohnya seperti ini : 

public void setNama(String nama)
{
this.nama=nama;
}
String getNama()
{
return nama;
}

C. Contoh encapsulation di java

1. pertama kita buka compiler yang akan kita gunakan 

2.kita buah sebuah projek baru dengan nama "encapsulation"

3.lalu kita akan membuat 2 buah class yang pertama "biodata.java" dan "MainUtama.java"

4.kita masuk kedalam class "biodata.java" kita akan membuat 20 variabel 

5.variabel yang kita buah kita buat sebagai private, variabel nya seperti dibawah ini : 

private String nama,kelas,alamat,mk,dosen,jk,tempatLahir,namaAyah,
namaIbu,pekerjaanAyah,pekerjaanIbu,pAyah,pibu,hobi,motto,tgl;
private int nim,semester,umur,anakKe;

6. lalu kita buat set dan get nya seperti di atas tadi dan ulangi terhadap semua variabel

7. karena kita memiliki variabel yang banyak dan akan sangat memakan waktu apabila kita mengetiknya secara manual kita masuk saja ke shortcut untuk membuat set dan get nya 

8.ketika semua variabel telah dibuat kita klik kanan > generate>getter and setter



setelah semuanya dipilih lalu klik oke dan secara otomatis compiler akan membuat set dan get terhadap semua variebel yang kita miliki seperti code dibawah ini

public class biodata {
private String nama,kelas,alamat,mk,dosen,jk,tempatLahir,namaAyah,
namaIbu,pekerjaanAyah,pekerjaanIbu,pAyah,pibu,hobi,motto,tgl;
private int nim,semester,umur,anakKe;

public void setNama(String nama)
{
this.nama=nama;
}
String getNama()
{
return nama;
}

public String getKelas() {
return kelas;
}

public void setKelas(String kelas) {
this.kelas = kelas;
}

public int getNim() {
return nim;
}

public void setNim(int nim) {
this.nim = nim;
}

public String getAlamat() {
return alamat;
}

public void setAlamat(String alamat) {
this.alamat = alamat;
}

public int getAnakKe() {
return anakKe;
}

public void setAnakKe(int anakKe) {
this.anakKe = anakKe;
}

public String getMk() {
return mk;
}

public void setMk(String mk) {
this.mk = mk;
}

public String getDosen() {
return dosen;
}

public void setDosen(String dosen) {
this.dosen = dosen;
}

public String getJk() {
return jk;
}

public void setJk(String jk) {
this.jk = jk;
}

public String getTempatLahir() {
return tempatLahir;
}

public void setTempatLahir(String tempatLahir) {
this.tempatLahir = tempatLahir;
}

public String getNamaAyah() {
return namaAyah;
}

public void setNamaAyah(String namaAyah) {
this.namaAyah = namaAyah;
}

public String getNamaIbu() {
return namaIbu;
}

public void setNamaIbu(String namaIbu) {
this.namaIbu = namaIbu;
}

public String getPekerjaanAyah() {
return pekerjaanAyah;
}

public void setPekerjaanAyah(String pekerjaanAyah) {
this.pekerjaanAyah = pekerjaanAyah;
}

public String getPekerjaanIbu() {
return pekerjaanIbu;
}

public void setPekerjaanIbu(String pekerjaanIbu) {
this.pekerjaanIbu = pekerjaanIbu;
}

public String getpAyah() {
return pAyah;
}

public void setpAyah(String pAyah) {
this.pAyah = pAyah;
}

public String getPibu() {
return pibu;
}

public void setPibu(String pibu) {
this.pibu = pibu;
}

public String getHobi() {
return hobi;
}

public void setHobi(String hobi) {
this.hobi = hobi;
}

public String getMotto() {
return motto;
}

public void setMotto(String motto) {
this.motto = motto;
}

public int getSemester() {
return semester;
}

public void setSemester(int semester) {
this.semester = semester;
}

public int getUmur() {
return umur;
}

public void setUmur(int umur) {
this.umur = umur;
}

public String getTgl() {
return tgl;
}

public void setTgl(String tgl) {
this.tgl = tgl;
}
}



9. setelah itu kita pindah ke class "main utama.java" 
10. kita buat class ini sebagai class utama dan buat penghubung antar 2 class tersebut dengan

public static void main(String[] args) {
biodata bi=new biodata(); }}

11.lalu kita masukkan  isi dari variabel yang kita buat tadi dengan cara memanggi method set seperti ini

public static void main(String[] args) {
biodata bi=new biodata();

bi.setNama("Zainul");
bi.setNim(2120074);
bi.setKelas("Sistem Informasi 3A");
bi.setSemester(3);
bi.setAlamat("Simpanh Empat");
bi.setMk("Pemrograman Berorientasi Objek");
bi.setDosen("nofriadi m.kom");
bi.setJk("laki-laki");
bi.setTempatLahir("pinanh awan");
bi.setTgl("14 november 2002");
bi.setUmur(20);
bi.setAnakKe(1);
bi.setNamaAyah("ronaldo");
bi.setpAyah("SD");
bi.setPekerjaanAyah("petani");
bi.setNamaIbu("selena");
bi.setPibu("S1");
bi.setPekerjaanIbu("bidan");
bi.setHobi("badminton");
bi.setMotto("kalau orang lain bisa kenapa harus saya"); }}

12.setelah itu kita akan membuat outputan dengan variabel yang telah kita isi dengan cara seperti ini

 system.out.println("Nama : "+bi.getNama);

ulangi ke semua variabel yang kita punya 

13. dan berikut adalah full code di class MainUtama

public class MainUtama {
public static void main(String[] args) {
biodata bi=new biodata();

bi.setNama("Zainul");
bi.setNim(2120074);
bi.setKelas("Sistem Informasi 3A");
bi.setSemester(3);
bi.setAlamat("Simpanh Empat");
bi.setMk("Pemrograman Berorientasi Objek");
bi.setDosen("nofriadi m.kom");
bi.setJk("laki-laki");
bi.setTempatLahir("pinanh awan");
bi.setTgl("14 november 2002");
bi.setUmur(20);
bi.setAnakKe(1);
bi.setNamaAyah("ronaldo");
bi.setpAyah("SD");
bi.setPekerjaanAyah("petani");
bi.setNamaIbu("selena");
bi.setPibu("S1");
bi.setPekerjaanIbu("bidan");
bi.setHobi("badminton");
bi.setMotto("kalau orang lain bisa kenapa harus saya");
System.out.println("+=====================Biodata Mahasiswa======================+");
System.out.println("nama : "+ bi.getNama());
System.out.println("nim : "+ bi.getKelas());
System.out.println("kelas : "+ bi.getKelas());
System.out.println("semester : "+ bi.getSemester());
System.out.println("Alamat : "+ bi.getAlamat());
System.out.println("M.Kuliah : "+ bi.getMk());
System.out.println("dosen : "+ bi.getDosen());
System.out.println("J.Kelamin : "+ bi.getJk());
System.out.println("T.Lahir : "+ bi.getTempatLahir());
System.out.println("Tgl Lahir : "+ bi.getTgl());
System.out.println("umur : "+ bi.getUmur());
System.out.println("anak ke : "+ bi.getAnakKe());
System.out.println("hobi : "+ bi.getHobi());
System.out.println("motto : "+ bi.getMotto());
System.out.println("Nama Ayah : "+ bi.getNamaAyah());
System.out.println("Pendidikan : "+ bi.getpAyah());
System.out.println("Pekerjaan : "+ bi.getPekerjaanAyah());
System.out.println("Nama Ibu : "+ bi.getNamaIbu());
System.out.println("Pendidikan : "+ bi.getPibu());
System.out.println("Pekerjaan : "+ bi.getPekerjaanIbu());
System.out.println("+=====================Biodata Mahasiswa======================+");
}
}

14. dan dari hasil codingan kita akan menghasilkan output seperti  berikut




Dan itulah materi kita tentang encapsulation jika ada salah kata mohon dikoreksi sampai jumpa di pembahasan pemrograman berorientasi kita selanjutnya semoga kamu bahagia

source code : download disini

Assalamualaikum wr wb