Membuat Program input dan edit data dengan VB.NET 2005 dan SQL Server 2005 (hampir 100% murni coding)

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 As System.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 As System.EventArgs) 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 As System.EventArgs) 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 As System.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 As System.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 As System.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 As System.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 As System.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 As System.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 As System.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 As System.EventArgs) 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 As System.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) 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 As System.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

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

Penghujung Juli 2008, Sarijadi, Bandung

10 pemikiran pada “Membuat Program input dan edit data dengan VB.NET 2005 dan SQL Server 2005 (hampir 100% murni coding)

  1. Bisa, InsyAllah dalam 2 hari ini saya siapkan source codenya dan bisa didownload, Oya.. ngomong-ngomong saya sudah tulis juga artikel serupa di http://programmingarea.blogspot.com, di blog itu aku coba pecah artikelnya jadi beberapa bagian dan baru di posting bagian I, biar nggak terlalu panjang untuk diposting. untuk bagian pertama aku tulis bagian proses tambah data aja dulu. dan bisa di download codenya dalam format ZIP tapi diketik dalam MS Word.

    terimakasih telah berkunjung keblog ku :
    jangan lupa kunjungi juga blogku yang lain
    http://programmingarea.blogspot.com dan http://aprijunaidi.blogspot.com
    salam

    apri

  2. gua ikutan dong mau nanya2 juga ya saya punya 2 tabel 1 database gimana si biar bisa joint tabelnya?????toloooooongin gue yeee thanks

  3. pak, klo ada error “type ‘sqldataAdapter’ is not defined” kira2 kenapa ya ?
    makasih, blog nya bagus banget mas…

  4. eh… udah bisa ding pak…
    salah naruh Imports System.Data.SqlClient nya 😀
    saya coba2 dulu ya
    dahsyat… saya lama banget cari pelajaran ginian
    makasih banyak pak….

  5. pak, klo ganti caption header di data gridview gmana carae y?
    trus supaya column nya auto resize juga.
    saya di kota kecil, cari buku programming susah banget
    jadi cuman punya internet sbg sumber
    makasih pak…

Tinggalkan Balasan ke danny Batalkan balasan