ENKAPSULASI 1. Kompetensi Setelah kegiatan perkuliahan selesai, mahasiswa diharapkan dapat: 1. Memahami konstruktor 2. Menerapkan access modifier 3. Menggunakan atribut/method class 4. Melakukan instansiasi atribut/method 5. Mengenal setter dan getter 6. Memahami notasi UML 2. Pendahuluan Pemrograman berorientasi objek memodelkan dunia nyata kedalam dunia pemrograman. Dengan demikian sebuah program dapat dikorelasikan atau dipahami dengan mudah seperti halnya di dunia nyata. Enkapsulasi adalah salah satu konsep penting dalam pemodelan pemrograman berorientasi objek ini. Enkapsulasi adalah mekanisme untuk membungkus atribut dan method menjadi satu unit/kesatuan. Didalam enkapsulasi, atribut yang ada didalam class disembunyikan dari class lain. Atribut tersebut dapat diakses dari class lain melalui method yang disediakan. Enkapsulasi disebut juga dengan data hiding. 2.1 Menganalisa Objek di Dunia Nyata Mari kita amati behaviour dari objek di dunia nyata. Sebagai contoh, sebuah mobil. Bagaimana perilaku dari sebuah mobil? Nyalakan mesin. Tambah kecepatan. Tambah kecepatan lagi. Kurangi kecepatan. Berhenti. Mundur pelan. Berhenti. Behaviour tersebut dapat dilaksanakan melalui beberapa mekanisme. Kunci kontak untuk menyalakan dan mematikan mesin. Tongkat persneling, pedal gas dan pedal rem untuk menambah atau mengurangi kecepatan. Dalam hal ini, kita menggunakan pedal gas dan pedal rem untuk mengatur kecepatan mobil tersebut. Lalu apa hubungannya dengan Enkapsulasi? Mari kita lakukan percobaan berikut. 2.2 Percobaan 1. Buatlah class Mobil yang memiliki properti kecepatan dan kontakOn. Juga terdapat method tampilkanStatus() untuk menampilkan status dari mobil tersebut (posisi kontak dan kecepatan. Seperti dibawah ini.
15
Embed
ENKAPSULASI - · PDF fileTongkat persneling, pedal gas dan pedal rem untuk menambah atau mengurangi kecepatan. Dalam hal ini, ... Misal pada sistem perbankan kita tadi,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ENKAPSULASI
1. Kompetensi Setelah kegiatan perkuliahan selesai, mahasiswa diharapkan dapat:
1. Memahami konstruktor
2. Menerapkan access modifier
3. Menggunakan atribut/method class
4. Melakukan instansiasi atribut/method
5. Mengenal setter dan getter
6. Memahami notasi UML
2. Pendahuluan Pemrograman berorientasi objek memodelkan dunia nyata kedalam dunia pemrograman. Dengan
demikian sebuah program dapat dikorelasikan atau dipahami dengan mudah seperti halnya di dunia
nyata. Enkapsulasi adalah salah satu konsep penting dalam pemodelan pemrograman berorientasi
objek ini.
Enkapsulasi adalah mekanisme untuk membungkus atribut dan method menjadi satu unit/kesatuan.
Didalam enkapsulasi, atribut yang ada didalam class disembunyikan dari class lain. Atribut tersebut
dapat diakses dari class lain melalui method yang disediakan. Enkapsulasi disebut juga dengan data
hiding.
2.1 Menganalisa Objek di Dunia Nyata
Mari kita amati behaviour dari objek di dunia nyata. Sebagai contoh, sebuah mobil. Bagaimana
perilaku dari sebuah mobil? Nyalakan mesin. Tambah kecepatan. Tambah kecepatan lagi. Kurangi
kecepatan. Berhenti. Mundur pelan. Berhenti.
Behaviour tersebut dapat dilaksanakan melalui beberapa mekanisme. Kunci kontak untuk
menyalakan dan mematikan mesin. Tongkat persneling, pedal gas dan pedal rem untuk menambah
atau mengurangi kecepatan. Dalam hal ini, kita menggunakan pedal gas dan pedal rem untuk
mengatur kecepatan mobil tersebut.
Lalu apa hubungannya dengan Enkapsulasi? Mari kita lakukan percobaan berikut.
2.2 Percobaan
1. Buatlah class Mobil yang memiliki properti kecepatan dan kontakOn. Juga terdapat method
tampilkanStatus() untuk menampilkan status dari mobil tersebut (posisi kontak dan
kecepatan. Seperti dibawah ini.
2. Untuk menguji class Mobil diatas, buatlah class TestMobil sebagai berikut:
3. Ketika dijalankan, kode diatas akan menghasilkan:
Dari percobaan diatas, menurut anda, adakah yang janggal? Betul. Yaitu, kecepatan mobil tiba-tiba
saja berubah dari 0 ke 100. Lebih janggal lagi, posisi kontak mobil masih dalam kondisi OFF.
Bagaimana mungkin sebuah mobil bisa sekejap berkecepatan dari nol ke 100, dan itupun kunci
kontaknya OFF?
Nah dalam hal ini, akses ke atribut Mobil ternyata tidak terkontrol. Padahal, objek di dunia nyata
selalu memiliki batasan dan mekanisme bagaimana objek tersebut dapat digunakan. Lalu,
bagaimana kita bisa memperbaiki class Mobil diatas agar dapat digunakan dengan baik? Kita bisa
pertimbangkan beberapa hal berikut ini:
1. Menyembunyikan atribut internal (kecepatan, kontakOn) dari pengguna (class lain)
2. Menyediakan method khusus untuk mengakses atribut.
Untuk itu mari kita bahas tentang Access Modifier terlebih dahulu.
3. Access Modifier Java menyediakan 4 akses modifier yang berbeda untuk mengontrol akses terhadap atribut maupun
method dari class lain, yaitu:
1. private – paling restriktif, hanya bisa diakses didalam class itu sendiri.
2. default – hanya dapat diakses didalam package yang sama.
3. protected – dapat diakses didalam package dan sub class.
4. public – paling tidak restriktif, dapat diakses dari mana saja.
Untuk lebih jelasnya, perhatikan tabel berikut ini.
3.1 Notasi UML access modifier pada class diagram
Notasi UML pada penggambaran class diagram untuk access modifier adalah:
1. Tanda minus ( - ) untuk private
2. Tanda pagar ( # ) untuk protected
3. Tanda plus ( + ) untuk public
4. Untuk default, maka tidak diberi notasi apa-apa.
Contoh:
SpaceShuttle
+ color: String - speed: int - orbitHeight: int # fuelType: String # engineType: String nickName: String
+ start(): void + climb(): void + dive(): void + getSpeed(): int + getOrbitHeight(): int
Mari kita terapkan akses modifier ini untuk mengatur behaviour dari Mobil. Ikuti percobaan berikut
ini.
3.2 Percobaan
1. Ubah akses modifier dari atribut kecepatan dan kontakOn dari public menjadi private.
2. Tambahkan method nyalakanMesin(), matikanMesin(), tambahKecepatan() dan