Anda di halaman 1dari 3

PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN 1

Sebelum era Pemrograman Berorientasi Objek, pemrograman komputer menggunakan konsep Pemrograman Terstruktur. Pemrograman Terstruktur ini berbasis Function. Program dibagi kedalam beberapa sub program yang akan dipanggil dari sebuah sub program utama. Pembagian program kedalam sub program bertujuan untuk meringkaskan program sehingga perintah-perintah program bisa bersifat reusable (bisa dipanggil kembali jika dibutuhkan). Pemrograman terstruktur umumnya berbasis command line. Para programmer menggunakan text editor yang populer seperti Edit, Sidekick. Kemudian source code program dibuat executable dengan menggunakan kompiler. Beberapa bahasa pemrograman seperti BASIC, Turbo Pascal sudah memiliki editor text dan kompiler sendiri. Ada 2 pandangan tentang perubahan konsep dari Pemrograman Terstruktur menjadi Pemrograman Berorientasi Objek: 1. Pandangan Revolusi, kalangan ini berpendapat bahwa perubahan terjadi karena telah terjadi kesalahan dalam cara pembuatan program selama ini (Terstruktur). Oleh karena itu ditemukan sebuah solusi untuk memecahkan permasalahan tersebut (Berorientasi Objek) 2. Pandangan Evolusi, kalangan ini berpendapat bahwa tidak terjadi kesalahan, hanya saja konsep yang digunakan (Terstruktur) tidak cukup lagi untuk menangani kompleknya permasalahan yang dihadapi oleh dunia pemrograman sehingga perlu berubah menjadi Berorientasi Objek Sebagaimana disampaikan oleh salah seorang Evolusioner, Arthur J. Lier: ....I have no trouble using this method of programming when there are only 8 opcodes to remember and 30 lines of code to write. When my hardware becomes more sophisticated and I begin getting problems that require 64K of memory, remembering opcodes then starts creating a level of complexity I cannot handle. At that time, I begin using assembly-language mnemonics. This works great until a point where the complexity of my problems outgrows this paradigm. I similarly upgrade to using a high-level language whose instructions each replace many assembly-language mnemonics, allowing me to think at a higher level. Aside from reducing the language complexity, I also seek out a better way of thinking about my problem. Instead of stringing instructions into small functions and small functions into programs, I use a structured method for breaking my problem into smaller pieces, each of which is manageable Tampak bahwa instruksi-instruksi pemrograman yang sebelumnya (Terstruktur) dapat digantikan dengan beberapa baris kode saja dengan menggunakan konsep Berorientasi Objek. Meminimalkan source code, sehingga programmer lebih bisa berkonsentrasi dalam pemecahan masalah itu sendiri. Bukan hanya perdebatan tentang dari mana asalnya Pemrograman Berorientasi Objek saja. Para ahli juga berbeda pendapat tentang pentingnya konsep ini. Sebagian berpendapat Kenapa konsepnya diubah?, pembuatan program kan bukan hanya berasal dari programmer saja?, tapi telah melalui analisa dari seorang sistem analis? .

Tentu saja perdebatan ini mempunyai latar belakang masing-masingnya. Untuk asal pemrograman berorientasi objek saya rasa kita lebih setuju kalau asalnya memang dari evolusi dari pemrograman itu sendiri. Sedangkan untuk pentingnya OOP akan kita bahas dalam uraian berikut. Pemrograman Terstruktur berbasis dari ide terpusat. Semuanya diselesaikan dalam sebuah aplikasi, mulai dari proses entri, modifikasi, laporan dan lain-lain. Dalam dunia nyata hampir tidak mungkin untuk menyelesaikan semua aktifitas dalam sebuah aplikasi, begitu banyaknya pilihan hardware, lokasi, jenis data membuat perlunya pengembangan sistem yang tidak terpusat. Tidaklah mungkin membuat sebuah aplikasi super yang bisa menyediakan laporan, menerima permintaan, memenuhi permintaan, dan mengirimkannya secara sekaligus di banyak tempat. Hal yang bisa dipecahkan dengan pemrograman berorientasi objek, karena objek bisa dideskripsikan, dikelompokkan, diorganisasikan, dikombinasikan, dimanipulasi, dan bisa dibuat. Solusi yang tepat untuk mengatasi masalah yang komplek.

Untuk lebih memahami tentang Pemrograman Berorientasi Objek, kita harus faham konsep dari berorientasi objek itu sendiri. Pressman memberikan contoh seperti sebuah kursi. Kursi yang kita duduki sekarang, adalah merupakan sebuah contoh objek. Kursi adalah anggota (member / instance ) dari kumpulan objek (class) yang lebih besar yakni furnitur. Beberapa atribut umum bisa digunakan oleh setiap anggota objek furnitur. Sebagai contoh semua furnitur akan memiliki harga, dimensi, tinggi, lebar, tempat, dan warna. Semua atribut itu akan berlaku untuk semua sofa, meja, lemari. Karena kursi (objek) adalah member dari furnitur (class), maka kursi mewarisi (inherit) semua atribut furnitur. Setelah sebuah class didefinisikan, maka atribut-atributnya bisa digunakan kembali oleh semua anggota.

Semua objek dalam class furnitur bisa dimodifikasi dengan berbagai cara. Objek tersebut bisa dijual, dirubah bentuk fisiknya (contoh: kaki meja yang patah, kemudian disambung kembali), atau dipindahkan dari satu tempat ke tempat lain. Setiap kegiatan (operation / services / methods) ini akan mengubah satu atau lebih atribut yang dimiliki oleh si objek. Sama seperti mewarisi atribut, maka objek juga mewakili methods dari sebuah class.

Objek meja membungkus (encapsulate) semua atribut, method, dan objek lain (contoh: objek laci) dalam satu nama. Sehingga kita mendapatkan konsep Berorientasi Objek adalah sebagai berikut: Berorientasi Objek = Objek + Class + Pewarisan + Komunikasi

Anda mungkin juga menyukai