Sebelum memulai membangun sebuah sistem programmer hendaknya terlebih
dahulu memahami konsep dasar pemrograman apakah termasuk Pemrograman
terstruktur atau Pemrograman berorientasi objek. Dengan menggunakan OOP
maka dalam melakukan pemecahan suatu masalah kita tidak melihat
bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi
objek-objek apa yang dapat melakukan pemecahan masalah tersebut.
Mengapa OOP dibangun dalam sebuah paradigma yang luas untuk
menyelesaikan masalah bisnis? Bahasa prosedural mengatur program dalam
mode barisan linier yang bekerja dari atas ke bawah. Dengan kata lain,
program adalah kumpulan dari tahapan yang dijalankan setelah yang lain
berjalan. Programming tipe ini bekerja dengan baik untuk program kecil
yang berisi code relative sedikit, tetapi pada saat program menjadi
besar, mereka cenderung susah untuk di-manage dan di-debug. Dalam usaha
untuk me-manage program, struktur programming diperkenalkan cara untuk
mem-break down code-code tersebut melalui functions dan procedures.
1. Sejarah singkat OOP
Object-Oriented Programming(OOP) adalah sebuah pendekatan untuk
pengembangan suatu software dimana dalam struktur software tersebut
didasarkan kepada interaksi object dalam penyelesaian suatu
proses/tugas.
Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya
kembali antar object tersebut. Object akan merespon pesan tersebut
menjadi sebuah tindakan /action atau metode. Jika kita mencoba melihat
bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa
kita berinteraksi dalam sebuah object-oriented world.
Object-oriented programs terdiri dari objects yang berinteraksi satu
sama lainnya untuk menyelesaikan sebuah tugas. Seperti dunia nyata,
users dari software programs dilibatkan dari logika proses untuk
menyelesaikan tugas. Contoh, ketika kamu mencetak sebuah halaman diword
processor, kamu berarti melakukan inisialisasi tindakan dengan mengklik
tombol printer. Kemudian kamu hanya menunggu respon apakah job tersebut
sukses atau gagal, sedangkan proses terjadi internal tanpa kita ketahui.
Tentunya setelah kamu menekan tombol printer, maka secara simultan
object tombol tersebut berinteraksi dengan object printer untuk
menyelesaikan job tersebut.
Konsep OOP dimulai pertengahan 1960-an dengan sebuah bahasa program
SIMULA kemudian dilanjutkan di era 70-an dengan SMALLTALK. Meskipun
developer software tidak secara intensif mengembangkan OOP, tetapi
metodologi object-oriented tetap digunakan.
Pada pertengahan 80-an, bahasa OOP seperti C++ dan Eifle menjadi
popular diantara programmer computer. Popularitas OOP berlanjut pada
tahun 90-an, banyak pengembang software menggunakan konsep OOP seperti
Java dll. Di tahun 2002, versi terakhir dari Visual Studio, Microsoft
memperkenalkan bahasa OOP baru yaitu C# (dibaca C-sharp) serta upgrade
Visual Basic, dan ini merupakan sebuah bahasa OOP sesungguhnya.
2. Konsep Object Oriented Programing
Konsep dari object oriented programming (OOP) adalah lebih dari
sekedar sebuah konsep pemrograman, Object oriented programming adalah
cara berpikir tentang aplikasi yang mempelajari untuk berpikir bahwa
aplikasi bukan sekedar prosedur melainkan sebagai object dan real
entity. Object yang dimaksud disini memiliki pengertian suatu modul yang
mengkombinasikan antara data dan kode program yang bekerja sama dalam
program dengan melewatkan proses satu sama lain. Jadi object oriented
programming merupakan cara yang paling efisien untuk menulis program
komputer yang sangat mudah untuk di kombinasikan dan untuk dipergunakan
kembali.
Object oriented programming lebih memfokuskan kepada manipulasi
object. Kenapa seorang programmer harus mempelajari object oriented
programming bahkan seorang programmer yang tidak pernah bekerja dengan
object oriented programing pun harus mempelajarinya juga. Hal ini
dikarenakan pada suatu hari nanti semua bahasa pemrograman akan
menambahkan kemampuan object oriented programming pada bahasanya.
Object oriented programming yang paling populer adalah java dan C++,
tetapi visual basic pun sudah ikut menambahakan kemampuan ini sejak
meluncurkan VB 4.0.3 Kita akan melihat beberapa konsep dasar dan
term-term yang umum untuk seluruh bahasa Object Oriented Programing :
1. Class
Class adalah kumpulan atas definisi data dan fungsi-fungsi dalam
suatu unit untuk suatu tujuan tertentu. Sebuah class adalah dasar dari
modularitas dan struktur dalam pemrograman berorientasi object. Sebuah
class secara tipikal sebaiknya dapat dikenali oleh seorang
non-programmer sekalipun terkait dengan domain permasalahan yang ada,
dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat
mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak
menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan
terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui
program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari
masalah ke sebuah program ataupun sebaliknya.
2. Objects
Object adalah sebuah structure yang menggabungkan data dan prosedur
untuk bekerja bersama-sama. Objek merupakan dasar dari modularitas dan
struktur dalam sebuah program komputer berorientasi objek. Dalam term
OOP, object adalah sebuah structure yang menggabungkan data dan prosedur
untuk bekerja bersama-sama. Contoh, jika kamu tertarik dalam pelacakan
data yang dihubungkan dengan produk, kamu akan menciptakan sebuah object
produk yang bertanggung jawab untuk me- maintenance dan bekerja dengan
data yang bersinggungan dengan produk. Jika kamu ingin kemampuan
mencetak dalam aplikasi kamu, kamu harus bekerja dengan sebuah object
printer yang bertanggung jawab untuk data serta metode yang digunakan
untuk berinteraksi dengan printermu.
3. Abstraction
Ketika membangun objects dalam aplikasi OOP, adalah penting untuk
menggabungkan konsep abstraction ini. Jika kamu membangun aplikasi
shipping, kamu harus membangun object produk dengan atribut seperti
ukuran dan berat. Warna adalah contoh informasi yang tidak ada
hubungannya dan harus dibuang. Tetapi ketika kamu membangun order-entry
application, warna menjadi penting dan harus termasuk atribut object
produk.
4. Encapsulation
Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation
adalah sebuah proses dimana tidak ada akses langsung ke data yang
diberikan, bahkan hidden. Jika kamu ingin mendapat data, kamu harus
berinteraksi dengan object yang bertanggung jawab atas dara
tersebut. Dalam contoh inventory, jika kita ingin melihat atau
mengupdate informasi atas produk, kita seharusnya bekerja melalui object
produk. Untuk membaca data, kita mengirimkan pesan ke object produk,
kemudian object produk akan membaca pesan dan mengirim pesan balik ke
kamu. Object produk mendefinisikan bahwa operasi dapat dilakukan pada
data produk. Jika kamu mengirim pesan untuk memodifikasi data dan jika
object produk menentukan bahwa permintaan itu valid maka permintaan
tersebut akan dilakukan dan akan mengirimkan pesan balik bersama
hasilnya.
Dengan melakukan encapsulasi pada data, berarti kamu membuat data
dari sistemmu lebih secure dan terpercaya. Karena kamu mengetahui
bagaimana data diakses dan operasi apa yang sedang berjalan pada data.
Hal ini membuat maintenance program menjadi lebih mudah. Kamu juga dapat
memodifikasi metode yang digunakan untuk kerja pada data, dan jika kamu
tidak merubah bagaimana metode itu diminta dan tipe response dikirim
balik, maka kamu tidak dapat merubah object lain dengan menggunakan
metode tersebut.
5. Polymorphism
Polymorphisms adalah kemampuan 2 buah object yang berbeda untuk
merespon pesan permintaan yang sama dalam suatu cara yang unik.
Bagaimana hal ini berhubungan dengan OOP? Kamu dapat membuat objects
yang dapat merespon pesan yang sama dalam implementasi yang unik.
Contohnya, kamu dapat mengirim pesan print ke object printer yang akan
mencetak pada printer, dan kamu juga dapat mengirim pesan yang sama ke
object screen yang akan menuliskan pada screen monitor. Dalam OOP, kamu
menerapkan tipe polymorphism melalui proses yang disebut overloading.
Kamu dapat mengimplementasikan metode yang berbeda pada sebuah object
yang mempunyai nama yang sama.
6. Inheritance
Menggunakan inheritance dalam OOP untuk mengklasifikasikan objects
dalam program sesuai karakteristik umum dan fungsinya. Hal ini akan
membuat pekerjaan bersama object lebih mudah dan lebih intuitif. Hal ini
juga membuat programming lebih mudah karena memungkinkan kita untuk
mengkombinasikan karakteristik umum kedalam object parent dan mewariskan
karakteristik ini ke child object.
7. Aggregation
Aggregation adalah kondisi ketika object berisi gabungan dari
object-object yang berbeda dan bekerja bersama. Contoh mesin pemotong
rumput terdiri dari object roda, objects mesin, object pisau dan
lain-lain. Object mesinpun merupakan gabungan dari berbagai object.
Kemampuan untuk menggunakan aggregation dalam OOP adalah satu feature
yang powerful yang memungkinkan model menjadi akurat.
Pemrograman visual membawa OOP ke level berikutnya. Tujuan
pemrograman visual adalah agar pemrograman menjadi lebih mudah bagi para
programmer dan lebih mudah diakses oleh kalangan nonprogrammer dengan
meminjam bahasa OOP, dan mempraktikanya secara grafis atau visual.
Pemrograman visual memungkinkan pengguna untuk lebih focus pada
pemecahan masalah ketimbang cara menangani bahasa pemrograman.
Sumber : http://blog.unsri.ac.id/userfiles/Konsep OOP.pdf
Rabu, 30 Oktober 2013
Langganan:
Postingan (Atom)