Langkah-langkah pembuatan program VB.Net 1 File)
1. Buat sebuah Database yang terdiri dari 1 buah tabel (dalam contoh ini database dibuat
menggunakan sql) :
Nama Database : p2kpns
Nama Tabel : Pegawai
2. Buka VB.Net, buatlah project (nama project : p2kpns) dan 1 buah form (nama form : PEGAWAI)
3. Tarik komponen-komponen yang dibutuhkan kedalam form, dalam contoh ini komponen yang
dibutuhkan terdiri dari 9 buah Label, 5 buah TextBox, 2 buah RadioButton, 1 buah
DiteTimePicker, 3 buah ComboBox, 6 buah tombol Button dan DataGridView untuk menampilkan
hasil record yang tersimpan. Tampilan lengkap hasil desain seperti berikut :
4. Sebelum memulai membuat coding programnya terlebih dahulu buatlah sebuah modul untuk
pemanggilan database.
kemudian ketik coding berikut dalam modul yang telah dibuat :
Imports System.Data.Odbc
Module Module1
Public KONEKSI As OdbcConnection
Public COMD As OdbcCommand
Public levellogin As String
Public Sub KONEKSIDATABASE()
KONEKSI = New OdbcConnection("Driver={MYSQL ODBC 5.1 Driver};database=P2KPNS;server=localhost;uid=root")
If KONEKSI.State = ConnectionState.Closed Then
KONEKSI.Open()
End If
End Sub
End Module
5. Kemudian pindah ke form, untuk memulai membuat coding lakukan langkah-langkah berikut :
- Double Click Form, kemudian ketik :
Public Class Pegawai
Dim cmdpegawai As New OdbcCommand
Dim dapegawai As OdbcDataAdapter
Dim drpegawai As OdbcDataReader
Dim tkodeunit, tkodegol, tkodejab As String
Dim KET As Char
Private Sub Pegawai_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
KONEKSIDATABASE()
Call tampilview()
Call tampilgol()
Call tampiljabatan()
Call tampilunit()
tnip.Text = ""
Call KOSONG()
Call TIDAKAKTIF()
tnip.MaxLength = 21
End Sub
'untuk pengosongan form
Sub KOSONG()
tnama.Text = ""
ttempat.Text = ""
tgol.Text = ""
tjabatan.Text = ""
tunit.Text = ""
tlaki.Checked = False
tperempuan.Checked = False
tgol.Text = ""
ttelp.Text = ""
talamat.Text = ""
End Sub
'untuk mengaktifkan textbox dan komponen lainnya
Sub AKTIF()
tnama.Enabled = True
ttempat.Enabled = True
tgol.Enabled = True
tlaki.Enabled = True
tperempuan.Enabled = True
tgol.Enabled = True
tjabatan.Enabled = True
tunit.Enabled = True
ttelp.Enabled = True
talamat.Enabled = True
ttgl.Enabled = True
simpan.Enabled = True
hapus.Enabled = True
koreksi.Enabled = True
batal.Enabled = True
End Sub
'untuk mengnon-aktifkan textbox dan komponen lainnya
Sub TIDAKAKTIF()
tnama.Enabled = False
ttempat.Enabled = False
tgol.Enabled = False
tlaki.Enabled = False
ttgl.Enabled = False
tperempuan.Enabled = False
tgol.Enabled = False
tjabatan.Enabled = False
tunit.Enabled = False
ttelp.Enabled = False
talamat.Enabled = False
simpan.Enabled = False
hapus.Enabled = False
koreksi.Enabled = False
batal.Enabled = False
End Sub
'untuk membuat isi combobox
Sub tampilgol()
tgol.Items.Add("Pembina Utama / IVe")
tgol.Items.Add("Pembina Utama Madya / IVd")
tgol.Items.Add("Pembina Utama Muda / IVc")
tgol.Items.Add("Pembina Tingkat I / IVb")
tgol.Items.Add("Pembina / IVa")
tgol.Items.Add("Penata Tingkat I / IIId")
tgol.Items.Add("Penata / IIIc")
tgol.Items.Add("Penata Muda Tingkat I / IIIb")
tgol.Items.Add("Penata Muda / IIIa")
tgol.Items.Add("Pengatur Tingkat I / IId")
tgol.Items.Add("Pengatur / IIc")
tgol.Items.Add("Pengatur Muda Tingkat I / IIb")
tgol.Items.Add("Pengatur Muda / IIa")
tgol.Items.Add("Juru Tingkat I / Id")
tgol.Items.Add("Juru / Ic")
tgol.Items.Add("Juru Muda Tingkat I / Ib")
tgol.Items.Add("Juru Muda / Ia")
End Sub
Sub tampiljabatan()
Dim str As String = "select kode,nama from jabatan order by kode"
If KONEKSI.State = ConnectionState.Closed Then
KONEKSI.Open()
End If
cmdpegawai = New OdbcCommand(str, KONEKSI)
drpegawai = cmdpegawai.ExecuteReader
Try
While drpegawai.Read
tjabatan.Items.Add(drpegawai!kode & " | " & drpegawai!nama)
End While
Catch ex As Exception
MsgBox("Data Jabatan kosong, Input data Jabatan dari Form Jabatan", vbOKOnly, "Warning...")
Finally
cmdpegawai.Dispose()
End Try
End Sub
Sub tampilunit()
Dim str As String = "select kode,nama from unitkerja order by kode"
If KONEKSI.State = ConnectionState.Closed Then
KONEKSI.Open()
End If
cmdpegawai = New OdbcCommand(str, KONEKSI)
drpegawai = cmdpegawai.ExecuteReader
Try
While drpegawai.Read
tunit.Items.Add(drpegawai!kode & " | " & drpegawai!nama)
End While
Catch ex As Exception
MsgBox("Data Unit Kerja kosong, Input data Unit Kerja dari Form Unit Kerja", vbOKOnly, "Warning...")
Finally
cmdpegawai.Dispose()
End Try
End Sub
- Double click textbox NIP (Namenya : TNIP), ketik coding berikut :
Private Sub tnip_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tnip.TextChanged
If Len(tnip.Text) < 21 Then
Exit Sub
End If
If KONEKSI.State = ConnectionState.Closed Then
KONEKSI.Open()
End If
Dim str As String = "select * from pegawai where nip ='" & tnip.Text & "'"
cmdpegawai = New OdbcCommand(str, KONEKSI)
drpegawai = cmdpegawai.ExecuteReader
drpegawai.Read()
If drpegawai.HasRows Then
tnama.Text = drpegawai!nama
ttempat.Text = drpegawai!tempat
ttgl.Value = drpegawai!tanggal
If drpegawai!jekel = "L" Then
tlaki.Checked = True
ElseIf drpegawai!jekel = "P" Then
tperempuan.Checked = True
End If
ttelp.Text = drpegawai!telp
talamat.Text = drpegawai!alamat
tkodeunit = drpegawai!kodeunit
tgol.Text = drpegawai!kodegol
tkodejab = drpegawai!kodejab
Dim str2 As String = "select kode,nama from jabatan where kode = '" & tkodejab & "'"
cmdpegawai = New OdbcCommand(str2, KONEKSI)
drpegawai = cmdpegawai.ExecuteReader
drpegawai.Read()
If drpegawai.HasRows Then
tjabatan.Text = drpegawai!kode & " | " & drpegawai!nama
End If
Dim str3 As String = "select kode,nama from unitkerja where kode = '" & tkodeunit & "'"
cmdpegawai = New OdbcCommand(str3, KONEKSI)
drpegawai = cmdpegawai.ExecuteReader
drpegawai.Read()
If drpegawai.HasRows Then
tunit.Text = drpegawai!kode & " | " & drpegawai!nama
End If
TIDAKAKTIF()
koreksi.Enabled = True
hapus.Enabled = True
batal.Enabled = True
Exit Sub
End If
KOSONG()
AKTIF()
tnama.Focus()
koreksi.Enabled = False
hapus.Enabled = False
cmdpegawai.Dispose()
KONEKSI.Close()
End Sub
- Double click RadioButton Laki-Laki dan Perempuan (Namenya : tlaki, tperempuan),
ketik coding berikut :
Private Sub tlaki_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tlaki.CheckedChanged
KET = "L"
End Sub
Private Sub tperempuan_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tperempuan.CheckedChanged
KET = "P"
End Sub
- Double tombol tambah, simpan, koreksi, hapus, batal dan close
ketik coding berikut :
Private Sub tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah.Click
KOSONG()
tnip.Text = ""
tnip.Focus()
TIDAKAKTIF()
End Sub
Private Sub simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan.Click
Dim str As String
Try
If KONEKSI.State = ConnectionState.Closed Then
KONEKSI.Open()
End If
str = "insert into pegawai(nip,nama,tempat,tanggal,jekel,kodegol,kodejab,kodeunit" & _
",alamat,telp) values('" & tnip.Text & "','" & tnama.Text & "','" & ttempat.Text & "'," & _
"'" & Format(ttgl.Value, "yyyy-MM-dd") & "','" & KET & "','" & tgol.Text & _
"', '" & LSet(tjabatan.Text, 3) & "','" & LSet(tunit.Text, 3) & "','" & talamat.Text & "','" & ttelp.Text & "')"
cmdpegawai = New OdbcCommand(str, KONEKSI)
cmdpegawai.ExecuteNonQuery()
tampilview()
tnip.Text = ""
KOSONG()
TIDAKAKTIF()
tnip.Focus()
Catch ex As Exception
MsgBox(ex.ToString)
Finally
cmdpegawai.Dispose()
KONEKSI.Close()
End Try
End Sub
Private Sub koreksi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles koreksi.Click
If ToolTip3.Tag = "aa" Then
AKTIF()
simpan.Enabled = False
ToolTip3.Tag = "bb"
ToolTip3.ToolTipTitle = "Update"
ElseIf ToolTip3.Tag = "bb" Then
Dim str As String
Try
If KONEKSI.State = ConnectionState.Closed Then
KONEKSI.Open()
End If
str = "update pegawai set nama='" & tnama.Text & "',tempat='" & ttempat.Text & _
"' ,tanggal='" & Format(ttgl.Value, "yyyy-MM-dd") & "',jekel='" & KET & _
"' ,kodegol = '" & tgol.Text & "', kodejab = '" & LSet(tjabatan.Text, 3) & _
"' ,kodeunit = '" & LSet(tunit.Text, 3) & "', alamat='" & talamat.Text & _
"',telp='" & ttelp.Text & "' WHERE nip='" & tnip.Text & "'"
cmdpegawai = New OdbcCommand(str, KONEKSI)
cmdpegawai.ExecuteNonQuery()
tampilview()
tnip.Text = ""
KOSONG()
TIDAKAKTIF()
tnip.Focus()
ToolTip3.Tag = "aa"
ToolTip3.ToolTipTitle = Nothing
Catch ex As Exception
MsgBox(ex.ToString)
Finally
cmdpegawai.Dispose()
KONEKSI.Close()
End Try
End If
End Sub
Private Sub hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus.Click
Dim str, str1 As String
Try
If MsgBox("Yakin data dihapus...?", MsgBoxStyle.YesNo, "Konfirmasi") = MsgBoxResult.Yes Then
If KONEKSI.State = ConnectionState.Closed Then
KONEKSI.Open()
End If
str1 = "select sasarankerja.nip,perilaku.nip FROM sasarankerja,perilaku WHERE sasarankerja.nip='" & tnip.Text & "' or perilaku.nip='" & tnip.Text & "'"
cmdpegawai = New OdbcCommand(str1, KONEKSI)
drpegawai = cmdpegawai.ExecuteReader
drpegawai.Read()
If drpegawai.HasRows Then
MsgBox("Data tidak bisa dihapus, karena terkait dengan data lain...", vbExclamation, "Warning")
Exit Sub
End If
str = "DELETE FROM pegawai WHERE nip='" & tnip.Text & "'"
cmdpegawai = New OdbcCommand(str, KONEKSI)
cmdpegawai.ExecuteNonQuery()
tampilview()
tnip.Text = ""
KOSONG()
TIDAKAKTIF()
tnip.Focus()
End If
Catch ex As Exception
MsgBox(ex.ToString)
Finally
cmdpegawai.Dispose()
KONEKSI.Close()
End Try
End Sub
Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
KOSONG()
tnip.Text = ""
tnip.Focus()
TIDAKAKTIF()
End Sub
Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
Me.Dispose()
End Sub
- terakhir ketik coding berikut untuk menampilan data dalam datagridview:
Sub tampilview()
If KONEKSI.State = ConnectionState.Closed Then
KONEKSI.Open()
End If
cmdpegawai.CommandType = CommandType.Text
Dim str As String = "select pegawai.nip,pegawai.nama,pegawai.tempat,pegawai.tanggal" & _
",pegawai.kodegol,jabatan.nama,unitkerja.nama from pegawai,jabatan" & _
",unitkerja where pegawai.kodejab = jabatan.kode and " & _
"pegawai.kodeunit = unitkerja.kode order by pegawai.nama asc"
cmdpegawai = New OdbcCommand(str, KONEKSI)
drpegawai = cmdpegawai.ExecuteReader
tampil.Rows.Clear()
With tampil
.ColumnCount = 6
.Columns(0).Name = "N I P"
.Columns(1).Name = "Nama Pegawai"
.Columns(2).Name = "Tempat/Tgl. Lahir"
.Columns(3).Name = "Pangkat/Gol.Ruang"
.Columns(4).Name = "Jabatan"
.Columns(5).Name = "Unit Kerja"
.Columns(0).Width = 130
.Columns(1).Width = 190
.Columns(2).Width = 250
.Columns(3).Width = 150
.Columns(4).Width = 150
.Columns(5).Width = 350
End With
While drpegawai.Read
With tampil
Dim baris As Object() = New Object() {drpegawai.GetString(0).ToString, drpegawai.GetString(1).ToString, drpegawai.GetString(2).ToString & ", " & drpegawai.GetValue(3),
drpegawai.GetString(4).ToString, drpegawai.GetString(5).ToString, drpegawai.GetString(6).ToString}
.Rows.Add(baris)
End With
End While
cmdpegawai.Dispose()
KONEKSI.Close()
End Sub
Semoga contoh program ini bisa dijadikan panduan bagi kita yang ingin mencoba membuat program vb.net.
--------------------------------------------------------------------