Membuat Database VB 2008

download Membuat Database VB 2008

of 36

Transcript of Membuat Database VB 2008

[Tutorial] Membuat Aplikasi Dengan Visual Basic .NET 2008 - 1

100digg

Share

Visual basic merupakan bahasa yang paling mudah untuk dipahami, dikarenakan bahasanya yang sederhana dan hampir mendekati bahasa yang digunakan manusia sehari-hari. Aplikasi yang akan dibuat adalah contoh aplikasi penjualan barang sederhana... (sangat sederhana). Dalam pembahasan kali ini, saya akan mencoba menjelaskan langkah-langkah dalam proses pembuatan suatu aplikasi menggunakan Visual Basic .NET 2008 dengan asumsi bahwa Anda telah sedikit memahami dan mengerti tentang apa itu Visual Basic beserta IDE yang akan digunakan (Visual Studio) termasuk syntax-syntax sederhana dalam pembuatan aplikasi menggunakan VB. Semuanya akan dibuat dengan cepat dan ringkas.... hmmm... Anda mungkin tidak percaya, pembuatan aplikasi penjualan ini hanya dikerjakan dalam waktu kurang dari satu hari...yups, 1 hari.. Tetapi itu belum dihitung dengan trial and error testnya.. hehe.. Untuk membuat suatu program yang profesional, waktu setahun atau dua tahun belum mencukupi. ;) Bahan-bahan: 1. Visual Studio Professional 2008 / Visual Basic.net Express Edition 2. MS SQL Server 2005 Express Edition

1. Membuat proyek baru Buka Visual Studio 2008 dan buat sebuah proyek baru dengan menggunakan menu File > New Project..

Pilih "Windows Forms Application" dengan target Framework 3.5 dan berikan nama "CTHAplikasi1" kemudian klik OK.

2. Menambah Database Langkah berikutnya adalah kita akan menambahkan database dan coba menentukan tabel-tabel apa saja yang terdapat dalam database untuk aplikasi ini. Untuk tutorial pertama ini kita akan memulai dengan membuat 2 tabel yang terdiri dari : "Barang" dan "Kategori". Pastikan SQL Express telah dijalankan. Masih di IDE VS (Visual Studio) klik menu Project > Add New Item.. Dalam tampilan dialog Add New Item, pilih "Service Based Database" dan masukkan nama "Database1.mdf". Kemudian klik tombol "Add". Lihat gambar:

Akan muncul kotak dialog "Datasource Configuration Wizard". Klik Finish. Jika semuanya telah dilakukan dengan benar, maka tampilan dalam Solution Explorer akan tampak seperti ini :

3. Menambah Tabel ke dalam Database Klik menu View > Server Explorer untuk menampilkan Server Explorer.

Database yang baru dibuat tadi akan tampil dalam Server Explorer, dalam tutorial ini "Database1.mdf", jika terdapat tanda silang merah di database kita, klik kanan dan pilih refresh untuk membuka koneksi ke database. Lihat gambar:

Klik tanda plus (+) kemudian klik kanan di bagian "Tables" dan pilih "Add New table".

Akan muncul tampilan isian tabel. Isikan seperti gambar di bawah ini.

Jadikan "KDKategori" sebagai primary key dengan mengklik kanan baris "KDKategori" dan memilih "Set Primary Key".

Simpan tabel tersebut dengan nama "kategori" (tanpa tanda kutip). Masih dalam tabel kategori, di tab Column Properties, pada bagianIdentity Specification > nilai (Is Identity) di ubah menjadi "Yes" denganIdentity Increment sebanyak 1.

Hal di atas dilakukan untuk memberikan Increment Value terhadap KDKategori dengan nilai Increment=1. Atau dengan kata lain, memberikan "Auto Number" terhadap KDKategori. :D Pembuatan tabel kategori selesai.... ;)

Lakukan hal yang sama dengan tabel barang, dengan isian seperti gambar di bawah:

Jika kedua tabel telah selesai dibuat, maka tampilan dalam Server Explorer akan menjadi seperti gambar di bawah:

4. Membuat Diagram Relasi Selanjutnya kita akan membuat relasi antar tabel. Klik kanan Database Diagrams dalam Server Explorer dan pilih Add New Diagram. Akan muncul kotak dialog konfirmasi, pilih Yes. Setelah tombol Yes diklik, akan muncul kotak dialog "Add table". Tentukan tabel-tabel apa saja yang ingin dimasukkan ke dalam relasi. Dalam hal ini, masukkan tabel kategori dan tabel barang kemudian klik Close. Tampilan tab diagram akan menjadi seperti gambar di bawah ini :

