Friday, June 4, 2010

Paradigma Pemrograman Berbasis Objek

Abstraksi adalah suatu cara dimana kita melihat objek dalam bentuk yang lebih sederhana. Contohnya : kita mengendarai mobil, kita tidak pernah memperhatikan komponen-komponen penyusun system mobil tersebut. Kita tidak perlu tahu bagaimana rel itu bekerja, bagaimana mesin bekerja, tentang pencampuran bahan baker dengan oksigen. Biasanya hanya melihat mobil sebagai suatu kesatuan dan dapat dikendarai.
Dengan abstarksi, kita dapat melihat suatu system terdiri dari kumpulan subsistem yang saling bekerja sama dan berinteraksi menjadi satu kesatuan.


Elemen dalam sebuah object: state dan behaviour
Setiap object memiliki state dan behaviour. Contoh : manusia memiliki state anatara lain umur, tinggi, berat, dll. Dengan behaviour berupa makan, tidur, bekerja, menjadi tua, dll. Behaviour dapat mengubah state atau tidak sama sekali, secara langsung ataupun tidak langsung. Supaya lebih mudah kita dapat menganggap state merupakan kata benda, karena bersifat pasif dan tidak beroperasi, sedangakan behaviour merupakan kata kerja, karena berfungsi melakukan operasi. Dalam implementasi sesungguhnya dalam java, state akan dikenal dengan nama properties atau field, sedangkan behaviour dikenal dengan method.

Konsep pemrograman berbasis object : Enkapsulasi, pewarisan, polymorphism.
Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi penyalahgunaan dari luar system sekaligus menyederhanakan suatu system itu sendiri. Akses ke internal system diatu oleh interface.
Contoh : seperti dalam kasus mobil, bayangkan transmisi mobil. Kita tidak mengetahui transmisi tersebut secara fisik seperti pada system transmisi tentang bagaimana cara mobil mengatur percepatan dan apa yang dilakukannya terhadap mesin untuk mendapatkan percepatan tersebut. Kita hanay memindah-mindahkan tongkat transmisi untuk mendapatkan percepatan yang kita inginkan. Tongkat transmisi inilah yang menjadi interface mobil tersebut. Dengan pedal rem kita tidak dapat mengakses system tersebut. Sebaliknya dengan menggunakan transmisi tersebut kita tidak mungkin dapat menyalakan radio mobil ataupun membuka pintu mobil. Konsep yang sama dilakukan dalam pemrograman.
Dalam bahasa Java “everything is an object”. Setiap baris program merupakan bagian dari object dan memiliki fungsi masing-masing. Kita dapat mengganti object-object yang menyusun subsistem dengan object lainnya jika memang diperlukan tanpa mengganggu keseluruhan system.
Pewarisan merupakan suatu proses dimana suatu class diturunkan dari class yang lainnya sehingga ia mendapatkan cirri dan sifat dari class tersebut. Perbedaan antara class dan object, class dipergunakan untuk menggambarkan suatu model atau spesifikasi dari suatu entitas, sedangkan object merupakan kenyataan, realisasi atau perwujudan dari class itu sendiri.
Polymorphism berasal dari bahasa Yunani yang berarti “banyak bentuk”. Dalam OOP, mungkin digunakannnya suatu interface yang sama untuk memerintahkan suatu objek agar melakukan tindakan yang mungkin akan memberikan hasil akhir yang serupa dengan proses berbeda. Dalam konsep lebih umum polymorphism dapat disebut “suatu interface, banyak aksi”. Contoh: dalam kasus mobil, banyak merek mobil beredar dipasaran tapi semua memiliki interface kendali yang sama. Jika kita dapat mengendarai satu mobil, kita pasti dapat mengendari mobil lain dengan merek berbeda. Interface yang sama tidak berarti cara kerja yang sama.
Dengan interface yang sama dapat mendapatkan hasil yang sama tetapi bagaimana proses yang terjadi dari aksi menjadi hasil mungkin saja berbeda.

sumber : http://ctzahra.wordpress.com/2009/03/20/paradigma-pemrograman-berbasis-objek/

No comments:

Post a Comment