Program Input

Anda mungkin juga menyukai

Anda di halaman 1dari 8

Program Input, Edit, Hapus (Manipulasi data) merupakan program standar yang selalu ada

pada saat seorang programmer membuat aplikasi.


Kebisaan membuat program dari zaman Basic, Pascal, clipper, foxpro sampai ke Visual Basic
5 dan Visual Basic 6 yang selalu mengandalkan kode program dalam membangun program,
bagi saya masih terbawa bawa ke era Visual yang telah didukung dengan Wizard.
Pada artikel kali ini saya coba memaparkan cara membuat program Input, Edit, Hapus
dengan mengambil contoh pengolahan data supplier, hampir 100% saya pakai code
program.
Contoh yang dibahas sifatnya sangat dasar sekali, jadi untuk rekan rekan yang sudah sangat
berpengalaman dalam pemrograman dimohon saran dan info yang membangun demi
kebaikan kemampuan programming dimasa datang.
Untuk rekan pemula mudahan mudahan artikel ini bisa membantu dalam memperdalam
pengetahuan programming
Mari kita mulai saja.
Siapkan sebuah database di SQL Server 2005, pada komputer saya servernya saya beri
nama ISLAM, dengan nama database GUDANG
Untuk server pembaca silahkan sesuaikan sendiri sesuai keinginan.
Kita lanjutkan
Buat table supplier dengan susunan field seperti gambar berikut :

Sekarang aktifkan Visual Basic.NET 2005 dan buat sebuah project baru namanya juga
terserah anda. (saya sendiri memberi nama project ini GUDANG)
Siapkan sebuah Module baru yang berfungsi untuk membuat koneksi kedatabase atau
tempat menyimpan fungsi atau prosedur yang kita butuhkan dalam pembuatan program.
Langkah pembuatan module : klik kanan nama project yang ada di Window Solution
Explorer, lalu pilih Add > Module. Secara default VB akan memberi nama Module1.
berikut ini gambar Solution Explorer :

Pada jendela Code program Module1 masukkan kode berikut :


Imports System.Data.SqlClient
Module Module1
Public Function Koneksi() As SqlConnection
Dim Conn As New SqlConnection
Conn = New SqlConnection(server=islam; database=gudang; user=sa;password=intan;)
Conn.Open()
Return Conn
End Function
End Module
Sekali lagi untuk nama server, database, user dan password sesuaikan dengan komputer
yang anda pakai.
Tahap selanjutnya siapkan form baru dengan contoh disain seperti gambar berikut.

Komponen yang ada pada form terdiri dari 6 Label (text label sesuaikan dengan gambar),
6 Buah Textbox Masing masing diberi nama :
TextKode
TextNama

TextAlamat
TextTelepon
TextKontakPerson
TextEmail
6 Buah Button, masing diberi nama :
ButtonTambah
ButtonSimpan
ButtonHapus
ButtonUpdate
ButtunKeluar
Buttun1 (Loading data)
1 Buah DatagridView dengan nama GridSupplier.
Saatnya Coding,
Setelah semua komponen tersusun dalam Form saat kita melakukan coding program.
Pada Menu Bar, pilih menu View Code
Pada bagian atas ketikan kode berikut untuk meng-import Class Data SQL sehingga kita bisa
melakukan koneksi ke database.
Imports System.Data.SqlClient
Selanjutnya pelajari code program berikut baris perbaris sambil memperhatikan komentar
kode program yang saya sisipkan pada setiap prosedur.
Kode komentar selalu diawali dengan tanda kutip satu ()
Public Class Supplier
Siapkan variabel keneksi
Dim koneksi = Module1.Koneksi
Prosedur load form (aktifkan denfan double klik pada form)
Private Sub Supplier_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Ha
ndles MyBase.Load
panggil prosedur PanggilData
PanggilData()
ButtonSimpan.Enabled = False
ButtonHapus.Enabled = False
ButtonUpdate.Enabled = False
End Sub
Prosedur membuat datagridview memiliki warna Alternate
Sub GridBerwarna()
With Me.GridSupplier
.RowsDefaultCellStyle.BackColor = Color.BlanchedAlmond
.AlternatingRowsDefaultCellStyle.BackColor = Color.Azure
End With
End Sub
Prosedur panggildata
Sub PanggilData()
Dim Adapter As New SqlDataAdapter(select * from supplier, Module1.Koneksi)
Dim dt As New DataTable(Supplier)