Klik dan tahan kolom KDKategori dari tabel kategori dan geser ke kolom KDKategori dalam tabel barang untuk membuat keduanya berelasi.

Akan muncul kotak konfirmasi, untuk memastikan kolom yang dimaksudkan sesuai dengan yang kita inginkan. Klik OK, maka akan tampil kotak dialog Foreign Key Relationship. Pada bagian INSERT And UPDATE Specification, ubah nilai Delete Ruledan Update Rule menjadi Cascade :

Maksud dari Cascade dalam Delete Rule di atas adalah, setiap baris yang terdapat dalam relasi dengan pengaturan Cascade akan ikut terhapus bila tabel yang memiliki primary key dari relasi tersebut dihapus. Demikian juga dengan aturan Update Rule = Cascade. Setelah tombol OK diklik, maka tampilan diagram relasinya menjadi :

Simpan diagram di atas dengan nama Diagram1.

5. Menambahkan LINQ to SQL Classes (Apa itu LINQ? = belum dibahas). Berikutnya kita akan menambahkan LINQ to SQL Classes (LINQ = Language-Integrated Query). Klik Project > Add New Item.. kemudian pilih LINQ to SQL Classes dan beri nama DataClasses1.dbml kemudian klik Add.

Tab Object Relational Designer dari DataClasses1.dbml akan langsung terbuka. Masih dalam tab Object Relational Designer, buka Server Explorer dan geser kedua tabel yang barusan kita buat tadi ke dalam area Object Relational Designer, sehingga menjadi seperti gambar di bawah ini:

Klik Save untuk menyimpannya. Simpan proyek kita dan tutup Visual Studio.

[Tutorial] Membuat Aplikasi Dengan Visual Basic .NET 2008 - 2

21

Share

0digg Melanjutkan artikel kemarin, sebelum kita lanjutkan pembuatan aplikasi ini, ada baiknya kita berkenalan sedikit dengan LINQ. Apa itu LINQ? LINQ (Language Integrated Query), merupakan suatu bahasa yang digunakan untuk melakukan query terhadap suatu sumber data (-sederhananya-). LINQ terdiri dari beberapa pernyataan (statement) yang bisa diterapkan ke dalam program kita untuk memilih item dari beberapa koleksi (collection) berdasarkan kriteria yang berbeda.Contoh struktur LINQ dan aturannya dalam aplikasi. Coba kita lihat daftar array di bawah ini:view plaincopy to clipboardprint?

1. Dim data() As Int16 = {3, 2, 5, 4, 6, 4, 12, 43, 45, 42, 65}

Untuk menentukan elemen dari array tersebut, kita akan menggunakan looping For..Next, mengeksekusi tiap elemen array, dan nantinya bisa menyimpannya ke dalam array baru atau menghapusnya. Untuk memilih elemen dengan nilai yang lebih kecil dari 10, kita gunakan kode di bawah ini:

view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6. 7. 8. 9.

Dim nilaiKecil(data.Length-1) As Integer Dim itm As Integer = 0 For i As Integer = 0 To data.Length If data(i) < 10 Then nilaiKecil(itm) = data(i) itm += 1 End If Next ReDim nilaiKecil(itm)

Akan lebih mudah menyimpan elemen-elemen yang telah terpilih ke dalam suatu ArrayList menggunakan looping seperti di bawah ini:

view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6. 7.

Dim nilaiKecil As New ArrayList Dim itm As Integer For Each itm In data If itm < 10 Then nilaiKecil.Add(itm) End If Next

Bila kita menggunakan LINQ,

view plaincopy to clipboardprint?

1. Dim nilaiKecil = From n In data _ 2. Where n < 10 _ 3. Select n

Penggunaan bahasa dalam LINQ hampir sama dengan bahasa yang digunakan dalam SQL. Jika kita telah terbiasa dengan bahasa yang digunakan dalam SQL, kita akan menemukan beberapa kemiripan.

Contoh pernyataan SQL:

SELECT *

FROM data

WHERE data.n < 10

(Contoh di atas mengasumsikan dalam database kita terdapat tabel data yang memiliki kolom bernama n). Bila menggunakan LINQ, kode kita menjadi:

Dim = From n In data

Where n < 10

Ok, cukup teorinya... kita langsung saja ke praktek pembuatan program ;)

Pada tutorial kemarin kita telah membuat database barang dan kategori menggunakan SQL Express 2005, nah sekarang kita akan membuat tiap-tiap form untuk form barang dan untuk form kategori. Ikuti langkah-langkah berikut:

1. Menambah Form Barang

