Pemrograman berorientasi objek sering sekali disebut sebagai PBO/OOP (Object Oriented Programming). Bahasa pemrograman yang lazim digunakan dalam PBO adalah C++ ( Keluaran Borland disebut Borland C++, sedangkan dari Microsoft disebut Ms C++. Namun yang terakhir kurang poluler ). Demikian pula, jika ada bahasa pemrograman yang menggunakan C++ sebagai landasan utama bagi pengembangannya, maka bahasa tersebut bisa dipakai untuk PBO, seperti Java (bahasa ini sangat popular pada jaringan komputer, dalam hal ini adalah: Internet).
ALASAN DIGUNAKANNYA PBO
PBO diciptakan karena masih dirasakan adanya keterbatasan pada bahasa pemrograman tradisional yang dikenal dengan istilah procedural language seperti C, Pascal dan yang sejenisnya. Padahal, pemrograman prosedural sendiri pada awalnya merupakan perbaikan atas bahasa pemrograman sekuensial (sequential programming language), seperti BASIC ataupun Fortran. Konsep procedural programming language yaitu bahwa semua masalah dibagi ke dalam fungsi atau prosedur. Selain itu dalam procedural programming, fungsi dan data terpisah dan tidak menjadi satu kesatuan. Contoh kelemahan dari procedural programming adalah bila sebuah perusahaan membuat program General Ledger (Buku kas besar) menggunakan variabel yang bisa diakses oleh fungsi-fungsi lainnya, maka harus dideklarasikan variabel tersebut sebagai variabel global yang letaknya di luar semua fungsi sehingga bisa diakses oleh semua fungsi. Jika suatu saat perusahaan tadi memperkerjakan programmer baru yang belum mengetahui seluk-beluk program general ledger tadi, maka sangat dimungkinkan terjadinya kerusakan data. Anda juga akan menemukan kesulitan bila Anda ingin membuat tipe data baru dengan bahasa pemrograman tradisional.
Konsep PBO adalah bahwa semua pemecahan masalah dibagi ke dalam kelas (class). Dalam PBO data dan fungsi-fungsi yang akan mengoperasikan data digabungkan menjadi satu kesatuan yang bias disebut sebagai kelas. Fungsi kelas terletak pada fungsi anggota (member function) dalam Java. Jika Anda ingin membaca data dalam objek maka Anda harus memanggil fungsi anggota (member function) dalam objek. Hanya dengan cara ini Anda bisa mengakses data. Jadi Anda tidak bias mengakses data secara langsung seperti dalam konsep pemrograman tradisional. Pengaksesan data seperti pada PBO ini dikenal sebagai pengkapsulan data. Pengkapsulan data (data encapsulation) dan penyembunyian data merupakan kunci pengertian pemrograman berorientasi objek.
Jika Anda ingin mengubah data dalam objek tentunya Anda harus tahu fungsi-fungsi apa saja yang berinteraksi dengan objek itu, jadi tidak ada fungsi-fungsi lain yang bisa mengakses data sehingga penulisan dan penelusuran kesalahan program (debugging) akan dapat dilakukan dengan mudah. Untuk mempermudah pengertian mengenai objek, dimisalkan objek sebagai departemen-departemen dalam perusahaan, seperti pemasaran, keuangan, produksi, personalia, pengadaan maupun warehouse. Setiap departemen memiliki fungsi, tugas dan tanggung jawab yang berbeda. Jika menginginkan data laporan keuangan maka yang harus diminta adalah departemen keuangan, bukan yang lainnya.
PEMODULAN (ENCAPSULATION)
Pemodulan adalah metode untuk menggabungkan data dengan fungsi. Dalam konsep ini data dan fungsi digabung menjadi satu kesatuan yaitu kelas. Konsep ini erat kaitannya dengan konsep penyembunyian informasi (information hiding). Untuk menjelaskan konsep ini diberikan contoh sebagai berikut.
Contoh 1:
Mobil adalah sebuah kelas. Seorang pengendara mobil tidak harus tahu bagaimana proses kerja mesin mobilnya, pembakaran bahan bakar, proses pemindahan transmisi gigi, dan seterusnya. Yang dia tahu adalah bahwa setir untuk mengendalikan jalannya mobil, pedal gas untuk menambah kecepatan, pedal rem untuk mengurangi kecepatan, dan seterusnya. Singkatnya dia hanya tahu bahwa mobilnya berjalan dengan baik.
Contoh 2:
Kelas rice cooker (penanak nasi). Seorang ibu rumah tangga tidak tahu mengapat rice cooker bisa bekerja seperti itu. Barangkali seorang ibu rumah tangga tidak menyadari bahwa rice cooker modern memiliki sebuah mikroposesor setara Z80. Dari dua contoh di atas jelaslah bagaimana proses dalam metode suatu kelas selalu disembunyikan sedemikian rupa sehingga seseorang hanya tahu kelas tersebut dapat berfungsi, bukannya apa yang menyebabkan kelas itu bisa berbuat demikian. Hal di atas cukup penting dalam PBO membangun aplikasi kompleks yang melibatkan beberapa pemrograman. Misalnya sebuah kelompok pemrograman akan membuat aplikasi akuntansi (aplikasi ini biasanya membutuhkan ilmu yang sangat kompleks). Pemrogram I menangani masalah struktur data, Pemrogram II menangani masalah akuntansi dan Pemrogram III menangani masalah tampilan layar, dan sebagainya. Sebelum dikenal PBO, setiap pemrogram harus membuat suatu fungsi yang memiliki argumen masukan dan keluaran. Jadi bila Pemrogram I ingin mengolah program dari Pemrogram II, dia harus memberikan masukan dan menerima keluarannya. Cara ini sudah banyak digunakan dan mempunyai kelemahan yang antara lain tidak adanya kesatuan antara data dan fungsinya.
PENURUNAN (INHERITANCE)
Dari konsep penurunan ini suatu kelas bisa diturunkan menjadi kelas baru yang masih mewarisi sifat-sifat kelas orangtuanya. Hal ini dapat dianalogikan dengan kelas manusia. Manusia merupakan turunan dari orang tuanya dan sifat-sifat orang tua diwarisi olehnya. Bisa ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang menggambarkan silsilah kelas tersebut.
Contoh:
Dari kelas kendaraan bermotor dapat diturunkan beberapa kelas baru, misalnya: sepeda motor, sedan, pick-up, mini-bus, dan kendaraan roda banyak.
Contoh:
kelas sepeda motor mungkin masih dibagi lagi menjadi dua kelas, yaitu sepeda motor 2 tak dan 4 tak. Sepeda motor 2 tak mungkin masih dibagi lagi menurut pabrik pembuatnya, seperti Honda, Suzuki, Yamaha, dan seterusnya. Masing-masing pabrik mungkin masih mempunyai beberapa kelas turunan lagi, seperti Honda Astrea Star, Honda Astrea Grand, dan seterusnya, seperti ditunjukkan pada Gambar dibawah ini
POLIMORFISME (POLYMORPHISM)
Polimorfisme berarti kelas-kelas yang berbeda tetapi berasal dari satu orang tua dapat mempunyai metode yang sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas yang berbeda-beda. Contoh: kelas untuk input sound system. Sebuah tape recorder dan CD player memiliki tombol PLAY yang berfungsi untuk memainkan music yang dikehendaki. Tape recorder mengimplementasikan tombol PLAY dengan membaca isyarat-isyarat yang terekam di pita magnetis kaset, sedangkan CD player menggunakan sinar laser untuk membaca bit-bit digital yang terekam di permukaan CD.
Tidak ada komentar:
Posting Komentar