database vb net & sql

21
Database dengan SQL Server Compact Edition 7.1. Mendesain Database Yang dimaksud mendesain database adalah merancang suatu database yang akan digunakan dalam suatu aplikasi yang akan dibangun. Database itu sendiri secara umum adalah kumpulan dari beberapa tabel yang saling berelasi. Adapun database yang akan kita buat adalah Database Adventori Barang, maka desain tabel yang akan digunakan adalah sebagai berikut : Tabel Barang Nama Field Data Type Length Primery Key Kode_Brg* nvarchar 5 Yes Nama_Brg nvarchar 30 No Stok_Brg numeric 5 No Harga_Jual money 19 No 7.2. Membuat Database Setelah mendesain tabel, langkah selanjutnya adalah membuat database tersebut. Pada bab ini, pembuatan database menggunakan SQL Server Compact Edition yang dilakukan langsung dari Visual Studio 2008 . Langkah- langkahnya adalah sebagai berikut : 1.Buka project baru dengan template Windows Form Apllication dan beri nama Form Penjualan. 2. Klik menu Project > Add New Item...

Upload: amsi-ayanknya-titin-indriani

Post on 30-Jun-2015

937 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Database VB NET & SQL

Database dengan SQL Server Compact Edition

7.1. Mendesain Database

Yang dimaksud mendesain database adalah merancang suatu database yang akan

digunakan dalam suatu aplikasi yang akan dibangun. Database itu sendiri secara

umum adalah kumpulan dari beberapa tabel yang saling berelasi.

Adapun database yang akan kita buat adalah Database Adventori Barang, maka

desain tabel yang akan digunakan adalah sebagai berikut :

Tabel Barang

Nama Field Data Type Length Primery Key

Kode_Brg* nvarchar 5 Yes

Nama_Brg nvarchar 30 No

Stok_Brg numeric 5 No

Harga_Jual money 19 No

7.2. Membuat Database

Setelah mendesain tabel, langkah selanjutnya adalah membuat database tersebut.

Pada bab ini, pembuatan database menggunakan SQL Server Compact Edition yang

dilakukan langsung dari Visual Studio 2008 . Langkah-langkahnya adalah sebagai

berikut :

1. Buka project baru dengan template Windows Form Apllication dan beri nama

Form Penjualan.

2. Klik menu Project > Add New Item...

3. Pada jendela Add New Item, pilih Categories Data dan Templates Local Database,

dan beri nama “TokoArsia” pada kotak Name. Seperti tampilan gambar dibawah

(gambar 24).

4. Kemudian klik tombol Add.

Page 2: Database VB NET & SQL

Gambar 24. Jendela Add New Item

5. Pada jendela Data Source Configuration Wizard, isikan nama

“TokoArsiaDataSet” pada kotak DataSet name seperti tampilan gambar 25

dibawah ini.

6. Terakhir, klik tombol Finish.

Gambar 25. Jendela Data Source Configuration Wizard

7.3. Membuat Tabel Barang

Setelah database dibuat, dilanjutkan dengan membuat tabel dan menentukan kolom

pada setiap tabel seperti desain tabel yang kita buat sebelumnya. Caranya adalah :

1. Klik menu View > Server Explorer untuk menampilkan jendela Server Explorer

seperti gambar dibawah ini :

Page 3: Database VB NET & SQL

Gambar 26. Jendela Server Explorer

2. Pada jendela Server Explorer, klik kanan pada Tables, dan klik Create Tables

untuk membuka jendela New Table.

3. Isi nama tabel pada Kotak Name menjadi TabelBarang dan isi field-field yang

dibutuhkan pada kolom Column Name, type data pada Data Type, dan panjang

karakter di kolom Length. Jangan lupa mengunci Kode_Brg dengan mengubah

Primary menjadi Yes agar kode yang dimasukkan tidak ganda / tidak sama,

kemudian klik tombol OK.

Gambar 27. Jendela New Table untuk TabelBarang

7.4. Mengkonfigurasi Data Source

Buka Jendela Data Source dengan cara klik menu Data > Show Data Sources.

Perhatikan pada panel Data Sources DataSet ‘TokoArsiaDataSet’ yang terbentuk,

belum mendeteksi penambahan tabel barang pada database, sehingga tidak dapat

mengakses data tabel ‘barang’.

Untuk menambahkan Tabel Barang yang telah dibuat sebelumnya, ikuti langkah-

langkah berikut :