Adapter.Fill(dt)
GridSupplier.DataSource = dt
Call GridBerwarna()
End Sub
Prosedur Form kosong (berfungsi untuk mengosongkan TetxBox dangan
pengaturan focus)
Sub FormKosong()
TextKode.Text =
TextNama.Text =
TextAlamat.Text =
TextTelepon.Text =
TextKontakPerson.Text =
TextEmail.Text =
TextKode.Focus()
End Sub
Prosedur mengaktifkan TextBox
Sub FormHidup()
TextKode.Enabled = True
TextNama.Enabled = True
TextAlamat.Enabled = True
TextTelepon.Enabled = True
TextKontakPerson.Enabled = True
TextEmail.Enabled = True
End Sub
Prosedure Mengatur Button dan Textbox
Sub FormNormal()
Call FormKosong()
ButtonTambah.Enabled = True
ButtonHapus.Enabled = False
ButtonSimpan.Enabled = False
ButtonKeluar.Text = &Keluar
End Sub
Prosedur untuk tambah data
Private Sub ButtonTambah_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArg
s) Handles ButtonTambah.Click
Call FormHidup()
Call FormKosong()
Call PanggilData()
ButtonSimpan.Enabled = True
ButtonTambah.Enabled = False
ButtonHapus.Enabled = False
ButtonUpdate.Enabled = False
ButtonKeluar.Text = &Normal
TextKode.Focus()

End Sub
Prosedur untuk simpan data
Private Sub ButtonSimpan_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArg
s) Handles ButtonSimpan.Click
Dim Sql As String = String.Empty
Cek Kode
Uji data apakah textKode tidak kosong
If TextKode.Text <> Then
Jika tidak kosong tambahkan data
Sql
= INSERT
INTO
Supplier(KodeSupplier,NamaSupplier,AlamatSupplier,Telepon,KontakPerson,email) _
& VALUES ( & TextKode.Text & , & TextNama.Text & , & TextAlamat.Text & , _
& TextTelepon.Text & , & TextKontakPerson.Text & , & TextEmail.Text & )
Periksa hati-hati tanda kutip untuk setiap variabel, salah ketik mengakibatkan
query anda tidak akan terbaca.
Persiapan execusi Query Insert
Dim command As New SqlCommand(Sql, Module1.Koneksi)
command.ExecuteNonQuery()
Module1.Koneksi.Close()
sampaikan pesan bahwa data telah tersimpan.
MessageBox.Show(Data dengan kode & TextKode.Text & Sudah disimpan,Simpan data
Sukses, MessageBoxButtons.OK, MessageBoxIcon.Information)
sampaikan juga pesan jika penyimpanan gagal.
Else
MessageBox.Show(Isikan
dulu
data, Simpan
Gagal,
MessageBoxButtons.OK,
MessageBoxIcon.Information)
TextKode.Focus()
End If
Panggil prosedur FormKosong dan prosedur panggil data.
Call FormKosong()
Call PanggilData()
End Sub
ini prosedur untuk mengganti tab jadi enter dan prosedur untuk mencari apakah
data pada text kode sudah pernah ada atau belum untuk menghindari redudansi
data.
Private Sub TextKode_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.Ke
yPressEventArgs) Handles TextKode.KeyPress
If e.KeyChar = Chr(Keys.Enter) Then
mengirim key tab
SendKeys.Send({tab})
End If
buat koneksi untuk pencarian data yang sudah ada
Dim Adapter As New SqlDataAdapter(SELECT * from Supplier where KodeSupplier = _
& TextKode.Text & , Module1.Koneksi)

Dim dt As New DataTable(Supplier)


Adapter.Fill(dt)
Jika data yang dicari ada
If dt.Rows.Count <> 0 Then
MessageBox.Show(Data dengan kode & TextKode.Text & Sudah ada, inputkan data
lain, Ditemukan data yang sama, MessageBoxButtons.OK, MessageBoxIcon.Information)
TextKode.Text =
End If
GridSupplier.DataSource = dt
End Sub
ini prosedur untuk mengganti tab jadi enter
Private Sub TextNama_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.K
eyPressEventArgs) Handles TextNama.KeyPress
tab to enter
If e.KeyChar = Chr(Keys.Enter) Then
mengirim key tab
SendKeys.Send({tab})
End If
End Sub
ini prosedur untuk mengganti tab jadi enter
Private Sub TextAlamat_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.
KeyPressEventArgs) Handles TextAlamat.KeyPress
tab to enter
If e.KeyChar = Chr(Keys.Enter) Then
mengirim key tab
SendKeys.Send({tab})
End If
End Sub
ini prosedur untuk mengganti tab jadi enter
Private Sub TextTelepon_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms
.KeyPressEventArgs) Handles TextTelepon.KeyPress
tab to enter
If e.KeyChar = Chr(Keys.Enter) Then
mengirim key tab
SendKeys.Send({tab})
End If
End Sub
ini prosedur untuk mengganti tab jadi enter
Private Sub TextKontakPerson_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.
Forms.KeyPressEventArgs) Handles TextKontakPerson.KeyPress
tab to enter
If e.KeyChar = Chr(Keys.Enter) Then
mengirim key tab
SendKeys.Send({tab})

