BAB VII PENDEKLARASIAN
Deklarasi merupakan bentuk penulisan pernyataan yang akan dipakai dengan menyebutkan tipe data yang dipakai oleh suatu variabel atau konstanta, agar mudah dikenali dan juga agar mengetahui batasan tipe data yang digunakan. Secara umum kata cadangan yang merupakan bagian deklarasi adalah Dim, Public, Privite, Static, dan Type.
![]() | ![]() | ||
Program Visual Basic terdiri atas bagian deklarasi dan bagian pernyataan program; serta ada dua tipe kode sumber, yaitu : pertama form dan kedua module. Berikut ini letak deklarasi dalam struktur program Visual Basic :
![]() |
Gambar VII.1. Struktur program bahasa Visual Basic
A. LEVEL DEKLARASI
A.1. Deklarasi program
Deklarasi program ini semua statemen yang dinyatakan dapat dipakai dalam semua sub-program. Deklarasi jenis ini sering dipakai, bila ingin mendeklarasikan variabel atau pernyataan secara umum yang dapat dipakai di semua sub-program. Penulisan deklarasi untuk program menggunakan kata Dim atau Public yang diletakkan pada deklarasi form (jendela) aplikasi yang terletak pada bagian [General] dan prosedur [declaration] di mulai dengan kata Option Explicit untuk memberitahukan program menggunakan deklarasi eksternal.
Contoh program Prg_VII_1. Program contoh deklarasi program
a)
![]() |
Buatlah tampilan program seperti pada gambar VII.2.
Gambar VII.2. Prg_VII_1 deklarasi program
b) Ubahlah settingnya dengan melihat tabel berikut :
Form / Kontrol | Properti | Setting |
Form | Name | frmPrg |
Caption | Perkalian |
c) Tulislah kode di jendela kode :
Option Explicit
Dim A, B, Hasil As Single
Private Sub Form_Load()
A = 5
B = 5.5
Hasil = A * B
Show
Print "A x B= "; Hasil
End Sub
d) Jalankan program tersebut, shortcut F5
A.2. Deklarasi modul
Pada program yang kompleks (misalnya program terdiri atas beberapa form/window) tidak efisien menempatkan deklarasi yang sering dipakai ke dalam deklarasi umum. Penggunaan modul standar sebagai alternatif pendeklarasian dan penempatan statemen sangat efektif, jika membuat program yang sangat kompleks.
Pendeklarasian modul standar tidak tampak jika Anda menjalankan suatu program (tidak seperti pendeklarasian secara general), tetapi pendeklarasian modul tampak sewaktu membuat modul program.
Contoh program Prg_VII_2. Program contoh deklarasi program
a) Buatlah sebuah modul standar. Pada Visual Basic 4.0 dari menu Insert|Modul dan pada Visual Basic 5.0 atau 6.0 dari menu Project|Add Module. Tulis kode, setelah menulis kode simpan dari menu File|Save File AS… atau Visual Basic 5.0 atau 6.0 di menu File|Save Module As… dengan nama Prg_VII_2.BAS.
Option Explicit
Global N, Indeks As Integer
Global NilaiAwal, Hasil As Double
Public Sub ValueX()
N = frmUtama.Text1.Text
NilaiAwal = frmUtama.Text2.Text
End Sub
b)
![]() |
Buatlah tampilan program seperti pada gambar V.II.2.
Gambar VII.2. Form pada window utama
c) Ubahlah settingnya dengan melihat tabel berikut :
Form / Kontrol | Properti | Setting |
Form | Name | frmUtama |
Caption | Window utama | |
Label1 | Caption | Banyaknya perulangan |
Label2 | Caption | Nilai perulangan |
TextBox1 | Text |
|
TextBox1 | Text |
|
CheckBox1 | Caption | Deret &ukur |
CheckBox2 | Caption | Deret &hitung |
CommandButton1 | Caption | &Lagi |
CommandButton2 | Caption | &Keluar |
d) Tulis kode pada jendela kode berikut ini :
Private Sub Check1_Click()
If Check1.Value = 1 Then
Form1.Show
Else
Check1.Value = 0
Unload Form1
End If
End Sub
Private Sub Check2_Click()
If Check2.Value = 1 Then
Form2.Show
Else
Check2.Value = 0
Unload Form2
End If
End Sub
Private Sub Command1_Click()
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
Check1.Value = 0
Check2.Value = 0
ValueX
Unload Form1
Unload Form2
End Sub
Private Sub Command2_Click()
Unload Me
Unload Form1
Unload Form2
End Sub
e) Simpan Form di atas dengan nama Prg_VII_2.FRM
f) Buatlah form baru Visual Basic 4.0 Insert|Form pada Visual Basic 5.0 atau 6.0 di Project|Add Form , maka Visual Basic akan menyiapkan form baru dan buatlah tampilan program sebagai berikut :
![]() |
Gambar VII.3. Form untuk tampilan deret ukur
g) Ubahlah settingnya dengan melihat tabel berikut :
Form / Kontrol | Properti | Setting |
Form | Name | Form1 |
Caption | Deret ukur | |
Label | Caption | Hasil |
TextBox | Text |
|
CommandButton | Caption | &OK |
h) Tulis kode berikut :
Option Explicit
Private Sub Command1_Click()
FrmUtama.Check1.Value = 0
Unload Me
End Sub
Private Sub Form_Load()
ValueX
Hasil = 0
For Indeks = 1 To N
Hasil = Hasil + NilaiAwal
Next
Text1.Text = Hasil
End Sub
i) Simpan form ini dengan nama Prg_VII_2_1.FRM
j) Buatlah form baru Visual Basic 4.0 Insert|Form pada Visual Basic 5.0 atau 6.0 di Project|Add Form, maka Visual Basic akan menyiapkan form baru dan buatlah tampilan program sebagai berikut :
![]() |
Gambar VII.4. Form untuk tampilan deret hitung
Form / Kontrol | Properti | Setting |
Form | Name | Form1 |
Caption | Deret &hitung | |
Label | Caption | Hasil |
TextBox | Text |
|
CommandButton | Caption | &OK |
l) Tulis kode berikut :
Option Explicit
Private Sub Command1_Click()
FrmUtama.Check2.Value = 0
Unload Me
End Sub
Private Sub Form_Load()
ValueX
Hasil = 0
For Indeks = 1 To N
Hasil = Hasil + NilaiAwal
Next
Text1.Text = Hasil
End Sub
m) Simpan form ini dengan nama Prg_VII_2_2.FRM
n) Setelah selesai, melaksanakan langkah-langkah seperti di atas. Selanjutnya mengorganisir file-file yang telah Anda buat, pada Visual Basic 4.0 dari menu File|Add File… atau pada Visual Basic 5.0/6.0 dari menu Project|Add File dan jadikan satu file-file Prg_VII_2.FRM, Prg_VII_2_1.FRM, Prg_VII_2_2.FRM, dan Prg_VII_2.BAS dalam file proyek Anda. Jangan lupa simpan kembali file proyek Anda.
o) Visual Basic 4.0 dari menu Tools|Options pilih Project, Visual Basic 5.0/6.0 dari menu Project|Project1 Properties dan tentukan (pastikan) FrmUtama di field StartUp.
p) Simpan file proyek Anda dan beri nama dengan Prg_VII_2.VBP.
q) Jalankan program dengan shortcut (F5).
A.2.1. Deklarasi variabel untuk sebuah modul
Variabel dapat digunakan untuk semua prosedur dalam sebuah modul tempat variabel dideklarasikan, dengan menggunakan kata Dim atau Private saat mendeklarasikan variabel di bagian deklarasi dari modul.
A.2.2. Deklarasi variabel untuk semua modul
Variabel dapat digunakan untuk semua modul sekaligus semua prosedur di dalamnya, dengan menggunakan kata Global atau Public saat mendeklarasikan variabel di bagian deklarasi salah satu modul (lihat contoh di Prg_VII_2.VBP)
A..3. Deklarasi Sub program
Bentuk deklarasi dimana satu statemen hanya berlaku pada satu sub-program, sehingga hanya dapat dipakai pada sub program tertentu dan tidak dapat dipakai oleh sub program yang lain. Jadi hanya boleh digunakan pada sebuah prosedur di tempat mereka digunakan (biasanya digunakan dalam perhitungan untuk ditampung sementara / temporary), dan pendeklarasiannya menggunakan kata Dim atau Static.
a)
![]() |
Buatlah tampilan program pada form seperti di bawah ini :
Gambar.VII.5. Tampilan form pada Prg_V II_3
b) Ubahlah settingnya dengan melihat tabel berikut :
Form / Kontrol | Properti | Setting |
Form | Name | frmPrgDeret |
Caption | Deklarasi sub-program (prosedur) | |
Label1 | Caption | Banyaknya Perulangan |
Label2 | Caption | Nilai Perulangan |
Label3 | Caption | Hasil |
TextBox1 | Text |
|
TextBox2 | Text |
|
TextBox3 | Text |
|
TabIndex | 8 | |
CommandButton1 | Name | cmdUkur |
Caption | Deret &ukur | |
CommandButton2 | Name | cmdHitung |
Caption | Deret &hitung | |
CommandButton3 | Name | cmdOK |
Caption | &OK | |
CommandButton4 | Name | cmdKeluar |
Caption | &Keluar |
c) Tulis kode berikut :
Option Explicit
Private Sub cmdHitung_Click()
Dim N, Indeks As Integer
Dim Hasil, Data As Double
N = Text1.Text
Data = Text2.Text
Hasil = 1
For Indeks = 1 To N
Hasil = Hasil * Data
Text3.Text = Hasil
Next
End Sub
Private Sub cmdKeluar_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.SetFocus
End Sub
Private Sub cmdUkur_Click()
Dim N, Indeks As Integer
Dim Hasil, Data As Double
N = Text1.Text
Data = Text2.Text
Hasil = 0
For Indeks = 1 To N
Hasil = Hasil + Data
Text3.Text = Hasil
Next
End Sub
d) Simpan form dan proyek dengan nama Prg_VII_3
e) Jalankan dengan tombol shortcut F5
B. MODUL PADA VISUAL BASIC
Sebuah modul dalam perancangan program bersifat optional, namun pada prakteknya modul bermanfaat untuk menghadapi kondisi-kondisi berikut :
q Anda bermaksud menggunakan variabel yang sama untuk beberapa form yang terdapat pada program.
q Diperlukan suatu prosedur/fungsi yang digunakan atas seluruh bagian program dalam beberapa form.
q Membuat suatu modul terdiri atas beberapa prosedur/fungsi yang digunakan oleh beberapa aplikasi sekaligus.
Untuk membuat sebuah modul ikutilah langkah-langkah sebagai berikut :
a) Bukalah sebuah aplikasi yang akan menggunakan sebuah modul
b) Pada Visual Basic 4.0 dari menu Insert|Module, sedangkan Visual Basic 5.0/6.0 di menu Project|Add Module maka tampil sebuah window untuk penulisan kode.
Modul disimpan dalam file yang terpisah dengan ekstensi .BAS, karena itu Anda diminta menuliskan nama file ini ketika menyimpan proyek.
C. MENYISIPKAN MODUL YANG TELAH ADA PADA PROYEK
Untuk menyisipkan modul yang telah ada ke program, maka ikuti langkah-langkah sebagai berikut :
a) Pada Visual Basic 4.0 dari menu File|Add File dan di Visual Basic 5.0/6.0 Project|Add File. Dapat juga menggunakan shortcut Ctrl+D, atau pun meletakkan kursor di bidang Project exprorer dan klik kanan pilih Add.
b) Dari kotak dialog ditampilkan pilihan file yang akan disisipkan tersebut.
D. DEKLARASI VARIABEL DENGAN STATEMEN DIM
Perlu diketahui, variabel merupakan tempat menyimpan data sementara yang dapat diubah-ubah dari suatu operasi pada numerik (suatu bilangan) ataupun non-numerik (alphabetic/alphanumeric). Dalam Visual Basic terdapat tiga tipe deklarasi, yaitu : deklarasi program, deklarasi modul, dan deklarasi sub program.
Sebenarnya pada Visual Basic tidak perlu mendeklarasikan variabel, sebab semua nama yang Anda tulis (tetapi bukan nama variabel yang telah ditulis) secara otomatis akan dijadikan variabel baru. Penulisan secara langsung ini tanpa memberitahukan program (pada bagian deklarasi) tentang variabelnya terlebih dahulu ini disebut dengan “pendeklarasian implisit”.
Namun, dalam prakteknya karena alasan untuk menghindari kesalahan program , optimasi ukuran, kecepatan, dan batasan nilai, maka perlu untuk mendeklarasikan variabel dengan tipe data tertentu. Misalnya, untuk menghindari kesalahan perhitungan pada pendeklarasian implisit berikut ini :
Function Kalor (SuhuA, SuhuB, Massa)
Temperatur = Abs (suhuA – suhuB)
K = TxtKoefisienKalor.Text
Kalor = Massa * K * Temperatur
End Function
Contoh ini Visual Basic secara otomatis membuat variabel baru Temperatur, sehingga bila Anda salah menuliskan variabel tersebut, yaitu Kalor = Massa * K * Temperatur, maka menghasilkan nilai Kalor = 0, sebab Temperatur dianggap sebagai variabel baru dengan nilai 0.
Deklarasi veriabel secara eksplisit dideklarasikan dibagian deklarasi program dimaksudkan agar program mengenali tipe data, batasan operasi secara pasti, dan dapat melaksanakan suatu operasi yang ditugaskan. Berikut ini sintaks deklarasi variabel :
Dim NamaVariabel [As tipe]
Syarat penamaan variabel, yaitu : dimulai dengan huruf, tidak lebih dari 255 karakter, tidak boleh sama dalam sebuah lingkup variabel.
Melalui As Anda dapat mendefinisikan sendiri tipe data atau tipe objek dari variabel yang dideklasikan. Misalnya, tipe data integer, single, string, boolean, dan sebagainya.
Di samping menggunakan perintah Dim untuk mendeklarasikan secara eksplisit, juga harus menambahkan kata Option Eksplisit pada setiap awal pembuatan sebuah proyek. Penamaan ini dilakukan pada bagian [General] dan prosedur [declaration]. Cara lainnya melalui setting options Visual Basic, yaitu :
a) Pada Visual Basic 4.0 dari menu Tools|Options di tabulasi Eviroment, dan Visual Basic 5.0/6.0 di tabulasi Editor.
b) Klik bagian Environment
c) Tandai pilihan Require Variable Declaration.
Perubahan setting di atas selain menambahkan kata option eksplisit secara otomatis, juga mengharuskan Anda selalu mendeklarasikan sebuah variabel terlebih dahulu dengan menggunakan Di m.
Perlu diketahui bila deklarasi dengan Dim digunakan pada level modul, maka variabel yang dideklarasikan tersebut akan berlaku di seluruh prosedur dalam modul yang bersangkutan. Sedangkan, bila Anda mendeklarasikan pada level prosedur, variabel itu hanya dikenal dalam prosedur yang mendeklarasikannya.
E. DEKLARASI DENGAN STATEMEN GLOBAL
Deklarasi Global merupakan deklarasi Visual Basic versi sebelumnya, dan pada mulai versi 4.0 diganti dengan statement Public. Namun, pada Visual Basic versi 4.0 tetap kompatibel terhadap versi sebelumnya.
Deklarasi Global variabel-variabelnya dapat dideklarasikan pada prosedur/fungsi, baik prosedur event maupun prosedur didefinisikan sendiri. Posisi pendeklarasian menentukan jangkauan dari variabel yang dideklarasikan, sebab setiap variabel yang dideklarasikan pada sebuah prosedur event maupun prosedur didefinisikan sendiri hanya mempunyai jangkauan pada prosedur tersebut. Sintaks :
Global NamaVariabel As TipeData
F. DEKLARASI DENGAN STATEMEN PUBLIC
Public merupakan statement yang menggantikan statement Global dalam Visual Basic versi sebelumnya. Statement Public dipakai mendeklarasikan variabel yang bersifat public, dan dituliskan pada level modul. Di mana, variabel Public berlaku di semua prosedur yang terdapat di seluruh modul dalam program aplikasi. Sintaks :
Public NamaVariabel As TipeData
G. DEKLARASI DENGAN STATEMEN PRIVATE
Deklarasi dengan statement Private hanya dilakukan pada level modul, dan variabelnya hanya berlaku pada modul di mana variabel itu dideklarasikan (hanya satu modul). Dan juga Private menyatakan semua variabel yang dideklarasikan oleh pernyataan ini berlaku secara khusus (private), di mana statement Private berlaku juga pada level sub-program. Sintaks :
Private NamaVariabel As TipeData
H. DEKLARASI DENGAN STATEMEN STATIC
Static digunakan menjaga suatu variabel (nilai) agar tetap atau tidak berubah selama program di kerjakan, dan berlaku pada level sub-program. Sintaks :
Static NamaVariabel As TipeData
I. DEKLARASI KONSTANTA
Konstanta merupakan nilai yang tetap (tidak berubah) yang biasanya sebagai nilai awal bagi aplikasi program dan banyak muncul di banyak bagian dari rutin. Dalam Visual Basic sumber konstanta ada dua macam, yaitu konstanta instrinsic dan konstanta symbolic
I.1. Konstanta instrinsik (instrinsic)
Sumber konstanta instrinsik ini telah didefinisikan oleh Visual Basic, baik yang ada pada Visual Basic dan Visual Basic for aplications (misalnya, vbAllignBottom,vbAbbort), mau pun data access / DAO (misalnya, dbRelationUnique).
I.2. Konstanta simbolik (symbolic)
Konstanta simbolik ini dideklarasikan (didefinisikan) sendiri oleh pemrogram untuk memberi suatu nilai awal yang bersifat tetap. Sintaks :
[Public|Privite] Const NamaKonstanta [As tipe] = ekspresi
misalnya :
Const XPhi = 3.14159265359
Public LogPhi = 0.49715, Xname = “Hiper space”
Contoh program II-6
a) Buatlah tampilan program sebagai berikut
![]() |
Gambar Prg_VII.6. Tampilan form pada program Prg_VII_4
b) Ubahlah settingnya dengan melihat tabel berikut :
Form / Kontrol | Properti | Setting |
Form | Name | FrmPrg_VII_4 |
Caption | Lingkaran | |
Label1 | Caption | Jari-jari lingkaran |
Label2 | Caption | Keliling lingkaran |
Label3 | Caption | Luas lingkaran |
TextBox1 | Text |
|
TextBox2 | Text |
|
TabIndex | 7 | |
TextBox3 | Text |
|
CommandButton1 | Name | CmdOK |
Caption | &OK | |
CommandButton2 | Name | CmdLagi |
Caption | &Lagi | |
CommandButton3 | Name | CmdKeluar |
Caption | &Keluar |
c) Tulise kode sebagai berikut :
Option Explicit
Dim R As Single
Const ConPhi As Single = 3.14159265
Private Sub CmdKeluar_Click()
Unload Me
End Sub
Private Sub CmdLagi_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.SetFocus
End Sub
Private Sub CmdOk_Click()
R = Text1.Text
Text2.Text = 2 * ConPhi * R
Text3.Text = ConPhi * (R * R)
End Sub
d) Simpan form dan proyek Anda dengan nama Prg_VII_4
e) Jalankan program dengan shortcut F5
J. TIPE DATA
J.1. Macam-macam Tipe data
Visual Basic 6 mendukung 12 jenis tipe data yang digunakan di dalam pemrograman. Kesemua tipe data ini perlu diketahui sebab bila salah merepresentasikannya di dalam pemrograman, maka aplikasi Anda tidak akan berjalan dengan baik. Misalnya, untuk melakukan perhitungan matematik Anda harus menggunnakan tipe data numerik (angka), menyimpan data teks harus menggunakan tipe data string, dan sebagainya.
J.1.1. Tipe data campuran (variant)
Secara default variabel atau konstanta yang ditulis tanpa mendeklarasikan terlebih dulu (tanpa pernyataan As) merupakan tipe data variant. Tipe data variant menyediakan semua jenis data baik berupa numerik, karakter, string , waktu, maupun tanggal yang didefinikan pada Visual Basic. Contoh
Dim NString
NString = “Deep spece”
Nstring = “Austronomical Unit in ” & Nstring
Untuk menggabung string selain menggunakan & juga dapat digunakan tanda +. Tetapi bila salah satu variabelnya berupa bilangan, tanda + akan menghitung nilai jumlah kedua variabel
Dim Juml, NilaiX, NilaiY
NilaiX = “1234”
NilaiY = “56789”
Juml = NilaiX & NilaiY ‘123456789’
Juml = NilaiX + NilaiY ‘123456789’
NilaiX = 1234
Juml = NilaiX & NilaiY ‘123456789’
Juml = NilaiX + NilaiY ‘58032’
Untuk data variant yang bernilai waktu atau tanggal digunakan tanda # #. Misalnya, #23 March 1999 06:00pm #. Tipe data variant pada tanggal atau waktu dapat dipakai untuk operasi perbandingan , misalnya pada kode berikut
‘ Program Prg_VII_5
Private Sub Form_Load()
Dim TglWaktu, X
TglWaktu = Now
X = #3/23/99 7:00:00 PM#
Show
Cls
If TglWaktu = X Then
Print "Benar"
Else
Print "Salah"
End If
Print TglWaktu
End Sub
Pada contoh di atas variabel X berisi tanggal dan waktu dibandingkan variabel TglWaktu yang sekarang.
Pernyataan Now menyatakan tanggal dan waktu saat ini, untuk mengakses informasi dari statemen Now yang hanya merupakan informasi tunggal. Misalnya tahun saja, tanggal saja, dan seterusnya, lihat kode beriku :
‘ Program Prg_VII_6
Private Sub Form_Load()
Dim Tahun, Bulan, Tanggal, Jam, Menit
Tahun = Year(Now)
Bulan = Month(Now)
Tanggal = Day(Now)
Jam = Hour(Now)
Menit = Minute(Now)
Show
Cls
Print "Tahun "; Tahun
Print "Bulan "; Bulan
Print "Tanggal "; Tanggal
Print "Jam "; Jam
Print "Menit ke- "; Menit
End Sub
Tipe data varian ini membutuhkan tempat penyimpanan memori sebanyak 16 byte + 1 byte.
Variabel variant dapat memasukkan semua sistem tipe yang didefinisikan dalam data, yang secara otomatis melakukan konversi yang diperlukan sehingga Anda tidak perlu (tidak dapat) melakukan konversi antara tipe data bila memasukkannya ke dalam variabel variant. Contoh program Prg_VII_7 :
Private Sub Form_Activate()
Dim XNilai ' secara default variant
XNilai = "1000" ' XNilai berisi "1000" (4 karakte string)
Print XNilai
XNilai = XNilai + 1000 ' Sekarang XNilai berisi nilai numerik
Print XNilai ' 2000
XNilai = "CAISOFT " & XNilai ' Sekarang XNilai berisi nilai karakter
Print XNilai ' string
End Sub
Bila Anda akan melakukan operasi pada variabel variant taanpa harus memperhatikan data yang mengisinya, beberapa hal yang perlu diperhatikan :
a) Bila ingin melakukan operasi aritmatematik atau function dalam sebuah Variant, Variant harus berisi angka
b) Bila ingin menggabungkan string, gunakan operator & disamping menggunakan operator +
c) Selain dapat berisi tipe data standar, Variant juga dapat berisi tiga nilai khusus :
(a) Empty,
(b) Null, dan
(c) Error.
J.1.1.1. Nilai Empty
Nilai Empty merupakan nilai khusus yang tidak sama dengan nilai-nilai berikut :
a) Nilai 0 untuk data angka,
b) String yang panjaangnyaa nol (“”), atau
c) Nilai Null.
Bila Anda ingin mengetahui nilai yang dimasukkan ke dalam variabel yang Anda buat dengan sebuah variabel Variant punya nilai Empty sebelum dimasukkan sebuah nilai ke dalamnya, maka Anda dapat menguji dengan menggunakan function IsEmpty. Contoh program Prg_VII_8 berikut :
Private Sub Form_Activate()
Dim XNilai
If IsEmpty(XNilai) Then Print "XNilai => Empty"
End Sub
J.1.1.2. Nilai Null
Nilai Null biasanya dipakai untuk aplikasi database agar mengidentifikasikan data yang tidak diketahui atau hilang, maka Null punya ciri khusus :
a) Ekspresi yang melibatkan Null selalu menghasilkan nilai Null
b) Melewatkan Null atau sebuah Variant berisi Null, atau sebuah ekspresi yang dievaluasi ke Null seperti sebuah argument ke beberapa function, menyebabkan fuunction menghasilkan Null.
Anda dapat memasukkan Null dengan keyword Null. Seperti :
XNilai = Null
Anda dapat menguji apakah variabel berisi Null dengan menggunakan function IsNull. Contoh program Prg_VII_9 berikut :
Private Sub Form_Activate()
Dim XNilai, MyCheck
MyCheck = IsNull(XNilai) ' False.
Print MyCheck
XNilai = ""
MyCheck = IsNull(XNilai) ' False.
Print MyCheck
XNilai = Null
MyCheck = IsNull(XNilai) ' True.
Print MyCheck
End Sub
J.1.1.3. Nilai Error
Nilai Error dalam Variant secara khusus digunakan mengindikasikan suatu kondisi kesalahan yang terjadi dalam sebuah prosedur. Tidak seperti jenis kesalahan lainnya, tingkat kesalahan aplikasi normal mengambil yang tidak terjadi. Sehingga mengijinkan Anda (aplikasi itu sendiri) mengambil alternatif sesuai dengan nilai kesalahan (Error Value). Error Value dibuat dengan konversi angka real ke error value menggunakan fungsi CVErr. Contoh program Prg_VII_10 berikut :
Function CalculateDouble(Number)
If IsNumeric(Number) Then
CalculateDouble = Number * 2 ' Return result.
Else
CalculateDouble = CVErr(2001) ' Return a user-defined error
End If ' number.
End Function
Private Sub Form_Activate()
Dim XNilai
XNilai = InputBox("Masukkan nama Anda", "Input Nama", , 0, 0)
Print CalculateDouble(XNilai)
End Sub
J.1.2. Tipe data Integer
Tipe data numerik yang berupa bilangan bulat (tanpa pecahan), jangkauan tipe data ini mulai dari –32.768 s/d 32.767, dan memerlukan memori sebanyak 2 byte. Contoh program Program Prg_VII_11
Private Sub Form_Activate()
On Error Resume Next
Dim Ang_Int As Integer
Unload Me
Ang_Int = InputBox("Masukan Angka (-3.2768 s/d 32767)", _
"Input data")
' Pengujian angka integer Ang_Int
If Err Then
MsgBox "Anda salah/belum memasukkan angka", , "Pesan"
Else
MsgBox "Anda telah memasukkan angka dengan benar", , "Pesan"
End If
End Sub
Anda dapat menggunakan karakter (sebagai type-declaration character) % untuk menunjukkan bahwa variabel atau pun konstanta bertipe integer. Contoh program Prg_VII_12 berikut :
Private Sub Form_Activate()
On Error Resume Next
Unload Me
‘ karakter % menyatakan nilai integer
Ang_Int% = InputBox("Masukan Angka (-3.2768 s/d 32767)", _
"Input data")
' Pengujian angka integer Ang_Int
If Err Then
MsgBox "Anda salah/belum memasukkan angka", , "Pesan"
Else
MsgBox "Anda telah memasukkan angka dengan benar", , "Pesan"
End If
End Sub
J.1.3. Tipe data Long
Long Integar adalah tipe data numerik integer yang diperluas jangkauannya, punya jangkau lebih besar yaitu : dari –2.147.483.648 s/d 2.147.483.647 dan memori yang dibutuhkan sebanyak 4 byte (jadi gunakan apabila perlu saja).
Dalam mendeklarasikan tipe data long integer ini (kedalam variabel atau konstanta), cukup dengan menyingkat Long. Dan Anda dapat menggunakan karakter & untuk menunjukkan bahwa variabel atau pun konstanta bertipe Long.
J.1.4. Single
Tipe data single disebut juga “Single Precision” atau (bilangan berpresisi tunggal) adalah tipe data numerik yang berupa bilangan pecahan dengan jangkauan –3.402823E+38 s/d 3.402823E+38 yang membutuhkan memori sebesar 4 byte.
Anda dapat menggunakan karakter ! untuk menunjukkan bahwa variabel atau pun konstanta bertipe single.
J.1.5. Double
Tipe data numerik perluasan dari tipe data single yang punya jangkauan lebih luas sehingga disebut “Double Precision” atau bilangan berpresisi ganda. Tipe data ini berjangkau antara –1.79769313486232E+308 s/d 1.79769313486232E+308 dan membutuhkan memori 8 bytes.
Anda dapat menggunakan karakter # untuk menunjukkan bahwa variabel atau pun konstanta bertipe double.
J.1.6. Currency
Tipe data ini digunakan dalam menyimpan nilai uang (dolar atau dalam jenis mata uang yang digunakan komputer Anda) yang mempunyai jangkauan mulai dari –922.337.203.685.477,5808 to 922.337.203.685.477,5807 dan membutuhkan memori 8 bytes.
Anda dapat menggunakan karakter @ untuk menunjukkan bahwa variabel atau pun konstanta bertipe currency.
J.1.7. String
Tipe data yang bernilai alfanumerik, yaitu : nilai yang biasa berupa huruf, angka, atau karakter khusus. Tipe data string ini tidak dapat melakukan operasi matematika, sehingga perlu adanya konversi tipe data (lihat point J.2).
Tipe string ini membutuhkan memori sebanyak 1 byte pe rkarakter dan Anda dapat menggunakan karakter $ untuk menunjukkan bahwa variabel atau pun konstanta bertipe string.
Bila ingin punya variabel diisi string dan tidak nilai numerik, dapat mendeklarasikannya ke tipe data string . Misalnya :
Private XNilai As String
Selanjutnya dapat memasukkan data string ke dalam variabel ini dan memanipulasinya dengan menggunakan fungsi string. Contoh
XNilai = “HeperSpace”
XNlai = Left(Xnilai, 5)
Secara default, sebuah variabel string atau argument adalah variable-length stirng yang lebarnya ditentuukan data baru yang dimasukkan ke dalamnya. Anda dapat juga mendeklarasikan stirng yang punya lebar yang tetap dengan cara menspesifikasikan sebuah fixed-length string dengan sintaks
String * size
Contohnya, mendeklarasikan string yang hanya dapat dimasuki maksimal 55 karakter, gunakan kode berikut :
Dim YouName As String * 55
Lebar string di atas termasuk spasi juga dihitung, sehingga bila Anda memasukkan karakter lebih dari 55 maka memotong sebagian string tersebut disesuaikan dengan lebar variabel.
String Fixed-length dalam modul standar dapat dideklarasikan dengan Public atau Private. Di dalam form dan modul class, string fixed-length harus dideklarasikan secara Private.
J.1.8. Byte
Tipe data berupa bilangan bulat positf (tanpa pecahan) dengan jangkauan 0 s/d 255 dan membutuhkan memori 1 byte. Bila variabel berisi data binary, deklarasikan variabel tersebuut seperti sebuah arry dalam tipe data byte. Gunakan variabel Byte untuk memasukkan dan melindungi data binary. Saat variabel String dikonvert antara ANSI dan kode Unicode, beberapa data binary dalam variabel diubah. Secara otomatis Visual Basic mengkonvert antara ANSI dan Unicode saat
a) Membaca dari file
b) Menulis ke file
c) Menghubungkan DLLs
d) Menghubungkan method dan properti pada objek.
Semua operator yang bekerja dalam tipe data integer juga bekerja pada tipe data Byte kecuali unary minus. Tipe data Byte dapat diisi data antara 0 s/d 255. Dan tidak dapat diisi angka negatif. Jadi unary minus, Visual Basic memaksa Byte ke interger pertama yang dimasukkan.
J.1.9. Boolean
Tipe data hanya punya dua nilai, yaitu : True (Benar) atau False (Salah), dengan membutuhkan memori sebanyak 2 byte.
J.1.10. Decimal
Tipe data ini digunakan menyimpan nilai desimal (pecahan) dengan ketepatan hingga 28 angka desimal dengan nilai terpanjang/terkecil pecahan yang +/-7,9228162514264337593543950335, memungkinkan mencapai +/-79.228.162.514.264.337.593.543.950.335 untuk bilangan bulat dan nilai non-zero +/-0.0000000000000000000000000001.
Walau pun tipe data decimal ini mempunyai jangkauan yang cukup fantastis, tetapi juga membutuhkan memori yang sangat besar : 96-bit (12-byte) yang umumnya jarang digunakan untuk kebanyak aplikasi.
J.1.11. Date
Tipe ini duganakan menyimpan nilai tanggal dan jam. Nilai date dan time dapat dimasukkan ke dalam tipe data Date dan dalam variabel bertipe Variant, tetapi biasanya karakteristik tersebut menggunakan tipe data Date.
Saat tipe data numerik lain dikonversi ke date, nilai sebelah kiri desimal mempresentasikan informasi tanggal, sedangkan nilai di sebelah kanan desimal mempresentasikan waktunya. Tengah malam adalah 0, tengah hari adalah 0.5. sedangkan angka negatif akan mempresentasikan tenggal sebelum 30 Desember 1899. Nilai tipe Date berkisar dari 1 Januari 100 hingga 31 Desember 9999 dan membutuhkan memori 8 byte
J.1.12. Object
Tipe data yang menyimpan objek seperti form, kontrol dan sebagainya yang membutuhkan memori 32 bit (4 byte). Untuk menunjuk ke objek pada aplikasi atau pada aplikasi lain, sebuah variabel yang dideklarasikan sebagai Objek selanjutnya dimasukkan (menggunakan statement Set), untuk menunjuk ke objek yang diakui aplikasi. Jadi penggunaan variabel objek serupa memakai variabel kovensional, tetapi dengan satu langkah tambahan dengan memberikan objek ke variabel objek dengan pernyataan set :
a) Mendeklarasikan objek
b) Memberikan objek ke variabel objek
Dim variabel as object
Set variabel = objek
atau
Dim varibel as kelas
Set variabel = objek
Contoh :
Dim MyObject ' Medeklarasikan MyObject sbg. tipe data Variant.
Dim MyObject As Object ' Mendeklarasikan MyObject sbg. tipe data Objek.
Dim MyObject As Font ' Mendeklarasikan MyObject sbg. (kelas) tipe Font.
Dim objDb As Object
Set objDb = OpenDatabase(“c:\Vb5\Biblio.mdb”)
Dim objDemo As ListBox
Set objDemo = lstSample
Contoh program Prg_VII_13 :
Private Sub Form_Activate()
Dim xlApp As Object ' mendeklarasi variabel memuat referensi.
Set xlApp = CreateObject("excel.application")
' Anda harus menaruh properti Visible menjadi True
' bila Anda ingin melihat aplikasi.
xlApp.Visible = True
' Memakai xlApp untuk mengakses Microsoft Excel's
' objek lain.
xlApp.Quit ' bila selesai, gunakan metode Quit untuk menutup
Set xlApp = Nothing ' , aplikasi kemudian melepas referensi.
End Sub
Saat mendeklarasikan sebuah variabel objek, lebih baik bila menggunakan klas khusus (seperti TextBox dari pada kontrol). Visual Basic dapat menunjuk ke properti dan method objek dengan tipe khusus sebelum Anda menjalankan sebuah aplikasi. Ini mempercepat aplikasi saat dijalankan. Spesifikasi klas ini dalam daftar Objek Browser.
Saat bekerja dengan objek aplikasi lain, selain menggunakan Variant atau Objek generic, deklarasikan objek seperti yang didaftar dalam daftar klas pada Objek Browser. Ini memastikan Visual Basic mengenal tipe data khusus dalam objek yang Anda referensikan, mengikti referensi yang ditetapkan saat dijalankan.
J.2. Konversi tipe data (Type Cast atau pengubah tipe)
Visual Basic punya beberapa fungsi mengkonversi nilai ke tipe data tertentu. Contoh, mengkonversi nilai ke data Currrency Anda dapat menggunakan fungsi CCur :
PayPerWeek = CCur(haours * hourlyPay)
Dan pada bab yang lalu banyak dicontohkan penggunaan konversi tipe data. Misalnya, lihat potongan program Prg_VI_4 berikut :
…
GantiBaris = Chr(10) + Chr(13)
StrUmur = InputBox("BERAPA USIA ANDA ?", "Input Data")
If StrUmur >= 40 Then
MsgBox "Wah! Anda sudah tua." + GantiBaris + _
"Jangan banyak makan mengandung kolesterol." + GantiBaris + _
"Tidak baik untuk kesehatan Anda.", , "Jawaban"
…
Fungsi-fungsi yang dapat digunakan mengkonversi tipe data, dapat dilihat dalam tebel berikut ini :
Fungsi Konversi | Mengkonversi Sebuah Ekspresi ke … |
CBool | Boolean |
CByte | Byte |
CCur | Currency |
CDate | Date |
CDbl | Double |
CDec | Decimal |
CInt | Integer |
CLng | Long |
CSng | Single |
CStr | String |
CVar | Variant |
CVErr | Error |
Perhatian : Nilai yang Anda lewatkan ke dalam fungsi konversi harus sesuai tipe data tujuan atau sebuah event error. Sebagai contoh bila Anda ingin mengkonversi data Long ke sebuah integer data Long harus masuk dalam range (jangkauan) tipe data Integer.
J.3. Tipe data buatan sendiri dengan memakai struktur
Struktur adalah data terstruktur, terdiri atas kumpulan suku atau elemen (variabel/konstanta) yang berlainan atau pun sama tipe datanya. Anda dapat mengkombinasikan variabel dalam beberapa tipe berbeda untuk membuat tipe data buatan sendiri (sebagaimana dikenal dalam pemrograman bahasa C dengan istilah struktur). Membuat tipe data buatan sendiri berguna bila Anda ingin membuat variabel tunggal yang merekam beberapa potongan-potongan informasi yang berhubungan.
Visual Basic membolehkan Anda membuat tipe data buatan sendiri dengan menggunakan kombinasi dari tipe data yang telah tersedia dengan menggunakan struktur, Anda dapat membuat tipe data buatan sendiri dengan pernyataan “Type” , yang harus ditempatkan pada bagian deklarasi modul. Sintaks :
[Public|Private] Type NamaTipeDataBuatanSendiri
…
Variabel As TipeData
…
End Type
Public Type DataMahasiswa
Nama As String
NomorInduk As Long
Jurusan As String
Program As String
TanggalLahir As Data
End Type
Cara memasukkan atau pun mengambil data dari variabel dengan tipe buatan sendiri tersebut sama dengan saat Anda mengisi atau mengambil data dari properti objek. Sintaks :
NamaTipeDataBuatanSendiri.Variabel
Contoh :
DataMahasiswa.Nama = “Yososai”
DataMahasiswa.NomorInduk = “99050203989”
Cara memanggil parameter pada prosedur pada tipe data ini sama dengan saat menggunakan tipe data lain, contoh :
Sub DaftarMahasiswa (XData As Mahasiswa)
XData.Nama = TextNama.Text
XData.NomorInduk = TextNomorInduk.Text
XData.Jurusan = TextJurusan.Text
XData.TanggalLahir = TextTanggalLahir.Text
End Sub
Form / Kontrol | Properti | Setting |
Form | Name | frmPrg_VII_14 |
Caption | Data Mahasiswa | |
TextBox1 | Name | txtNama |
Text |
| |
TextBox2 | Name | textNomor |
Text |
| |
TextBox3 | Name | txtJurusan |
Text |
| |
TextBox4 | Name | txtProgram |
Text |
| |
TextBox5 | Name | txtTanggal |
Text |
| |
TextBox6 | Name | txtAlamat |
Text |
| |
Label1 | Name | lblNama |
Caption | Nama | |
Label2 | Name | lblNomor |
Caption | NIP | |
Label3 | Name | lblJurusan |
Caption | Jurusan | |
Label4 | Name | lblProgram |
Caption | Program | |
Label5 | Name | lblTanggal |
Caption | Tanggal Lahir | |
Label6 | Name | lblAlamat |
Caption | Alamat | |
CommandButton1 | Name | cmdBaru |
Caption | Data &Baru | |
CommandButton2 | Name | cmdTampilkan |
Caption | &Tampilkan |
Tulis kode program berikut :
Private Type DataMahasiswa
Nama As String
Nomor As String
Jurusan As String
Program As String
Tanggal As String
Alamat As String
End Type
Dim XData As DataMahasiswa
Kode program yang ditulis pada bagian [declaration] modul form :
Sub DaftarMahasiswa()
XData.Nama = txtNama.Text
XData.Nomor = txtNomor.Text
XData.Jurusan = txtJurusan.Text
XData.Program = txtProgram.Text
XData.Tanggal = txtTanggal.Text
XData.Alamat = txtAlamat.Text
End Sub
Sub HapusDaftar()
txtNama.Text = ""
txtNomor.Text = ""
txtJurusan.Text = ""
txtProgram.Text = ""
txtTanggal.Text = ""
txtAlamat.Text = ""
txtNama.SetFocus
End Sub
Sub TampilanData()
MsgBox "Informasi Data Mahasiswa" & Chr(10) & _
"Nama : " & XData.Nama & Chr(10) & _
"NIM : " & XData.Nomor & Chr(10) & _
"Program : " & XData.Program & Chr(10) & _
"Jurusan : " & XData.Jurusan & Chr(10) & _
"Tanggal Lahir : " & XData.Tanggal & Chr(10) & _
"Alamat : " & XData.Alamat, , "XData Mahasiswa"
End Sub
Private Sub cmdBaru_Click()
HapusDaftar
End Sub
Private Sub cmdTampilkan_Click()
DaftarMahasiswa
TampilanData
End Sub
J.3.1. Tipe buatan sendiri/pengguna berisikan objek
Tipe data buatan sendiri dapat juga berisi objek. Misalnya,
Private Type AccountPack
FrmInput as Form
DbPayRollAccount as Database
End Type
Tip : Karena tipe data variant dapat menyimpan banyak tipe data berbeda, array variant dapat dipakai dalam banyak situasi disana Anda mungkin mengharapkan untuk memakai tipe buatan sendiri. Sebuah array variant benar-benar lebih fleksibel daripada tipe buatan sendiri, sebab Anda dapat mengubah tipe data yang disimpan tiap elemen pada setiap waktu, Anda dapat membuat array dinamik supaya Anda dapat kebutuhan merubah ukurannya. Bagaimana pun, sebuah array variant selalu memakai lebih bahnyak memori kemudian daripada sepadan tipe data buatan sendiri.
J.3.2. Struktur dalam Struktur (Nested Structure)
![]() |
Anda dapat membuah struktur menjadi anggota struktur lainnya, sehingga menjadi struktur dalam struktur (struktur yang lebih dalam menjadi anggota strutur diatasnya) membentuk data struktur berjenjang (hirarki). Ini berguna mengoptimasi. Contoh Prg_VII_15, buat desain form berikut :
Gambar VII.8 Desain form Prg_VII_15
Form / Kontrol | Properti | Setting |
Form | Name | frmPrg_VII_15 |
Caption | Lihat data siswa | |
TextBox1 | Name | txtBrowse |
Text |
| |
| Multiline | True |
ScrollBars | 2 – Vertical |
Private Type Nilai
Matematika As Integer
Kimia As Integer
Biologi As Integer
End Type
Private Type Siswa
No As String * 10
Nama As String * 20
Kelas As String * 10
Pelajaran As Nilai
End Type
Private Sub Form_Activate()
Dim DataSiswa(3) As Siswa
DataSiswa(1).No = "01"
DataSiswa(1).Nama = "Mahmud"
DataSiswa(1).Kelas = "III SMA"
DataSiswa(1).Pelajaran.Matematika = 95
DataSiswa(1).Pelajaran.Kimia = 80
DataSiswa(1).Pelajaran.Biologi = 90
DataSiswa(2).No = "02"
DataSiswa(2).Nama = "Ali Hamid"
DataSiswa(2).Kelas = "III SMA"
DataSiswa(2).Pelajaran.Matematika = 85
DataSiswa(2).Pelajaran.Kimia = 90
DataSiswa(2).Pelajaran.Biologi = 98
DataSiswa(3).No = "03"
DataSiswa(3).Nama = "Abdul Yasmin"
DataSiswa(3).Kelas = "III SMA"
DataSiswa(3).Pelajaran.Matematika = 75
DataSiswa(3).Pelajaran.Kimia = 99
DataSiswa(3).Pelajaran.Biologi = 98
For i = 1 To 3
txtBrowse.Text = txtBrowse & _
"No : " & DataSiswa(i).No & vbCrLf & _
"Nama : " & DataSiswa(i).Nama & vbCrLf & _
"Kelas : " & DataSiswa(i).Kelas & vbCrLf & _
"Matematika : " & DataSiswa(i).Pelajaran.Matematika & vbCrLf & _
"Kimia : " & DataSiswa(i).Pelajaran.Kimia & vbCrLf & _
"Biologi : " & DataSiswa(i).Pelajaran.Biologi & vbCrLf & vbCrLf
Next
End Sub
J.4. Memakai Enumerasi untuk bekerja dengan kumpulan konstanta
Pada Visual Basic 5.0 dan 6.0 terdapat tipe data baru yang dikenal dengan enumerasi, tetapi Visual Basic 4.0 tidak terdapat fasilitas ini.
Enumerasi (enumeration) adalah suatu tipe data mirip dengan struktur yang merupakan himpunan dari konstanta integer (bilangan bulat positif/negatif) sebagai anggota yang diberi nama. Anda dapat membuat tipe enumerasi ini pada deklarasi modul dengan Sintaks :
[Public|Private] Enum Nama
Anggota1
Anggota2
…
End Enum
Secara default anggota pertama (konstanta pertama dalam enumerasi) diinisialisasi pada nilai 0. Contoh program Prg_VII_16 berikut :
Private Enum Hari
Senin
Selasa
Rabu
Kamis
Jum 'at
Sabtu
Minggu
End Enum
Private Sub Form_Activate()
Dim i As Hari
For i = Senin To Minggu
Print I;
Next
End Sub
Bila program di atas dijalankan, maka akan menampilkan :
0 1 2 3 4 5 6
Anda dapat secara eksplisit menugaskan nilai untuk konstanta dalam enumerasi dengan memakai pernyataan menugasan. Contoh program Prg_VII_17 berikut ini :
Public Enum Hari
Senin = 1
Selasa
Rabu
Kamis
Jum 'at
Sabtu
Minggu
Invalid = -1
End Enum
Private Sub Form_Activate()
Dim i, Hariku As Hari
For i = Senin To Minggu
Print i;
Next
Print Hari.Selasa
Print Hari.Rabu
Print Hari.Kamis
Print Hari.Jum 'at
Print Hari.Sabtu
Hariku = CInt(InputBox("Masukkan kode hari (1 s/d 7)", "Hari"))
If Hariku = Minggu Then
Print "Hari libur"
ElseIf (Hariku >= Senin) And (Hariku < Minggu) Then
Print "Hari-hari baisa"
ElseIf Hariku > Minggu Then
Print "salah memasukkkan hari"
Else
Print "Invalid"
End If
End Sub
Perhatikan pula program Prg_VII_18 berikut ini :
Private Enum Hari
Senin
Selasa
Rabu = 5
Kamis
Jum 'at
Sabtu
Minggu
End Enum
Private Sub Form_Activate()
Dim i As Hari
For i = Senin To Minggu
Print i;
Next
Print "Hari senin = "; Hari.Senin
Print "Hari selasa = "; Hari.Selasa
Print "Hari rabu = "; Hari.Rabu
Print "Hari kamis = "; Hari.Kamis
Print "Hari jum'at = "; Hari.Jum 'at
Print "Hari sabtu = "; Hari.Sabtu
Print "Hari minggu = "; Hari.Minggu
End Sub
Bila program Prg_VII_18 dijalankan, maka akan menampilkan
0 1 2 3 4 5 6 7 8 9
Hari senin = 0
Hari selasa = 1
Hari rabu = 5
Hari kamis = 6
Hari jum’at = 7
Hari sabtu =8
Hari minggu = 9
Perhatian : Visual Basic memperlakukan nilai konstanta dalam enumerasi sebagai long integer. Bila Anda menugaskan sebuah nilai floating-point ke konstanta dalam sebuah enumerasi, Visual Basic membulatkan ke yang terdekat menjadi long integer.










