Konsep Object Oriented Programming (OOP) dalam Pemrograman Visual
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 Dan Ciri 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.
Kita akan melihat beberapa konsep
dasar dan term-term yang umum untuk seluruh bahasa Object Oriented Programing :
A. 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.
B. 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.
C. 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 orderentry application, warna menjadi penting dan harus
termasuk atribut object produk.
D. 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.
E. 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.
F. 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.
G. 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 fokus pada pemecahan masalah ketimbang cara
menangani bahasa pemrograman.
3. Pemrograman Prosedural VS OOP
Dikatakan lebih baik karena keduanya memiliki spesifikasi
tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi
si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka
menggunakan yang berorientasikan pada objek maupun pemrograman yang terstruktur. Pemrograman prosedural akan
dikatakan lebih baik apabila dalam segala situasi melibatkan kompleksitas
moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat yang dirasakan dalam penggunaan pemrograman
prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa
menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan
“goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan
pemrograman terstruktur menjadi seperti spagethi code.
Pemrograman
berorientasikan objek dikatakan lebih baik apabila model data berorientasi
objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah
program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh
lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula
dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah
dikembangkan dan dirawat. Apabila Anda diberi pertanyaan: apakah sebaiknya
menggunakan OOP atau Pemrograman Prosedural? Maka jawabannya sangat relatif,
terutama tergantung pada aplikasi yang ingin Anda buat. Jika Anda
mempertimbangkan pemeliharaan dan pengembangan aplikasi yang eļ¬sien di masa
yang akan datang, mungkin Anda dapat memilih pendekatan OOP. Tetapi, jika
aplikasi Anda merupakan program sederhana yang dapat dibuat dengan mudah dan
cepat dengan function/procedure, gunakanlah pendekatan Pemrograman Procedural. Premis dasar OOP setiap program bisa dipecah menjadi objek
– objek yang saling berinteraksi tidak terlalu baik untuk menyelesaikan masalah
yang secara natural bersifat algoritmik. Semua itu juga tergantung pada Anda
sebagai pemrogram, untuk memilih pendekatan yang cocok dan lebih baik bagi Anda
dalam mengerjakan sebuah aplikasi.
Sumber Artikel
:
3.
Artikel Konsep Object Oriented Programming (OOP)
dalam Pemrograman Visual|Universitas Sriwijaya|Elvi Oktavia|2010