Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pernyataan di Visual Basic adalah instruksi lengkap. Ini dapat berisi kata kunci, operator, variabel, konstanta, dan ekspresi. Setiap pernyataan termasuk dalam salah satu kategori berikut:
Pernyataan Deklarasi, yang memberi nama variabel, konstanta, atau prosedur, dan juga dapat menentukan jenis data.
Pernyataan yang Dapat Dieksekusi, yang memulai tindakan. Pernyataan ini dapat memanggil metode atau fungsi, dan dapat mengulang atau bercabang melalui blok-blok kode. Pernyataan yang dapat dieksekusi mencakup Pernyataan Penugasan, yang menetapkan nilai atau ekspresi ke variabel atau konstanta.
Topik ini menjelaskan setiap kategori. Selain itu, topik ini menjelaskan cara menggabungkan beberapa pernyataan pada satu baris dan cara melanjutkan pernyataan melalui beberapa baris.
Pernyataan deklarasi
Anda menggunakan pernyataan deklarasi untuk memberi nama dan menentukan prosedur, variabel, properti, array, dan konstanta. Saat Anda mendeklarasikan elemen pemrograman, Anda juga dapat menentukan jenis data, tingkat akses, dan cakupannya. Untuk informasi selengkapnya, lihat Karakteristik Elemen yang Dinyatakan.
Contoh berikut berisi tiga deklarasi.
Public Sub ApplyFormat()
Const limit As Integer = 33
Dim thisWidget As New widget
' Insert code to implement the procedure.
End Sub
Pernyataan pertama adalah Sub
. Bersama dengan pernyataan pencocokannya End Sub
, ia mendeklarasikan prosedur bernama applyFormat
. Ini juga menentukan bahwa applyFormat
adalah Public
, yang berarti bahwa kode apa pun yang dapat merujuknya dapat memanggilnya.
Deklarasi kedua adalah Const
pernyataan, yang menyatakan konstanta limit
, menentukan Integer
jenis data dan nilai 33.
Deklarasi ketiga adalah Dim
pernyataan, yang mendeklarasikan variabel thisWidget
. Jenis data adalah objek tertentu, yaitu objek yang dibuat dari Widget
kelas . Anda dapat mendeklarasikan variabel menjadi dari jenis data dasar apa pun atau jenis objek apa pun yang diekspos dalam aplikasi yang Anda gunakan.
Nilai Awal
Ketika kode yang berisi pernyataan deklarasi berjalan, Visual Basic mencadangkan memori yang diperlukan untuk elemen yang dideklarasikan. Jika elemen menyimpan nilai, Visual Basic menginisialisasinya ke nilai default untuk jenis datanya. Untuk informasi selengkapnya, lihat "Perilaku" di Pernyataan Dim.
Anda dapat menetapkan nilai awal ke variabel sebagai bagian dari deklarasinya, seperti yang diilustrasikan contoh berikut.
Dim m As Integer = 45
' The preceding declaration creates m and assigns the value 45 to it.
Jika variabel adalah variabel objek, Anda dapat secara eksplisit membuat instans kelasnya saat Anda mendeklarasikannya dengan menggunakan kata kunci Operator Baru , seperti yang diilustrasikan contoh berikut.
Dim f As New FileInfo("filename")
Perhatikan bahwa nilai awal yang Anda tentukan dalam pernyataan deklarasi tidak ditetapkan ke variabel hingga eksekusi mencapai pernyataan deklarasinya. Hingga saat itu, variabel berisi nilai default untuk jenis datanya.
Pernyataan yang dapat dieksekusi
Pernyataan yang dapat dieksekusi melakukan tindakan. Ini dapat memanggil prosedur, cabang ke tempat lain dalam kode, mengulangi beberapa pernyataan, atau mengevaluasi ekspresi. Pernyataan penugasan adalah kasus khusus dari pernyataan yang dapat dieksekusi.
Contoh berikut menggunakan If...Then...Else
struktur kontrol untuk menjalankan blok kode yang berbeda berdasarkan nilai variabel. Dalam setiap blok kode, perulangan For...Next
menjalankan berapa kali tertentu.
Public Sub StartWidget(ByVal aWidget As widget,
ByVal clockwise As Boolean, ByVal revolutions As Integer)
Dim counter As Integer
If clockwise = True Then
For counter = 1 To revolutions
aWidget.SpinClockwise()
Next counter
Else
For counter = 1 To revolutions
aWidget.SpinCounterClockwise()
Next counter
End If
End Sub
Pernyataan If
dalam contoh sebelumnya memeriksa nilai parameter clockwise
. Jika nilainya adalah True
, ia memanggil metode spinClockwise
dari aWidget
. Jika nilainya adalah False
, ia memanggil metode spinCounterClockwise
dari aWidget
. Struktur If...Then...Else
kontrol diakhir dengan End If
.
Perulangan For...Next
dalam setiap blok memanggil metode yang sesuai beberapa kali, sesuai dengan nilai parameter revolutions
.
Pernyataan tugas
Pernyataan penugasan melakukan operasi penugasan, yang terdiri dari mengambil nilai di sisi kanan operator penugasan (=
) dan menyimpannya di elemen di sebelah kiri, seperti dalam contoh berikut.
v = 42
Dalam contoh sebelumnya, pernyataan penugasan menyimpan nilai harfiah 42 dalam variabel v
.
Elemen pemrograman yang memenuhi syarat
Elemen pemrograman di sisi kiri operator penugasan harus dapat menerima dan menyimpan nilai. Ini berarti harus berupa variabel atau properti yang bukan ReadOnly, atau harus berupa elemen array. Dalam konteks pernyataan penugasan, elemen seperti itu kadang-kadang disebut lvalue, untuk "nilai kiri."
Nilai di sisi kanan operator penugasan dihasilkan oleh ekspresi, yang dapat terdiri dari kombinasi literal, konstanta, variabel, properti, elemen array, ekspresi lain, atau panggilan fungsi. Contoh berikut mengilustrasikan hal ini.
x = y + z + FindResult(3)
Contoh sebelumnya menambahkan nilai yang disimpan dalam variabel y
ke nilai yang disimpan dalam variabel z
, lalu menambahkan nilai yang dikembalikan oleh panggilan ke fungsi findResult
. Nilai total ekspresi ini kemudian disimpan dalam variabel x
.
Jenis data dalam pernyataan penugasan
Selain nilai numerik, operator penugasan juga dapat menetapkan String
nilai, seperti yang diilustrasikan contoh berikut.
Dim a, b As String
a = "String variable assignment"
b = "Con" & "cat" & "enation"
' The preceding statement assigns the value "Concatenation" to b.
Anda juga dapat menetapkan Boolean
nilai, menggunakan Boolean
literal atau Boolean
ekspresi, seperti yang diilustrasikan contoh berikut.
Dim r, s, t As Boolean
r = True
s = 45 > 1003
t = 45 > 1003 Or 45 > 17
' The preceding statements assign False to s and True to t.
Demikian pula, Anda dapat menetapkan nilai yang sesuai ke elemen pemrograman dari Char
jenis data , Date
, atau Object
. Anda juga dapat menetapkan instans objek ke elemen yang dinyatakan berasal dari kelas tempat instans tersebut dibuat.
Pernyataan penugasan gabungan
Pernyataan penetapan gabungan terlebih dahulu melakukan operasi pada ekspresi sebelum menetapkannya ke elemen pemrograman. Contoh berikut mengilustrasikan salah satu operator ini, +=
, yang menaikkan nilai variabel di sisi kiri operator dengan nilai ekspresi di sebelah kanan.
n += 1
Contoh sebelumnya menambahkan 1 ke nilai n
, lalu menyimpan nilai baru tersebut di n
. Ini setara dengan pernyataan berikut:
n = n + 1
Berbagai operasi penugasan majemuk dapat dilakukan menggunakan operator jenis ini. Untuk daftar operator ini dan informasi selengkapnya tentang operator tersebut, lihat Operator Penugasan.
Operator penetapan perangkaian (&=
) berguna untuk menambahkan string ke akhir string yang sudah ada, seperti yang diilustrasikan contoh berikut.
Dim q As String = "Sample "
q &= "String"
' q now contains "Sample String".
Konversi Jenis dalam Pernyataan Penugasan
Nilai yang Anda tetapkan ke variabel, properti, atau elemen array harus dari jenis data yang sesuai dengan elemen tujuan tersebut. Secara umum, Anda harus mencoba menghasilkan nilai dari jenis data yang sama dengan elemen tujuan. Namun, beberapa jenis dapat dikonversi ke jenis lain selama penugasan.
Untuk informasi tentang mengonversi antar jenis data, lihat Konversi Tipe di Visual Basic. Singkatnya, Visual Basic secara otomatis mengonversi nilai dari jenis tertentu ke jenis lain yang dapat diperluas.
Konversi yang melebar adalah konversi yang selalu berhasil pada waktu proses dan tidak kehilangan data apa pun. Misalnya, Visual Basic mengonversi nilai Integer
menjadi Double
jika diperlukan, karena Integer
melebarkan ke Double
. Untuk informasi selengkapnya, lihat Memperlebar dan Mempersempit Konversi.
Konversi yang dipersempit (yang tidak melebar) membawa risiko kegagalan pada waktu proses, atau kehilangan data. Anda dapat melakukan konversi yang mempersempit secara eksplisit dengan menggunakan fungsi konversi jenis, atau Anda dapat mengarahkan pengkompilasi untuk melakukan semua konversi secara implisit dengan mengatur Option Strict Off
. Untuk informasi selengkapnya, lihat Konversi Implisit dan Eksplisit.
Menempatkan beberapa pernyataan pada satu baris
Anda dapat memiliki beberapa pernyataan pada satu baris yang dipisahkan oleh karakter titik dua (:
). Contoh berikut mengilustrasikan hal ini.
Dim sampleString As String = "Hello World" : MsgBox(sampleString)
Meskipun kadang-kadang nyaman, bentuk sintaks ini membuat kode Anda sulit dibaca dan dirawat. Dengan demikian, disarankan agar Anda meletakkan satu pernyataan di setiap baris.
Melanjutkan pernyataan melalui beberapa baris
Pernyataan biasanya cocok pada satu baris, tetapi ketika terlalu panjang, Anda dapat melanjutkannya ke baris berikutnya menggunakan urutan kelanjutan baris, yang terdiri dari spasi diikuti oleh karakter garis bawah (_
) diikuti oleh pengembalian pengangkutan. Dalam contoh berikut, MsgBox
pernyataan yang dapat dieksekusi dilanjutkan selama dua baris.
Public Sub DemoBox()
Dim nameVar As String
nameVar = "John"
MsgBox("Hello " & nameVar _
& ". How are you?")
End Sub
Kelanjutan baris implisit
Dalam banyak kasus, Anda dapat melanjutkan pernyataan pada baris berturut-turut berikutnya tanpa menggunakan karakter garis bawah (_
). Elemen sintaks berikut secara implisit melanjutkan pernyataan pada baris kode berikutnya.
Setelah koma (
,
). Contohnya:Public Function GetUsername(ByVal username As String, ByVal delimiter As Char, ByVal position As Integer) As String Return username.Split(delimiter)(position) End Function
Setelah tanda kurung terbuka (
(
) atau sebelum kurung tutup ()
). Contohnya:Dim username = GetUsername( Security.Principal.WindowsIdentity.GetCurrent().Name, CChar("\"), 1 )
Setelah kurung kurawal terbuka (
{
) atau sebelum kurung kurawal tertutup (}
). Contohnya:Dim customer = New Customer With { .Name = "Terry Adams", .Company = "Adventure Works", .Email = "terry@www.adventure-works.com" }
Untuk informasi selengkapnya, lihat Penginisialisasi Objek: Tipe Bernama dan Anonim atau Penginisialisasi Koleksi.
Setelah ekspresi tersemat terbuka (
<%=
) atau sebelum penutupan ekspresi yang disematkan (%>
) dalam literal XML. Contohnya:Dim customerXml = <Customer> <Name> <%= customer.Name %> </Name> <Email> <%= customer.Email %> </Email> </Customer>
Untuk informasi selengkapnya, lihat Ekspresi Tersemat dalam XML.
Setelah operator penggabungan (
&
). Contohnya:cmd.CommandText = "SELECT * FROM Titles JOIN Publishers " & "ON Publishers.PubId = Titles.PubID " & "WHERE Publishers.State = 'CA'"
Untuk informasi selengkapnya, lihat Operator yang Tercantum menurut Fungsi.
Setelah operator penugasan (
=
,&=
,:=
,+=
,-=
,*=
,/=
,\=
,^=
,<<=
,>>=
). Contohnya:Dim fileStream = My.Computer.FileSystem. OpenTextFileReader(filePath)
Untuk informasi selengkapnya, lihat Operator yang Tercantum menurut Fungsi.
Setelah operator biner (
+
,-
,/
,*
,Mod
,<>
,<
,>
,<=
,>=
,^
,>>
,<<
,And
,AndAlso
,Or
,OrElse
,Like
,Xor
) dalam ekspresi. Contohnya:Dim memoryInUse = My.Computer.Info.TotalPhysicalMemory + My.Computer.Info.TotalVirtualMemory - My.Computer.Info.AvailablePhysicalMemory - My.Computer.Info.AvailableVirtualMemory
Untuk informasi selengkapnya, lihat Operator yang Tercantum menurut Fungsi.
Setelah operator
Is
danIsNot
. Contohnya:If TypeOf inStream Is IO.FileStream AndAlso inStream IsNot Nothing Then ReadFile(inStream) End If
Untuk informasi selengkapnya, lihat Operator yang Tercantum menurut Fungsi.
Setelah karakter kualifikasi anggota (
.
) dan sebelum nama anggota. Contohnya:Dim fileStream = My.Computer.FileSystem. OpenTextFileReader(filePath)
Namun, Anda harus menyertakan karakter kelanjutan baris (
_
) setelah karakter pengenal anggota saat Anda menggunakanWith
pernyataan atau saat menyediakan nilai dalam daftar inisialisasi untuk sebuah jenis. Pertimbangkan untuk memutuskan baris setelah operator pemberian nilai (misalnya,=
) saat Anda menggunakan pernyataanWith
atau daftar inisialisasi objek. Contohnya:' Not allowed: ' Dim aType = New With { . ' PropertyName = "Value" ' Allowed: Dim aType = New With {.PropertyName = "Value"} Dim log As New EventLog() ' Not allowed: ' With log ' . ' Source = "Application" ' End With ' Allowed: With log .Source = "Application" End With
Untuk informasi selengkapnya, lihat Pernyataan With... End With atau Penginisialisasi Objek: Jenis Bernama dan Anonim.
Setelah pengualifikasi properti sumbu XML (
.
atau.@
atau...
). Namun, Anda harus menyertakan karakter kelanjutan baris (_
) saat Anda menentukan kualifikasi anggota saat Anda menggunakanWith
kata kunci. Contohnya:Dim customerName = customerXml. <Name>.Value Dim customerEmail = customerXml... <Email>.Value
Untuk informasi selengkapnya, lihat Properti Sumbu XML.
Setelah tanda kurang dari (<) atau sebelum tanda lebih besar dari (
>
) saat Anda menentukan atribut. Juga setelah tanda yang lebih besar dari (>
) saat Anda menentukan atribut. Namun, Anda harus menyertakan karakter kelanjutan baris (_
) saat menentukan atribut tingkat perakitan atau tingkat modul. Contohnya:< Serializable() > Public Class Customer Public Property Name As String Public Property Company As String Public Property Email As String End Class
Untuk informasi selengkapnya, lihat Gambaran umum atribut.
Sebelum dan sesudah operator kueri (
Aggregate
,Distinct
,From
,Group By
,Group Join
,Join
,Let
,Order By
,Select
,Skip
,Skip While
,Take
,Take While
,Where
,In
,Into
,On
,Ascending
, danDescending
). Anda tidak dapat memecah baris antara kata kunci operator kueri yang terdiri dari beberapa kata kunci (Order By
, ,Group Join
Take While
, danSkip While
). Contohnya:Dim vsProcesses = From proc In Process.GetProcesses Where proc.MainWindowTitle.Contains("Visual Studio") Select proc.ProcessName, proc.Id, proc.MainWindowTitle
Untuk informasi selengkapnya, lihat Kueri.
Setelah kata kunci
In
dalam pernyataanFor Each
. Contohnya:For Each p In vsProcesses Console.WriteLine("{0}" & vbTab & "{1}" & vbTab & "{2}", p.ProcessName, p.Id, p.MainWindowTitle) Next
Untuk informasi selengkapnya, lihat Untuk Setiap... Pernyataan Berikutnya.
Setelah kata kunci
From
dalam penginisialisasi koleksi. Contohnya:Dim days = New List(Of String) From { "Mo", "Tu", "We", "Th", "F", "Sa", "Su" }
Untuk informasi selengkapnya, lihat Penginisialisasi Koleksi.
Menambahkan komentar
Kode sumber tidak selalu jelas, bahkan kepada programmer yang menulisnya. Sebagian besar programmer, oleh karena itu, menggunakan komentar yang disematkan secara bebas untuk membantu mendokumentasikan kode mereka. Komentar dalam kode dapat menjelaskan prosedur atau instruksi tertentu kepada siapa pun yang membaca atau bekerja dengannya nanti. Visual Basic mengabaikan komentar selama kompilasi, dan tidak memengaruhi kode yang dikompilasi.
Baris komentar dimulai dengan apostrof ('
) atau REM
diikuti oleh spasi. Mereka dapat ditambahkan di mana saja dalam kode, kecuali dalam string. Untuk menambahkan komentar ke pernyataan, sisipkan apostrof atau REM
setelah pernyataan, diikuti dengan komentar. Komentar juga dapat berada pada baris terpisah. Contoh berikut menunjukkan kemungkinan ini.
' This is a comment on a separate code line.
REM This is another comment on a separate code line.
x += a(i) * b(i) ' Add this amount to total.
MsgBox(statusMessage) REM Inform operator of status.
Memeriksa kesalahan kompilasi
Jika, setelah Anda mengetik baris kode, baris ditampilkan dengan garis bawah biru bergelombang (pesan kesalahan mungkin juga muncul), ada kesalahan sintaks dalam pernyataan. Anda harus mencari tahu apa yang salah dengan pernyataan (dengan melihat di daftar tugas, atau mengarahkan kursor ke kesalahan dengan penunjuk mouse dan membaca pesan kesalahan) dan memperbaikinya. Hingga Anda memperbaiki semua kesalahan sintaks dalam kode Anda, program Anda akan gagal dikompilasi dengan benar.
Bagian terkait
Istilah | Definisi |
---|---|
Operator Penugasan | Menyediakan tautan ke halaman referensi bahasa yang mencakup operator penugasan seperti = , , *= dan &= . |
Operator dan Ekspresi | Memperlihatkan cara menggabungkan elemen dengan operator untuk menghasilkan nilai baru. |
Cara: Putuskan dan Gabungkan Pernyataan dalam Kode | Memperlihatkan cara memecah satu pernyataan menjadi beberapa baris dan cara menempatkan beberapa pernyataan pada baris yang sama. |
Cara: Pernyataan Label | Menunjukkan cara memberi label pada baris kode. |