PEMROGRAMAN BASIS DATA Purwanto,S.Kom.
Program Visual Basic 6.0 Dengan Database MySQL
Tujuan :
1. Mahasiswa Mampu Membuat Database dengan MySQL
2. Mahasiswa Mampu membuat koneksi VB6 dengan database MySQL
3. Mahasiswa Mampu membuat program sederhana untuk Input,Edit dan Hapus Data
Praktikum 2
1. Persiapan Database MySQL
a. Buatlah database dengan nama “datamhs”
b. Buatlah Tabel dengan nama “mahasiswa” dengan struktur sebagai berikut :
Field Name Type Length Index
nim VARCHAR 10 Primary Key
nama VARCHAR 50
jurusan VARCHAR 20
thn_msk SmallInt 4
alamat TEXT
Contoh SQL :
CREATE TABLE `mahasiswa` (
`nim` varchar(10) NOT NULL,
`nama` varchar(50) NOT NULL,
`jurusan` varchar(20) NOT NULL,
`thn_msk` smallint(4) NOT NULL,
`alamat` text NOT NULL,
PRIMARY KEY (`nim`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
2. Pembuatan Program
a. Buatlah Project Baru VB (Standart EXE)
b. Buatlah sebuah modul dengan cara klick pada menu Project ‐> Add Module
Akan muncul dialog sebagai berikut, lalu klick open
PEMROGRAMAN BASIS DATA Purwanto,S.Kom.
Kemudian ketikkan source code berikut ini
Option Explicit
Public strSQL As String
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Enum FormState
modeTambah = 0
modeEdit = 1
End Enum
Sub Main()
If App.PrevInstance = True Then
MsgBox " Aplikasi Sudah di Jalankan...", vbCritical
End
Exit Sub
End If
If koneksi Then
FrmMain.Show
End If
End Sub
Public Function koneksi() As Boolean
Dim strServerName As String
Dim strDatabaseName As String
Dim strUserName As String
Dim strPassword As String
strServerName = "localhost"
strDatabaseName = "datamhs"
strUserName = "xxxx"
strPassword = "xxxx"
Set cn = New ADODB.Connection
cn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=" & strServerName & _
";DATABASE=" & strDatabaseName & ";" & _
"USER=" & strUserName & _
";PASSWORD=" & strPassword & _
";OPTION=3;"
cn.Open
With cn
.CommandTimeout = 0
.CursorLocation = adUseClient
End With
End Function
Ganti nilai strUsername dan strPassword dengan username dan password pada mysql anda.
Kemudian klick pada menu Project ‐> Rrefferences, lalu centang pada Microsoft ActiveX
Data Object 2.6 Library
PEMROGRAMAN BASIS DATA Purwanto,S.Kom.
c. Pada Project Explorer klick pada Form1 kemudian rubah property Name menjadi
frmMain, dan property Caption dengan Data Mahasiswa
d. Buatlah menu dengan cara klick pada menu Tool ‐> Menu Editor, lalu buat desain
menu sebagai berikut :
Kemudian masukkan code berikut :
Private Sub mnuMahasiswa_Click()
frmList.Show vbModal
End Sub
PEMROGRAMAN BASIS DATA Purwanto,S.Kom.
e. Tambahkan Sebuah form baru dengan cara Klik pada menu Project‐>Add Form lalu
klick OK
Kemudian aktifkan Component Microsoft Windows Common Control s 6.0 (SP6)
melalui menu Project ‐ > Component dengan cara mencentang pada Component
tersebut :
Rubah Property Name dengan frmList, StartUpPosition dengan 2‐ CenterScreen ,
dan Caption dengan Data Mahasiswa,
Kemudian buat desain seperti berikut :
PEMROGRAMAN BASIS DATA Purwanto,S.Kom.
Komponen – komponen yang diperlukan
Komponent Property Value
ListView name lvList
CommandButton Name cmdInput
Caption Input Data
CommandButton Name cmdEdit
Caption Edit Data
CommandButton Name cmdHapus
Caption Hapus Data
CommandButton Name cmdClose
Caption Tutup
Label Name lblRecord
Caption Record Dipilih : 0
Klick kanan pada lvList kemudian klick Properties, Pada tab Column Headers, Insert
Column berikut : No, NIM, Nama Mahasiswa,Jurusan,Tahun Msk, Alamat
Kemudian masukkan code berikut :
Private Sub cmdInput_Click()
With FrmInput
.State = modeTambah
.Show vbModal
End With
End Sub
Private Sub cmdEdit_Click()
With FrmInput
.State = modeEdit
.pilih = lvList.SelectedItem.SubItems(1)
.Show vbModal
End With
End Sub
Private Sub cmdHapus_Click()
Dim pilih As String
Dim strMsg, Response As String
pilih = lvList.SelectedItem.SubItems(1)
strMsg = "Yakin akan menghapus data dengan nim = " & pilih & " ?"
Response = MsgBox(strMsg, vbOKCancel)
If Response = vbOK Then
koneksi
Set rs = New ADODB.Recordset
strSQL = "delete from mahasiswa where nim='" & pilih & "'"
With rs
.Source = strSQL
.ActiveConnection = cn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open
End With
Set rs = Nothing
RefreshRecords
End If
End Sub
Private Sub cmdClose_Click()
Unload Me
End Sub
PEMROGRAMAN BASIS DATA Purwanto,S.Kom.
Private Sub Form_Load()
On Error GoTo ErrMsg:
fillList
ExitLoad:
Exit Sub
ErrMsg:
MsgBox err.Description
Resume ExitLoad
End Sub
Public Sub RefreshRecords()
fillList
End Sub
Private Function fillList()
Dim mItem As ListItem
Dim nomor As Integer
koneksi
Set rs = New ADODB.Recordset
strSQL = "Select * from mahasiswa order by NIM ASC"
With rs
.Source = strSQL
.ActiveConnection = cn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open
End With
lvList.ListItems.Clear
nomor = 1
Do Until rs.EOF = True
Set mItem = lvList.ListItems.Add(, , nomor)
mItem.ListSubItems.Add , , rs.Fields("nim").Value
mItem.ListSubItems.Add , , rs.Fields("nama").Value
mItem.ListSubItems.Add , , rs.Fields("jurusan").Value
mItem.ListSubItems.Add , , rs.Fields("thn_msk").Value
mItem.ListSubItems.Add , , rs.Fields("alamat").Value
rs.MoveNext
nomor = nomor + 1
Loop
Set rs = Nothing
cn.Close
Set cn = Nothing
End Function
Private Sub lvList_Click()
On Error GoTo err
lblRecord.Caption = "Record Dipilih: " & lvList.SelectedItem
Exit Sub
err:
lblRecord.Caption = "Record Dipilih: NONE"
End Sub
PEMROGRAMAN BASIS DATA Purwanto,S.Kom.
f. Tambahkan Sebuah form baru dengan cara Klik pada menu Project‐>Add Form lalu
klick OK, Rubah Property Name dengan FrmInput, StartUpPosition dengan 2‐
CenterScreen , dan Caption dengan Data Mahasiswa, lalu buat desain sbb:
Komponent yang diperlukan :
Komponent Property Value
Label Caption NIM
Label Caption Nama Mahasiswa
Label Caption Jurusan
Label Caption Tahun Masuk
Label Caption Alamat
TextBox name txtNIM
TextBox name txtNama
TextBox name txtJurusan
TextBox name txtTahun
TextBox name txtAlamat
CommandButton Name cmdSave
Caption Simpan
CommandButton Name cmdcancel
Caption Batal
PEMROGRAMAN BASIS DATA Purwanto,S.Kom.
Kemudian masukkan code berikut :
Public State As FormState
Public pilih As String
Private Sub cmdSave_Click()
If txtNIM.Text = "" Or txtNama.Text = "" Then
MsgBox "NIM dan Nama tidak boleh kosong.", vbExclamation
txtNIM.SetFocus
Exit Sub
End If
On Error GoTo Err_cmdSave_Click
Dim strMsg, Response As String
strMsg = "Apakah anda akan menyimpan data?"
Response = MsgBox(strMsg, vbOKCancel)
If Response = vbOK Then
koneksi
Set rs = New ADODB.Recordset
If State = modeTambah Then
strSQL = "insert into mahasiswa Values ('" & txtNIM.Text & "'," & _
"'" & txtNama.Text & "'," & _
"'" & txtJurusan.Text & "'," & _
"'" & txtTahun.Text & "'," & _
"'" & txtAlamat.Text & "')"
With rs
.Source = strSQL
.ActiveConnection = cn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open
End With
Set rs = Nothing
MsgBox "Data Berhasil disimpan", vbOKOnly
Unload Me
Else
strSQL = "update mahasiswa set nim='" & txtNIM.Text & "'," & _
"nama= '" & txtNama.Text & "'," & _
"jurusan= '" & txtJurusan.Text & "'," & _
"thn_msk='" & txtTahun.Text & "'," & _
"alamat='" & txtAlamat.Text & "' where nim='" & pilih & "'"
With rs
.Source = strSQL
.ActiveConnection = cn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open
End With
Set rs = Nothing
MsgBox "Data Berhasil disimpan", vbOKOnly
Unload Me
End If
End If
Exit_cmdSave_Click:
Exit Sub
Err_cmdSave_Click:
MsgBox err.Description
Resume Exit_cmdSave_Click
End Sub
PEMROGRAMAN BASIS DATA Purwanto,S.Kom.
Private Sub cmdcancel_Click()
Unload Me
End Sub
Private Sub Form_Load()
If State = modeEdit Then
koneksi
Set rs = New ADODB.Recordset
strSQL = "Select * from mahasiswa where nim='" & pilih & "'"
With rs
.Source = strSQL
.ActiveConnection = cn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open
End With
txtNIM.Text = rs!nim
txtNama.Text = rs!nama
txtJurusan.Text = rs!jurusan
txtTahun.Text = rs!thn_msk
txtAlamat.Text = rs!alamat
Set rs = Nothing
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
frmList.RefreshRecords
Set FrmInput = Nothing
End Sub
Cobalah jalankan Program Anda :
Tugas :
Buatlah table Matakuliah kemudian Buatlah program untuk menampilkan, input, edit dan
menghapus data matakuliah dengan cara seperti pada petunjuk diatas.