Directive

Aslina Directive tapi kalo kita di Indo bilangnya ‘Direktif’. Lucu ya? Ga papa yang jelas bisa difahami.

Direktif kompilator VB.Net memberikan instruksi kepada kompilator untuk memproses informasi terlebih dahulu sebelum kompilasi yang sebenarnya dimulai. Semua direktif ini diawali dengan tanda #, dan hanya karakter spasi putih (whitespace) yang boleh muncul sebelum direktif pada satu baris. Direktif-direktif ini bukan merupakan pernyataan kode (statements).

VB.Net tidak memiliki preprocessor terpisah; namun, direktif-direktif ini diproses seolah-olah ada preprocessor. Dalam VB.Net, direktif kompilator digunakan untuk membantu dalam kompilasi bersyarat (conditional compilation). Berbeda dengan direktif pada bahasa C dan C++, direktif ini tidak digunakan untuk membuat makro.


Direktif Kompilator dalam VB.Net

VB.Net menyediakan kumpulan direktif kompilator berikut:

  • Direktif #Const
  • Direktif #ExternalSource
  • Direktif #If...Then...#Else
  • Direktif #Region

Direktif #Const

Direktif ini digunakan untuk mendefinisikan konstanta kompilator bersyarat. Sintaksnya adalah:

#Const nama_konstanta = ekspresi

Keterangan:

  • nama_konstanta → menentukan nama konstanta (wajib).
  • ekspresi → bisa berupa nilai literal, konstanta kompilator lainnya, atau kombinasi dengan operator aritmatika/logika kecuali Is.

Contoh:

#Const state = "WEST BENGAL"

Contoh Penggunaan:

 Module mydirectives
#Const age = True

Sub Main()
   #If age Then
      Console.WriteLine("Selamat datang di Klub Robotik")
   #End If
   Console.ReadKey()
End Sub
End Module 

Hasil saat dijalankan:

Selamat datang di Klub Robotik

Direktif #ExternalSource

Direktif ini digunakan untuk menunjukkan pemetaan antara baris kode sumber tertentu dan teks eksternal di luar sumber. Ini hanya digunakan oleh kompilator, dan tidak berpengaruh pada proses kompilasi kode oleh debugger.

Direktif ini memungkinkan penyisipan kode eksternal dari file kode eksternal ke dalam file kode sumber.

Sintaks:

 #ExternalSource("path_file", nomor_baris_awal)
   [ baris_logis ]
#End ExternalSource
 

Parameter dari direktif ini adalah:

  • Path file eksternal
  • Nomor baris pertama
  • Nomor baris tempat kesalahan terjadi (jika ada)

Contoh Penggunaan:

 Module mydirectives
   Public Class ExternalSourceTester
      Sub TestExternalSource()
      #ExternalSource("c:\vbprogs\directives.vb", 5)
         Console.WriteLine("Ini adalah Kode Eksternal.")
      #End ExternalSource
      End Sub
   End Class

   Sub Main()
      Dim t As New ExternalSourceTester()
      t.TestExternalSource()
      Console.WriteLine("Di dalam Main.")
      Console.ReadKey()
   End Sub
End Module 

Hasil saat dijalankan:

Ini adalah Kode Eksternal.
Di dalam Main.

Direktif #If...Then...#Else

Direktif ini digunakan untuk mengkompilasi blok kode VB tertentu secara bersyarat.

Sintaks:

 #If ekspresi Then
   pernyataan
[ #ElseIf ekspresi Then
   [ pernyataan ] ]
...
[ #Else
   [ pernyataan ] ]
#End If
 

Contoh definisi kondisi:

 #Const TargetOS = "Linux"

#If TargetOS = "Windows 7" Then
   ' Kode khusus untuk Windows 7
#ElseIf TargetOS = "WinXP" Then
   ' Kode khusus untuk Windows XP
#Else
   ' Kode untuk OS lainnya
#End If 

Contoh Penggunaan:

 Module mydirectives
#Const classCode = 8

Sub Main()
   #If classCode = 7 Then
      Console.WriteLine("Soal Ujian untuk Kelas VII")
   #ElseIf classCode = 8 Then
      Console.WriteLine("Soal Ujian untuk Kelas VIII")
   #Else
      Console.WriteLine("Soal Ujian untuk Kelas Lebih Tinggi")
   #End If
   Console.ReadKey()
End Sub
End Module 

Hasil saat dijalankan:

Soal Ujian untuk Kelas VIII

Direktif #Region

Direktif ini digunakan untuk melipat (collapse) dan menyembunyikan bagian kode dalam file Visual Basic, berguna untuk membuat kode lebih rapi.

Sintaks:

 #Region "nama_region"
   ' Kode di sini
#End Region
 

Contoh:

 #Region "FungsiStatistik"
   ' Masukkan kode untuk fungsi statistik di sini.
#End Region 

Nah itu tuh tadi pembahasan tentang ‘Directive’ alias ‘Direktif’. Bukan Detektif ya awas lho!