Anda di halaman 1dari 11

“KONSEP ENCAPSULATION DAN

PENERAPANNYA PADA PEMOGRAMAN”

KELOMPOK 7:
MOHAMMAD HAMKA (F1A118063)
MUHAMMAD SARMAN HAMDIN (F1A118034)
MUH. AZRUL (F1A118010)
RESTI AZARI (F1A11808)
KONSEP ENCAPSULATION

• Enkapsulasi adalah sebuah peroses pemaketan atau penyatu data besama


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.

• Encapsulation di Java adalah mekanisme pembungkus data


(variabel) dan kode yang bekerja pada data (metode) bersama
sebagai satu kesatuan. Dalam encapsulation, variabel kelas akan
disembunyikan dari kelas lain, dan hanya bisa diakses melalui
metode kelas mereka saat ini. Oleh karena itu, juga dikenal sebagai
data hiding. Untuk mencapai encapsulation di Java, deklarasikan
variabel kelas sebagai private. Menyediakan metode setter dan
getter public untuk memodifikasi dan melihat nilai variabel.
Lanjutan…
• 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.
Access modifier encapsulation, yaitu :

1. Private memberikan hak akses hanya kepada anggota class


tersebut untuk menggunakan dan/atau mengubah nilai dari
property atau method tersebut.
2. Protected memberikan hak akses kepada anggota class nya
dan anggota class hasil inheritance (penurunan sifat) dari
class tersebut.

3. Public memberikan hak akses kepada property dan


method agar dapat digunakan diluar class tersebut.
Keuntungan Dari Encapsulation, yaitu:
1. Menyembunyikan Data: 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. Pengguna tidak akan
tahu tentang penerapan dalam class. Tidak akan terlihat bagi pengguna
bahwa bagaimana class menyimpan nilai dalam variabel. Dia hanya tahu
bahwa kita menyampaikan nilai ke metode setter dan variabel
diinisialisasi dengan nilai itu.
2. Peningkatan Fleksibilitas: Kita bisa membuat variabel kelas sebagai read-
only atau write-only tergantung kebutuhan kita. Jika kita ingin membuat
variabel sebagai read-only maka kita harus menghilangkan metode setter
seperti setName (), setAge () dll dari program atau jika kita ingin
membuat variabel sebagai write-only maka kita harus menghilangkan
mendapatkan metode seperti getName (), getAge () dll dari program.
3. Reusability: Encapsulation juga meningkatkan kegunaan dan mudah
berubah dengan persyaratan baru.
4. Uji kode mudah: Kode encapsulation mudah diuji untuk pengujian unit.
PERERAPAN KONSEP ENCAPSULATION PADA
PEMOGRAMAN
Penerapan Konsep Encapsulation sangat penting dilakukan
untuk menjaga kebutuhan program agar dapat diakses sewaktu-
waktu, sekaligus menjaga program tersebut. Katakanlah kita
memiliki sebuah program. Dimana didalamnya terdapat berbagai
macam objek yang saling berkomunikasi sesuai aturan yang telah
kita tentukan. Encapsulation merupakan penerapan yang dilakukan
ketika kita ingin menerapkan aturan aturan tadi dalam interaksi antar
objek/class. 
Encapsulation telah diterapkan jika setiap objek tetap
menjaga state/variabel-variabel yang ada dalam dirinya tetap Private.
Sehingga, ketika objek lain berinteraksi dengannya, objek tersebut
tidak memiliki akses langsung ke state ini.
Contohnya, kita memiliki sebuah program. Dimana
terdapat objek manusia yang berkomunikasi dengan objek
kucing.
Penjelasan Gambar Di Atas!
"State" yang ada pada kucing yaitu objek ini memiliki private
variable Mood, hungry, energy. Dan juga memiliki private
method meow!. Si Kucing bisa mengubah "state" ini sesuka dia
(seberapa dia lapar, sebanyak apa energinya saat ini, atau sebagus apa
moodnya. Dan juga si kucing bisa melakukan aktifitas "Meeow" sesuka
dia.
 Objek lain (dalam hal ini objek manusia) dapat berinteraksi dengan si
kucing melalui 3 method public yang disediakan oleh si kucing.
Yakni Sleep, Play, dan Feed. Setiap method public yang kucing ini
memiliki kemampuan untuk melakukan perubahan terhadap kondisi dari
si kucing. Misalnya method Feed, mengubah Mood kucing menjadi lebih
baik, menguras Energy si kucing, dan membuat si kucing
 melakukan "Meow".
Jadi, Manusia tidak dapat menyuruh si kucing secara
langsung untuk melakukan aktifitas "Meow" atau mengubah mood
si kucing tanpa melalui 3 method public yang sudah
disediakan. Inilah disebut Encapsulation.
Dalam Penerapannya, terdapat beberapa cara dalam
memodifikasi aturan Private sebuah state dari objek. Secara
umum dikenal dengan Protected dan Public
1. Public
Dengan menerapkan sifat Public pada State variabel atau method,
maka objek lain memiliki akses modifikasi  secara langsung
terhadap state tadi. Contoh program public: 
Public class Human{
 
// method constructor
Public Human (){
//Instance cat Class
Var Cat = new Cat();
 
//hanya bisa panggil Method cat yang bersifat public atau vaariabel
 
//vauiabel
Cat->_energy++;
 
//Method
Cat->sleep();
}
}
2. Protected
Protected memiliki fungsi yang sama dengan Public. Hanya
saja, Protected hanya bisa diakses oleh "keturunannya" saja.
Cara mendefinisikan sebuah class adalah keturunan dari
class lain adalah dengan cara menambahkan
"Extends classlain" setelah nama class (atau biasanya
menggunakan tanda double dot  (: classLain) tergantung 
bahasa pemrogramannya). Contoh program public: 
//pada contoh bahasa pemrograman lain menggunakan “public class PersiaCat extends Cat
{}”
Public class parsiaCat : Cat {
 
// method construct
Public ParsiaCat (){
//langsung dapat mengakses var yang bersifat protected
This->_mood ++ ;
 
//atau method yang bersifat protected
 
//vauiabel
This->feed ();
 
//selain itu, dapat juga mengakses yang bersifat public
this ->_energy--;
this->sleep ();
}
TERIMAKASIH

Anda mungkin juga menyukai