Topik ini membedah program console VB.NET paling sederhana, mulai dari struktur Module dan Sub Main sampai perintah yang menampilkan teks ke layar. Setelah selesai membaca, struktur setiap program console pada jalur ini akan terbaca sebagai pola yang sama dan bukan sekadar cetakan yang disalin tanpa dipahami. Pembahasan juga mencakup sifat sintaks VB.NET yang berorientasi baris, yaitu pernyataan dipisahkan oleh akhir baris dan tidak menggunakan titik koma.
Struktur Module dan Sub Main#
Setiap program console VB.NET minimal memuat satu Module yang di dalamnya terdapat prosedur Sub Main. Module adalah wadah yang mengelompokkan prosedur dan variabel pada level program, sedangkan anggotanya dapat dipanggil secara langsung tanpa membuat objek lebih dahulu. Di dalam Sub Main itulah pernyataan-pernyataan program ditulis, sehingga prosedur ini disebut titik masuk (entry point), yaitu bagian pertama yang dijalankan oleh runtime .NET ketika program dimulai.
Program berikut adalah program console paling sederhana sekaligus berkas utama topik ini.
Module Program
Sub Main()
Console.WriteLine("Halo, dunia!")
Console.WriteLine("Ini program VB.NET pertama.")
End Sub
End ModuleHalo, dunia!
Ini program VB.NET pertama.Setiap baris pada program tersebut memegang peran yang tetap pada seluruh program console di jalur ini.
Module Programmembuka sebuah modul bernamaProgram. Nama modul bebas ditentukan, tetapi templat proyek .NET secara default menggunakan namaProgram.Sub Main()mendeklarasikan prosedur utama. Tanda kurung kosong menandakan prosedur ini tidak menerima parameter, sedangkan kataargs As String()pada templat bawaan boleh dihapus apabila argumen baris perintah tidak diperlukan.Console.WriteLine("Halo, dunia!")memanggil metode pada kelasConsoleuntuk menampilkan satu baris teks.End Submenutup isiSub Main, sedangkanEnd Modulemenutup modulnya. Setiap pembuka selalu memiliki penutup yang sejajar secara indentasi.
Menampilkan teks dengan Console.WriteLine#
Console.WriteLine menampilkan nilainya ke console lalu memindahkan kursor ke baris berikutnya, sedangkan Console.Write menampilkan nilai tanpa memindahkan kursor. Kedua metode menerima teks, angka, maupun tipe lain dan mengonversinya menjadi string secara otomatis. Perbedaan keduanya tampak pada contoh yang dapat dijalankan berikut.
Module ContohTulis
Sub Main()
Console.WriteLine("baris pertama")
Console.Write("tanpa pindah baris, ")
Console.WriteLine("dilanjutkan di sini")
End Sub
End Modulebaris pertama
tanpa pindah baris, dilanjutkan di siniSatu aturan pemanggilan yang berlaku sejak awal adalah tanda kurung. Pemanggilan metode yang mengirim argumen selalu menuntut tanda kurung, sehingga Console.WriteLine("Halo") sah tetapi bentuk tanpa tanda kurung ditolak compiler. Untuk metode tanpa argumen seperti Console.Clear, tanda kurung boleh dihilangkan pada pernyataan panggilan, tetapi gaya baku tetap menuliskannya. Pemanggilan Console.WriteLine() tanpa argumen hanya memindahkan kursor ke baris baru, sehingga berguna untuk memberi jarak antarkelompok keluaran.
Sintaks berorientasi baris#
VB.NET adalah bahasa berorientasi baris, yaitu satu pernyataan umumnya ditulis pada satu baris dan akhir baris berfungsi sebagai akhir pernyataan. Tanda titik koma tidak digunakan, sehingga kebiasaan dari bahasa lain yang menaruh ; di akhir baris justru menghasilkan error sintaks. Apabila dua pernyataan pendek ingin diletakkan sebaris, pemisahnya adalah tanda titik dua.
Module ContohSatuBaris
Sub Main()
Dim a As Integer = 10 : Dim b As Integer = 20
Console.WriteLine(a + b)
End Sub
End Module30Baris yang panjang boleh diputus ke baris berikutnya. Setelah sebuah operator seperti & atau =, compiler secara otomatis meneruskan pernyataan ke baris berikutnya, sedangkan pemutusan di posisi lain menggunakan garis bawah (_) sebagai tanda sambung.
Sifat berorientasi baris berdampingan dengan sifat kedua VB.NET, yaitu huruf besar-kecil tidak dibedakan. Kata kunci Module, module, dan MODULE dibaca sebagai kata yang sama, demikian pula nama variabel dan metode. Program berikut dikompilasi dan berjalan tanpa error.
Module contohhuruf
sub main()
console.writeline("huruf besar-kecil tidak dibedakan")
end sub
end modulehuruf besar-kecil tidak dibedakanBentuk penulisan pada contoh terakhir memang sah, tetapi bukan gaya yang dianjurkan. Konvensi penulisan yang rapi, termasuk penggunaan huruf kapital pada kata kunci, dibahas pada topik Komentar dan Konvensi.
Dari kode sumber ke keluaran#
VB.NET adalah bahasa terkompilasi, sehingga berkas .vb tidak dijalankan apa adanya. Compiler VB menerjemahkan kode sumber menjadi assembly .dll yang berisi Intermediate Language (IL), selanjutnya runtime .NET mengeksekusi Sub Main di dalamnya dan keluaran muncul di console. Berkas IL inilah yang dijalankan runtime pada platform mana pun .NET SDK-nya terpasang, sehingga kode sumber yang sama dapat dibangun di Windows maupun Linux. Diagram berikut merangkum alurnya.
Langkah praktisnya menggunakan .NET SDK melalui dua perintah berikut. Perintah dotnet new membuat proyek dari templat, sedangkan dotnet run mengompilasi sekaligus menjalankannya.
# tidak-dijalankan
# membuat proyek console VB.NET baru bernama Halo
dotnet new console -lang VB -o Halo
# mengganti isi Program.vb dengan kode program di atas melalui editor
# masuk ke folder proyek
cd Halo
# mengompilasi dan menjalankan program
dotnet run$ dotnet new console -lang VB -o Halo
The template "Console App" was created successfully.
Processing post-creation actions...
Restoring /home/kal/my-project/build-scratch/dasar-bahasa__t-transkrip/Halo/Halo.vbproj:
Determining projects to restore...
Restored /home/kal/my-project/build-scratch/dasar-bahasa__t-transkrip/Halo/Halo.vbproj (in 68 ms).
Restore succeeded.
$ cd Halo
$ dotnet run
Halo, dunia!
Ini program VB.NET pertama.Templat dotnet new console -lang VB menghasilkan Program.vb yang isinya serupa dengan contoh pada bagian pertama, sehingga penggantian teksnya cukup pada bagian Console.WriteLine saja.
Kesalahan umum#
Tiga kesalahan berikut paling sering muncul saat menulis program console pertama. Ketiganya tertangkap oleh compiler, sehingga perbaikannya cepat dilakukan.
- Menaruh titik koma di akhir pernyataan. VB.NET menandai barisnya sebagai error sintaks, dan perbaikannya adalah menghapus tanda tersebut karena akhir baris sudah berperan sebagai akhir pernyataan.
- Melupakan
End SubatauEnd Module. Compiler menuntut setiap pembuka blok memiliki penutupnya, sehingga pesan error muncul bahkan sebelum program dijalankan. - Memanggil metode dengan argumen tanpa tanda kurung. Bentuk berikut ditolak compiler karena argumen dikirim tanpa tanda kurung.
' tidak-dijalankan
Console.WriteLine "Halo, dunia!" ' error: tanda kurung wajib saat mengirim argumenPerbaikan ketiganya konsisten mengikuti satu pola yang sama, yaitu membaca pesan error pada baris yang disebut compiler lalu menyesuaikan sintaksnya dengan contoh yang sudah berjalan.
Ringkasan#
- Program console VB.NET terkecil terdiri atas
Module Programyang memuatSub Main, ditutup denganEnd SubdanEnd Module. Sub Mainadalah titik masuk yang dijalankan runtime secara otomatis, sedangkanConsole.WriteLinemenampilkan satu baris teks danConsole.Writetetap pada baris yang sama.- Pernyataan dipisahkan oleh akhir baris tanpa titik koma, huruf besar-kecil tidak dibedakan, dan tanda kurung wajib pada pemanggilan metode yang mengirim argumen.
dotnet new console -lang VBmembuat proyek, sedangkandotnet runmengompilasi dan menjalankannya dalam satu langkah.
Referensi#
- Structure of a Visual Basic Program — Microsoft Learn — Susunan bagian program VB.NET dari prosedur hingga namespace.
- Module Statement — Microsoft Learn — Aturan pendeklarasian Module dan sifat anggotanya.
- Sub Statement — Microsoft Learn — Pendeklarasian prosedur Sub beserta parameternya.
- dotnet new — Microsoft Learn — Perintah .NET SDK untuk membuat proyek dari templat.
- dotnet run — Microsoft Learn — Perintah .NET SDK untuk mengompilasi dan menjalankan proyek.