Secara default, jika Anda tidak menentukan tipe data untuk sebuah variabel, maka variabel tersebut akan memiliki tipe data Variant. Tipe data Variant bersifat seperti bunglon — dia dapat mewakili banyak tipe data yang berbeda dalam situasi yang berbeda pula. Anda tidak harus mengkonversi antara tipe data yang satu ke tipe data yang lainnya ketika mengisi nilai mereka dengan variabel Variant. Visual Basic akan otomatis melakukan konversi jika diperlukan.
Secara default, jika Anda tidak menentukan tipe data untuk sebuah variabel, maka variabel tersebut akan memiliki tipe data Variant. Tipe data Variant bersifat seperti bunglon — dia dapat mewakili banyak tipe data yang berbeda dalam situasi yang berbeda pula. Anda tidak harus mengkonversi antara tipe data yang satu ke tipe data yang lainnya ketika mengisi nilai mereka dengan variabel Variant. Visual Basic akan otomatis melakukan konversi jika diperlukan.
Jika Anda mengetahui bahwa sebuah variabel akan selalu menyimpan data dari tipe data tertentu, biar bagaimanapun, Visual Basic dapat menangani bahwa data lebih efisien jika Anda mendeklarasikan sebuah variabel dari tipe itu. Sebagai contoh, sebuah variabel untuk menyimpan nama seseorang, adalah sangat disarankan agar Anda menggunakan tipe data String, karena sebuah nama selalu terdiri atas beberapa karakter. Dalam hal ini, tipe data String merupakan tipe yang terdiri dari satu atau beberapa kumpulan karakter.
Tipe data juga berlaku terhadap hal lain di samping variabel. Ketika Anda mengisi sebuah nilai ke sebuah Property tertentu, nilai tersebut memiliki tipe data; argumen-argumen yang terdapat di function juga mempunyai tipe data. Pada kenyataannya, apapun yang terkait di Visual Basic yang melibatkan data juga melibatkan tipe data.
Mendeklarasikan Variabel dengan Tipe Data
Sebelum menggunakan variabel yang bukan bertipe Variant, Anda harus menggunakan pernyataan Private, Public, Dim atau Static untuk mendeklarasikannay As type. Sebagai contoh, pernyataan berikut mendeklarasikan sebuah variabel bertipe data Integer, Double, String, dan Currency secara berturut-turut:
1
2
3
4
Private intAngka As Integer
Dim dblAngka As Double
Static strNama As String
Public curTagihan As Currency
Pernyataan Deklarasi dapat mengkombinasikan beberapa cara deklarasi, seperti pada pernyataan berikut:
1
2
3
Private I As Integer, Jlh As Double
Private NamaAnda As String, RekeningKu As Currency
Private Test, Jlh, J As Integer
Jika Anda tidak menyertakan tipe data, variabel memiliki tipe default. Pada contoh terdahulu, variabel Test dan Jlh memiliki tipe data Variant. Hal ini akan mengejutkan jika pengalaman Anda dengan bahasa pemrograman lainnya Anda berharap semua variabel memiliki tipe yang sama pada pernyataan deklarasi tersebut (dalam hal ini, Integer).
Tipe Data Numerik
Visual Basic menyediakan beberapa tipe data numerik — Integer, Long (long integer), Single (single-precision floating point), Double (double-precision floating point), dan Currency. Dengan menggunakan tipe data numerik secara uumu menggunakan ruang penyimpanan yang lebih kecil dibandingkan jika Anda menggunakan tipe data Variant.
Jika Anda mengetahui bahwa sebuah variabel akan selalu menyimpan seluruh angka (seperti 12) daripada nomor dengan desimal (seperti 3.57), deklarasikan dia sebagai Integer atau tipe Long. Operasi lebih cepat dengan Integer, dan tipe ini menggunakan sedikit memory dibandingkan dengan tipe data lainnya. Mereka khususnya berguna sebagai variabel counter di dalam blok perulangan (loop) seperti For…Next.
Jika sebuah variabel mengandung data yang memiliki nilai desimal, deklarasikan variabel tersebut sebagai Single, Double, atau Currency. Tipe data Currency mendukung sampai 4 digit ke kanan setelah tanda pemisah desimal dan 15 digit ke kiri; tipe ini merupakan tipe data yang akurat dan cocok untuk perhitungan uang. Angka Floating-point (Single dan Double) memiliki batas bawah dan akhir (range) yang lebih besar dibandingkan dengan Currency, tapi dapat mengikuti kesalahan pembulatan yang kecil.
Nilai Floating-point dapat dinyatakan sebagai mmmEeee atau mmmDeee, di mana mmm adalah mantissa dan eee adalah eksponen (pangkat 10). Nilai positif tertinggi dari sebuah tipe data Single adalah 3,402823E+38, atau 3,4 kali 10 pangkat 38; nilai positif tertinggi dari sebuah tipe data Double adalah 1,79769313486232D+308, atau sekitar 1,8 kali 10 pangkat 308. Penggunaan D untuk memisahkan mantissa dan exponent dalam terjemahan angka menyebabkan nilai diperlakukan sebagai tipe data Double. Demikian juga, penggunaan E dalam bentuk yang sama memperlakukan nilai sebagai tipe data Single.
Tipe Data Byte
Jika variabel terdiri dari data binary, deklarasikanlah sebagai sebuah array dari tipe data Byte. (Topik mengenai Array akan kita bahas lebih lanjut pada artikel yang terpisah). Penggunaan variabel Byte untuk menyimpan data binary dan menjaganya selama konversi format. Ketika variabel String dikonversi di antara format ANSI dan Unicode, data binary apapun di variabel tersebut akan berkurang. Visual Basic dapat secara otomatis mengkonversi antara ANSI dan Unicode ketika:
* Pembacaan dari file
* Menulis ke file
* Pemanggilan DLL
* Pemanggilan method dan properties pada object
Semua operator yang bekerja pada Integer bekerja dengan tipe data Byte kecuali minus. Karena Byte merupakan sebuah tipe yang unsigned dengan range 0-255, dia tidak dapat mewakili angka negatif. Jadi, untuk angka minus, Visual Basic memaksa terlebih dulu Byte ke sebuah Integer yang ditandai.
Semua variabel numerik dapat saling diisi ke variabel yang lainnya dan ke variabel yang bertipe Variant. Visual Basic menonaktifkan pembulatan daripada memotong sebagian kecil dari angka floating-point sebelum menugaskannya ke sebuah Integer.
Tipe Data String
Jika Anda memiliki sebuah variabel yang selalu mengandung sebuah String dan tidak pernah terdiri dari angka, Anda dapat mendeklarasikannya sebagai tipe String:
Private S As String
Anda kemudian dapat menugaskan String ke variabel ini dan memanipulasinya dengan menggunakan fungsi-fungsi yang terkait dengan String:
S = "Database"
S = Left(S, 4)
Secara default, sebuah variabel String atau argumen adalah String dengan panjang yang tidak tetap. String dapat berkembang atau menyusut sesuai dengan data baru yang Anda tugaskan kepadanya. Anda juga dapat mendeklarasikan String dengan panjang yang tetap. Anda dapat menentukan String dengan panjang yang tetap menggunakan sintaks berikut:
String * size
Sebagai contoh, untuk mendeklarasikan sebuah String yang selalu panjangnya 50 karakter, gunakanlah kode seperti ini:
Dim EmpName As String * 50
Jika Anda menugaskan sebuah String yang lebih kecil dari 50 karakter, EmpName diisi dengan ruang spasi yang cukup sehingga mencapai 50 karakter. Jika Anda menugaskan sebuah String yang lebih besar daripada panjang String, maka Visual Basic akan otomatis memotong karakter yang lebih tersebut.
Karena String yang panjangnya tetap diisi dengan tanda spasi, Anda dapat menggunakan fungsi Trim dan RTrim, yang akan menghapus spasi. Sangat berguna ketika dibutuhkan.
String yang panjangnya tetap di dalam standard module dapat dideklarasikan sebagai Public atau Private. Di form dan class module, string yang panjangnya tetap harus dideklarasikan sebagai Private.
Pertukaran String dan Angka
Anda dapat menugaskan sebuah String ke sebuah variabel angka jika String mewakili sebuah nilai angka. dia juga mungkin menugaskan sebuah nilai angka ke sebuah variabel String. Sebagai contoh, tempatkan sebuah kontrol CommandButton, TextBox, dan ListBox di atas sebuah form. Ketikkan kode berikut di dalam event Click milik tombol tersebut. Lalu jalankan aplikasi, dan klik tombol tersebut.
Private Sub Command1_Click()
Dim intX As Integer
Dim strY As String
strY = "100.23"
intX = strY ' Passes the string to a numeric
' variable.
List1.AddItem Cos(strY) ' Adds cosine of number in
' the string to the listbox.
strY = Cos(strY) ' Passes cosine to the
' string variable.
Text1.Text = strY ' String variable prints in
' the text box.
End Sub
Visual Basic akan otomatis memaksa variabel ke tipe data yang sesuai. Anda seharusnya berhati-hati saat mengganti string dan angka, karena melewatkan sebuah nilai yang bukan numerik dalam sebuah variabel String akan menyebabkan sebuah kesalahan yang terjadi saat run-time.
Tipe Data Boolean
Jika Anda mempunyai sebuah variabel yang akan mengandung informasi sederhana seperti true/false, yes/no, atau on/off, Anda dapat mendeklarasikannya sebagai tipe Boolean. Nilai default dari Boolean adalah False. Dalam contoh berikut, blnRunning merupakan sebuah variabel bertipe Boolean yang menyimpan sebuah pengaturan sederhana berisi yes atau no.
Dim blnRunning As Boolean
' Check to see if the tape is running.
If Recorder.Direction = 1 Then
blnRunning = True
End if
Tipe Data Date
Nilai tanggal dan waktu, keduanya, dapat terdapat dalam tipe data Date dan juga di dalam variabel bertipe Variant. Karakteristik umum yang sama berlaku kepada tanggal dalam kedua tipe.
Ketika tipe data numerik lainnya dikonversi ke Date, nilai ke kiri dari desimal mewakili informasi tanggal, sementara nilai ke kanan dari desimal mewakili waktu. Tengah malam berarti 0, dan tengah hari adalah 0,5. Semua nilai negatif mewakili tanggal sebelum 30 Desember 1899.
Tipe Data Object
Variabel Object disimpan sebagai alamat 32-bit (4-byte) yang mengacu kepada object di dalam sebuah aplikasi atau di dalam beberapa aplikasi lainnya. Sebuah variabel yang dideklarasikan sebagai Object adalah yang sesudah itu dapat ditugaskan (dengan menggunakan pernyataan Set) untuk mengacu kepada object nyata yang dikenali oleh aplikasi.
Dim objDb As Object
Set objDb = OpenDatabase("c:\Vb5\Biblio.mdb")
Ketika mendeklarasikan variabel Object, cobalah untuk menggunakan alamat tertentu (seperti TextBox daripada menggunakan Control atau, dalam contoh sebelumnya, Database daripada Object) daripada Object secara umum. Visual Basic dapat memisahkan referensi ke properties dan methods dari object dengan tipe tertentu sebelum Anda menjalankan sebuah aplikasi. Hal ini membolehkan aplikasi menjadi lebih cepat saat run-time. Class tertentu terdaftar pada Object Browser dari IDE VB6.
Ketika bekerja dengan object aplikasi lain, daripada menggunakan sebuah Variant atau Object secara umum, deklarasikan object sebagaimana mereka terdapat di dalam daftar Classes pada jendela Object Browser dari IDE VB6 Anda. Hal ini untuk memastikan bahwa Visual Basic mengenali tipe tertentu dari object yang sedang Anda kaitkan, membolehkan referensi ditetapkan saat run time.
Pengkonversian Tipe Data
Visual Basic menyediakan beberapa fungsi konversi yang dapat Anda gunakan untuk mengkonversi nilai ke suatu tipe data tertentu. Untuk mengkonversi suatu nilai ke Currency, sebagai contoh, Anda dapat menggunakan function CCur:
PayPerWeek = CCur(hours * hourlyPay)
CBool, mengkonversi pernyataan ke tipe Boolean
CByte, mengkonversi pernyataan ke tipe Byte
CCur, mengkonversi pernyataan ke tipe Currency
CDate, mengkonversi pernyataan ke tipe Date
CDbl, mengkonversi pernyataan ke tipe Double
CInt, mengkonversi pernyataan ke tipe Integer
CLng, mengkonversi pernyataan ke tipe Long
CSng, mengkonversi pernyataan ke tipe Single
CStr, mengkonversi pernyataan ke tipe String
CVar, mengkonversi pernyataan ke tipe Variant
CVErr, mengkonversi pernyataan ke tipe Error
Nilai yang dilewatkan ke sebuah fungsi konversi haruslah valid untuk tipe data tujuan. Jika tidak, maka akan menyebabkan terjadinya kesalahan. Sebagai contoh, jika Anda berusaha untuk mengkonversi dari sebuah nilai Long ke sebuah nilai Integer, nilai Long tersebut haruslah berada di dalam range yang valid untuk tipe data Integer. Dalam hal ini, maka nilai 32770 tidak dapat Anda konversi menjadi tipe data Integer.
Tipe Data Variant
Sebuah variabel yang bertipe Variant mampu menyimpan semua data yang tipenya didefinisikan dalam system. Anda tidak harus mengkonversi antara nilai data ini jika Anda menugaskan mereka ke sebuah variabel Variant; Visual Basic secara otomatis mengkonversi seperlunya. Sebagai contoh:
Dim SomeValue ' Variant secara default.
SomeValue = "17" ' SomeValue mengandung "17" (string
' dengan dua karakter).
SomeValue = SomeValue - 15 ' SomeValue sekarang mengandung
' angka bernilai 2.
SomeValue = "U" & SomeValue ' SomeValue sekarang mengandung
' "U2" (campuran string dan angka).
Sementara Anda dapat melakukan operasi pada variabel Variant tanpa peduli dengan tipe datanya, ada beberapa perangkap yang harus Anda hindari.
* Jika Anda melakukan operasi aritmetik atau fungsi pada sebuah Variant, maka Variant harus mengandung sesuatu yang merupakan angka.
* Jika Anda memotong String, gunakan operator & (dan) daripada operator + (plus).
Selain itu, supaya dapat bertindak seperti tipe data standar lainnya, Variant juga dapat mengandung tiga nilai khusus, yaitu: Empty, Null, dan Error.
Nilai Empty
Kadang-kadang, Anda perlu mengetahui jika sebuah nilai telah ditugaskan ke sebuah variabel yang sudah dibuat. Sebuah variabel Variant memiliki nilai Empty sebelum dia ditugaskan dengan sebuah nilai. Nilai Empty merupakan sebuah nilai khusus yang berbeda dari 0, string kosong (”"), atau nilai Null. Anda dapat mencoba nilai Empty dengan fungsi IsEmpty seperti berikut:
If IsEmpty(Z) Then Z = 0
Ketika sebuah Variant mengandung nilai Empty, Anda dapat menggunakannya dalam ekspresi; dia diperlakukan sebagai 0 atau string yang panjangnya nol (string kosong), tergantung pada ekspresi tersebut.
Nilai Empty hilang setelah nilai apapun (termasuk 0, string kosong, atau Null) ditugaskan kepada sebuah variabel Variant. Anda dapat menentukan sebuah variabel Variant kembali ke Empty dengan menugaskan kata kunci Empty ke Variant.
Nilai Null
Tipe data Variant dapat mengandung nilai khusus lainnya, yaitu: Null. Null sering kali digunakan di aplikasi database untuk mengindikasikan data yang hilang atau yang tidak dikenal. Karena digunakan di database, Null memiliki beberapa karakteristik unik sebagai berikut:
* Ekspresi yang melibatkan Null selalu menghasilkan Null. Oleh karenanya, Null disebut dengan “menyebarkan” melalui ekspresi; jika bagian apapun dari ekspresi tersebut menghasilkan nilai Null, maka seluruh ekspresi akan menghasilkan nilai Null.
* Dengan melewatkan nilai Null, sebuah Variant yang mengandung Null, atau sebuah ekspresi yang mengevaluasi Null sebagai sebuah argumen pada sebagian besar function, menyebabkan function tersebut mengembalikan nilai Null.
* Nilai Null dapat berpotensi dibangkitkan melalui function intrinsik yang mengembalikan tipe data Variant.
Anda juga dapat menugaskan Null dengan kata kunci Null:
Z = Null
Anda dapat menggunakan function IsNull untuk memeriksa jika sebuah variabel Variant mengandung Null:
If IsNull(X) And IsNull(Y) Then
Z = Null
Else
Z = 0
End If
Jika Anda menugaskan Null ke sebuah variabel dari tipe apapun daripada Variant, sebuah perangkap error terjadi. Dengan menugaskan Null ke sebuah variabel Variant tidak menyebabkan error, dan Null akan menyebarkan melalui pernyataan yang melibatkan variabel Variant (meskipun Null tidak menyebarkan melalui function tertentu). Anda dapat mengembalikan Null dari prosedur Function apapun dengan sebuah Variant yang mengembalikan nilai.
Variabel diset ke Null kecuali Anda menugaskan secara eksplisit Null kepadanya, jadi jika Anda tidak menggunakan Null di aplikasi Anda, Anda tidak harus menulis kode untuk memeriksa dan menanganinya.
Nilai Error
Dalam sebuah Variant, Error merupakan sebuah nilai khusus yang digunakan untuk mengindikasikan bahwa sebuah kondisi error telah terjadi di dalam sebuah prosedur. Meski demikian, tidak seperti jenis error lainnya, penanganan error level aplikasi normal tidak terjadi. Hal ini mengijinkan Anda, atau aplikasi itu sendiri, untuk menggunakan alternatif berdasarkan nilai error. Nilai Error dibuat dengan mengkonversi angka nyata ke nilai error dengan menggunakan function CVErr.
Jika Anda mengetahui bahwa sebuah variabel akan selalu menyimpan data dari tipe data tertentu, biar bagaimanapun, Visual Basic dapat menangani bahwa data lebih efisien jika Anda mendeklarasikan sebuah variabel dari tipe itu. Sebagai contoh, sebuah variabel untuk menyimpan nama seseorang, adalah sangat disarankan agar Anda menggunakan tipe data String, karena sebuah nama selalu terdiri atas beberapa karakter. Dalam hal ini, tipe data String merupakan tipe yang terdiri dari satu atau beberapa kumpulan karakter.
Tipe data juga berlaku terhadap hal lain di samping variabel. Ketika Anda mengisi sebuah nilai ke sebuah Property tertentu, nilai tersebut memiliki tipe data; argumen-argumen yang terdapat di function juga mempunyai tipe data. Pada kenyataannya, apapun yang terkait di Visual Basic yang melibatkan data juga melibatkan tipe data.
Mendeklarasikan Variabel dengan Tipe Data
Sebelum menggunakan variabel yang bukan bertipe Variant, Anda harus menggunakan pernyataan Private, Public, Dim atau Static untuk mendeklarasikannay As type. Sebagai contoh, pernyataan berikut mendeklarasikan sebuah variabel bertipe data Integer, Double, String, dan Currency secara berturut-turut:
1
2
3
4
Private intAngka As Integer
Dim dblAngka As Double
Static strNama As String
Public curTagihan As Currency
Pernyataan Deklarasi dapat mengkombinasikan beberapa cara deklarasi, seperti pada pernyataan berikut:
1
2
3
Private I As Integer, Jlh As Double
Private NamaAnda As String, RekeningKu As Currency
Private Test, Jlh, J As Integer
Jika Anda tidak menyertakan tipe data, variabel memiliki tipe default. Pada contoh terdahulu, variabel Test dan Jlh memiliki tipe data Variant. Hal ini akan mengejutkan jika pengalaman Anda dengan bahasa pemrograman lainnya Anda berharap semua variabel memiliki tipe yang sama pada pernyataan deklarasi tersebut (dalam hal ini, Integer).
Tipe Data Numerik
Visual Basic menyediakan beberapa tipe data numerik — Integer, Long (long integer), Single (single-precision floating point), Double (double-precision floating point), dan Currency. Dengan menggunakan tipe data numerik secara uumu menggunakan ruang penyimpanan yang lebih kecil dibandingkan jika Anda menggunakan tipe data Variant.
Jika Anda mengetahui bahwa sebuah variabel akan selalu menyimpan seluruh angka (seperti 12) daripada nomor dengan desimal (seperti 3.57), deklarasikan dia sebagai Integer atau tipe Long. Operasi lebih cepat dengan Integer, dan tipe ini menggunakan sedikit memory dibandingkan dengan tipe data lainnya. Mereka khususnya berguna sebagai variabel counter di dalam blok perulangan (loop) seperti For…Next.
Jika sebuah variabel mengandung data yang memiliki nilai desimal, deklarasikan variabel tersebut sebagai Single, Double, atau Currency. Tipe data Currency mendukung sampai 4 digit ke kanan setelah tanda pemisah desimal dan 15 digit ke kiri; tipe ini merupakan tipe data yang akurat dan cocok untuk perhitungan uang. Angka Floating-point (Single dan Double) memiliki batas bawah dan akhir (range) yang lebih besar dibandingkan dengan Currency, tapi dapat mengikuti kesalahan pembulatan yang kecil.
Nilai Floating-point dapat dinyatakan sebagai mmmEeee atau mmmDeee, di mana mmm adalah mantissa dan eee adalah eksponen (pangkat 10). Nilai positif tertinggi dari sebuah tipe data Single adalah 3,402823E+38, atau 3,4 kali 10 pangkat 38; nilai positif tertinggi dari sebuah tipe data Double adalah 1,79769313486232D+308, atau sekitar 1,8 kali 10 pangkat 308. Penggunaan D untuk memisahkan mantissa dan exponent dalam terjemahan angka menyebabkan nilai diperlakukan sebagai tipe data Double. Demikian juga, penggunaan E dalam bentuk yang sama memperlakukan nilai sebagai tipe data Single.
Tipe Data Byte
Jika variabel terdiri dari data binary, deklarasikanlah sebagai sebuah array dari tipe data Byte. (Topik mengenai Array akan kita bahas lebih lanjut pada artikel yang terpisah). Penggunaan variabel Byte untuk menyimpan data binary dan menjaganya selama konversi format. Ketika variabel String dikonversi di antara format ANSI dan Unicode, data binary apapun di variabel tersebut akan berkurang. Visual Basic dapat secara otomatis mengkonversi antara ANSI dan Unicode ketika:
* Pembacaan dari file
* Menulis ke file
* Pemanggilan DLL
* Pemanggilan method dan properties pada object
Semua operator yang bekerja pada Integer bekerja dengan tipe data Byte kecuali minus. Karena Byte merupakan sebuah tipe yang unsigned dengan range 0-255, dia tidak dapat mewakili angka negatif. Jadi, untuk angka minus, Visual Basic memaksa terlebih dulu Byte ke sebuah Integer yang ditandai.
Semua variabel numerik dapat saling diisi ke variabel yang lainnya dan ke variabel yang bertipe Variant. Visual Basic menonaktifkan pembulatan daripada memotong sebagian kecil dari angka floating-point sebelum menugaskannya ke sebuah Integer.
Tipe Data String
Jika Anda memiliki sebuah variabel yang selalu mengandung sebuah String dan tidak pernah terdiri dari angka, Anda dapat mendeklarasikannya sebagai tipe String:
Private S As String
Anda kemudian dapat menugaskan String ke variabel ini dan memanipulasinya dengan menggunakan fungsi-fungsi yang terkait dengan String:
S = "Database"
S = Left(S, 4)
Secara default, sebuah variabel String atau argumen adalah String dengan panjang yang tidak tetap. String dapat berkembang atau menyusut sesuai dengan data baru yang Anda tugaskan kepadanya. Anda juga dapat mendeklarasikan String dengan panjang yang tetap. Anda dapat menentukan String dengan panjang yang tetap menggunakan sintaks berikut:
String * size
Sebagai contoh, untuk mendeklarasikan sebuah String yang selalu panjangnya 50 karakter, gunakanlah kode seperti ini:
Dim EmpName As String * 50
Jika Anda menugaskan sebuah String yang lebih kecil dari 50 karakter, EmpName diisi dengan ruang spasi yang cukup sehingga mencapai 50 karakter. Jika Anda menugaskan sebuah String yang lebih besar daripada panjang String, maka Visual Basic akan otomatis memotong karakter yang lebih tersebut.
Karena String yang panjangnya tetap diisi dengan tanda spasi, Anda dapat menggunakan fungsi Trim dan RTrim, yang akan menghapus spasi. Sangat berguna ketika dibutuhkan.
String yang panjangnya tetap di dalam standard module dapat dideklarasikan sebagai Public atau Private. Di form dan class module, string yang panjangnya tetap harus dideklarasikan sebagai Private.
Pertukaran String dan Angka
Anda dapat menugaskan sebuah String ke sebuah variabel angka jika String mewakili sebuah nilai angka. dia juga mungkin menugaskan sebuah nilai angka ke sebuah variabel String. Sebagai contoh, tempatkan sebuah kontrol CommandButton, TextBox, dan ListBox di atas sebuah form. Ketikkan kode berikut di dalam event Click milik tombol tersebut. Lalu jalankan aplikasi, dan klik tombol tersebut.
Private Sub Command1_Click()
Dim intX As Integer
Dim strY As String
strY = "100.23"
intX = strY ' Passes the string to a numeric
' variable.
List1.AddItem Cos(strY) ' Adds cosine of number in
' the string to the listbox.
strY = Cos(strY) ' Passes cosine to the
' string variable.
Text1.Text = strY ' String variable prints in
' the text box.
End Sub
Visual Basic akan otomatis memaksa variabel ke tipe data yang sesuai. Anda seharusnya berhati-hati saat mengganti string dan angka, karena melewatkan sebuah nilai yang bukan numerik dalam sebuah variabel String akan menyebabkan sebuah kesalahan yang terjadi saat run-time.
Tipe Data Boolean
Jika Anda mempunyai sebuah variabel yang akan mengandung informasi sederhana seperti true/false, yes/no, atau on/off, Anda dapat mendeklarasikannya sebagai tipe Boolean. Nilai default dari Boolean adalah False. Dalam contoh berikut, blnRunning merupakan sebuah variabel bertipe Boolean yang menyimpan sebuah pengaturan sederhana berisi yes atau no.
Dim blnRunning As Boolean
' Check to see if the tape is running.
If Recorder.Direction = 1 Then
blnRunning = True
End if
Tipe Data Date
Nilai tanggal dan waktu, keduanya, dapat terdapat dalam tipe data Date dan juga di dalam variabel bertipe Variant. Karakteristik umum yang sama berlaku kepada tanggal dalam kedua tipe.
Ketika tipe data numerik lainnya dikonversi ke Date, nilai ke kiri dari desimal mewakili informasi tanggal, sementara nilai ke kanan dari desimal mewakili waktu. Tengah malam berarti 0, dan tengah hari adalah 0,5. Semua nilai negatif mewakili tanggal sebelum 30 Desember 1899.
Tipe Data Object
Variabel Object disimpan sebagai alamat 32-bit (4-byte) yang mengacu kepada object di dalam sebuah aplikasi atau di dalam beberapa aplikasi lainnya. Sebuah variabel yang dideklarasikan sebagai Object adalah yang sesudah itu dapat ditugaskan (dengan menggunakan pernyataan Set) untuk mengacu kepada object nyata yang dikenali oleh aplikasi.
Dim objDb As Object
Set objDb = OpenDatabase("c:\Vb5\Biblio.mdb")
Ketika mendeklarasikan variabel Object, cobalah untuk menggunakan alamat tertentu (seperti TextBox daripada menggunakan Control atau, dalam contoh sebelumnya, Database daripada Object) daripada Object secara umum. Visual Basic dapat memisahkan referensi ke properties dan methods dari object dengan tipe tertentu sebelum Anda menjalankan sebuah aplikasi. Hal ini membolehkan aplikasi menjadi lebih cepat saat run-time. Class tertentu terdaftar pada Object Browser dari IDE VB6.
Ketika bekerja dengan object aplikasi lain, daripada menggunakan sebuah Variant atau Object secara umum, deklarasikan object sebagaimana mereka terdapat di dalam daftar Classes pada jendela Object Browser dari IDE VB6 Anda. Hal ini untuk memastikan bahwa Visual Basic mengenali tipe tertentu dari object yang sedang Anda kaitkan, membolehkan referensi ditetapkan saat run time.
Pengkonversian Tipe Data
Visual Basic menyediakan beberapa fungsi konversi yang dapat Anda gunakan untuk mengkonversi nilai ke suatu tipe data tertentu. Untuk mengkonversi suatu nilai ke Currency, sebagai contoh, Anda dapat menggunakan function CCur:
PayPerWeek = CCur(hours * hourlyPay)
CBool, mengkonversi pernyataan ke tipe Boolean
CByte, mengkonversi pernyataan ke tipe Byte
CCur, mengkonversi pernyataan ke tipe Currency
CDate, mengkonversi pernyataan ke tipe Date
CDbl, mengkonversi pernyataan ke tipe Double
CInt, mengkonversi pernyataan ke tipe Integer
CLng, mengkonversi pernyataan ke tipe Long
CSng, mengkonversi pernyataan ke tipe Single
CStr, mengkonversi pernyataan ke tipe String
CVar, mengkonversi pernyataan ke tipe Variant
CVErr, mengkonversi pernyataan ke tipe Error
Nilai yang dilewatkan ke sebuah fungsi konversi haruslah valid untuk tipe data tujuan. Jika tidak, maka akan menyebabkan terjadinya kesalahan. Sebagai contoh, jika Anda berusaha untuk mengkonversi dari sebuah nilai Long ke sebuah nilai Integer, nilai Long tersebut haruslah berada di dalam range yang valid untuk tipe data Integer. Dalam hal ini, maka nilai 32770 tidak dapat Anda konversi menjadi tipe data Integer.
Tipe Data Variant
Sebuah variabel yang bertipe Variant mampu menyimpan semua data yang tipenya didefinisikan dalam system. Anda tidak harus mengkonversi antara nilai data ini jika Anda menugaskan mereka ke sebuah variabel Variant; Visual Basic secara otomatis mengkonversi seperlunya. Sebagai contoh:
Dim SomeValue ' Variant secara default.
SomeValue = "17" ' SomeValue mengandung "17" (string
' dengan dua karakter).
SomeValue = SomeValue - 15 ' SomeValue sekarang mengandung
' angka bernilai 2.
SomeValue = "U" & SomeValue ' SomeValue sekarang mengandung
' "U2" (campuran string dan angka).
Sementara Anda dapat melakukan operasi pada variabel Variant tanpa peduli dengan tipe datanya, ada beberapa perangkap yang harus Anda hindari.
* Jika Anda melakukan operasi aritmetik atau fungsi pada sebuah Variant, maka Variant harus mengandung sesuatu yang merupakan angka.
* Jika Anda memotong String, gunakan operator & (dan) daripada operator + (plus).
Selain itu, supaya dapat bertindak seperti tipe data standar lainnya, Variant juga dapat mengandung tiga nilai khusus, yaitu: Empty, Null, dan Error.
Nilai Empty
Kadang-kadang, Anda perlu mengetahui jika sebuah nilai telah ditugaskan ke sebuah variabel yang sudah dibuat. Sebuah variabel Variant memiliki nilai Empty sebelum dia ditugaskan dengan sebuah nilai. Nilai Empty merupakan sebuah nilai khusus yang berbeda dari 0, string kosong (”"), atau nilai Null. Anda dapat mencoba nilai Empty dengan fungsi IsEmpty seperti berikut:
If IsEmpty(Z) Then Z = 0
Ketika sebuah Variant mengandung nilai Empty, Anda dapat menggunakannya dalam ekspresi; dia diperlakukan sebagai 0 atau string yang panjangnya nol (string kosong), tergantung pada ekspresi tersebut.
Nilai Empty hilang setelah nilai apapun (termasuk 0, string kosong, atau Null) ditugaskan kepada sebuah variabel Variant. Anda dapat menentukan sebuah variabel Variant kembali ke Empty dengan menugaskan kata kunci Empty ke Variant.
Nilai Null
Tipe data Variant dapat mengandung nilai khusus lainnya, yaitu: Null. Null sering kali digunakan di aplikasi database untuk mengindikasikan data yang hilang atau yang tidak dikenal. Karena digunakan di database, Null memiliki beberapa karakteristik unik sebagai berikut:
* Ekspresi yang melibatkan Null selalu menghasilkan Null. Oleh karenanya, Null disebut dengan “menyebarkan” melalui ekspresi; jika bagian apapun dari ekspresi tersebut menghasilkan nilai Null, maka seluruh ekspresi akan menghasilkan nilai Null.
* Dengan melewatkan nilai Null, sebuah Variant yang mengandung Null, atau sebuah ekspresi yang mengevaluasi Null sebagai sebuah argumen pada sebagian besar function, menyebabkan function tersebut mengembalikan nilai Null.
* Nilai Null dapat berpotensi dibangkitkan melalui function intrinsik yang mengembalikan tipe data Variant.
Anda juga dapat menugaskan Null dengan kata kunci Null:
Z = Null
Anda dapat menggunakan function IsNull untuk memeriksa jika sebuah variabel Variant mengandung Null:
If IsNull(X) And IsNull(Y) Then
Z = Null
Else
Z = 0
End If
Jika Anda menugaskan Null ke sebuah variabel dari tipe apapun daripada Variant, sebuah perangkap error terjadi. Dengan menugaskan Null ke sebuah variabel Variant tidak menyebabkan error, dan Null akan menyebarkan melalui pernyataan yang melibatkan variabel Variant (meskipun Null tidak menyebarkan melalui function tertentu). Anda dapat mengembalikan Null dari prosedur Function apapun dengan sebuah Variant yang mengembalikan nilai.
Variabel diset ke Null kecuali Anda menugaskan secara eksplisit Null kepadanya, jadi jika Anda tidak menggunakan Null di aplikasi Anda, Anda tidak harus menulis kode untuk memeriksa dan menanganinya.
Nilai Error
Dalam sebuah Variant, Error merupakan sebuah nilai khusus yang digunakan untuk mengindikasikan bahwa sebuah kondisi error telah terjadi di dalam sebuah prosedur. Meski demikian, tidak seperti jenis error lainnya, penanganan error level aplikasi normal tidak terjadi. Hal ini mengijinkan Anda, atau aplikasi itu sendiri, untuk menggunakan alternatif berdasarkan nilai error. Nilai Error dibuat dengan mengkonversi angka nyata ke nilai error dengan menggunakan function CVErr.
No comments:
Post a Comment