Tambahkan satu form dan beri nama frmBarang, dengan cara memilih menu Project > Add Windows Form atau dengan mengklik kanan nama proyek kita di solution explorer dan memilih Add > Windows Form. Akan muncul window Add New Item, masukkan nama frmBarang dan klik add.

Akan muncul form baru dengan nama frmBarang. Atur besar form sesuai keinginan.

2. Property Form Barang

(Skip jika ingin melewati bagian ini.)

Buka jendela property dari form barang (frmBarang) atau dengan cara menekan tombol F4. Atur property frmBarang sebagai berikut:

yText : Data barang

yFormBorderStyle : FixedToolWindow

Ini hanya sekedar contoh dari property suatu form yang sering saya buat, silahkan di ubah sesuai keinginan.

3. Menambah DataGridView

Tampilkan jendela Toolbox (default: bagian kiri) dengan memilih menu View > Toolbox atau dengan menekan kombinasi tombol CTRL+ALT+X.

Geser control DataGridView ke dalam frmBarang:

Nama DataGridView1 akan secara otomatis diberikan untuk control DataGridView tadi.

4. Menampilkan Data Ke Dalam DataGridView

Sekarang kita akan mencoba menampilkan data ke dalam control DataGridView1, data yang akan ditampilkan diambil dari tabel 'barang' dan tabel 'kategori.

Double klik tampilan frmBarang, maka kita akan masuk ke dalam tampilan Code View.

Ketikkan perintah berikut di bagian Private Sub frmBarang_Load

view plaincopy to clipboardprint?

1. Dim db As New DataClasses1DataContext 2. Dim qBarang = From barang In db.barangs _ 3. Join kategori In db.kategoris _ 4. On kategori.KDKategori Equals barang.KDKategori _ 5. Select barang 6. 7. Me.DataGridView1.DataSource = qBarang

Pada kode di atas (Hampir sama dengan pernyataan SQL) kita memulai dengan mendeklarasikan db sebagai object dari ClassDataClasses1DataContext, kemudian membuat suatu variable baru dengan nama qBarang dan menuliskan query LINQ yang berfungsi untuk mengambil data dari 2 tabel (barang dan kategori, yang memiliki relasi pada kolom KDKategori) dari database. Hasil dari query LINQ tersebut akan ditampilkan dalam control DataGridView1 dengan menggunakan object DataSource dari property DataGridView1.

Kode lengkapnya seperti ini:

view plaincopy to clipboardprint?

1. Private Sub frmBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Ha ndles MyBase.Load 2. Dim db As New DataClasses1DataContext 3. Dim qBarang = From barang In db.barangs _ 4. Join kategori In db.kategoris _ 5. On kategori.KDKategori Equals barang.KDKategori _ 6. Select barang 7. 8. Me.DataGridView1.DataSource = qBarang 9. 10. End Sub

Sebelum kita mencoba menjalankan program ini, pastikan frmBarang merupakan Startup Form dengan cara memilih menu Project > CTHAplikasi1 Properties. Pada tab Application bagian Startup form, pilih frmBarang sebagai form yang akan di load saat pertama kali aplikasi dijalankan. Jalankan aplikasi dengan menekan tombol F5.

Tampilan form setelah dijalankan (masih kosong karena belum ada data yang dimasukkan.. ) :

5. Menambah Kontrol Tombol, Teks Dan Label.

Aplikasi kita sudah bisa dijalankan, tetapi kita masih perlu menambahkan tombol dan teks serta label ke dalam frmBarang agar memudahkan dalam interaksi dari user terhadap aplikasi.

Kembali ke Designer View (Klik kanan di area kosong di bagian kode dan pilih View Designer atau dengan menekan kombinasi tombol Shift+F7) dan tambahkan 1 label, dengan cara menggeser control Label dari Toolbox ke dalam frmBarang. Pada bagian property untuk Label1, untuk text masukkan 'Kode Barang:' dan untuk name masukkan 'lblKode'.

Tambahkan Control TextBox ke dalam frmBarang, dengan property, name: txtKodeBarang dan pada bagian text dikosongkan.

Lakukan hal yang sama untuk 4 Label, 1 ComboBox dan 3 TextBox selanjutnya dengan property sebagai berikut:

Control ComboBox: name = cmbKategori

Control TextBox: name = txtNamaBarang, text = dikosongkan

Control TextBox: name = txtJumlah, text = '0'

Control TextBox: name = txtHargaJual, text = '0'

Control Label: name = lblKategori, text = 'Kategori'

Control Label: name = lblNamaBarang, text = Nama Barang'

