Capaian dan Indikator
1. Capaian Pembelajaran
Setelah mempelajari bab ini, mahasiswa diharapkan mengetahui konsep enkapsulasi dan implementasinya pada PBO
2. Indikator
- Mampu menjelaskan konsep PBO
- Mampu mengimplementasikan pada PBO
Uraian Materi
Encapsulation adalah salah satu dari empat konsep OOP fundamental. Tiga lainnya adalah pewarisan, polimorfisme, dan abstraksi. Enkapsulasi adalah mekanisme membungkus data (variabel) dan kode yang bekerja pada data (methode) yang bersama-sama sebagai satu kesatuan. Didalam enkapsulasi, variabel kelas akan disembunyikan dari kelas-kelas lain, dan dapat diakses hanya melalui method kelas itu sendiri. Oleh karena itu, juga dikenal sebagai persembunyian data.
Untuk membuat enkapsulasi di Java:
- Mendeklarasikan variabel kelas sebagai private.
- Menyediakan method setter dan getter umum untuk memodifikasi dan melihat nilai-nilai variabel. Contoh:
{ private int panjang ; private int lebar ; public void setPanjang(int pj){ this.panjang=pj; } public void setLebar(int lb){ this.lebar=lb ; } public int getPanjang(){ return this.panjang; } public int getLebar(){ return this.lebar; } public int luas(){ return this.panjang*this.lebar; } }
Keterangan program :
public setXXX() dan getXXX() adalah method akses dari variabel instance dari kelas EncapTest. Biasanya, method ini disebut sebagai getter dan setter. Oleh karena itu, setiap kelas yang ingin mengakses variabel harus mengaksesnya melalui getter dan setter.
Keuntungan Encapsulation
- Atribut/properti dalam kelas bisa d ibuat hanya-baca atau menulis saja.
- Sebuah kelas dapat memiliki total kontrol atas apa yang disimpan dalam atribut/properti.
- Pengguna kelas tidak tahu bagaimana kelas menyim pan datanya. Sebuah kelas dapat mengubah tipe data dari properti dan pengguna kelas tidak perlu mengubah apapun.
Latihan
1. Buatlah proyek baru, dan kelas EncapTest.java seperti pada contoh program berikut:
public class EncapTest{ private String name; private String idNum; private int age; public int getAge(){ return age; } public String getName(){ return name; } public String getIdNum(){ return idNum; } }
Program EncapTest.java
2. Untuk memanggil kelas tersebut tambahkan/buatlah TestEnscapsulasi seperti pada
program utuma di bawah ini:
Program TestEnscapsulasi.java
/* File name : RunEncap.java */ public class RunEncap{ public static void main (String args[]){ EncapTest encap = new EncapTest(); encap.setName("James"); encap.setAge(20); encap.setIdNum("12343ms"); System.out.print("Name : " + encap.getName() + " age : " +encap.getAge()); } }
Full coding
Keterangan program :
Output
Tugas
- Buatlah program yang memanfaatkan sifat enkapsulasi untuk menghitung keliling dan luas Iingkaran.
- Tambahan tugas dari dosen pengampu.