bagi saya lebih suka menggunakan variabel implisit (my_string$, my_long&,
my_integer%, my_single!, my_double#) daripada secara eksplisit (Dim my_variable
as <var_type>). karena cara eksplisit memaksa kita untuk merencanakan terlebih
dahulu nama2 variabel beserta tipenya kemudian mendeklarasikannya di bagian
awal sub/modul. ketika di tengah jalan rupanya dibutuhkan variabel tambahan yg
tidak sesuai rencana, kita harus kembali lagi di bagian deklarasi untuk membuat
deklarasi variabel baru tersebut, kemudian kembali ke bagian kode yg tadi kita
tinggalkan sementara ketika membuat deklarasi variabel. meskipun sebenarnya
deklarasi variabel boleh saja diketik tidak di bagian awal sub/modul. contoh:
Private Sub Command1_Click()
' rencana semula: hanya dibutuhkan 2 variabel: nama dan umur
Dim Nama As String
Dim Umur As Integer
Nama = "Agus"
Umur = 24
'di tengah jalan kemudian baru terpikir kalo perlu variabel lain misalnya
Alamat
'idealnya, semua deklarasi variabel dijadikan satu kelompok (dideklarasikan
di
'atas bersama dengan deklarasi variabel Nama dan Umur
Dim Alamat As String
Alamat = "Yogyakarta"
End Sub
bila menggunakan deklarasi variabel secara implisit, kita tidak perlu melakukan
deklarasi variabel, setiap kita butuh variabel baru yg tidak direncanakan
sebelumnya tinggal buat variabel baru tanpa melakukan deklarasi ulang. tetapi
bahasa pemrograman yg lain umumnya tidak dapat menggunakan variabel yg belum
dideklarasikan terlebih dahulu (bahkan variabel tidak dapat digunakan sebelum
diinisialisasi, berbeda halnya dengan vb, yg ketika belum diberi nilai
tertentu, ia sudah otomatis memiliki nilai misal 0 atau string kosong). hal ini
akan mengubah kebiasaan gaya pemrograman seseorang yg beralih dari bahasa lain
ke vb. kadang2 ada yg mengeluhkan masalah ini. tetapi bagi saya fasilitas
deklarasi variabel secara implisit ini justru merupakan kelebihan tersendiri di
vb.
yg mungkin menimbulkan ketidaknyamanan dalam menggunakan variabel implisit
barangkali ketika kita ingin mengubah tipe variabel yg tadinya integer menjadi
long integer. langkah manual mengharuskan kita mengubah satu persatu variabel
my_integer% menjadi my_integer& (nama variabel tetap, tetapi tipenya berubah).
tetapi jika kita menggunakan fasilitas find and replace bawaan vb, penggantian
tipe variabel bukan sesuatu yg sulit, tinggal REPLACE ALL (Edit > Replace atau
Ctrl+H) my_integer% jadi my_integer& (batasi lingkup replace pada current
procedure).
jadi kesimpulan saya tetap lebih enak menggunakan deklarasi implisit. sekilas
melihat code yg anda lampirkan tidak ada yg salah.
[Non-text portions of this message have been removed]