Control Label: name = lblJumlah, text = 'Jumlah'

Control Label: name = lblHargaJual, text = 'Harga Jual'

Sehingga hasilnya menjadi :

Setelah penambahan TextBox, Label serta ComboBox di atas selesai, kita lanjutkan dengan menambahkan Tombol-tombol (Button).

Klik dan geser 5 buah Control Button dari Toolbox ke dalam frmBarang dengan nilai property masing-masing:

Tombol 1: name = cmdEdit, Text = 'Edit'

Tombol 2: name = cmdBaru, Text = 'Baru'

Tombol 3: name = cmdSimpan, Text = 'Simpan'

Tombol 4: name = cmdHapus, Text = 'Hapus'

Tombol 5: name = cmdKeluar, Text = 'Keluar'

Sehingga tampilan akhir dari frmBarang akan menjadi :

Langsung aja, ditutorial ke-2kemarin kita telah sedikit mengenal tentang LINQ dan juga telah membuat suatu form barang. Kali ini kita akan mencoba menambahkan kode-kode yang akan diproses oleh tiap tombol dalam form barang tersebut. Untuk kali ini validasi dalam setiap proses akan diabaikan terlebih dahulu, nanti pasti menyusul... ;) Sebagai tambahan, lebih tepatnya "update", pada tiap tabel dalam database semua yang bertype nchar di ubah ke nvarchar.. tanya kenapa?? Sebelum dilanjutkan, ada baiknya semua kode-kode dalam form barang di hapus dahulu, kecuali, kode-kode di bawah ini:view plaincopy to clipboardprint?

1. Public Class frmBarang 2. 3. Private Sub frmBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) H andles MyBase.Load 4. 5. End Sub 6. End Class

1. Dekarasi beberapa variabel umum

Masukkan kode berikut pada bagian atas setelah Public Class frmBarang :view plaincopy to clipboardprint?

1. Private db As New DataClasses1DataContext 2. Private edit As Boolean

1.a. Sub Procedure buka

Digunakan untuk mengunci dan membuka TextBox dan ComboBox dalam frmBarang:view plaincopy to clipboardprint?

1. Private Sub buka(ByVal t As Boolean) 2. Dim daftarTextBox = From myControl In Me.Controls _ 3. Where TypeOf myControl Is TextBox _ 4. Select myControl 5. 6. For Each myTeksBoks As TextBox In daftarTextBox 7. If t Then 8. myTeksBoks.Enabled = True 9. Me.cmbKodeKategori.Enabled = True 10. Else 11. myTeksBoks.Enabled = False 12. Me.cmbKodeKategori.Enabled = False 13. End If 14. Next 15. End Sub

1.b. Sub Procedure isiCombo

Digunakan untuk mengisi daftar kategori untuk ComboBox pada frmBarang:view plaincopy to clipboardprint?

1. Private Sub isiCombo() 2. Me.cmbKodeKategori.ResetText() 3. Dim cmbKate = From kategori In db.kategoris _ 4. Select kategori.NmKategori 5. 6. For Each kate As String In cmbKate 7. Me.cmbKodeKategori.Items.Add(kate) 8. Next 9. End Sub

1.c. Sub Procedure resData

Digunakan untuk me-refresh (mengisi) data dalam DataGridView1 dengan data yang baru (Kodenya sedikit berbeda dari tutorial 2 kemarin):view plaincopy to clipboardprint?

1. Private Sub resData() 2. Dim qBarang = From barang In db.barangs _ 3. Join kategori In db.kategoris _ 4. On kategori.KDKategori Equals barang.KDKategori _ 5. Select Kode = barang.KDBarang, Nama = barang.NmBarang, _ 6. Kategori = kategori.NmKategori, Jumlah = barang.Jumlah, Harga = barang. HargaJual 7. 8. Me.DataGridView1.DataSource = qBarang 9. End Sub

1.d. Sub Procedure dgKlik

Digunakan untuk mengisi tiap TextBox dan ComboBox berdasarkan data yang ada dalam DataGridView1 saat setiap kali data dalam DataGridView1 dipilih.view plaincopy to clipboardprint?

1. Private Sub dgKlik() 2. Try 3. Me.txtKodeBarang.Text = Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Inde x).Value 4. Me.txtNamaBarang.Text = Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Inde x).Value 5. Me.txtJumlah.Text = Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Index).V alue 6. Me.txtHarga.Text = Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index).Va lue 7. 8. Dim dkate = From kategori In db.kategoris _ 9. Where kategori.NmKategori Is Me.DataGridView1.Item(2, Me.DataGridView 1.CurrentRow.Index).Value _ 10. Select kategori.NmKategori