1. Klik kanan pada TokoArsiaDataSet > Configure DataSet with Wizard.

Page 4: Database VB NET & SQL

Gambar 28. Jendela Data Source Configuration Wizard

2. Pada jendela Data Source Configuration Wizard, centang semua objek database

yang tersedia, termasuk field-field pada tabel barang.

3. Kemudian klik tombol Finish dan hasil konfigurasi data source akan terlihat seperti

gambar berikut :

Gambar 29. Hasil Konfigurasi DataSource TokoArsiaDataSet

Setelah berhasil mengkonfigurasi, disamping tab Form Design akan muncul file

TokoArsiaDataSet yang berekstensi *.xsd. Dan akan terlihat desain DataSet yang

menampilkan TableAdapterManager seperti gambar berikut :

Gambar 30. File TokoArsiaDataSet.xsd

Page 5: Database VB NET & SQL

Gambar 31. Jendela Properties DataAdapter

7.5. Mendesain Antarmuka Aplikasi

Langkah selanjutnya adalah mendesain antarmuka jendela aplikasi untuk mengelola

data pada tabel barang. Untuk lebih jelas lagi ikuti langkah-langkah berikut :

Mendesain Form Tampil

Form Pertama yang dibuat adalah Form Tampil yang digunakan untuk menampilkan

data dalam tabel barang.

1. Bukalah Form baru dan beri nama “FormTampil.vb”.

2. Tambahkan dan atur properties tiap komponennya pada FormTampil seperti berikut

:

Komponen Properties

Form1 (Name) : FormTampil, (Text) : Tabel Data

Barang

DataSet (Name) : dataSetTampilBarang

(DataSetName) : TokoArsiaDataSet

BindingSource (Name) : bsTampilBarang

(Data Source) : dataSetTampilBarang(Data Member) : TabelBarang

TableAdapter (Name) : TableAdapterTampilBarang

Panel1 (Name) : Panel1

Panel2 (Name) : Panel2, (BorderStyle) : Fixed3D

Binding Navigator1

(Name) : bnTampilBarang(Dock) : Bottom, (GripStyle) : Hidden

(BindingSource) : bsTampilBarang(Text) : Navigasi Data Tabel Barang

Label1 (Name) : Judul, (Text Align) : MiddleCenter

Page 6: Database VB NET & SQL

(Text) : .:: DATA TABEL BARANG ::.

DataGridView(Name) : gridDataBarang

(BindingSource) : bsTampilBarang

TextBox1 (Name) : TxtCari

ComboBox1(Name) : CmbCari, (Text) : Kolom(Items) : Kode, Nama, Stok, Harga

Button1 (Name) : BtnCari, (Text) : Cari

Button2 (Name) : BtnShow, (Text) : Show All

Button3 (Name) : BtnTambah, (Text) : Tambah

Button4 (Name) : BtnUbah, (Text) : Ubah

Button5 (Name) : BtnHapus, (Text) : Hapus

Button6 (Name) : BtnTutup, (Text) : Tutup

3. Atur komponen tersebut pada jendela FormTampil seperti gambar 31 berikut ini :

Gambar 32. Desain Form Tampil

Konfigurasi Kontrol GridData View

GridDataView digunakan untuk menampilkan data dalam bentuk tabel, komponen ini

harus dihubungkan dengan BindingSource.

1. Klik menu DataGridView Tasks pada GridDataView, pilih properti Choose Data

Source : bsTampilBarang.

Page 7: Database VB NET & SQL

Gambar 33. Menu DataGridView Tasks

2. Kemudian klik Edit Columns untuk menambahkan header.

3. Pada jendela Edit Columns, atur properti header Text dan ukuran masing-masing

kolom, seperti gambar berikut :

Gambar 34. Jendela Edit Columns

Membuat TabelAdapter

Langkah selanjutnya adalah membuat tabel Adapter yang digunakan untuk

memasukkan, mengubah, menampilkan dan menghapus data.

1. Buka file TokoArsiaDataSet.xsd melalui jendela Solution Explorer.

Page 8: Database VB NET & SQL

Gambar 35. Desain File TokoArsiaDataSet.xsd

2. Terlihat pada TableBarangTableAdapter ada sebuah perintah SQL Fill,GetData ().

3. Pilih Query pada Jendela Toolbox DataSet, dan drag ke dalam area Table Adapter

sehingga muncul jendela TableAdapter Query Configuration Wizard.

4. Klik tombol Next untuk memilih type query yang digunakan.

