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.
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 :
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.
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 [Link]
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 “[Link]”.
2. Tambahkan dan atur properties tiap komponennya pada FormTampil seperti berikut :
Komponen Properties
Form1 (Name) : FormTampil, (Text) : Tabel Data Barang
(Name) : dataSetTampilBarang
DataSet
(DataSetName) : TokoArsiaDataSet
(Name) : bsTampilBarang
BindingSource (Data Source) : dataSetTampilBarang
(Data Member) : TabelBarang
TableAdapter (Name) : TableAdapterTampilBarang
Panel1 (Name) : Panel1
Panel2 (Name) : Panel2, (BorderStyle) : Fixed3D
(Name) : bnTampilBarang
(Dock) : Bottom, (GripStyle) : Hidden
Binding Navigator1
(BindingSource) : bsTampilBarang
(Text) : Navigasi Data Tabel Barang
(Name) : Judul, (Text Align) : MiddleCenter
Label1
(Text) : .:: DATA TABEL BARANG ::.
DataGridView (Name) : gridDataBarang
(BindingSource) : bsTampilBarang
TextBox1 (Name) : TxtCari
(Name) : CmbCari, (Text) : Kolom
ComboBox1
(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.
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 [Link] melalui jendela Solution Explorer.
Gambar 35. Desain File [Link]
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
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
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 :
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_Jual
FROM TabelBarang
WHERE (Kode_Brg LIKE @Param1)
Gambar 40. Jendela Query Builder
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
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
Statemen
Method/Fungsi
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_Jual
FillByNama
FROM TabelBarang
GetDataByNama
WHERE Nama_Brg LIKE ?
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_Jual
FillByStok
FROM TabelBarang
GetDataByStok
WHERE Stok_Brg LIKE ?
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_Jual
FillByHarga
FROM TabelBarang
GetDataByHarga
WHERE Harga_Jual LIKE ?
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_Jual
FROM TabelBarang
FillByAllKolom
WHERE (Kode_Brg LIKE @ParamString) OR
GetDataByAllKolo
(Nama_Brg LIKE @ParamString) OR
m
(Stok_Brg LIKE @ParamDecimal) OR
(Harga_Jual LIKE @ParamDecimal)
UPDATE TabelBarang
Update
SET Nama_Brg=@p2, Stok_Brg=@p3, Harga_Jual=@p4
TabelBarang
WHERE (Kode_Brg=@p1)
SELECT Kode_Brg
Validasi Kode
FROM TabelBarang
GetDataKode
WHERE (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.
2. Atur komponen sebagai berikut :
Komponen Properties
Form1 (Name) : FormOperasi, (Text) : Input Data Barang
(Name) : GrupData, (Text) : Data Barang
GroupBox1
(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.
(Name) : KodeBarang, (ASCII Only) : True
MaskedTextBox1 (Mask) : ??000, (Prompt Char) : -spasi-
(Tab Index) : 1
TextBox1 (Name) : NamaBarang, (Tab Index) : 2
(Name) : StokBarang, (Mask) : 000,
MaskedTextBox2
(Prompt Char) : -spasi-, (Tab Index) : 3
(Name) : HargaBarang, (Mask) : 00000000,
MaskedTextBox3
(Prompt Char) : -spasi-, (Tab Index) : 4
(Name) : BtnSimpan, (Text) : Simpan
Button1
(Tab Index) : 5
(Name) : BtnHapus, (Text) : Hapus
Button2
(Tab Index) : 6
(Name) : BtnTutup, (Text) : Tutup
Button3
(Tab Index) : 7
(Name) : dataSetInputBarang
DataSet
(DataSetName) : TokoArsiaDataSet
(Name) : bsInputBarang
BindingSource (DataSetName) : dataSetInputBarang
(DataMember) : TabelBarang
TableAdapter (Name) : InputBarangTableAdapter
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 [Link], ByVal e As
[Link]) Handles [Link]
[Link]([Link])
End Sub
Private Sub BtnTutup_Click(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
[Link]()
End Sub
Private Sub BtnShow_Click(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
[Link]([Link])
End Sub
Private Sub BtnTambah_Click(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
simpan = True
[Link] = False
[Link]()
End Sub
Private Sub BtnHapus_Click(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
isiKomponenInput()
simpan = False
[Link] = "Menghapus Data Tabel Barang"
[Link] = True
[Link] = True
[Link] = True
[Link] = True
[Link] = True
[Link] = False
[Link] = False
[Link]()
[Link]()
End Sub
Private Sub BtnUbah_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
simpan = False
isiKomponenInput()
[Link] = "Mengubah Data Tabel Barang"
[Link] = False
[Link] = False
[Link]()
End Sub
Private Sub isiKomponenInput()
Dim dataKode As New [Link]("text",
[Link], "Kode_Brg", True)
Dim dataNama As New [Link]("text",
[Link], "Nama_Brg", True)
Dim dataStok As New [Link]("text",
[Link], "Stok_Brg", True)
Dim dataHarga As New [Link]("text",
[Link], "Harga_Jual", True)
[Link](dataKode)
[Link](dataNama)
[Link](dataStok)
[Link](dataHarga)
End Sub
Private Sub BtnCari_Click(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
On Error Resume Next
Dim cari = [Link]
Dim kolom = [Link]
If (Equals("Kode", kolom)) Then
[Link]([Link]
, cari)
ElseIf (Equals("Nama", kolom)) Then
[Link]([Link]
, cari)
ElseIf (Equals("Stok", kolom)) Then
[Link]([Link]
, cari)
ElseIf (Equals("Harga", kolom)) Then
[Link]([Link]
g, cari)
ElseIf (Equals("Semua", kolom)) Then
[Link]([Link]
rang, cari, Val(cari))
ElseIf ([Link] = "Kolom") Then
MsgBox("Pilih kolom pencarian")
End If
Dim byk As Integer
byk = [Link]
If (byk <= 0) Then
MsgBox("Data tidak ditemukan",
[Link], "Hasil Cari")
Else
MsgBox("Data [" & [Link] & "] ditemukan [" & [Link] &
"]buah", [Link], "Cari")
End If
[Link] = ""
[Link] = "Kolom"
[Link] = False
End Sub
Private Sub CmbCari_SelectedIndexChanged(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
If ([Link] <> "") Then
[Link] = True
End If
End Sub
End Class
7.7. Script Form Operasi
Klik ganda pada Form Tampil, dan tuliskan Script berikut ini :
Public Class FormOperasi
Dim n1, n2 As String
Dim n3, n4 As Double
Private Sub kosong()
[Link] = ""
[Link] = ""
[Link] = 0
[Link] = 0
End Sub
Private Sub FormOperasi_Load(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
[Link]([Link])
End Sub
Private Sub BtnSimpan_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
n1 = [Link]
n2 = [Link]
n3 = Val([Link])
n4 = Val([Link])
Dim pesan As Object
If ([Link] = True) Then
Dim isi As Integer
[Link]([Link]
g, n1)
isi = [Link]
If (isi <= 0) Then
[Link](n1, n2, n3, n4)
Else
MsgBox("Kode sudah ada", [Link], "Error kode")
[Link] = ""
[Link]()
End If
pesan = "Data telah disimpan"
Else
pesan = "Data" & [Link] & "telah diubah"
End If
MsgBox(pesan, [Link], "Simpan")
[Link] = True
[Link]([Link].
TabelBarang)
[Link]()
[Link] = True
[Link]()
End Sub
Private Sub BtnTutup_Click(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
[Link] = True
[Link]()
End Sub
Private Sub BtnHapus_Click(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
n1 = [Link]
[Link](n1)
MsgBox("Data telah dihapus", [Link], "Hapus")
[Link] = True
[Link]([Link].
TabelBarang)
[Link]()
[Link] = False
[Link] = True
[Link] = True
[Link]()
End Sub
Private Sub KodeBarang_LostFocus(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
Dim isi As Integer
[Link]([Link],
[Link])
isi = [Link]
If (Equals([Link], "")) Then
MsgBox("Tolong isikan Kode Barang", [Link], "Kode
Kosong")
[Link] = ""
[Link]()
ElseIf (isi >= 1 And [Link] = True) Then
MsgBox("Kode sudah ada", [Link], "Error Kode")
[Link] = ""
[Link]()
End If
End Sub
Private Sub NamaBarang_GotFocus(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
'Membuat Kode menjadi huruf besar
[Link] = [Link]()
End Sub
End Class
Gambar 47. Hasil Akhir Aplikasi Adventori Barang