11. Me.cmbKodeKategori.Text = dkate.Single 12. 13. Catch ex As Exception 14. MessageBox.Show("Error: " & ex.Message) 15. End Try 16. End Sub

1.e. Sub Procedure resTeks

Digunakan untuk mengosongkan semua TextBox dan Combobox dalam frmBarang :view plaincopy to clipboardprint?

1. Private Sub resTeks() 2. isiCombo() 3. Dim daftarTextBox = 4. 5. 6. For Each myTeksBoks 7. myTeksBoks.Text 8. Next 9. End Sub

From myControl In Me.Controls _ Where TypeOf myControl Is TextBox _ Select myControl As TextBox In daftarTextBox = ""

1.f. Function katPerNama

Digunakan untuk mengambil kode Kategori barang berdasarkan nama kategorinya :view plaincopy to clipboardprint?

1. Private Function katPerNama(ByVal n As String) As Integer 2. Dim kat As Integer = 0 3. Dim kate = From kategori In db.kategoris _ 4. Where kategori.NmKategori Is n _ 5. Select kategori.KDKategori 6. kat = kate.Single 7. Return kat 8. End Function

2. DataGridView1_Click

Pada designer view, double klik Control DataGridView1 > akan masuk ke dalam tampilan Code View. Pada bagian Method Name, pilih Click. Lihat Gambar :

Ketikkan kode berikut pada bagian DataGridView1_Click :view plaincopy to clipboardprint?

1. Private Sub DataGridView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Hand les DataGridView1.Click 2. dgKlik() 3. End Sub

3. Sub Procedure Saat Tombol Edit Diklik

Double klik tombol edit dan masukkan kode berikut :view plaincopy to clipboardprint?

1. Private Sub cmdEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Han dles cmdEdit.Click 2. Me.cmdBaru.Text = "Batal" 3. Me.cmdEdit.Enabled = False 4. Me.cmdHapus.Enabled = False 5. Me.cmdSimpan.Enabled = True 6. edit = True 7. buka(True) 8. Me.txtKodeBarang.Enabled = False 9. Me.txtNamaBarang.Focus() 10. End Sub

4. Sub Procedure Saat Tombol Baru Diklik

Double klik tombol baru dan masukkan kode berikut :view plaincopy to clipboardprint?

1. Private Sub cmdBaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Han dles cmdBaru.Click 2. If Me.cmdBaru.Text = "Baru" Then 3. Me.cmdBaru.Text = "Batal" 4. Me.resTeks() 5. buka(True) 6. Me.DataGridView1.Enabled = False 7. Me.cmdSimpan.Enabled = True 8. Me.cmdEdit.Enabled = False 9. Me.cmdHapus.Enabled = False 10. Me.cmdKeluar.Enabled = False 11. Me.txtKodeBarang.Focus() 12. Else 13. Me.cmdBaru.Text = "Baru"

14. 15. 16. 17. 18. 19. 20. 21. 22. End 23. End Sub

buka(False) Me.DataGridView1.Enabled = True edit = False Me.cmdSimpan.Enabled = False Me.cmdEdit.Enabled = True Me.cmdHapus.Enabled = True Me.cmdKeluar.Enabled = True dgKlik() If

5. Sub Procedure Saat Tombol Simpan Diklik

Double klik tombol simpan dan masukkan kode berikut :view plaincopy to clipboardprint?

1. Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) H andles cmdSimpan.Click 2. 'Validasi data inputan, akan dijelaskan nanti... 3. 4. If edit Then 5. Dim updatebrg = (From barang In db.barangs _ 6. Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0) 7. 8. With updatebrg 9. .NmBarang = Me.txtNamaBarang.Text 10. .KDKategori = katPerNama(Me.cmbKodeKategori.Text) 11. .Jumlah = Me.txtJumlah.Text 12. .HargaJual = Me.txtHarga.Text 13. End With 14. 15. Else 16. Dim brg As New barang With { _ 17. .KDBarang = Me.txtKodeBarang.Text, _ 18. .NmBarang = Me.txtNamaBarang.Text, _ 19. .KDKategori = katPerNama(Me.cmbKodeKategori.Text), _ 20. .Jumlah = Me.txtJumlah.Text, _ 21. .HargaJual = Me.txtHarga.Text} 22. End If 23. 24. Try 25. db.SubmitChanges() 26. 27. Catch ex As Exception 28. MessageBox.Show("Error :" & ex.Message) 29. End Try 30. 31. resData() 32. dgKlik() 33. buka(False) 34. Me.cmdSimpan.Enabled = False 35. Me.cmdBaru.Text = "Baru" 36. Me.cmdEdit.Enabled = True 37. Me.cmdKeluar.Enabled = True 38. edit = False 39. Me.cmdHapus.Enabled = True 40. Me.DataGridView1.Enabled = True 41. End Sub

