Sekilas Tentang Pemograman Visual
Hal yang paling mendasar dalam lingkungan pemograman visual adalah objek. Objek adalah bundel data yang terdiri dari elemen-elemen data yang diperlukan seperti field, properti, prosedur dan fungsi. Untuk menulis komponen diperlukan pemahaman yang cukup baik terhadap objek tersebut dan juga istilah-istilah yang digunakan dalam lingkungan OOP, termasuk dasar pemograman.
1. Objek dan kelas (Object and Class)
Istilah Object mengacu
keistilah yang sudah digunakan oleh Turbo Pascal dan istilah class lebih ditunjukan untuk mendukung
pemodelan objek 32 bit pada Delphi .
Jadi
deklarasi objek model lama (16 bit) menggunakan kata tercadang object dan deklarasi objek model baru
(32 bit) menggunakan kata tercadang class.
Object lebih ditunjukkan untuk kompatibilitas ke belakang, yaitu tetap
mendukung objek-objek yang telah dibuat sebelumnya dengan Turbo Pascal. Jika tidak ada alasan
kompatibilitas, gunakanlah kata tercadang class
dalam pembentukan objek.
Versi lain
yang lebih teknis mengatakan bahwa kelas adalah bundel sturktur data yang telah
disempurnakan sehingga mempunyai kemampuan kerja yang lebih baik. Beberapa
elemen seperti properti, field, metoda (prosedur atau fungsi) ditambahkan dalam
struktur objeknya.
Alasan lain
penggunaan istilah kelas adalah Borland ingin melakukan migrasi yang bersih
dari lingkungan 16 bit ke lingkungan 32 bit. Pada model objek baru yaitu kelas,
tidak perlu lagi deklarasi pointer to
object karena semua kelas adalah jenis pointer
to object itu sendiri.
Secara
umum, dapat dikatakan bahwa objek dan kelas mengacu pada hal yang sama, hanya
beda penyajiannya. Objek adalah representasi atau perwujutan dari suatu kelas.
Kelas atau objek mempunyai karakteristik dan sifat-sifat tertentu, merupakan
bagian dari pengelompokan dan penjenjangan seluruh objek dalam suatu hirarki
yang membentuk hubungan antara moyang dan keturunannya.
Dalam
lingkungan pemograman visual, objek atau kelas ini juga sering dasebut komponen
(Component). Dilihat dari sisi pengembangan
aplikasi, dengan mengetahui bahwa moyang semua komponen visual adalah
TComponent maka objek akan lebih tepat
disebut komponen. Sedangkan jika dilihat dari istilah formalnya dan juga
strukturisasi objeknya seperti sifat, fungsi dan penjenjangannya, mungkin objek
akan lebih tepat dusebut kelas.
Kelas
adalah struktur data yang didefinisikan
dan objek adalah representasi kelas yang berhubungan dengan pemanfaatan
/ manipulasi datanya. Sedangkan komponen adalah wujud nyata dari suatu objek.
2
Warisan dan Pewarisan (Inherited and Inheritance)
Inherited (pewarisan ) adalah hal-hal yang berhubungan dengan pembentukan objek baru dengan tetap
mempertahankan properti dan lingkungan objek asalnya. Atau dengan kata lain,
objek baru tersebut selalu mewarisi sifat-sifat moyangnya.
3
Enkapsulasi
(Encapsulation)
Enkapsulasi
adalah menggabungkan (mengkombinasikan) data dan fungsionalitas dalam satu
kesatuan (unit), dengan cara menyembunyikan implementasinya. Manfaat utama
konsep ini adalah modularitas dan isolasi suatu kode / rutin dari kode lainnya.
4
Moyang
– Keturunan (Ancestor – Descendant)
Ancestor dan Descendant berkaitan erat dengan pewarisan. Ancestor adalah moyang atau asal dari suatu komponen. Descendant adalah keturunan suatu
komponen atau komponen yang dibentuk / diturunkan dari komponen lain. Keduanya
erat kaitanya dalam pembentukan objek atau kelas baru.
Semua kelas
yang mewariskan sifat-sifatnya pada komponen disebut moyang. Kelas untuk
menurunkan sebuah komponen disebut moyang langsung. Setiap komponen mewarisi
sifat dari moyang langsungnya dan juga sifat dari moyang-moyang sebelumnya
secara berurutan. Komponen adalah descendant
moyang dan moyang adalah ancestor komponen.
Bersama-
sama, semua hubungan moyang-keturunan dalam sebuah komponen membentuk tingkatan
kelas-kelas.
Setiap
generasi dalam suatu hirarki mempunyai isi yang lebih banyak dari moyangnya,
karena setiap kelas di samping mewarisi semua yang berasal dari moyangnya masih
ditambah elemen barunya sendiri (seperti properti, metoda dan lain-lainnya)
Dengan
memilih moyang yang tepat, komponen akan mewarisi properti dan metoda yang
diperlukan saja sehingga komponen tersebut akan menjadi sangat handal dan
memungkinkan untuk dikembangkan lebih lanjut oleh pihak lain.
Cara
memilih moyang sangat sederhana. Pilihlah kelas yang berisi paling banyak
elemen-elemen yang diperlukan dalam komponen baru tetapi tidak mempunyai
apa-apa yang tidak diinginkan oleh komponen baru tersebut. Menambahkan sesuatu
seperti property atau metoda ke komponen selalu bisa dilakukan tetapi
sebaliknya tidak mungkin membuang sesuatu yang telah ada.
5
Properti
(Property)
Properti
adalah parameter yang bisa diubah-ubah pada tahap perancangan maupun saat
aplikasi dijalankan.properti menjadi bagian yang paling menarik dari suatu komponen.
Efek dari perubahan nilainya dapat dilihat langsung dari reaksi komponen
terhadap perubahan tersebut.
Ditinjau
dari sisi pengguna, properti tidak berbeda dengan variabel. Nilai properti ini
juga dapat diganti-ganti dan dibaca oleh bagian lain dari suatu program. beda
utama dengan variabel adalah properti tidak bisa diberikan / dilewatkan sebagai
tipe variabel.
Properti
dapat digunakan untuk menyembunyikan detil suatu program. Dengan properti,
seolah-olah hanya memilih/ menetapkan suatu nilai parameter dan melihat
perubahan komponen terhadap perubahan nilai tersebut, padahal perubahan nilai
ini bisa saja melibatkan prosedur yang kompleks.
Sebuah
properti dideklarasikan bersamaan dengan deklarasi kelas komponennya. Ada 3 hal
yang perlu ditetapkan dalam pendeklarasian suatu properti, yaitu :
1. Nama properti. Pilih nama yang dapat
mewakili kegunaan properti tersebut. Hindarkan penggunaan nama yang sama dengan
nama property moyangnya.
2. Tipe properti. Memilih visibilitas atau
tingkat proteksi.
3. Metoda yang digunakan untuk menulis (write) dan membaca (read) nilai propertinya. Jika metoda penulisan tidak dideklarasikan
maka propertinya menjadi read-only.
Nilai
properti yang berupa string biasanya diawali dengan dua huruf kecil yang
merupakan singkatan dari nama propertinya dan diikuti string nama konstanta
tersebut.
Metoda baca
(read) adalah sebuah fungsi tanpa
parameter dan menghasilkan nilai yang sama tipenya dengan properti. Metoda
tulis (write) adalah prosedur dengan
parameter tunggal yang bertipe sama dengan propertinya. Parameter dapat
diberikan sebagai variabel atau langsung nilainya.
6. Event
Event adalah mekanisme penghubung antara suatu kejadian pada komponen dengan
prosedur yang merespons kejadian tersebut. Prosedur yang merespons tersebut
disebut handler. Isi handler biasanya disediakan oleh
pengembang aplikasi.
Event untuk tindakan/ perintah yang umum sudah disediakan dalam semua komponen
standar. Walaupun demikian, masih diperbolehkan untuk menambah event baru. Event memungkinkan untuk mengubah cara
kerja komponen tanpa mengubah kelasnya.