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:
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:
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:
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,
Dim nilaiKecil = From n In data _
Where n < 10 _
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:
Text : Data barang
FormBorderStyle : 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
Dim db As New DataClasses1DataContext
Dim qBarang = From barang In db.barangs _
Join kategori In db.kategoris _
On kategori.KDKategori Equals barang.KDKategori _
Select barang
Me.DataGridView1.DataSource = qBarang
Pada kode di atas (Hampir sama dengan pernyataan SQL) kita memulai dengan mendeklarasikan db sebagai object dari Class DataClasses1DataContext, 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:
Private Sub frmBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim db As New DataClasses1DataContext
Dim qBarang = From barang In db.barangs _
Join kategori In db.kategoris _
On kategori.KDKategori Equals barang.KDKategori _
Select barang
Me.DataGridView1.DataSource = qBarang
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 :
6. Bersambung....
Yups, sekian dulu untuk tutorial bagian ke-2 ini. Nantinya kita akan mencoba menuliskan kode ke dalam frmBarang untuk mengeksekusi perintah saat ke lima tombol di atas diklik.
Tambahan (Upgrade dari VB 2005 ke VB 2008)
Mungkin masih banyak yang belum mengetahui bagaimana mengaktifkan LINQ dalam suatu project yang telah di upgrade dari VB 2005 ke VB 2008. (LINQ cuman ada di VB 2008).
Sekedar tambahan bagi yang menggunakan VB 2005 yang ingin bermigrasi ke VB 2008 dan ingin bereksperimen dengan LINQ:
Konversi project ke VB 2008, setelah proses konversi berakhir,
Buka Project Property
Masuk ke tab Compile
Pada Option Infer, pilih On.
Masuk ke tab Reference
Tambahkan reference System.Linq
Tutup dan buka kembali project-nya..