KODE PERINTAH VISUAL BASIC STUDIO 6
Visual Basic 6 (VB6) adalah bahasa pemrograman berbasis objek yang populer untuk membuat aplikasi desktop Windows. Berikut adalah beberapa kode perintah dasar dan umum yang sering digunakan:
Kontrol Dasar Aliran Program
1. If...Then...Else (Percabangan)
vb
Dim nilai As Integer
nilai = 85
If nilai >= 90 Then
MsgBox "Nilai A"
ElseIf nilai >= 80 Then
MsgBox "Nilai B"
Else
MsgBox "Nilai C atau lebih rendah"
End If
2. For...Next (Perulangan Berulang)
vb
Dim i As Integer
For i = 1 To 10 Step 1
Print "Angka ke-" & i
Next i
3. Do...Loop (Perulangan Bersyarat)
vb
Dim angka As Integer
angka = 1
Do While angka <= 5
Print angka
angka = angka + 1
Loop
Pengelolaan Form dan Kontrol
1. Menampilkan/Penyembunyian Form
vb
' Menampilkan form kedua
Form2.Show
' Menyembunyikan form saat ini
Me.Hide
' Menutup form
Unload Me
2. Mengubah Teks Label/TeksBox
vb
Label1.Caption = "Selamat Datang"
Text1.Text = InputBox("Masukkan nama Anda")
3. Tombol dan Aksi Klik
vb
Private Sub Command1_Click()
' Aksi saat tombol diklik
MsgBox "Tombol telah ditekan!", vbInformation, "Pemberitahuan"
End Sub
Pengolahan Data dan File
1. Membaca/Menulis File Teks
vb
' Menulis ke file
Open "C:\data.txt" For Output As #1
Print #1, "Ini adalah baris pertama"
Print #1, "Ini adalah baris kedua"
Close #1
' Membaca dari file
Dim isi As String
Open "C:\data.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, isi
Print isi
Loop
Close #1
2. Array Dasar
vb
Dim buah(2) As String
buah(0) = "Apel"
buah(1) = "Jeruk"
buah(2) = "Mangga"
MsgBox "Buah ke-2 adalah " & buah(1)
Fungsi dan Prosedur
vb
' Prosedur tanpa nilai kembalian
Private Sub TampilkanPesan(nama As String)
MsgBox "Halo, " & nama & "!", vbOKOnly
End Sub
' Fungsi dengan nilai kembalian
Private Function HitungLuasPersegi(sisi As Integer) As Integer
HitungLuasPersegi = sisi * sisi
End Function
' Pemanggilan
Private Sub Command1_Click()
TampilkanPesan("Budi")
MsgBox "Luas persegi adalah " & HitungLuasPersegi(5)
End Sub
Catatan Penting
- VB6 tidak lagi didukung resmi oleh Microsoft, sehingga tidak disarankan untuk pengembangan aplikasi baru. Namun, masih banyak digunakan untuk memelihara aplikasi lama.
- Perintah terkait akses jaringan atau fitur modern mungkin memerlukan komponen tambahan atau tidak didukung secara native.
berikut kode perintah untuk beberapa kontrol dan fungsi yang sering digunakan di VB6:
1. ListBox dan ComboBox
Menambah, Menghapus, dan Mengambil Item
vb
Private Sub Form_Load()
' Menambah item ke ListBox
List1.AddItem "Jakarta"
List1.AddItem "Bandung"
List1.AddItem "Surabaya"
' Menambah item ke ComboBox
Combo1.AddItem "Indonesia"
Combo1.AddItem "Malaysia"
Combo1.AddItem "Singapura"
Combo1.Text = Combo1.List(0) ' Set item awal
End Sub
Private Sub CmdAmbilItem_Click()
' Mengambil item yang dipilih di ListBox
If List1.ListIndex <> -1 Then
MsgBox "Item terpilih di ListBox: " & List1.Text
Else
MsgBox "Pilih item terlebih dahulu!"
End If
' Mengambil item yang dipilih di ComboBox
If Combo1.ListIndex <> -1 Then
MsgBox "Item terpilih di ComboBox: " & Combo1.Text
End If
End Sub
Private Sub CmdHapusItem_Click()
' Menghapus item terpilih di ListBox
If List1.ListIndex <> -1 Then
List1.RemoveItem List1.ListIndex
End If
End Sub
2. Koneksi ke Database Access (.mdb)
Menggunakan komponen ADODB untuk menghubungkan dan mengambil data:
vb
' Pastikan tambahkan referensi "Microsoft ActiveX Data Objects x.x Library"
' melalui Menu > Project > References
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
' Buka koneksi ke database
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data.mdb;"
conn.Open
' Ambil data dari tabel "Mahasiswa"
rs.Open "SELECT * FROM Mahasiswa", conn, adOpenStatic, adLockOptimistic
' Tampilkan data ke ListBox
Do While Not rs.EOF
List1.AddItem rs("Nama") & " - " & rs("NIM")
rs.MoveNext
Loop
rs.Close
End Sub
Private Sub Form_Unload(Cancel As Integer)
' Tutup koneksi saat form ditutup
If conn.State = adStateOpen Then conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
3. Timer Kontrol
Untuk menjalankan aksi secara berkala:
vb
Private Sub Form_Load()
Timer1.Interval = 1000 ' Set interval 1 detik (1000 ms)
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
' Update jam secara realtime ke Label
Label1.Caption = "Waktu saat ini: " & Time
End Sub
4. Mengambil Input dari User dengan InputBox dan MsgBox Khusus
vb
Private Sub CmdInputData_Click()
Dim nama As String, umur As Integer
' Input nama dengan pesan khusus
nama = InputBox("Masukkan nama Anda:", "Form Input Nama", "Nama Anda di sini")
If nama <> "" Then
' Input umur dengan validasi
On Error Resume Next
umur = InputBox("Masukkan umur Anda:", "Form Input Umur")
If Err.Number = 0 Then
' Tampilkan pesan dengan ikon dan tombol pilihan
Dim pilihan As Integer
pilihan = MsgBox("Nama: " & nama & vbCrLf & "Umur: " & umur & vbCrLf & vbCrLf & "Apakah data benar?", vbYesNo + vbQuestion, "Konfirmasi Data")
If pilihan = vbYes Then
MsgBox "Data disimpan!", vbInformation
Else
MsgBox "Data dibatalkan!", vbExclamation
End If
Else
MsgBox "Umur harus berupa angka!", vbCritical
End If
End If
End Sub
berikut kode untuk beberapa kontrol dan fungsi lainnya yang mungkin kamu butuhkan:
1. ProgressBar dan Image Control
ProgressBar saat proses berjalan + Mengganti gambar di Image Control
vb
Private Sub CmdProses_Click()
Dim i As Integer
' Set nilai maksimum ProgressBar
ProgressBar1.Min = 0
ProgressBar1.Max = 100
ProgressBar1.Value = 0
' Simulasikan proses
For i = 1 To 100
ProgressBar1.Value = i
DoEvents ' Biarkan aplikasi tetap responsif
' Ganti gambar saat progress mencapai 50%
If i = 50 Then
Image1.Picture = LoadPicture(App.Path & "\gambar2.jpg")
End If
Next i
Image1.Picture = LoadPicture(App.Path & "\gambar_selesai.jpg")
MsgBox "Proses selesai!", vbInformation
End Sub
Private Sub Form_Load()
' Tampilkan gambar awal
Image1.Picture = LoadPicture(App.Path & "\gambar_awal.jpg")
ProgressBar1.Value = 0
End Sub
2. Fungsi Matematika & Pengolahan Teks
vb
Private Sub CmdHitung_Click()
Dim a As Double, b As Double
a = Val(Text1.Text)
b = Val(Text2.Text)
' Fungsi matematika dasar
LabelHasil.Caption = "Penjumlahan: " & a + b & vbCrLf _
& "Perkalian: " & a * b & vbCrLf _
& "Akar kuadrat a: " & Sqr(a) & vbCrLf _
& "Nilai mutlak b: " & Abs(b) & vbCrLf _
& "Pangkat 2 dari a: " & a ^ 2
End Sub
Private Sub CmdUbahTeks_Click()
Dim teks As String
teks = Text3.Text
' Pengolahan teks
LabelTeks.Caption = "Huruf kapital: " & UCase(teks) & vbCrLf _
& "Huruf kecil: " & LCase(teks) & vbCrLf _
& "Panjang teks: " & Len(teks) & vbCrLf _
& "Teks tanpa spasi awal/akhir: " & Trim(teks)
End Sub
3. ListView Kontrol
Menampilkan data dalam bentuk tabel
vb
' Pastikan tambahkan komponen "Microsoft Windows Common Controls 6.0"
' melalui Menu > Project > Components
Private Sub Form_Load()
' Set gaya ListView menjadi tabel
ListView1.View = lvwReport
' Tambahkan kolom
ListView1.ColumnHeaders.Add , , "Kode Barang", 100
ListView1.ColumnHeaders.Add , , "Nama Barang", 150
ListView1.ColumnHeaders.Add , , "Harga", 80
' Tambahkan baris data
Dim item As ListItem
Set item = ListView1.ListItems.Add(, , "BRG001")
item.SubItems(1) = "Laptop"
item.SubItems(2) = "15.000.000"
Set item = ListView1.ListItems.Add(, , "BRG002")
item.SubItems(1) = "Mouse"
item.SubItems(2) = "150.000"
End Sub
Private Sub ListView1_Click()
' Ambil data yang dipilih
If ListView1.SelectedItem Is Nothing Then Exit Sub
MsgBox "Barang terpilih: " & ListView1.SelectedItem.SubItems(1) & vbCrLf & "Harga: " & ListView1.SelectedItem.SubItems(2)
End Sub
4. Membuka dan Menyimpan File dengan CommonDialog
vb
' Tambahkan komponen "Microsoft Common Dialog Control 6.0" melalui Project > Components
Dim namaFile As String
Private Sub CmdBukaFile_Click()
CommonDialog1.Filter = "File Teks (*.txt)|*.txt|Semua File (*.*)|*.*"
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
namaFile = CommonDialog1.FileName
' Baca dan tampilkan isi file
Open namaFile For Input As #1
TextArea.Text = ""
Do While Not EOF(1)
Dim baris As String
Line Input #1, baris
TextArea.Text = TextArea.Text & baris & vbCrLf
Loop
Close #1
End If
End Sub
Private Sub CmdSimpanFile_Click()
If namaFile = "" Then
CommonDialog1.Filter = "File Teks (*.txt)|*.txt"
CommonDialog1.ShowSave
namaFile = CommonDialog1.FileName
End If
If namaFile <> "" Then
Open namaFile For Output As #1
Print #1, TextArea.Text
Close #1
MsgBox "File disimpan!", vbInformation
End If
End Sub
Saya tidak dapat menyajikan semua kode perintah VB6 secara lengkap, karena bahasa ini memiliki ribuan elemen (perintah, fungsi, metode, properti) yang mencakup kontrol, objek sistem, pustaka eksternal, dan fitur khusus. Namun, berikut adalah kategori utama seluruh elemen VB6 beserta contoh perintah representatif, yang mencakup hampir semua bagian inti bahasa:
I. Struktur Dasar Bahasa
1. Deklarasi Variabel & Konstanta
vb
' Tipe data dasar
Dim varInt As Integer, varStr As String, varBool As Boolean
Dim varDate As Date, varDbl As Double, varObj As Object
' Konstanta
Const PI As Double = 3.14159, MAX_USER As Integer = 50
' Array
Dim arrNama(1 To 10) As String ' Array tetap
Dim arrDinamis() As Integer ' Array dinamis
ReDim arrDinamis(1 To 5) ' Mengubah ukuran array
' Variabel publik/privat
Public varGlobal As String ' Di modul standar
Private varLokal As Integer ' Di form/prosedur
' Tipe data kustom
Type DataMahasiswa
NIM As String
Nama As String
Umur As Integer
End Type
Dim mhs As DataMahasiswa
2. Operator
- Aritmatika: + , - , * , / , \ (pembagian bulat), Mod (sisa bagi), ^ (pangkat)
- Perbandingan: = , < , > , <= , >= , <>
- Logika: And , Or , Not , Xor
- String: & (penggabungan), Like (pencocokan pola)
- Penugasan: = , += , -= (tidak didukung native, tapi bisa dibuat dengan kustom)
II. Kontrol Aliran Program
1. Percabangan
vb
' If...Then...Else
If kondisi Then [aksi] Else [aksi]
If kondisi Then
[aksi]
ElseIf kondisi Then
[aksi]
Else
[aksi]
End If
' Select Case
Select Case variabel
Case nilai1
[aksi]
Case nilai2 To nilai3
[aksi]
Case Is > nilai
[aksi]
Case Else
[aksi]
End Select
2. Perulangan
vb
' For...Next
For var = awal To akhir Step langkah
[aksi]
If kondisi Then Exit For
Next var
' For Each...Next (untuk koleksi/array)
For Each item In koleksi
[aksi]
Next item
' Do...Loop
Do While kondisi ' Eksekusi jika kondisi benar
[aksi]
Loop
Do Until kondisi ' Eksekusi sampai kondisi benar
[aksi]
Loop
Do
[aksi]
Loop While kondisi ' Eksekusi minimal 1x
Do
[aksi]
Loop Until kondisi
' While...Wend (lama, jarang digunakan)
While kondisi
[aksi]
Wend
3. Keluaran dari Blok
vb
Exit Sub, Exit Function, Exit For, Exit Do
End ' Menghentikan aplikasi secara total
III. Prosedur & Fungsi
vb
' Prosedur tanpa kembalian
Sub NamaProsedur([parameter])
[aksi]
End Sub
Private Sub NamaProsedurPrivate([parameter])
[aksi]
End Sub
Public Sub NamaProsedurPublik([parameter])
[aksi]
End Sub
' Fungsi dengan kembalian
Function NamaFungsi([parameter]) As TipeData
NamaFungsi = nilaiKembalian
End Function
' Parameter opsional & nilai default
Sub ProsedurOpsional(Optional nama As String = "Tamu")
MsgBox "Halo " & nama
End Sub
' Parameter byRef & byVal
Sub Proses(ByRef var As Integer) ' Mengubah nilai asli
var = var * 2
End Sub
Sub Proses(ByVal var As Integer) ' Menggunakan salinan
var = var * 2
End Sub
IV. Objek & Kontrol Form
1. Properti Umum
vb
' Form
Form1.Caption = "Aplikasi VB6"
Form1.Width = 5000
Form1.Height = 4000
Form1.BackColor = vbWhite
Form1.Visible = True
' Kontrol Dasar
Label1.Caption = "Teks"
Text1.Text = "Input"
Command1.Enabled = False
CheckBox1.Value = vbChecked ' 1 = Centang, 0 = Tidak, 2 = Tidak bisa diklik
OptionButton1.Value = True
Frame1.Caption = "Kelompok"
2. Metode Umum
vb
' Form
Form1.Show vbModal ' Tampilkan sebagai form modal
Form1.Hide
Unload Form1
Form1.Refresh
' Kontrol
Text1.SetFocus ' Berikan fokus ke TextBox
List1.AddItem "Item"
List1.RemoveItem 0
Combo1.Clear
Picture1.Print "Teks di Gambar"
Image1.Stretch = True
3. Event Umum
vb
' Form
Private Sub Form_Load() ' Saat form dimuat
Private Sub Form_Unload(Cancel As Integer) ' Saat form ditutup
Private Sub Form_Click() ' Saat form diklik
Private Sub Form_Resize() ' Saat ukuran form diubah
' Kontrol
Private Sub Command1_Click() ' Saat tombol diklik
Private Sub Text1_Change() ' Saat teks berubah
Private Sub List1_Click() ' Saat item ListBox diklik
Private Sub Timer1_Timer() ' Saat interval Timer habis
Private Sub Text1_KeyPress(KeyAscii As Integer) ' Saat tombol keyboard ditekan
4. Kontrol Khusus
- ListView: ListView1.ColumnHeaders.Add , ListView1.ListItems.Add , ListView1.View = lvwReport
- TreeView: TreeView1.Nodes.Add , TreeView1.SelectedItem.Text
- ProgressBar: ProgressBar1.Value = 50 , ProgressBar1.Max = 100
- CommonDialog: CommonDialog1.ShowOpen , CommonDialog1.ShowSave , CommonDialog1.ShowColor
- DataGrid: DataGrid1.DataSource = rs , DataGrid1.Refresh
V. Pengolahan Data & File
1. File Teks
vb
' Membuka file
Open "path/file.txt" For Input As #1 ' Baca
Open "path/file.txt" For Output As #1 ' Tulis (hapus isi lama)
Open "path/file.txt" For Append As #1 ' Tambahkan di akhir
' Membaca
Line Input #1, varStr ' Baca 1 baris
Input #1, var1, var2 ' Baca data terpisah koma
Get #1, posisi, varObj ' Baca data biner
' Menulis
Print #1, varStr ' Tulis dengan baris baru
Write #1, var1, var2 ' Tulis dengan format terstruktur
Put #1, posisi, varObj ' Tulis data biner
' Menutup
Close #1
2. Database
vb
' ADODB
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb"
rs.Open "SELECT * FROM Tabel", conn, adOpenStatic, adLockOptimistic
rs.AddNew ' Tambah data baru
rs("Kolom1") = nilai
rs.Update ' Simpan perubahan
rs.MoveFirst, rs.MoveNext, rs.MovePrevious, rs.MoveLast
rs.Close : conn.Close
' DAO (lama)
Dim db As Database, rec As Recordset
Set db = OpenDatabase("data.mdb")
Set rec = db.OpenRecordset("Tabel")
3. Fungsi Pengolahan Data
- String: UCase , LCase , Trim , Left , Right , Mid , Len , InStr , Replace , Split , Join
- Matematika: Sqr , Abs , Round , Int , Fix , Rnd , Sin , Cos , Tan , Log , Exp
- Tanggal/Waktu: Date , Time , Now , Day , Month , Year , Hour , Minute , Second , DateAdd , DateDiff
- Konversi: Val , Str , CInt , CDbl , CDate , CStr , Hex , Oct
VI. Interaksi dengan Sistem
1. Pesan & Input
vb
MsgBox "Pesan", [jenisIkon + tombol], "Judul"
' Jenis ikon/tombol: vbOKOnly, vbYesNo, vbQuestion, vbInformation, vbCritical
varInput = InputBox("Pesan", "Judul", "Nilai Default")
2. Akses Sistem
vb
' Folder & File
MkDir "FolderBaru" ' Buat folder
RmDir "FolderBaru" ' Hapus folder
Kill "file.txt" ' Hapus file
Name "lama.txt" As "baru.txt" ' Ganti nama file
ChDir "C:\Folder" ' Ubah direktori kerja
ChDrive "D:" ' Ubah drive
' Printer
Printer.Print "Teks untuk Printer"
Printer.EndDoc ' Kirim ke printer
' Registry
SaveSetting "Aplikasi", "Seksi", "Kunci", "Nilai" ' Simpan ke registry
varNilai = GetSetting("Aplikasi", "Seksi", "Kunci", "NilaiDefault") ' Baca dari registry
DeleteSetting "Aplikasi", "Seksi" ' Hapus dari registry
' Shell & Eksekusi Program
Shell "notepad.exe", vbNormalFocus ' Buka Notepad
3. Error Handling
vb
On Error GoTo TanganiError ' Arahkan ke blok error
On Error Resume Next ' Lanjutkan ke baris berikutnya jika ada error
On Error GoTo 0 ' Matikan error handling
TanganiError:
MsgBox "Error: " & Err.Description & " (Kode " & Err.Number & ")"
Resume Next ' Atau Resume untuk kembali ke baris yang menyebabkan error
VII. Pustaka Eksternal & Komponen
vb
' Menggunakan API Windows
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Sub PanggilAPI()
MessageBox Me.hwnd, "Pesan dari API", "Judul", vbOKOnly
End Sub
' Komponen ActiveX
Dim excelApp As Object
Set excelApp = CreateObject("Excel.Application")
excelApp.Workbooks.Open "data.xls"
excelApp.Visible = True