6. Sub Procedure Saat Tombol Hapus Diklik

Double klik tombol hapus dan masukkan kode berikut :view plaincopy to clipboardprint?

1. Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Ha ndles cmdHapus.Click 2. If Me.txtKodeBarang.Text = "" Then Exit Sub 3. Dim rep As Integer = MessageBox.Show("Data tersebut akan dihapus?", "Konfirmasi", Mes sageBoxButtons.YesNo, MessageBoxIcon.Question) 4. If rep = MsgBoxResult.No Then Exit Sub 5. 6. Dim deleteBrg = (From barang In db.barangs _ 7. Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0) 8. 9. db.barangs.DeleteOnSubmit(deleteBrg) 10. 11. Try 12. db.SubmitChanges() 13. Catch ex As Exception 14. MessageBox.Show("Error :" & ex.Message) 15. End Try 16. 17. resData() 18. dgKlik() 19. 20. End Sub

7. Sub Procedure Saat Tombol Keluar Diklik

Double klik tombol keluar dan masukkan kode berikut :view plaincopy to clipboardprint?

1. Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) H andles cmdKeluar.Click 2. Me.Close() 3. End Sub

Terakhir, tambahkan kode berikut pada bagian frmBarang_Load :view plaincopy to clipboardprint?

1. Private Sub frmBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Ha ndles MyBase.Load 2. resData() 3. isiCombo() 4. buka(False) 5. Me.cmdSimpan.Enabled = False 6. t = False 7. End Sub

Yups, dengan semua tombol telah memiliki kode masing-masing, coba jalankan program dengan mengklik tanda play atau menekan tombol F5 pada keyboard.

Pada bagian selanjutnya kita akan langsung mencoba membuat form untuk menampilkan data laporan dari data barang yang barusan dibuat..

Selamat bereksperimen semoga sukses... ;)

Kode Selengkapnya :view plaincopy to clipboardprint?

1. Public Class frmBarang 2. Private db As New DataClasses1DataContext 3. Private edit As Boolean 'penentuan apakah sedang dalam proses edit atau bukan 4. 5. Private Sub frmBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles MyBase.Load 6. resData() 'memanggil sub resData untuk mengisi data ke dalam DataGridView1 7. isiCombo() 'mengisi ComboBox kategori 8. buka(False) 'kunci semua textbox 9. Me.cmdSimpan.Enabled = False 'matikan tombol simpan 10. edit = False 'variabel edit di atur menjadi false 11. End Sub 12. Private Sub buka(ByVal t As Boolean) 'enable dan disable control TextBox dan ComboBox 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 'Pilih semua control yang merupakan TextBox Dim daftarTextBox = From myControl In Me.Controls _ Where TypeOf myControl Is TextBox _ Select myControl 'Looping setiap control TextBox For Each myTeksBoks As TextBox In daftarTextBox If t Then myTeksBoks.Enabled = True 'textbox aktif Me.cmbKodeKategori.Enabled = True 'combobox aktif Else myTeksBoks.Enabled = False Me.cmbKodeKategori.Enabled = False End If Next End Sub Private Sub isiCombo() 'Mengisi Combobox dengan daftar kategori dari tabel kategori Me.cmbKodeKategori.ResetText() 'reset Combo kategori 'ambil semua nama kategori dari tabel kategori Dim cmbKate = From kategori In db.kategoris _ Select kategori.NmKategori 'looping setiap hasil dari cmbkate dan tambahkan ke dalam combo kategori For Each kate As String In cmbKate Me.cmbKodeKategori.Items.Add(kate) Next End Sub Private Sub resData() 'mengisi ulang data ke dalam DataGridView1 Dim qBarang = From barang In db.barangs _ Join kategori In db.kategoris _ On kategori.KDKategori Equals barang.KDKategori _ Select Kode = barang.KDBarang, Nama = barang.NmBarang, _

43. ang.HargaJual 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59.

Kategori = kategori.NmKategori, Jumlah = barang.Jumlah, Harga = bar

Me.DataGridView1.DataSource = qBarang End Sub Private Sub resTeks() 'mengosongkan semua combobox dan textbox isiCombo() Dim daftarTextBox = From myControl In Me.Controls _ Where TypeOf myControl Is TextBox _ Select myControl

