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) Handles 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.EventArgs) Handles Button Tambah.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.EventArgs) Handles ButtonS impan.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.KeyPressEventArgs ) 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.KeyPressEventArgs ) 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.KeyPressEventAr gs) 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.KeyPressEventAr gs) 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.KeyPressE ventArgs) 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.KeyPressEventArgs ) 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 ButtonHa pus.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.EventArgs) Handles ButtonU pdate.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 ButtonK eluar.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 AsSystem.EventArgs) Handles 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.DataGridViewCe llEventArgs) 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

Sampai disini dulu artikel tentang Program input dan edit data dengan VB.NET 2005 dan SQL Server 2005,

semoga menjadi ilmu yang bermanfaat. Saya sangat mengharapkan saran komentar anda, sehingga membuat ilmu pengetahuan berkembang, Salam programming @pri

Anda mungkin juga menyukai