1. Zulutrade Autotrading

    www.zulutrade.com
    30,000+ Members Get World Class
    Signals to your Account. Join Today

Jumat, 10 April 2009

Object Oriented Programming

PEMROGRAMAN BERORIENTASI OBYEK (Object Oriented Programming)

Ide dasar pada bahasa berorientasi obyek adalah mengkombinasikan data dan fungsi-fungsi untuk mengakses data menjadi sebuah kesatuan unit. Unit ini dikenal dengan nama obyek. Obyek sebenarnya mencerminkan pola kerja manusia dalam kehidupan sehari-hari. Sebuah obyek dapat diibaratkan sebagai departemen-departemen di dalam sebuah perusahaan bisnis. Contoh departemen penjualan, akunting, dan personalia.

Pembagian departemen pada perusahaan merupakan upaya untuk memudahkan pengoperasian perusahaan. Sebagai gambaran jika Anda sebagai manajer penjualan di Kantor Pusat ingin mengetahui data personalia salesman disuatu kantor cabang, apa yang anda lakukan? Langkah yang Anda tempuh pasti tidak datang secara langsung ke ruang personalia dan mencari data pada berkas-berkas yang ada pada departemen tersebut. Untuk memudahkan tugas Anda, Anda cukup mengutus sekretaris Anda untuk meminta informasi dari departemen personalia sesuai Anda butuhkan. Masalah bagaimana dan siapa yang mencarikan laporan yang diperlukan bukanlah menjadi urusan Anda. Analogi dengan hal ini, kalau seseorang bermaksud menggunakan obyek, ia cukup mengirim suatu pesan ke obyek dan obyek itu sendiri yang akan menanganinya.

Bisa dibayangkan, betapa repotnya Anda kalau Anda sebagai manajer penjualan harus mencari sendiri berkas-berkas yang ada pada departemen personalia. Barangkali Anda malah bakal mengobrak-abrik berkas-berkas yang sudah tersusun rapi. Kejadian semacam inilah yang dihindari pada konsep pemrograman berorientasi obyek.

Pemrograman berorientasi obyek menjalankan fungsinya secara berbeda dengan pendekatan prosedural tradisional. Pemrograman berorientasi obyek membutuhkan strategi pemrograman baru yang seringkali sulit untuk programmer yang berorientasi pada pendekatan tradisional. Dalam pemrograman berorientasi obyek, obyek tidak hanya menyimpan data (data anggota) namun juga metoda (fungsi anggota) untuk mengerjakan sesuatu pada data tersebut. Dua item ini terpadukan dalam suatu konsep kerja: obyek berisi data dan metode untuk melakukan sesuatu pada data tersebut.

Terdapat 3 keuntungan yang ditawarkan pemrograman berorientasi obyek, yang pertama adalah maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer. Keuntungan kedua ialah pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya. Sedangkan keuntungan ketiga adalah dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.
A. Karakteristik Pemrograman Berorientasi Obyek

Tiga karakteristik utama dari bahasa yang berorientasi obyek adalah: enkapsulasi (encapsulation), pewarisan (inheritance), dan polimorfisme (polymorphism).

Ketiga karakteristik ini mendukung atau memperkenankan kelas yang telah dibuat dan diuji dapat didistribusikan ke pemrogram lain untuk dipakai pada program-program mereka. Hal ini mempunyai kesamaan dengan penulisan fungsi pada bahasa prosedural yang kemudian diletakkan dalam pustaka (library). Perbedaannya, tingkat pemakaian kembali pada program berorientasi obyek lebih tinggi daripada bahasa prosedural. Sebab pemrogram dengan mudah dapat menurunkan sifat-sifat dari suatu kelas dan menambahkan sifat-sifat yang baru.
A.1. Enkapsulasi/pengapsulan (encapsulation)

Pengemasan data dan fungsi dalam wadah bernama obyek dikenal dengan nama enkapsulasi. Data tidak lagi diperlakukan sebagai komponen kedua setelah fungsi melainkan mempunyai kedudukan yang sama dengan fungsi.

Enkasulasi sering juga dianggap sebagai penyembunyian informasi. Ini merupakan kemampuan sebuah obyek kelas untuk membatasi akses client ke representasi internal obyek kelas (data dan fungsi).

Sebuah client adalah suatu aplikasi, atau komponen yang meminta sebuah layanan dari obyek yang lain. Obyek yang menerima permintaan memberikan layanan yang ada lewat metode-metode publiknya. Karenanya, abyek ini adalah server dalam hubungan demikian karena ia menyediakan sebuah layanan. Sebuah obyek dapat menjadi server pada satu obyek dan sebuah client pada obyek lain secara bersamaan. Analognya dalam kehidupan kita sehari-hari: misalnya Anda (pembaca) adalah seorang client dan saya (penulis), dan saya memberikan Anda layanan informasi. Sebaliknya, saya adalah seorang client dari penulis lain yang telah mempublikasikan buku-buku yang saya pakai selama tahap penulisan artikel ini.