Gambar 36. Jendela Toolbox DataSet

Gambar 37. Jendela TableAdapter Query Configuration Wizard

Page 9: Database VB NET & SQL

Gambar 38. Jendela Choose a Query Type

5. Pada jendela Choose a Query Type, pilih radio button “SELECT which return

rows”. Selanjutnya klik tombol Next.

Gambar 39. Jendela Specify a SQL SELECT statement

6. Pada jendela Specify a SQL SELECT statement akan tampil perintah SQL seperti

gambar diatas. Klik tombol Query Builder.

7. Pada jendela Query Builder, tuliskan perintah SQL sebagai berikut :

SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_Jual

FROM TabelBarang

Page 10: Database VB NET & SQL

WHERE Kode_Brg LIKE ?

8. Setelah itu klik Execute Query dan otomatis tanda ‘?’ akan berubah menjadi

@param1.

9. Masukkan nilai “sb001” pada kotak Query Parameter yang muncul. Selanjutnya

klik tombol OK.

10. Klik tombol OK lagi pada Query Builder dan perhatikan statement SQL berubah

seperti dibawah ini :

Gambar 40. Jendela Query Builder

SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE (Kode_Brg LIKE @Param1)

Page 11: Database VB NET & SQL

Gambar 41. Jendela Query Parameter

11. Klik tombol Next untuk melanjutkan pembuatan TabelAdapter.

12. Pada Jendela Choose Method to Generate, isikan Method Name pada Fill a

DataTable dengan “FillByKode” dan Methode Name pada Return a Data Table

dengan “GetDataByKode”, kemudial Klik tombol Next.

13. Akan muncul jendela informasi pembuatan statemen SQL dan method Fill dan

GetData. Klik tombol Finish untuk mengakhiri pembuatan TableAdapter.

Gambar 42. Jendela Choose Methods to Generate

Page 12: Database VB NET & SQL

Gambar 43. Jendela Wizard Results

Hasil yang terlihat pada TabelBarangTabelAdapter adalah seperti gambar berikut ini :

Gambar 44. TabelAdapter untuk Kode

Dengan cara yang sama pada langkah-langkah diatas, buatlah statemen TableAdapter

sebagai berikut :

Nama Method/Fungsi

Statemen

FillByNamaGetDataByNama

SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE Nama_Brg LIKE ?

FillByStokGetDataByStok

SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE Stok_Brg LIKE ?

Page 13: Database VB NET & SQL

FillByHargaGetDataByHarga

SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE Harga_Jual LIKE ?

FillByAllKolomGetData

ByAllKolom

SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE (Kode_Brg LIKE @ParamString) OR (Nama_Brg LIKE @ParamString) OR (Stok_Brg LIKE @ParamDecimal) OR (Harga_Jual LIKE @ParamDecimal)

Update TabelBarang

UPDATE TabelBarangSET Nama_Brg=@p2, Stok_Brg=@p3, Harga_Jual=@p4WHERE (Kode_Brg=@p1)

Validasi KodeGetDataKode

SELECT Kode_BrgFROM TabelBarangWHERE (Kode_Brg LIKE @valid)

Hasil dati TabelAdapter adalah sebagai berikut :

Gambar 45. Hasil Akhir pembuatan TabelAdapter

Mendesain Form Operasi

Terakhir membuat Form Operasi yang berfungsi untuk menginput, mengubah¸dan

menampilkan data saat melakukan penghapusan data.

1. Tambahkan Form baru ke dalam Project.

Page 14: Database VB NET & SQL

2. Atur komponen sebagai berikut :

Komponen Properties

Form1 (Name) : FormOperasi, (Text) : Input Data

Barang

GroupBox1 (Name) : GrupData, (Text) : Data Barang

(Tab Index) : 1

Label1 (Name) : lblKode, (Text) : Kode Barang

Label2 (Name) : lblNama, (Text) : Nama Barang

Label3 (Name) : lblStok, (Text) : Stok Barang

Label4 (Name) : lblHarga, (Text) : Harga Jual

Label5 (Name) : lblRp, (Text) : Rp.

MaskedTextBox1 (Name) : KodeBarang, (ASCII Only) : True

(Mask) : ??000, (Prompt Char) : -spasi-(Tab Index) : 1

TextBox1 (Name) : NamaBarang, (Tab Index) : 2

MaskedTextBox2 (Name) : StokBarang, (Mask) : 000,

