program input

9
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 :

Upload: nana-gaara

Post on 30-Sep-2015

219 views

Category:

Documents


0 download

DESCRIPTION

program input

TRANSCRIPT

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 keVisual 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 programmingMari kita mulai saja.Siapkan sebuah database di SQL Server 2005, pada komputer saya servernya saya beri nama ISLAM, dengan nama database GUDANGUntuk server pembaca silahkan sesuaikan sendiri sesuai keinginan.Kita lanjutkanBuat 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 pilihAdd > Module.Secara default VB akan memberi nama Module1.berikut ini gambar Solution Explorer :

Pada jendela Code program Module1 masukkan kode berikut :ImportsSystem.Data.SqlClientModuleModule1PublicFunctionKoneksi()AsSqlConnectionDimConnAsNewSqlConnectionConn=NewSqlConnection(server=islam; database=gudang; user=sa;password=intan;)Conn.Open()ReturnConnEndFunctionEndModuleSekali 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 :TextKodeTextNamaTextAlamatTextTeleponTextKontakPersonTextEmail6 Buah Button, masing diberi nama :ButtonTambahButtonSimpanButtonHapusButtonUpdateButtunKeluarButtun1 (Loading data)1 Buah DatagridView dengan namaGridSupplier.Saatnya Coding,Setelah semua komponen tersusun dalam Form saat kita melakukan coding program.Pada Menu Bar, pilih menu ViewCodePada bagian atas ketikan kode berikut untuk meng-import Class Data SQL sehingga kita bisa melakukan koneksi ke database.ImportsSystem.Data.SqlClientSelanjutnya 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 ()PublicClassSupplier Siapkan variabel keneksiDimkoneksi = Module1.KoneksiProsedur load form (aktifkan denfan double klik pada form)PrivateSubSupplier_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load panggil prosedur PanggilDataPanggilData()ButtonSimpan.Enabled =FalseButtonHapus.Enabled =FalseButtonUpdate.Enabled =FalseEndSubProsedur membuat datagridviewmemiliki warna AlternateSubGridBerwarna()WithMe.GridSupplier.RowsDefaultCellStyle.BackColor = Color.BlanchedAlmond.AlternatingRowsDefaultCellStyle.BackColor = Color.AzureEndWithEndSub Prosedur panggildataSubPanggilData()DimAdapterAsNewSqlDataAdapter(select * from supplier, Module1.Koneksi)DimdtAsNewDataTable(Supplier)Adapter.Fill(dt)GridSupplier.DataSource = dtCallGridBerwarna()EndSubProsedur Form kosong (berfungsi untuk mengosongkan TetxBox dangan pengaturan focus)SubFormKosong()TextKode.Text =TextNama.Text =TextAlamat.Text =TextTelepon.Text =TextKontakPerson.Text =TextEmail.Text =TextKode.Focus()EndSubProsedur mengaktifkan TextBoxSubFormHidup()TextKode.Enabled =TrueTextNama.Enabled =TrueTextAlamat.Enabled =TrueTextTelepon.Enabled =TrueTextKontakPerson.Enabled =TrueTextEmail.Enabled =TrueEndSubProsedure Mengatur Button dan TextboxSubFormNormal()CallFormKosong()ButtonTambah.Enabled =TrueButtonHapus.Enabled =FalseButtonSimpan.Enabled =FalseButtonKeluar.Text =&KeluarEndSubProsedur untuk tambah dataPrivateSubButtonTambah_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonTambah.ClickCallFormHidup()CallFormKosong()CallPanggilData()ButtonSimpan.Enabled =TrueButtonTambah.Enabled =FalseButtonHapus.Enabled =FalseButtonUpdate.Enabled =FalseButtonKeluar.Text =&NormalTextKode.Focus()EndSubProsedur untuk simpan dataPrivateSubButtonSimpan_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonSimpan.ClickDimSqlAsString=String.EmptyCek KodeUji data apakah textKode tidak kosongIfTextKode.Text ThenJika tidak kosong tambahkan dataSql =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 InsertDimcommandAsNewSqlCommand(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.ElseMessageBox.Show(Isikan dulu data,Simpan Gagal, MessageBoxButtons.OK, MessageBoxIcon.Information)TextKode.Focus()EndIf Panggil prosedur FormKosong dan prosedur panggil data.CallFormKosong()CallPanggilData()EndSub 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.PrivateSubTextKode_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextKode.KeyPressIfe.KeyChar = Chr(Keys.Enter)Thenmengirim key tabSendKeys.Send({tab})EndIfbuat koneksi untuk pencarian data yang sudah adaDimAdapterAsNewSqlDataAdapter(SELECT * from Supplier where KodeSupplier =_& TextKode.Text &, Module1.Koneksi)DimdtAsNewDataTable(Supplier)Adapter.Fill(dt)Jika data yang dicari adaIfdt.Rows.Count 0ThenMessageBox.Show(Data dengan kode & TextKode.Text & Sudah ada, inputkan data lain,Ditemukan data yang sama, MessageBoxButtons.OK, MessageBoxIcon.Information)TextKode.Text = EndIfGridSupplier.DataSource = dtEndSub ini prosedur untuk mengganti tab jadi enterPrivateSubTextNama_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextNama.KeyPresstab to enterIfe.KeyChar = Chr(Keys.Enter)Thenmengirim key tabSendKeys.Send({tab})EndIfEndSub ini prosedur untuk mengganti tab jadi enterPrivateSubTextAlamat_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextAlamat.KeyPresstab to enterIfe.KeyChar = Chr(Keys.Enter)Thenmengirim key tabSendKeys.Send({tab})EndIfEndSub ini prosedur untuk mengganti tab jadi enterPrivateSubTextTelepon_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextTelepon.KeyPresstab to enterIfe.KeyChar = Chr(Keys.Enter)Thenmengirim key tabSendKeys.Send({tab})EndIfEndSub ini prosedur untuk mengganti tab jadi enterPrivateSubTextKontakPerson_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextKontakPerson.KeyPresstab to enterIfe.KeyChar = Chr(Keys.Enter)Thenmengirim key tabSendKeys.Send({tab})EndIfEndSub ini prosedur untuk mengganti tab jadi enterPrivateSubTextEmail_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextEmail.KeyPresstab to enterIfe.KeyChar = Chr(Keys.Enter)Thenmengirim key tabSendKeys.Send({tab})EndIfEndSubprosedur untuk menghapus dataPrivateSubButtonHapus_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonHapus.ClickIfGridSupplier.CurrentRow.Index > -1ThenDimSqlAsString=String.EmptySql =Delete from Supplier where KodeSupplier =& TextKode.Text &DimcommandAsNewSqlCommand(Sql, Module1.Koneksi)command.ExecuteNonQuery()Module1.Koneksi.Close()MessageBox.Show(Data dengan kode & TextKode.Text & Sudah dihapus,Penghapusan Sukses, MessageBoxButtons.OK, MessageBoxIcon.Information)CallFormKosong()CallPanggilData()ButtonHapus.Enabled =FalseButtonUpdate.Enabled =FalseElseMessageBox.Show(Pilih dulu data yang akan dihapus,Tidak ada data yang akan dihapus, MessageBoxButtons.OK, MessageBoxIcon.Information)EndIfEndSubprosedur untuk Update dataPrivateSubButtonUpdate_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonUpdate.ClickDimSqlAsString=String.EmptyCek KodeUpdateSql =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 &DimcommandAsNewSqlCommand(Sql, Module1.Koneksi)command.ExecuteNonQuery()Module1.Koneksi.Close()MessageBox.Show(Data dengan kode & TextKode.Text & Sudah diupdate,Update data Sukses, MessageBoxButtons.OK, MessageBoxIcon.Information)CallFormKosong()CallPanggilData()ButtonHapus.Enabled =FalseButtonUpdate.Enabled =FalseEndSubPrivateSubButtonKeluar_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonKeluar.ClickIfButtonKeluar.Text =&KeluarThenMe.Close()ElseCallFormNormal()EndIfEndSubprosedur untuk loading data ke dataqridview (refresh data, setelah dilakukan queryPrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickCallPanggilData()EndSubini 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.PrivateSubGridSupplier_CellClick(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.DataGridViewCellEventArgs)HandlesGridSupplier.CellClickDimiAsIntegeri = GridSupplier.CurrentRow.IndexTextKode.Text = GridSupplier.Item(0, i).ValueTextNama.Text = GridSupplier.Item(1, i).ValueTextAlamat.Text = GridSupplier.Item(2, i).ValueTextTelepon.Text = GridSupplier.Item(3, i).ValueTextKontakPerson.Text = GridSupplier.Item(4, i).ValueTextEmail.Text = GridSupplier.Item(5, i).ValueButtonHapus.Enabled =TrueButtonUpdate.Enabled =TrueEndSubEndClass