Pemrograman visual adalah metode pembuatan program dimana programmer membuat koneksi antara objek-objek dengan cara membuat gambar, menunjuk, dan mengklik pada diagram dan ikon dan dengan berinteraksi dengan diagram alur. Jadi, programmer bisa menciptakan program dengan cara mengklik pada ikon yang mewakili rutin-rutin pemrograman secara umum. Dalam pengeksekusian kode programnya, pemrograman visual merupakan konsep event-driven, yaitu pengeksekusian yang didasarkan atas kejadian(event) tertentu. Setiap kejadian tersebut mempunyai kode program sendiri yang disimpan dalam sebuah fungsi. Berbeda dengan pemrograman terstruktur atau procedural yang mengeksekusi kode-kode programnya mulai dari awal sampai akhir program secara beruntun.
Dalam konsep suatu objek dikenali adanya dua komponen yaitu :
• Properties atau atribut, yang memiliki nilai dan nama.
• Event (function, method, action, behaviour) yang hanya memiliki nama.
Konsep event dalam sebuah objek dianggap sangat penting karena objek tidak akan melakukan suatu action atau suatu kegiatan, objek hanya akan diam jika tidak ada event yang diberikan. Seperti yang kita ketahui objek hanyalah sebuah benda dan tak pernah melakukan sebuah action jika tidak ada sebuah perintah untuk menggerakkannya.
2. Pengertian Object Oriented Programming (OOP)
Adalah suatu cara baru dalam berfikir serta berlogika dalam menghadapi masalah-masalah yang akan dicoba diatasi dengan bantuan komputer. OOP, tidak seperti Pemprograman Terstruktur yang mencoba melihat permasalahan lewat pengamatan dunia nyata dimana setiap objek adalah entitas tunggal yang memiliki kombinasi struktur data dan fungsi tertentu. Ini kontras dengan pemprograman terstruktur dimana struktur data dan fungsi didefinisikan secara terpisah dan tidak berhubungan secara erat.
Pemrograman orientasi-objek menekankan konsep berikut:
• Kelas - Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. 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.
• Objek - Membungkus data dan fungsi menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
• Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
• Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
• Polimorfisme - Melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
• Inheritas - Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada. Objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
• 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. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Seperti manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
3. Konsep OOP Pada Pemrograman Visual
Bagaimana OOP bekerja : Objek, Pesan, dan Method Pemrograman berorientasi objek terdiri atas komponen-komponen berikut :
1. Apa itu OOP : dalam pemrograman berorientasi objek, data dan instruksi untuk pemrosesan di mana data dikombinasikan menjadi “objek” yang cukup memadai bisa digunakan pada program lain. Hal terpenting disini adalah objek.
2. Apa itu “objek” : objek adalah modul self-contained yang terdiri dari kode pemrogaman yang telah disusun sebelumnya. Modul memuat atau mengkapsulasi baik (1) cabang data, maupun (2) instruksi pemrosesan yang bisa dilakukan pada data tersebut.
3. Kapan objek data akan diproses – mengirim “message”: setelah objek menjadi bagian dari suatu program, instruksi tertentu diaktivasi hanya ketika “message” yang terkait sudah dikirimkan. Message adalah pengiriman peringatan kepada objek ketika operasi yang harus melibatkan objek tertentu dilakukan.
4. Bagaimana data objek diproses – “method”: message cukup mengidentifikasi operasinya. Bagaimana sebenarnya hal itu dilakukan akan disertakan didalam instruksi pemrosesan yang menjadi bagian dari objek. Instruksi pemrosesan ini dinamakan method.
Menggunakan kembali blok kode program setelah anda menuliskan satu blok kode program, kode tersebut dapat digunakan kembali pada program-program lain. Jadi, dengan OOP-tidak seperti pemrograman tradisional-anda tidak perlu memulai dari awal.
Dibandingkan dengan pemrogaman tradisional, mempelajari pemrogaman berorintasi objek memakan waktu yang lebih lama karena seperti berpikir dengan cara yang baru. Sekalipun demikian, OOP memilliki keunggulan yaitu objek bisa digunakan berulang-ulang pada aplikasi yang berbeda dan oleh programmer yang berbeda, karena itu waktu pengembanganya pun lebih cepat dan biaya pun bisa berkurang.
Pemrograman berorientasi objek memiliki tiga konsep dasar yang penting, yaitu enkapsulasi, pewarisan, dan polimorfisme.
1. Enkapsulasi, berarti objek memuat (1) data dan (2) instruksi pemrosesan yang relevan. Setelah objek dibuat, objek dapat digunakan kembali untuk program lain. Penggunaan sebuah objek bisa dijabarkan melalui konsep kelas dan pewarisan.
2. Pewarisan, setelah menciptakan sebuah objek. Kita dapat menggunakannya sebagai fondasi untuk objek yang sama yang memilliki perilaku atau karakteristik sama. Semua objek berasal dari atau yang saling berhubungan bisa membentuk suatu kelas. Masing-masing kelas memuat instruksi khusus (method) yang unik untuk kelompok tersebut.
Kelas bisa diatur dalam hierarki-kelas atau subkelas. Pewarisan adalah metode untuk mewariskan ciri dari suatu objek dari kelas ke subkelas dalam hierarki. Jadi objek yang baru dapat diciptakan dengan mewariskan ciri dari kelas yang sudah ada.
3. Polimorfisme, berarti “banyak bentuk” . Dalam pemrograman berorientasi objek, polimorfisme berarti sebuah pesan (permintaan yang sudah digeneralisasi) memberikan hasil yang berbeda berdasarkan objek yang dikirimkan.
Polimorfisme sangat berguna karena programmer dapat membuat prosedur mengenai objek yang jenisnya tidak diketahui sebelumnya, namun akan diketahui saat program dijalankan di komputer.
Dari konsep diatas, dapat disimpulkan bahwa terdapat hubungan yang jelas antara OOP dengan pemrograman visual. Pemrograman berorientasi objek berperan dalam pendefinisian rutin-rutin pemrograman sedangkan pemrograman visual mendefinisikan secara visual bagaimana programmer atau user menjalankan program tersebut sehingga tampilan nyata yang ada pada program tersebut dapat kita ketahui. Dan ini sangat membantu dan memudahkan programmer dalam pembuatan program dan juga memungkinkan pengguna untuk lebih fokus pada pemecahan masalah daripada cara menangani bahasa pemrograman atau tidak perlu mendalami sintaks atau menulis kode. Selain itu dengan adanya konsep OOP ini kita cukup mendefinisikan event-event yang akan terjadi pada objek tersebut. Jadi,dalam pembuatan suatu program atau aplikasi yang berbasis visual kita cukup dimudahkan dengan objek-objek yang telah tersedia tersebut. Dengan kata lain adanya pemrograman visual ini cukup membantu dalam pembuatan program aplikasi dengan mendukung konsep object oriented programming.
Contoh dari penerapan konsep OOP adalah membuat sebuah aplikasi sederhana dengan mengunakan Borland C++ Builder karena tinggal menggunakan objek-objek yang telah disediakan sesuai kebutuhan kita. Misalnya form, label, edit, button, dan lain-lain. Objek-objek tersebut nantinya akan dapat bekerja sesuai dengan fungsinya tergantung event yang kita berikan. Yang menjadi objek dalam hal ini adalah form, label, edit, button atau objek lain yang kita tambahkan pada aplikasi yang kita buat.