(Prompt Char) : -spasi-, (Tab Index) : 3

MaskedTextBox3 (Name) : HargaBarang, (Mask) : 00000000,

(Prompt Char) : -spasi-, (Tab Index) : 4

Button1 (Name) : BtnSimpan, (Text) : Simpan

(Tab Index) : 5

Button2 (Name) : BtnHapus, (Text) : Hapus

(Tab Index) : 6

Button3 (Name) : BtnTutup, (Text) : Tutup

(Tab Index) : 7

DataSet (Name) : dataSetInputBarang

(DataSetName) : TokoArsiaDataSet

BindingSource (Name) : bsInputBarang

(DataSetName) : dataSetInputBarang(DataMember) : TabelBarang

TableAdapter (Name) : InputBarangTableAdapter

Page 15: Database VB NET & SQL

Gambar 46. Desain Form Operasi

7.6. Script Form Tampil

Klik ganda pada Form Tampil, dan tuliskan Script berikut ini :

Public Class FormTampil

Friend simpan As Boolean

Private Sub FormTampil_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.TabelBarangTableAdapter.Fill(Me.dataSetTampilBarang.TabelBarang)

End Sub

Private Sub BtnTutup_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnTutup.Click

Me.Dispose()End Sub

Private Sub BtnShow_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnShow.Click

Me.TabelBarangTableAdapter.Fill(Me.dataSetTampilBarang.TabelBarang)End Sub

Private Sub BtnTambah_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnTambah.Click

simpan = TrueMe.Enabled = FalseFormOperasi.Show()

End Sub

Private Sub BtnHapus_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnHapus.Click

isiKomponenInput()simpan = FalseFormOperasi.Text = "Menghapus Data Tabel Barang"FormOperasi.KodeBarang.ReadOnly = TrueFormOperasi.NamaBarang.ReadOnly = TrueFormOperasi.StokBarang.ReadOnly = TrueFormOperasi.HargaJual.ReadOnly = TrueFormOperasi.BtnHapus.Visible = TrueFormOperasi.BtnSimpan.Visible = False

Page 16: Database VB NET & SQL

Me.Enabled = FalseFormOperasi.Show()FormOperasi.BtnHapus.Focus()

End Sub

Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click

simpan = FalseisiKomponenInput()FormOperasi.Text = "Mengubah Data Tabel Barang"FormOperasi.KodeBarang.Enabled = FalseMe.Enabled = FalseFormOperasi.Show()

End Sub

Private Sub isiKomponenInput()Dim dataKode As New System.Windows.Forms.Binding("text", Me.bsTampilBarang, "Kode_Brg", True)Dim dataNama As New System.Windows.Forms.Binding("text", Me.bsTampilBarang, "Nama_Brg", True)Dim dataStok As New System.Windows.Forms.Binding("text", Me.bsTampilBarang, "Stok_Brg", True)Dim dataHarga As New System.Windows.Forms.Binding("text", Me.bsTampilBarang, "Harga_Jual", True)FormOperasi.KodeBarang.DataBindings.Add(dataKode)FormOperasi.NamaBarang.DataBindings.Add(dataNama)FormOperasi.StokBarang.DataBindings.Add(dataStok)FormOperasi.HargaJual.DataBindings.Add(dataHarga)

End Sub

Private Sub BtnCari_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnCari.Click

On Error Resume NextDim cari = TxtCari.TextDim kolom = CmbCari.Text

If (Equals("Kode", kolom)) ThenMe.TabelBarangTableAdapter.FillByKode(dataSetTampilBarang.TabelBarang, cari)

ElseIf (Equals("Nama", kolom)) ThenMe.TabelBarangTableAdapter.FillByNama(dataSetTampilBarang.TabelBarang, cari)

ElseIf (Equals("Stok", kolom)) ThenMe.TabelBarangTableAdapter.FillByStok(dataSetTampilBarang.TabelBarang, cari)

ElseIf (Equals("Harga", kolom)) ThenMe.TabelBarangTableAdapter.FillByHarga(dataSetTampilBarang.TabelBarang, cari)

ElseIf (Equals("Semua", kolom)) ThenMe.TabelBarangTableAdapter.FillByAllKolom(dataSetTampilBarang.TabelBarang, cari, Val(cari))

ElseIf (Me.CmbCari.Text = "Kolom") ThenMsgBox("Pilih kolom pencarian")

End If

Dim byk As Integerbyk = Me.dataSetTampilBarang.TabelBarang.Rows.Count