For Each myTeksBoks As TextBox In daftarTextBox myTeksBoks.Text = "" Next End Sub Private Sub dgKlik() 'sub procedure saat baris dalam DataGridView1 diklik Try Me.txtKodeBarang.Text = Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow. Index).Value 60. Me.txtNamaBarang.Text = Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow. Index).Value 61. Me.txtJumlah.Text = Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Inde x).Value 62. Me.txtHarga.Text = Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index ).Value 63. 64. 'isi combo kategori berdasarkan kategori tiap barang dari DataGridView1 65. Dim dkate = From kategori In db.kategoris _ 66. Where kategori.NmKategori Is Me.DataGridView1.Item(2, Me.DataGrid View1.CurrentRow.Index).Value _ 67. Select kategori.NmKategori 68. Me.cmbKodeKategori.Text = dkate.Single 69. 70. Catch ex As Exception 'Jika terjadi error, ya know lah... 71. MessageBox.Show("Error: " & ex.Message) 72. End Try 73. End Sub 74. 75. Private Function katPerNama(ByVal n As String) As Integer 'mengambil kode kategori be rdasarkan nama kategori 76. Dim kat As Integer = 0 77. Dim kate = From kategori In db.kategoris _ 78. Where kategori.NmKategori Is n _ 79. Select kategori.KDKategori 80. 81. kat = kate.Single 82. Return kat 83. End Function 84. Private Sub DataGridView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.Click 85. dgKlik() 'memanggil sub procedure dgKlik saat DataGridView1 diklik. 86. End Sub 87. 88. Private Sub cmdEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEdit.Click 89. 'saat tombol edit diklik 90. Me.cmdBaru.Text = "Batal" 91. Me.cmdEdit.Enabled = False 92. Me.cmdHapus.Enabled = False 93. Me.cmdSimpan.Enabled = True 94. edit = True 'sedang dalam proses edit 95. buka(True) 'buka semua control 96. Me.txtKodeBarang.Enabled = False 'kunci txtKodeBarang 97. Me.txtNamaBarang.Focus() 'Fokuskan cursor pada txtNamaBarang 98. End Sub 99.

100. Private Sub cmdBaru_Click(ByVal sender As System.Object, ByVal e As System.Even tArgs) Handles cmdBaru.Click 101. 'Tombol baru diklik 102. 'lakukan pengeceka apakah sekarang tombol baru atau tombol batal 103. If Me.cmdBaru.Text = "Baru" Then 'jika yang diklik tombol baru 104. Me.cmdBaru.Text = "Batal" 'ubah text tombol baru menjadi batal 105. Me.resTeks() 'memanggil sub procedure resTeks : mengosongkan semua teks 106. buka(True) 'buka semua control 107. Me.DataGridView1.Enabled = False 'non aktifkan DataGridView1 sehingga t idak bisa diklik 108. Me.cmdSimpan.Enabled = True 109. Me.cmdEdit.Enabled = False 110. Me.cmdHapus.Enabled = False 111. Me.cmdKeluar.Enabled = False 112. Me.txtKodeBarang.Focus() 'Fokuskan cursor pada txtKodeBarang 113. Else 'jika yang diklik adalah tombol baru dengan teks Batal 114. Me.cmdBaru.Text = "Baru" 'ubah teks tombol baru menjadi Baru 115. buka(False) 'Kunci semua kontrol 116. Me.DataGridView1.Enabled = True 117. edit = False 'pastikan bukan dalam proses edit 118. Me.cmdSimpan.Enabled = False 119. Me.cmdEdit.Enabled = True 120. Me.cmdHapus.Enabled = True 121. Me.cmdKeluar.Enabled = True 122. dgKlik() 123. End If 124. End Sub 125. 126. Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.Ev entArgs) Handles cmdSimpan.Click 127. 'Validasi data inputan, belakangan akan dijelaskan... 128. 129. If edit Then 'jika dalam proses edit / tombol edit diklik 130. Dim updatebrg = (From barang In db.barangs _ 131. Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0) 132. 133. With updatebrg 134. .NmBarang = Me.txtNamaBarang.Text 135. .KDKategori = katPerNama(Me.cmbKodeKategori.Text) 136. .Jumlah = Me.txtJumlah.Text 137. .HargaJual = Me.txtHarga.Text 138. End With 139. 140. Else 'jika bukan proses edit / tombol baru diklik 141. Dim brg As New barang With { _ 142. .KDBarang = Me.txtKodeBarang.Text, _ 143. .NmBarang = Me.txtNamaBarang.Text, _ 144. .KDKategori = katPerNama(Me.cmbKodeKategori.Text), _ 145. .Jumlah = Me.txtJumlah.Text, _ 146. .HargaJual = Me.txtHarga.Text} 147. End If 148. 149. Try 150. db.SubmitChanges() 'simpan semua perubahan, baik itu proses update maup un insert 151. 152. Catch ex As Exception 153. MessageBox.Show("Error :" & ex.Message) 154. End Try 155. 156. resData() 157. dgKlik() 158. buka(False) 159. Me.cmdSimpan.Enabled = False 160. Me.cmdBaru.Text = "Baru"

