Anda di halaman 1dari 11

Modul 5 - Encapsulation

MODUL 5
ENCAPSULATION

A. Tujuan
1. Mahasiswa dapat memahami konsep pemodulan, penyembunyian kerumitan dan
implementasinya.
2. Mahasiswa dapat menerapkan berbagai modifieren capsulation secara tepat
dalam program.
B. Dasar Teori

1. Pengertian Encapsulation

Enkapsulasi adalah sebuah peroses pemaketan / penyatu data bersama metode –


metodenya, dimana hal ini bermanfaat untuk menyembunyikan rincian – rincian
implementasi dari pemakai. Maksud dari enkapsulasi 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

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

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 1


Modul 5 - Encapsulation
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);

}}

2. Tujuan Encapsulation

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 2


Modul 5 - Encapsulation
Enkapsulasi didefinisikan sebagai pembungkusan data dalam satu buah unit.
Enkapsulasi adalah mekanisme yang mengikat code program dan data yang
dimanipulasi secara bersamaan pada bahasa pemrograman Java. Cara lain untuk
berpikir mengenai enkapsulasi adalah upaya untuk melindungi atau sebagai perisai
proteksi yang mencegah data untuk diakses oleh pihak luar.

Secara teknis enkapsulasi menyembunyikan data atau variabel dari class lain dan


hanya dapat diakses oleh anggota fungsi dari class itu sendiri yang telah
dideklarasikan.Pada enkapsulasi, data dalam class tersembunyi dari class lainnya,
yang juga dikenal dengan istilah data-hiding.Enkapsulasi dapat dilakukan dengan
cara pendeklarasian semua variabel dalam class sebagai private dan
menuliskan method public pada class untuk mengatur dan mendapatkan nilai dari
variabel yang tersimpan secara private tersebut.

3. Modifier Dalam Encapsulation

Terdapat 4 macam access modifiers di JAVA, yaitu : public, private, protected dan
default. 3 tipe akses pertama tertulis secara ekplisit pada kode untuk
mengindikasikan tipe akses, sedangkan yang keempat yang merupakan tipe
default, tidak diperlukan penulisan keyword atas tipe.

Public

Dapat dilihat pada table diatas bahwa keyword Public dapat diakses didalam class
itu sendiri, dapat diakses dengan menggunakan metode extend dan instan pada
paket yang sama, serta dapat diakses dengan metode extend maupun instan dalam
paket yang berbeda.

Artinya hak akses public dapat diakses oleh sembarang object manapun dan
dimanapun posisinya serta dengan apapun caranya. Data maupun method yang
bersifat public dapat diakses oleh semua bagian didalam program. Dengan kata
lain, data–data maupun method-method yang dideklarasikan dengan tingkat akses
public akan dikenali atau dapat diakses oleh semua kelas yang ada didalam, baik
yang merupakan kelas turunan maupun kelas yang tidak memiliki hubungan sama
Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 3
Modul 5 - Encapsulation
sekali. Untuk mendeklarasikan suatu data atau method dengan tingkat akses
public, gunakan kata kunci public.

Protected

Suatu data maupun method yang dideklarasikan dengan tingkat akses protected
dapat diakses oleh kelas yang memilkinya dan juga oleh kelas– kelas yang masih
memiliki oleh hubungan turunan. Sebagai contoh, apabila data x dalam kelas A
dideklarasikan sebagai protected, maka kelas B (yang merupakan turunan dari
kelas A) diizinkan untuk mengakses data x. Namun apabila terdapat kelas lain,
misalnya C (yang bukan merupakan turunan dari kelas A maupun B), tetap tidak
dapat mengakses data – data yang dideklarasikan dengan tingkat akses protected.
Untuk mendeklarasikan suatu data atau method dengan tingkat akses protected,
gunakan kata kunci ptotected.

Private

Dengan mendeklarasikan data dan method menggunakan tingkat akses private,


maka data dan method tersebut hanya dapat diakses oleh kelas yang memilikinya
saja. Ini berarti data dan method tersebut tidak boleh diakses atau digunakan oleh
kelas-kelas lain yang terdapat didalam program. Untuk mendeklarasikan suatu data
atau method dengan tingkat akses private, gunakan kata kunci private.

Default

Untuk hak akses default ini, sebenarnya hanya ditujukan untuk class yang ada
dalam satu paket, atau istilahnya hak akses yang berlaku untuk satu folder saja
(tidak berlaku untuk class yang tidak satu folder/package).

Untuk mengatur hak akses dari masing-masing method dan atribut digunakan
modifier akses. Modifier akses yang paling umum adalah public yang artinya
dapat diakses dari obyek manapun, dan private yang artinya hanya bisa diakses

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 4


Modul 5 - Encapsulation
dalam obyek yang bersangkutan. Disamping public dan private ada modifier akses
lainnya yang kita bahas pada artikel tentang modifier. 

Method Setter

Method setter (setter method) adalah method publik yang berfungsi untuk


memberikan nilai dari atribut yang bersifat privat. Pada enkapsulasi setiap atribut
dapat dibuat privat agar data didalamnya terlindungi. Sebagai gantinya, kita dapat
membuat sebuah method publik sebagai jembatan agar obyek lain dapat
memberikan nilai dari atribut.

class Vehicle {

private int speed;

//setter method to set the value of speed

public void setSpeed(int speed) {

this.speed = speed;

Method Getter

Berkebalikan dengan method setter, method getter (getter method) adalah method


yang berfungsi untuk mendapatkan nilai dari atribut privat.

class Vehicle {

private int speed;

//getter method to set the value of speed

public int getSpeed() {

return speed;

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 5


Modul 5 - Encapsulation
4. Manfaat encapsulation

 Bersifat independen

Suatu modul yang terencapsulasi dengan baik akan bersifat independen, sehingga
tidak akan terikat pada bagian tertentu dari program.

 Bersifat transparan

Bila melakukan modifikasi pada suatu modul, maka perubahan tersebut akan
dirasakan juga oleh bagian program yang menggunakan modul tersebut.

 Menghindari efek diluar perencanaan

Modul yang terencapsulasi dengan baik hanya akan berinteraksi dengan bagian
program lainnya melalui variable-variabel input/output yang telah didefinisikan
sebelunnya.

 Melindungi listing program

Saat program didistribusikan pada khalayak, untuk melindungi listing program


Anda dapat menerapkan prinsip enkapsulasi. Di sini pengguna hanya dapat
menggunakan program melalui variable input atau output yang didefinisikan tanpa
disertai bagimana proses yang terjadi di dalam modul tersebut.

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 6


Modul 5 - Encapsulation

C. Studi Kasus / Permasalahan

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 7


Modul 5 - Encapsulation

D. Hasil (flowchart, script program, hasil program)

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 8


Modul 5 - Encapsulation

E. Analisa

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 9


Modul 5 - Encapsulation
F. Kesimpulan

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 10


Modul 5 - Encapsulation
DAFTAR PUSTAKA

Praktikum Pemrograman Berorientasi Objek 2020 Modul 5 - 11

Anda mungkin juga menyukai