If (byk <= 0) Then

Page 17: Database VB NET & SQL

MsgBox("Data tidak ditemukan",MsgBoxStyle.Information, "Hasil Cari")

ElseMsgBox("Data [" & Me.TxtCari.Text & "] ditemukan [" & byk.ToString & "]buah", MsgBoxStyle.Information, "Cari")

End If

Me.TxtCari.Text = ""Me.CmbCari.Text = "Kolom"Me.BtnCari.Enabled = False

End Sub

Private Sub CmbCari_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CmbCari.SelectedIndexChanged

If (Me.TxtCari.Text <> "") ThenBtnCari.Enabled = True

End IfEnd Sub

End Class

7.7. Script Form Operasi

Klik ganda pada Form Tampil, dan tuliskan Script berikut ini :

Public Class FormOperasiDim n1, n2 As StringDim n3, n4 As Double

Private Sub kosong()Me.KodeBarang.Text = ""Me.NamaBarang.Text = ""Me.StokBarang.Text = 0Me.HargaJual.Text = 0

End Sub

Private Sub FormOperasi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.InputBarangTableAdapter.Fill(Me.dataSetInputBarang.TabelBarang)End Sub

Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click

n1 = Me.KodeBarang.Textn2 = Me.NamaBarang.Textn3 = Val(Me.StokBarang.Text)n4 = Val(Me.HargaJual.Text)

Dim pesan As Object

If (FormTampil.simpan = True) ThenDim isi As IntegerInputBarangTableAdapter.ValidasiKode(dataSetInputBarang.TabelBarang, n1)isi = dataSetInputBarang.TabelBarang.Rows.Count

If (isi <= 0) ThenFormTampil.TabelBarangTableAdapter.Insert(n1, n2, n3, n4)

ElseMsgBox("Kode sudah ada", MsgBoxStyle.Critical, "Error kode")Me.KodeBarang.Text = ""Me.KodeBarang.Focus()

End Ifpesan = "Data telah disimpan"

Page 18: Database VB NET & SQL

Elsepesan = "Data" & Me.KodeBarang.Text & "telah diubah"

End If

MsgBox(pesan, MsgBoxStyle.Information, "Simpan")FormTampil.TabelBarangTableAdapter.ClearBeforeFill = TrueFormTampil.TabelBarangTableAdapter.Fill(FormTampil.dataSetTampilBarang.TabelBarang)FormTampil.gridDataBarang.Refresh()FormTampil.Enabled = TrueMe.Dispose()

End Sub

Private Sub BtnTutup_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnTutup.Click

FormTampil.Enabled = TrueMe.Dispose()

End Sub

Private Sub BtnHapus_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnHapus.Click

n1 = Me.KodeBarang.TextFormTampil.TabelBarangTableAdapter.Delete(n1)MsgBox("Data telah dihapus", MsgBoxStyle.Information, "Hapus")FormTampil.TabelBarangTableAdapter.ClearBeforeFill = TrueFormTampil.TabelBarangTableAdapter.Fill(FormTampil.dataSetTampilBarang.TabelBarang)FormTampil.gridDataBarang.Refresh()Me.BtnHapus.Visible = FalseMe.BtnSimpan.Visible = TrueFormTampil.Enabled = TrueMe.Dispose()

End Sub

Private Sub KodeBarang_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles KodeBarang.LostFocus

Dim isi As IntegerInputBarangTableAdapter.ValidasiKode(dataSetInputBarang.TabelBarang, Me.KodeBarang.Text)isi = dataSetInputBarang.TabelBarang.Rows.Count

If (Equals(Me.KodeBarang.Text, "")) ThenMsgBox("Tolong isikan Kode Barang", MsgBoxStyle.Exclamation, "Kode Kosong")Me.KodeBarang.Text = ""Me.KodeBarang.Focus()

ElseIf (isi >= 1 And FormTampil.simpan = True) ThenMsgBox("Kode sudah ada", MsgBoxStyle.Exclamation, "Error Kode")Me.KodeBarang.Text = ""Me.KodeBarang.Focus()

End IfEnd Sub

Private Sub NamaBarang_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles NamaBarang.GotFocus

'Membuat Kode menjadi huruf besarMe.KodeBarang.Text = Me.KodeBarang.Text.ToUpper()

End Sub

End Class

Page 19: Database VB NET & SQL

Gambar 47. Hasil Akhir Aplikasi Adventori Barang