Struktur Program Visual Basic

Sebagai bahasa yang telah dirancang kembali dari awal, suatu program Visual Basic memiliki urutan berikut yang merupakan struktur dari program:
  1. Option statements
  2. Imports statements
  3. Main procedure 

 Option Statements

Perintah Option akan menentukan aturan dasar penanganan kode dalam program pada saat kompilasi.

Option Explicit

Option Explicit On/Off, menentukan apakah variabel-varibel yang digunakan dalam program harus dideklarasikan terlebih dahulu atau tidak (defaultnya adalah On).
Contoh :
Option Explicit Off

Module Modmain
   Sub Main()
       a = 100000
   End Sub
End Module
Yang jika di kompilasi tidak menyebabkan kesalahan walaupun variabel a tidak pernah dideklarasikan.
Option Explicit On

Module Modmain
   Sub Main()
       a = 100000
   End Sub
End Module
Yang jika dikompilasi akan menyebabkan kesalahan sebagai berikut :
Microsoft (R) Visual Basic .NET Compiler version 7.10.3052.4
for Microsoft (R) .NET Framework version 1.1.4322.573
Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.

D:\BELAJA~1\coba.vb(5) : error BC30451: Name 'a' is not declared.

       a = 100000
Agar terhindar dari kesalahan maka variabel a harus dideklarasikan terlebih dahulu sesuai dengan setting Option Explicit On.
Option Explicit On

Module Modmain
   Sub Main()
       Dim a As Integer
       a = 100000
   End Sub
End Module

 

Option Strict

Option Strict On/Off, menentukan apakah kompiler memperbolehkan konversi nilai implicit yang berpotensi menyebabkan kehilangan data (default adalah Off), misalnya kita memasukan nilai dari suatu variabel dengan tipe data yang lebih lebar ke variabel dengan tipe data yang lebih sempit (lihat pada kolom nominal storage allocation pada tabel tipe data).
Contoh :
Option Explicit On
Option Strict On
Module Hello
   Sub Main()
       Dim a As Integer
       Dim b As Short
       a = 100000
       b = a
   End Sub
End Module
Yang jika dikompilasi akan menyebabkan pesan kesalahan berikut ini karena variabel b yang bertipe short (16 bit), tidak dimungkinkan menampung nilai dari tipe integer (32 bit), yang memiliki potensi kehilangan data pada saat runtime, sehingga pemakaian Option Strict On akan menampilkan pesan kesalahan pada saat kompilasi.
Microsoft (R) Visual Basic .NET Compiler version 7.10.3052.4
for Microsoft (R) .NET Framework version 1.1.4322.573
Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.

D:\BELAJA~1\coba.vb(8) : error BC30512: Option Strict On disallows implicit conversions from 'Integer' to 'Short'.

       b = a
           ~
Sebaliknya jika digunakan Option Strict Off:
Option Explicit On
Option Strict Off
Module Hello
   Sub Main()
       Dim a As Integer
       Dim b As Short
       a = 100000
       b = a
   End Sub
End Module
Maka pada saat kompilasi tidak terjadi kesalahan, tetapi pada saat runtime akan menimbulkan runtime error (System.OverflowException), karena variabel a yang bertipe short hanya memiliki jangkauan daya tampung dari -32767 s/d 32768.


 

Option Compare

Perintah Option Compare Binary/Text akan menentukan bagaimana bertipe data string akan dibandingkan antara satu dengan lainnya (default adalah Binary).
Adapun aturan perbandingan pada masing-masing setting adalah sebagai berikut :
  • Pada Option Compare Binary : A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø
·         Pada Option Compare Text : (A=a) < (À= à) < (B=b) < (E=e) < (Ê= ê) < (Ø = ø) < (Z=z)
Contoh :
Option Compare Binary
Module Hello
   Sub Main()
       Dim a,b As String
       a = "ABC"
       b = "abc"
       System.Console.WriteLine(a = b)             'False
   End Sub