161. Me.cmdEdit.Enabled = True 162. Me.cmdKeluar.Enabled = True 163. edit = False 164. Me.cmdHapus.Enabled = True 165. Me.DataGridView1.Enabled = True 166. End Sub 167. 168. Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.Eve ntArgs) Handles cmdHapus.Click 169. 'saat tombol hapus diklik 170. If Me.txtKodeBarang.Text = "" Then Exit Sub 'jika kodebarang kosong, keluar dari sub procedure 171. 'mencoba memastikan apakah data akan benar2 dihapus? 172. Dim rep As Integer = MessageBox.Show("Data tersebut akan dihapus?", "Konfir masi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) 173. If rep = MsgBoxResult.No Then Exit Sub 'jika hasilnya NO, data tidak akan d ihapus 174. 175. Dim deleteBrg = (From barang In db.barangs _ 176. Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0) 177. 178. db.barangs.DeleteOnSubmit(deleteBrg) 179. 180. Try 181. db.SubmitChanges() 'simpan semua perubahan ke dalam database 182. Catch ex As Exception 183. MessageBox.Show("Error :" & ex.Message) 184. End Try 185. 186. resData() 187. dgKlik() 188. 189. End Sub 190. 191. Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.Ev entArgs) Handles cmdKeluar.Click 192. Me.Close() 'tutup form 193. 'bisa juga menggunakan : Application.Exit() 194. End Sub 195. End Class

Untuk memanage sebuah organisasi pasti dibutuhkan database agar dapat mengatur data-data yang ada. Dengan menggunakan Visual Basic dengan mudah kita dapat membuat form dengan mudah dan menyimpannya sebagai database. Berikut adalah langkah-langkahnya: 1. Buatlah sebuah project baru kemudian klik kanan pada project dan pilih add >> new item

2. Kemudian akan muncul jendela seperti dibawah ini, pilih service-based database. Namun dapat juga menggunakan local database untuk membuat database lokal pada pc Anda. dengan langkah-langkah yang sama dengan langkah pada service-based database.

3. Tuliskan namenya kemudian pilih Add >> tuliskan namanya>> Finish.

4. Maka akan muncul tab database explorer seperti gambar berikut:

5. Untuk membuat sebuah table baru klik kanan folder table >> add new table

6. Maka akan muncul tab dbo.table1:... isi nama kolom, tipe data, dan check pada allow null jika pada kolom tersebut diizinkan kosong. setelah selesai klik kanan pada tab >> save table isi nama tablenya.

7.Untuk mengeset id sebagai primary key , klik kanan pada id >> primary key

8. Untuk memasukkan table pada form aplikasi klik tab data source>>configure data set with wizard seperti gambar berikut

9. checklist apa saja yang mau dimasukkan pada form, misal table. Maka pada tab data source muncul tabel yang telah kita check tadi, klik pada table pilih details untuk memunculkan database pada form dengan format textboxt seperti gambar dibawah ini. Kemudian drag table coba ke form1

10. Buat form baru misal form2, kemudian klik table yang ada pada data source tadi kemudian yang tadinya dibikin detail diganti menjadi datagridview untuk menampilkan data yang sudah diinput dalam bentuk table. Drag table coba masukan pada form 2

11.Kembali ke form1 dan tambahkan button untuk menghubungkan antara form1 dan form2. Klik ganda pada button dan masukkan sorce code berikut: Form2.Show() Me.Visible = False // untuk mengvisible kan form1 jadi ketika masuk ke form 2 form 1 tidak terlihat 12.Karena menggunakan fungsi visible maka effectnya program tidak dapat berhenti ketika form2 sudah ditutup, maka menggunakan langkah tambahan. Klik pada form 1 kemudian klik event (tanda petir) pada properties pilih form closed >> klik ganda >> masukkan source berikut: System.Windows.Forms.Application.Exit() 13. Lakukan langkah 12 pada form2 14. Kemudian run dan lihat gambar dibawah ini

15. klik icon + / add new untuk mengisi data baru

15. klik button view untuk masuk ke form 2

16. Selesai.