konstan
Merupakan hal yang umum untuk menemukan kode yang berisi nilai konstanta yang berulang berulang kali. Anda mungkin juga menemukan bahwa kode tersebut menggunakan angka-angka yang sulit diingat dan tidak memiliki arti yang jelas.
Dalam kasus ini, konstanta dapat digunakan untuk meningkatkan keterbacaan dan pemeliharaan kode. Konstanta adalah nama bermakna yang menggantikan nilai numerik atau string yang tidak pernah berubah. Meskipun konstanta mirip dengan variabel, konstanta tidak dapat diubah seperti variabel, dan konstanta juga tidak dapat diberi nilai baru. Konstanta berasal dari dua sumber:
1. Konstanta internal atau yang ditentukan sistem disediakan oleh aplikasi dan kontrol. Konstanta Visual Basic tercantum dalam pustaka objek Visual Basic (VB) dan Visual Basic untuk aplikasi (VBA) di "Object Browser". Aplikasi lain yang menyediakan pustaka objek, seperti Microsoft Excel dan Microsoft P Project, juga menyediakan daftar konstanta yang dapat digunakan dengan objek, metode, dan properti aplikasi. Konstanta juga ditentukan di perpustakaan objek setiap kontrol ActiveX. Untuk informasi lebih lanjut tentang penggunaan Object Browser, lihat Bab 9, "Pemrograman dengan Objek."
2. Konstanta simbolis atau yang ditentukan pengguna dideklarasikan menggunakan pernyataan Const. Konstanta yang ditentukan pengguna dijelaskan di bagian berikutnya, "Membuat konstanta Anda sendiri".
Dalam Visual Basic, nama konstanta berada dalam format huruf campuran, dan awalannya menunjukkan nama pustaka objek di mana konstanta tersebut didefinisikan. Konstanta dari pustaka objek Visual Basic dan Visual Basic for Applications dimulai dengan vb, seperti vbTileHorizontal.
Saat mendesain prefiks, Anda harus berusaha semaksimal mungkin untuk mencegah konflik yang tidak disengaja. Konstanta dengan nama yang sama tetapi nilainya berbeda tidak boleh ada. Meskipun awalan digunakan, dua pustaka objek mungkin masih berisi konstanta yang sama yang mewakili nilai berbeda. Dalam hal ini, konstanta mana yang direferensikan bergantung pada pustaka objek mana yang memiliki prioritas lebih tinggi. Untuk informasi tentang mengubah prioritas perpustakaan objek, lihat bagian "Kotak Dialog Referensi".
Untuk benar-benar yakin bahwa tidak ada konflik nama konstanta yang terjadi, Anda dapat memenuhi syarat referensi ke konstanta dengan sintaks berikut:
[namalib.][namamodul.]namakonst
Libname biasanya merupakan nama kelas kontrol atau perpustakaan. Nama modul adalah nama modul yang konstanta didefinisikan. Constname adalah nama konstan. Setiap elemen didefinisikan di perpustakaan objek dan dapat dilihat di Object Browser.
Buat konstanta Anda sendiri
Sintaks untuk mendeklarasikan konstanta adalah :
[Publik|Pribadi]Constconstantname[Astype]=ekspresi
Nama konstan parameter adalah nama simbolik yang valid (aturannya sama dengan aturan untuk menetapkan nama variabel), dan ekspresi terdiri dari konstanta numerik atau konstanta string dan operator tetapi pemanggilan fungsi tidak dapat digunakan dalam ekspresi.
Pernyataan Const dapat mewakili jumlah, tanggal, dan waktu:
ConstconPi=3.14159265358979
PublicConstconMaxPlanetsAsInteger=9
ConstconReleaseDate=#1/1/95#
Konstanta string juga dapat didefinisikan menggunakan pernyataan Const:
VersiKonstruksi Publik=07.10.A
ConstconCodeName=Enigma
Beberapa deklarasi konstanta dapat ditempatkan pada satu baris jika dipisahkan dengan koma:
PublicConstconPi=3.14,conMaxPlanets=9,_
conWorldPop=6E 09
Ekspresi di sebelah kanan tanda sama dengan (=) sering kali berupa angka atau string literal, namun bisa juga berupa ekspresi yang hasilnya berupa angka atau string (walaupun ekspresi tersebut tidak dapat berisi pemanggilan fungsi). Anda bahkan dapat menentukan konstanta baru menggunakan konstanta yang telah ditentukan sebelumnya.
ConstconPi2=conPi*2 Setelah konstanta didefinisikan, konstanta tersebut dapat ditempatkan dalam kode agar kode lebih mudah dibaca. Misalnya:
Sistem Surya Statis (1ToconMaxPlanets)
IfnumPeople>conWorldPopThenExitSub
Tetapkan rentang konstanta yang ditentukan pengguna
Seperti deklarasi variabel, pernyataan Const memiliki cakupan dan menggunakan aturan yang sama:
Untuk membuat konstanta yang hanya ada di dalam suatu prosedur, deklarasikan konstanta tersebut di dalam prosedur.
Untuk membuat konstanta yang valid untuk semua prosedur dalam modul tetapi tidak untuk kode apa pun di luar modul, deklarasikan konstanta tersebut di bagian deklarasi modul.
Untuk membuat konstanta yang valid di seluruh aplikasi Anda, deklarasikan di bagian deklarasi modul standar dan tempatkan kata kunci Publik di depan Const. Konstanta publik tidak dapat dideklarasikan dalam modul formulir atau modul kelas.
Untuk informasi lebih detail mengenai ruang lingkup, lihat bagian “Memahami Ruang Lingkup Variabel” pada awal bab ini.
Hindari referensi melingkar
Karena konstanta dapat didefinisikan dalam bentuk konstanta lain, kehati-hatian harus diberikan untuk tidak membuat siklus atau referensi melingkar antara lebih dari dua konstanta. Perulangan terjadi ketika terdapat lebih dari dua konstanta publik dalam suatu program, dan setiap konstanta publik ditentukan oleh konstanta publik lainnya. Misalnya:
'Dalam Modul1:
PublicConstconA=conB*2 'Di seluruh aplikasi
'berlaku di'.
'Dalam Modul2:
PublicConstconB=conA/2 'Di seluruh aplikasi
'berlaku di'.
Jika terjadi loop, Visual Basic akan menghasilkan pesan kesalahan saat mencoba menjalankan aplikasi. Program tidak dapat dijalankan tanpa menyelesaikan referensi melingkar. Untuk menghindari siklus, konstanta publik dapat dibatasi pada satu modul, atau paling banyak hanya beberapa modul.
tipe data
Variabel adalah tempat yang digunakan untuk menyimpan nilai. Variabel memiliki nama dan tipe data. Tipe data suatu variabel menentukan bagaimana bit yang mewakili nilai tersebut disimpan dalam memori komputer. Anda juga dapat menentukan tipe data suatu variabel saat mendeklarasikannya. Semua variabel memiliki tipe data untuk menentukan jenis data apa yang dapat disimpan.
Secara default, jika tipe data tidak ditentukan dalam deklarasi, tipe data variabelnya adalah Varian. Tipe data Variant seperti bunglon, dapat mewakili tipe data yang berbeda pada kesempatan yang berbeda. Jika variabel yang ditentukan adalah variabel Varian, tidak perlu melakukan konversi antar tipe data. Visual Basic akan secara otomatis menyelesaikan berbagai konversi yang diperlukan.
Namun, jika Anda mengetahui bahwa suatu variabel selalu menyimpan data dengan tipe tertentu, dan Anda mendeklarasikan variabel dengan tipe spesifik tersebut, Visual Basic akan menangani data ini dengan lebih efisien. Misalnya, variabel yang menyimpan nama seseorang paling baik direpresentasikan sebagai tipe data String karena nama selalu terdiri dari karakter.
Selain variabel, tipe data juga digunakan dalam situasi lain. Saat menetapkan nilai ke properti, nilai tersebut memiliki tipe data; parameter fungsi juga memiliki tipe data. Padahal, dalam Visual Basic, segala sesuatu yang berhubungan dengan data berkaitan dengan tipe data.
Anda juga dapat mendeklarasikan array dengan tipe primitif apa pun.
DetailUntuk detail lebih lanjut, lihat bagian "Array" nanti di bab ini. Bab 15, "Merancang untuk Kinerja dan Kompatibilitas," juga membahas peningkatan kinerja aplikasi dengan memilih tipe data.
Deklarasikan variabel dengan tipe data
Sebelum menggunakan variabel non-Varian, Anda harus mendeklarasikan variabel tersebut sebagai Astype menggunakan pernyataan Private, Public, Dim, atau Static. Misalnya, pernyataan berikut mendeklarasikan variabel bertipe Integer, Double, String, dan Mata Uang:
PrivateIAsInteger
DimAmtAsDouble
StatisNamaAndaAsString
PublicBillsPaidAsCurrency
Pernyataan deklarasi dapat menggabungkan beberapa deklarasi, silakan lihat pernyataan berikut:
PrivateIAsInteger,AmtAsDouble
PrivateYourNameAsString,BillsPaidAsCurrency
Tes Pribadi, Jumlah, JAsInteger
Perhatikan bahwa jika tidak ada tipe data yang disediakan, variabel yang ditentukan adalah tipe default. Pada contoh di atas, variabel Test dan Jumlah bertipe data Varian. Jika pengalaman Anda dengan bahasa pemrograman lain membuat Anda percaya bahwa semua variabel dalam pernyataan deklarasi yang sama memiliki tipe data tertentu yang sama (dalam hal ini Integer), maka hasil di sini mungkin menyegarkan.
Tipe data numerik
VisualBasic mendukung beberapa tipe data Numerik: Integer (integer), Long (integer panjang), Single (floating point presisi tunggal), Double (floating point presisi ganda), dan Mata Uang (mata uang). Tipe numerik umumnya memakan lebih sedikit ruang penyimpanan dibandingkan tipe Varian.
Jika Anda mengetahui bahwa suatu variabel akan selalu menyimpan bilangan bulat (seperti 12) daripada angka dengan koma desimal (seperti 3,57), Anda harus mendeklarasikannya sebagai tipe Integer atau Long. Integer melakukan operasi lebih cepat dan menggunakan lebih sedikit memori dibandingkan tipe data lainnya. Tipe integer sangat berguna ketika digunakan sebagai variabel counter dalam loop For...Next.
Untuk informasi lebih lanjut tentang struktur kontrol, lihat "Ikhtisar Struktur Kontrol" di bagian selanjutnya bab ini. Jika variabel mengandung desimal, maka dapat dideklarasikan sebagai variabel Tunggal, Ganda, atau Mata Uang. Tipe data Mata Uang mendukung 4 digit di sebelah kanan koma desimal dan 15 digit di sebelah kiri koma desimal; ini adalah tipe data titik tetap yang tepat dan cocok untuk perhitungan mata uang. Angka floating point (Tunggal dan Ganda) memiliki rentang valid yang jauh lebih besar dibandingkan Mata Uang, namun kesalahan carry yang kecil mungkin saja terjadi.
Perhatikan bahwa nilai floating point dapat direpresentasikan sebagai mmmEeee atau mmmDeee, di mana mmm adalah mantissa dan eee adalah eksponen (pangkat ke basis 10). Nilai positif maksimum tipe data Single adalah 3,402823E 38, atau 3,4 kali 10 pangkat 38; nilai positif maksimum tipe data Double adalah 1,79769313486232D 308, atau 1,8 kali 10 pangkat 308. Menggunakan D untuk memisahkan bagian mantissa dan eksponen dari literal numerik menyebabkan nilai diperlakukan sebagai tipe data Ganda. Demikian pula, penggunaan E dengan cara ini menyebabkan nilai diperlakukan sebagai tipe data Tunggal.
Tipe data byte
Jika variabel berisi bilangan biner, deklarasikan sebagai array bertipe data Byte (array akan dibahas di "Array" nanti di bab ini). Menyimpan data biner dalam variabel Byte akan mempertahankan data selama konversi format. Ketika variabel String dikonversi antara format ANSI dan Unicode, data biner apa pun dalam variabel tersebut akan dimusnahkan. Visual Basic secara otomatis mengkonversi antara ANSI dan Unicode dalam situasi berikut:
Saat membaca file
Saat menulis file
Saat memanggil DLL
Saat memanggil metode dan properti suatu objek
Kecuali untuk pengurangan unary, semua operator yang dapat beroperasi pada bilangan bulat dapat beroperasi pada tipe data Byte. Karena Byte adalah tipe unsigned dari 0-255, maka Byte tidak dapat mewakili angka negatif. Jadi ketika melakukan pengurangan unary, VisualBasic terlebih dahulu mengubah Byte menjadi bilangan bulat bertanda.
Semua variabel numerik dapat ditugaskan satu sama lain dan ke variabel tipe varian. Sebelum menetapkan angka floating-point ke bilangan bulat, Visual Basic membulatkan bagian desimal dari angka floating-point alih-alih menghapusnya.
Detail Untuk detail tentang konversi Unicode dan ANSI, lihat Bab 16, "Internasionalisasi."
Tipe data string
Jika suatu variabel selalu berisi string dan tidak pernah berisi nilai numerik, Anda dapat mendeklarasikannya sebagai tipe String.
PrivateSAsString
Anda kemudian dapat menetapkan string ke variabel ini dan mengoperasikannya menggunakan fungsi string.
S = Basis Data
S=Kiri(S,4)
Secara default, variabel atau parameter String adalah string dengan panjang variabel. Saat data baru ditugaskan ke sebuah string, panjangnya bisa bertambah atau berkurang. Dimungkinkan juga untuk mendeklarasikan string yang memiliki panjang tetap. String dengan panjang tetap dapat dideklarasikan dengan sintaks berikut:
Tali*ukuran
Misalnya, untuk mendeklarasikan string 50 karakter, gunakan pernyataan berikut:
DimEmpNameAsString*50
Jika kurang dari 50 karakter yang ditetapkan ke string, bagian EmpName yang hilang akan diisi dengan spasi. Jika panjang yang ditetapkan ke string terlalu panjang dan tidak dapat menjadi string dengan panjang tetap, Visual Basic akan langsung memotong kelebihan karakter.
Karena string dengan panjang tetap diisi dengan spasi di ujung spasi tambahan, fungsi Trim dan RTrim yang menghilangkan spasi ternyata sangat berguna saat menangani string dengan panjang tetap. String dengan panjang tetap dalam modul standar dapat dideklarasikan sebagai Publik atau Pribadi. Dalam formulir dan modul kelas, string dengan panjang tetap harus dinyatakan Pribadi.
Untuk detailnya, lihat "Fungsi Ltrim, RTrim, dan Trim" di "Manual Referensi Bahasa Visual Basic 6.0".
Tukar string dan angka
Jika string mewakili nilai numerik, string tersebut dapat ditetapkan ke variabel numerik. Nilai numerik juga dapat ditetapkan ke variabel string. Misalnya, letakkan tombol perintah, kotak teks, dan kotak daftar pada formulir. Masukkan kode berikut di acara Klik pada tombol perintah. Jalankan aplikasi dan klik tombol perintah.
PrivateSubCommand1_Klik()
DimintXAsInteger
DimstrYAsString
strY=100,23
intX=strY 'Masukkan string ke variabel numerik.
List1.AddItemCos(strY) 'Tambahkan nilai kosinus dari nilai dalam string.
'Tambahkan ke kotak daftar.
strY=Cos(strY) 'Transfer nilai cosinus ke variabel string.
Text1.Text=strY 'Tampilkan string dalam kotak teks.
Sub Akhir
Visual Basic secara otomatis memaksa variabel ke tipe data yang sesuai. Berhati-hatilah saat mengonversi string dan nilai numerik; jika nilai dalam string yang diteruskan bukan nilai numerik, kesalahan akan terjadi pada waktu proses.
Tipe data Boolean
Jika nilai variabel hanya berisi informasi "benar/salah", "ya/tidak", dan "hidup/mati", maka dapat dideklarasikan sebagai tipe Boolean. Nilai default Boolean adalah False. Pada contoh di bawah, blnRunning adalah variabel Boolean yang menyimpan pengaturan sederhana ya/tidak.
DimblnRunningAsBoolean
'Periksa apakah kasetnya berputar.
IfRecorder.Direction=1Lalu
blnBerjalan=Benar
Endif
Tipe data tanggal
Nilai Tanggal dan Waktu dapat dimuat dalam tipe data Tanggal tertentu atau dalam variabel Varian. Properti Tanggal Umum berlaku untuk kedua jenis.
Untuk informasi lebih lanjut, lihat bagian "Menyimpan Nilai Tanggal/Waktu dalam Variabel Varian" pada bagian "Topik Variabel Lanjutan" di Panduan Online.
Ketika tipe data numerik lainnya dikonversi ke Tanggal, nilai di sebelah kiri koma desimal mewakili informasi Tanggal, dan nilai di sebelah kanan koma desimal mewakili Waktu. Tengah malam adalah 0 dan siang hari adalah 0,5. Angka negatif mewakili tanggal sebelum 31 Desember 1899 Masehi.
->