Tuesday, March 16, 2010

Memahami KeyWord Option Explicit dalam Visual Basic 6.0

Di bawah ini merupakan contoh kode, sehingga kita dapat memahami Statement Option Explicit dalam Visual Basic 6.0. Untuk keperluan ini, copy dan pastekan kode di bawah ini (tanpa menggunakan Option Explicit).
Private Sub Form_Load()
i = 1
MsgBox i
End Sub
Apa yang terjadi, apakah terjadi error? Tidak!
Selanjutnya copy dan pastekan kode di bawah ini (dengan menggunakan Option Explicit):
Option Explicit

Private Sub Form_Load()
i = 1
MsgBox i
End Sub
Apa yang terjadi, apakah terjadi error? Ya! dengan error 'Variable not defined' mengapa? karena Visual Basic 6.0 tidak mengenal 'i', 'i' tersebut belum didefinisikan menjadi sebuah variable atau dengan kata lain belum dideklarasikan. Sekarang copy dan pastekan code di bawah ini:
Option Explicit

Private Sub Form_Load()
Dim i as Integer
i = 1
MsgBox i
End Sub
Apakah terjadi error? tidak! sekarang 'i' telah didefinisikan (dideklarasikan) menjadi sebuah variable.

Maka kesimpulannya:
Tanpa menggunakan Option Explicit, semua variable yang tidak terdefinisi secara default akan didefinisikan oleh Visual Basic 6.0 menjadi sebuah variable yang memiliki data type Variant.
Dengan menggunakan KeyWord Option Explicit, akan memaksa seluruh variable yang belum terdefinisi untuk didefinisikan terlebih dahulu, yakni Visual Basic 6.0 tersebut akan dengan senang hati menampilkan pesan error "Variable not defined".
READ MORE - Memahami KeyWord Option Explicit dalam Visual Basic 6.0

Visual Basic 6.0 - Memahami KeyWord Option Base

Di bawah ini merupakan contoh kode sehingga kita bisa memahami Statement Option Base. Untuk keperluan tersebut copy dan pastekan code di bawah ini:

Kode dengan menggunakan Option Base 1
Option Explicit
Option Base 1

Private Sub Form_Load()
Dim Arr(5) As Integer
MsgBox LBound(Arr)
End Sub
Terlihat bahwa MsgBox tersebut menampilkan angka 1

Kode dengan tanpa menggunakan Option Base 1
Option Explicit

Private Sub Form_Load()
Dim Arr(5) As Integer
MsgBox LBound(Arr)
End Sub
Terlihat bahwa MsgBox tersebut menampilkan angka 0

Maka Kesimpulannya:
  1. Dengan menggunakan Option Base 1, maka LBound atau Lower Bound (batas terendah dari sebuah array sama dengan 1)
  2. Secara default Visual Basic 6.0 men-set Option Base 0, apabila secara explicit kita tidak menuliskan Option Base 1
  3. Option Base tidak bisa diberi nilai yang lebih dari 1
READ MORE - Visual Basic 6.0 - Memahami KeyWord Option Base

Visual Basic 6.0 - Memahami Procedure Function

Di bawah ini merupakan beberapa contoh sehingga Anda dapat memahami Statement Function dalam Visual Basic 6.0, untuk memahaminya copy dan pastekan kode di bawah ini:
Private Sub Form_Load() 
TampilkanPesan_0 'baris ke-1
TampilkanPesan_1 "Ini pesan" 'baris ke-2
MsgBox TampilkanPesan_2("Ini pesan") 'baris ke-3
End Sub

'Fungsi ini yang dipanggil dalam baris ke-1
Function TampilkanPesan_0()
MsgBox "Ini pesan"
End Function

'Fungsi ini yang dipanggil dalam baris ke-2
Function TampilkanPesan_1(Pesan As String)
MsgBox Pesan
End Function

'Fungsi ini yang dipanggil dalam baris ke-3
Function TampilkanPesan_2(Pesan As String) As String
TampilkanPesan_2 = Pesan
End Function
Catatan:
Fungsi pada baris ke-1 tanpa argumen
Fungsi pada baris ke-2 dengan argumen (yang diberi warna merah)
Fungsi pada baris ke-3 disertai argumen & Return Value (yang diberi tanda merah)

Perhatikan cara memanggilnya!

Nah, sekarang Anda telah memahami Statement Function (Fungsi Statement) dalam Visual Basic 6.0. Perlu diketahui:
  1. Function merupakan sebagian dari Procedure, mafhumnya seluruh Function merupakan Procedure akan tetapi tidak seluruh Function merupakan Procedure
  2. Seluruh kode dalam Visual Basic ditulis dalam tubuh Procedure, Betapapun rumitnya sebuah program tersebut.
READ MORE - Visual Basic 6.0 - Memahami Procedure Function

VB6 Code - .Show Atau .Zorder dalam MDI

Mengetahui jawaban dari pertanyaan, Mana yang akan dipilih .Show atau .Zorder dalam MDI? lebih baik kita praktekan saja dengan cara buat 1 form MDI dan 4 form SDI, 3 form memiliki properties .MDI Child = True kemudian 1 form kemudian 1 form memiliki properties .MDI Child = False. Selanjutnya Copy dan pastekan kode di bawah ini:
Private Sub Command1_Click()
Form1.ZOrder 0
End Sub

Private Sub Command2_Click()
Form2.ZOrder 0
End Sub

Private Sub Command3_Click()
Form3.ZOrder 0
End Sub

Private Sub Command4_Click()
Form4.ZOrder 0
End Sub

Private Sub MDIForm_Load()
Form1.Show 'dengan properties .MDI Child = True
Form2.Show 'dengan properties .MDI Child = True
Form3.Show 'dengan properties .MDI Child = True
Form4.Show 'dengan properties .MDI Child = False
End Sub
Sekarang, coba klik masing-masing Button dari mulai Command1 sampai Command4. Eksperimen dari tahap pertama selesai.
Private Sub Command1_Click()
Form1.Show
End Sub

Private Sub Command2_Click()
Form2.Show
End Sub

Private Sub Command3_Click()
Form3.Show
End Sub

Private Sub Command4_Click()
Form4.Show
End Sub

Private Sub MDIForm_Load()
Form1.Show 'dengan properties .MDI Child = True
Form2.Show 'dengan properties .MDI Child = True
Form3.Show 'dengan properties .MDI Child = True
Form4.Show 'dengan properties .MDI Child = False
End Sub
Sekarang, coba klik masing-masing Button dari mulai Command1 sampai Command4. Eksperimen dari tahap pertama selesai.

Apa yang bisa kita simpulkan? Yah, Anda benar tidak ada pengaruhnya sama sekali!

Sekarang coba kita beri 1 objek (misalnya TextBox) pada masing-masing form selain form MDI, coba klik masing-masing Button dari mulai Command1 sampai .Command4. Apa yang bisa kita simpulkan?

Selanjutnya kembalikan lagi properties .Show menjadi method .Zorder 0, coba klik masing-masing objek button dari mulai Command1 sampai Command4, Apa yang bisa Anda tarik kesimpulan? yah, benar. Menakjubkan! Apa yang menakjubkan? Saya tidak tahu! sekarang pertanyaannya, Manakah yang akan dipilih .Show atau .Zorder dalam MDI?
READ MORE - VB6 Code - .Show Atau .Zorder dalam MDI