Beberapa metoda lebih lanjut dalam menerapkan enkapsulasi adalah: anggota-anggota kelas privat, anggota-anggota kelas privat statis, kawan-kawan, dan obyek-obyek kelas pembantu.

*

Anggota kelas privat, enkapsulasi diterapkan dengan mendefinisikan variabel-variabel dan fungsi-fungsi dari sebuah kelas sebagai privat. Anda bisa menganggap bahwa fungsi-fungsi anggota kelas (juga dikenal sebagai metode) didefinisikan sebagai publik yang secara internal memanipulasi variabel-variabel dan fungsi-fungsi anggota privat. Dalam istilah berorientasi obyek, metode-metode publik dari sebuah kelas merupakan abstraksi dari representasi privat kelas. Hasilnya adalah bahwa representasi privat dienkapsulasikan. Keuntungannya, Anda dapat menerapkan kelas kembali untuk memasukkantipe-tipe variabel dan kelas yang berbeda, dan Anda bisa memperbaharui implementasi dari motode publik bila perlu (dengan anggapan bahwa tanda-tanda fungsi dari metode publik tidak berganti).
*

Anggota kelas statis privat, sebuah fitur kelas standar yang mendukung enkapsulasi dalam kebanyakan bahasa berorientasi obyek adalah kemampuan untuk mendefinisikan anggota-anggota kelas statis. Variabel-variabel dan fungsi-fungsi anggota statis adalah anggota-anggota dari suatu kelas bukan angota-anggota dari obyek-obyek kelas. Anggota statis dibuat sekali untuk suatu kelas dan berlaku global untuk semua bentuk dari kelas itu. Anggota-anggota statis dapat didefinisikan sebagai privat, sehingga enkapsulasi dapat diterapkan. Anggota-anggota statis memungkinkan Anda untuk mengurangi keperluan diluar perkiraan untuk menjaga bentuk anggota-anggota terpisah yang dapat dipakai bersama oleh semua obyek-obyek kelas.
*

Kawan-kawan, Semua kita tahu bahwa kita tidak bermaksud untuk menyimpan terlalu banyak informasi pribadi sendirian, sehingga kita percaya pada seorang kawan dan memberikan mereka akses ke informasi pribadi kita. Skenario yang sama berlaku untuk obyek-obyek. Sebuah tipe obyek bisa berupa sebuah kawan bagi tipe lainnya. Dalam kenyataannya, seperti dalam persahabatan manusia, kepercayaan mungkin hanya satu arah. Setiap pihak (tipe obyek) dalam hubungan individual memutuskan apakah menerima yang lain sebagai kawan.

A.2. Pewarisan (Inheritance)

Pewarisan merupakan sifat dalam bahasa berorientasi obyek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain. Ketika Anda membuat sebuah solusi pemrograman berorientasi obyek Anda berharap memperoleh pemanfaatan ulang sebagai hasilnya. Daripada membuat ulang kontrol pada setiap sistem baru, Anda mestinya membuat kelas-kelas dari obyek-obyek yang dapat dipakai kembali.

Pewarisan adalah suatu tindakan mengambil sebuah kelas dari yang lainnya. Pewarisan publik berarti bahwa kelas turunannya adalah sebuah sub kelas atau sub tipe dari kelas sebelumnya. Pewarisan non publik berarti kelas yang mewariskan bukanlah sebuah sub kelas dari pendahulunya melainkan hanya mewariskan ciri-cirinya saja.

Pewarisan dapat dikelompokkan lebih lanjut dalam dua bentuk utama, yaitu pewarisan implementasi dan pewarisan antar muka. Pewarisan implementasi mendukung konsep-konsep hirarki sebuah kelas, dimana sebuah kelas dapat dihasilkan dari kelas lain, dimungkinkan ia mewarisi struktur dan perilaku semua pendahulunya. Pewarisan antar muka adalah kemampuan sebuah kelas untuk mewariskan antar mukanya ke kelas lainnya. Antar muka adalah sekelompok properti kelas dan nama-nama metode yang dideklarasikan sebagai publik.
A.3. Polimorfisme (Polymorfisme)

Polimorfisme merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda. Istilah ini sendiri berasal dari bahasa Yunani, yang berarti mempunyai banyak bentuk. Pengertian dari polimorfisme ini secara sederhana saya umpamakan dengan ketika menulis artikel ini. Artikel yang saya tulis ini berasal dari berbagai sumber tulisan beberapa penulis, dengan bentuk penyampaian yang cirikhas dan gaya penulisan berbeda-beda, namun isi dari tulisannya secara keseluruhan tetap menggambarkan satu tema/topik tulisan yang sama.

Tidak ada komentar:

Posting Komentar