End Module
Yang jika dijalankan akan menghasilkan False, karena perbandingan data berdasarkan nilai biner dari masing-masing data string (lihat aturan untuk Binary).
Tetapi jika :
Option Compare Text
Module Hello
   Sub Main()
       Dim a,b As String
       a = "ABC"
       b = "abc"
       System.Console.WriteLine(a = b)             'True
   End Sub
End Module
Yang jika dijalankan akan menghasikan True, karena sebagai text-nya "ABC" dianggap sama dengan "abc" tanpa melihat huruf besar atau kecil (lihat aturan untuk Text).

 

Imports Statements

Kebanyakan class pustaka pada .NET didefinisikan didalam namespace, sehingga dalam pemakaiannya kita harus menulis acuan yang cukup panjang.
Namespace adalah suatu pengelompokan class atau komponen secara logika untuk mendefinisikan class-class berdasarkan kategori agar mudah dikenali dan digunakan, dan akar dari semua namespace adalah System.
Perintah Imports berfungsi memudahkan pengetikan tanpa harus mengetik nama class didalam namespace yang di import.
Contoh :
Module Hello
   Sub Main()
      System.Console.WriteLine("Hello World !")
   End Sub
End Module
Yang setelah adanya Imports System penulisan Console.WriteLine menjadi sebagai berikut.
Imports System
Module Hello
   Sub Main()
      Console.WriteLine("Hello World !")
   End Sub
End Module
Dalam hal ini kita tidak perlu lagi mengetik System.Console.WriteLine, tapi cukup Console.WriteLine, karena kita telah melakukan Imports System.

 

Main Procedure

Procedure Main merupakan titik awal dari program anda – merupakan procedure yang pertama kali dieksekusi ketika anda menjalankan kode anda. Jadi apa yang ingin anda jalankan pertama kali pada program anda ditempatkan pada procedure main ini. Ada empat cara penulisan Main, yaitu sebagai Sub atau Function yang memiliki parameter atau tidak.
  • Sub Main()
  • Sub Main(ByVal CmdArgs() As String)
  • Function Main() As Integer
  • Function Main(ByVal CmdArgs() As String) As Integer
Bentuk procedure yang paling sering digunakan adalah Sub Main( ) seperti pada contoh yang sudah-sudah.
Contoh Sub Main dengan parameter :
Imports System
Module Hello
   Sub Main(ByVal CmdArgs() As String)
       Dim i As Integer
       Console.WriteLine("Jumlah Parameter :" & CmdArgs.Length())
       For i = 0 to CmdArgs.Length()-1
            Console.WriteLine("Parameter :" & i.ToString() & "adalah :" & CmdArgs(i))
       Next
   End Sub
End Module
Yang kalau dieksekusi dengan
Coba Hello World
Jumlah Parameter :2
Parameter :0 adalah :Hello
Parameter :1 adalah :World

Dalam hal ini kita menjalankan program Coba.exe pada command prompt dengan mengirim dua parameter yaitu kata Hello dan World yang dianggap sebagai array bertipe string.

Catatan :

Index Array dimulai dari 0, sehingga pada contoh diatas looping dimulai dari 0 s/d CmdArgs.Length()-1.

Program yang menggunakan parameter jarang digunakan pada lingkungan Windows, dan sering digunakan pada program di lingkungan Console.

 

Pemberian komentar

Jika kita hari ini membuat program, dan pada saat yang sama semua logika serta rumusan dapat kita ingat dengan baik, tetapi bagaimana kalau kita membaca kembali program yang pernah kita buat untuk 3 bulan yang lalu, apakah anda masih mengingatnya ? Bagaimana kita membuat program kita mudah di pahami kembali ? Tentu saja dengan memberikan keterangan secukupnya.

Pada Visual Basic pembuatan keterangan dapat menggunakan simbol ' (petik tunggal) maupun keyword REM.

Contoh :
' Ini adalah keterangan
REM Ini adalah keterangan