Pembahasan
pada blog saya ini tentang enkapsulasi . Sebenarnya apa siih yang di
maksud dengan enkapsulasi ? bagaimana dengan programnya . Pembahasan
blog saya kali ini yaitu tentang enkapsulasi semiga ini sebagai media
sharing tentang hal tersebut . J
Definisi
enkapsulasi sendiri yaitu Pembungkusan variabel dan method dalam sebuah
obyek yang terlindungi serta menyediakan interface untuk mengakses
variabel tersebut.
Selain
itu Enkapsulasi dapat di definisikan sebagai pembungkus, pembungkus
disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat
diakses secara sembarangan atau di intervensi oleh program lain.
Macam-macam enkapsulasi yaitu:
a. private = tidak bisa diakses oleh sembarang class
b. public = bisa diakses oleh siapapun, semua default method, class atau variable itu public jika tidak diberi enkapsulasi
c. protected
a. private = tidak bisa diakses oleh sembarang class
b. public = bisa diakses oleh siapapun, semua default method, class atau variable itu public jika tidak diberi enkapsulasi
c. protected
Fungsi atau kegunaan dari enkapsulasi. Ada beberapa alasan, diantaranya :
1. Membuat struktur program semakin gamblang. Pemrogram dan orang yang membaca dokumentasinya (seandainya suatu saat programnya terbuka kodenya/open source) tidak akan kebingungan lagi dalam melakukan analisis terhadap kode yang jumlahnya ratusan hingga jutaan.
2. Mengurangi kesulitan terhadap proses debugging. Dengan menerapkan konsep enkapsulasi berarti telah mendukung modularitas seutuhnya. Program besar dapat dipecah menjadi subprogram. Berbeda dengan prosedural(dulu pernah merasakan pertama kali belajar pemrograman semester satu make bahasa c++), sepertinya mudah di awal. Tetapi ketika muncul bugs, baru kita pontang-panting mencarinya. Apalagi saat menambahkan fitur, susahnya minta ampun ketika programnya mau dibongkar-pasang. Inilah keunggulan modularitas OOP, yang mengusung enkapsulasi.
3. Tidak terjadi tumpang tindih(misal penggunaan variable di satu method atau kelas, yang namanya bisa aja sama dengan variable yang ada di method atau kelas lain) antara satu dengan lainnya.
4. Kita tidak perlu tahu bagaimana para perancang program membuat programnya secara teliti dan rinci/detail. Misalnya, Anda ingin membeli mobil. Otomatis Anda tidak harus tahu dulu bagaimana mobil tersebut di buat, menggunakan mesin arsitektur apa, penjelasan tentang mengapa kursi dipasang dengan posisi sedemikian, bagaimana cara mobil mengaliri tenaga listrik ke seluruh tubuhnya(secara detail, semenjak mesin dihidupkan) dan segenap kerumitan lain. Yang harus anda tahu hanyalah, prosedur pembelian mobil, cara menyetir mobil, dan beberapa argumen lain yang lebih mengedepankan fungsionalitas dari barang yang kita beli. Ketika ditransformasi di dunia pemrograman, hukum yang sama berlaku. Kita tidak harus tahu bagaimana sulitnya programmer merancang algoritma, mengetik kode sumber, mengcompile program, melakukan debugging, hingga menjadi program utuh. Belum lagi ketika masih dalam versi beta, sehingga proses maintenance masih dijalankan pada program.
1. Membuat struktur program semakin gamblang. Pemrogram dan orang yang membaca dokumentasinya (seandainya suatu saat programnya terbuka kodenya/open source) tidak akan kebingungan lagi dalam melakukan analisis terhadap kode yang jumlahnya ratusan hingga jutaan.
2. Mengurangi kesulitan terhadap proses debugging. Dengan menerapkan konsep enkapsulasi berarti telah mendukung modularitas seutuhnya. Program besar dapat dipecah menjadi subprogram. Berbeda dengan prosedural(dulu pernah merasakan pertama kali belajar pemrograman semester satu make bahasa c++), sepertinya mudah di awal. Tetapi ketika muncul bugs, baru kita pontang-panting mencarinya. Apalagi saat menambahkan fitur, susahnya minta ampun ketika programnya mau dibongkar-pasang. Inilah keunggulan modularitas OOP, yang mengusung enkapsulasi.
3. Tidak terjadi tumpang tindih(misal penggunaan variable di satu method atau kelas, yang namanya bisa aja sama dengan variable yang ada di method atau kelas lain) antara satu dengan lainnya.
4. Kita tidak perlu tahu bagaimana para perancang program membuat programnya secara teliti dan rinci/detail. Misalnya, Anda ingin membeli mobil. Otomatis Anda tidak harus tahu dulu bagaimana mobil tersebut di buat, menggunakan mesin arsitektur apa, penjelasan tentang mengapa kursi dipasang dengan posisi sedemikian, bagaimana cara mobil mengaliri tenaga listrik ke seluruh tubuhnya(secara detail, semenjak mesin dihidupkan) dan segenap kerumitan lain. Yang harus anda tahu hanyalah, prosedur pembelian mobil, cara menyetir mobil, dan beberapa argumen lain yang lebih mengedepankan fungsionalitas dari barang yang kita beli. Ketika ditransformasi di dunia pemrograman, hukum yang sama berlaku. Kita tidak harus tahu bagaimana sulitnya programmer merancang algoritma, mengetik kode sumber, mengcompile program, melakukan debugging, hingga menjadi program utuh. Belum lagi ketika masih dalam versi beta, sehingga proses maintenance masih dijalankan pada program.
contoh:
1. pertama buat file enkapulasi sederhana.
class belajar{
public String x =”Pintar”;
private String y = “Java”;
}
class belajar{
public String x =”Pintar”;
private String y = “Java”;
}
simpan dalam belajar.java
disini
kita membuat class yang bernama belajar lalu didalam class terserbut
ada beberapa pendeklarasian suatu object yaitu x dan y yang bertipe data
string dan berisi sebuah string “Pintar” pada x dan “Java” pada x.
file ini dimaksudnya untuk enkapulasi, nanti akan dipanggil pada
program utama yang akan dibuat. Pada variabel x dan y harus dibuat
public, jika dibuat private di program utama tidak akan bisa diakses.
Karena jika diberi private berarti variable tersebut hanya bisa
digunakan pada file itu sendiri.
2. Buat file program utamanya
public class pintar{
public static void main(String[]args){
public class pintar{
public static void main(String[]args){
belajar panggil = new belajar();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}
simpan dalam pintar.java
Pembuatan
variabel “panggil” dengan menghubungkan nya dengan file enkapulasi
“belajar” yang telah kita buat tadi. Lalu cara memanggil objek yang
berada di file enkapulasi seperti yang ada diatas yaitu : (variabel yang
telah disesuaikan dengan file yang duhbungkan ex:panggil).(variabel
yang ingin diambil). Contoh diatas panggil.x, variabel yang telah
dihubungkan dengan file enkapulasinya dalah “panggil” lalu yang ingin
variabel object yang akan dipanggil adalah “x” yang berisi string
“Pintar. Untuk menjalankan program, file yang di compile adalah file
enkapulasinya dan file utama, tapi yang akan di run cukup file utamanya
karena di file utama akan memanggil file enkapulasinya. Begini outputnya
:
Java Source code : http://synaptic-uii.or.id/forum/viewthread.php?thread_id=12
Link : http://sabrinafrista.blogspot.com/
Tidak ada komentar:
Posting Komentar