End If
End Sub
ini prosedur untuk mengganti tab jadi enter
Private Sub TextEmail_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.K
eyPressEventArgs) Handles TextEmail.KeyPress
tab to enter
If e.KeyChar = Chr(Keys.Enter) Then
mengirim key tab
SendKeys.Send({tab})
End If
End Sub
prosedur untuk menghapus data
Private Sub ButtonHapus_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs
) Handles ButtonHapus.Click
If GridSupplier.CurrentRow.Index > -1 Then
Dim Sql As String = String.Empty
Sql = Delete from Supplier where KodeSupplier = & TextKode.Text &
Dim command As New SqlCommand(Sql, Module1.Koneksi)
command.ExecuteNonQuery()
Module1.Koneksi.Close()
MessageBox.Show(Data dengan kode & TextKode.Text & Sudah dihapus,Penghapusan
Sukses, MessageBoxButtons.OK, MessageBoxIcon.Information)
Call FormKosong()
Call PanggilData()
ButtonHapus.Enabled = False
ButtonUpdate.Enabled = False
Else
MessageBox.Show(Pilih dulu data yang akan dihapus, Tidak ada data yang akan dihapus,
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
prosedur untuk Update data
Private Sub ButtonUpdate_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArg
s) Handles ButtonUpdate.Click
Dim Sql As String = String.Empty
Cek Kode
Update
Sql = UPDATE Supplier SET KodeSupplier= & TextKode.Text & , _
& NamaSupplier= & TextNama.Text & ,AlamatSupplier = & TextAlamat.Text &, _
& Telepon= & TextTelepon.Text & ,KontakPerson = & TextKontakPerson.Text &, _
& email = & TextEmail.Text & WHERE kodeSupplier = & TextKode.Text &
Dim command As New SqlCommand(Sql, Module1.Koneksi)
command.ExecuteNonQuery()
Module1.Koneksi.Close()

MessageBox.Show(Data dengan kode & TextKode.Text & Sudah diupdate,Update data


Sukses, MessageBoxButtons.OK, MessageBoxIcon.Information)
Call FormKosong()
Call PanggilData()
ButtonHapus.Enabled = False
ButtonUpdate.Enabled = False
End Sub
Private Sub ButtonKeluar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs
) Handles ButtonKeluar.Click
If ButtonKeluar.Text = &Keluar Then
Me.Close()
Else
Call FormNormal()
End If
End Sub
prosedur untuk loading data ke dataqridview (refresh data, setelah dilakukan
query
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Han
dles Button1.Click
Call PanggilData()
End Sub
ini prosedur yang sangat berperan,karena prosedure ini akan membuat setiap
baris yang cel yang kita klik pada data grid view, maka isi dari setiap field akan
dikirim kedalam textbox, sehingga kita dapat melakukan manipulasi data.
Prosedure ini mirip dengan Binding manager, Insyallah akan kita bahas pada
artikel berikutnya.
Private Sub GridSupplier_CellClick(ByVal sender As Object, ByVal e AsSystem.Windows.Forms
.DataGridViewCellEventArgs) Handles GridSupplier.CellClick
Dim i As Integer
i = GridSupplier.CurrentRow.Index
TextKode.Text = GridSupplier.Item(0, i).Value
TextNama.Text = GridSupplier.Item(1, i).Value
TextAlamat.Text = GridSupplier.Item(2, i).Value
TextTelepon.Text = GridSupplier.Item(3, i).Value
TextKontakPerson.Text = GridSupplier.Item(4, i).Value
TextEmail.Text = GridSupplier.Item(5, i).Value
ButtonHapus.Enabled = True
ButtonUpdate.Enabled = True
End Sub
End Class

Anda mungkin juga menyukai