Sabtu, 29 Oktober 2011

Membuat Aplikasi dengan Visual Basic.Net 2008 – 3

di tutorial ke-2 kemarin 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:
  1. Public Class frmBarang

  2. Private Sub frmBarang_Load(ByVal sender As System.ObjectByValAs System.EventArgs) Handles MyBase.Load

  3. End Sub
  4. End Class
1. Dekarasi beberapa variabel umum
Masukkan kode berikut pada bagian atas setelah Public Class frmBarang :
  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:
  1. Private Sub buka(ByValAs Boolean)
  2. Dim daftarTextBox = From myControl In Me.Controls _
  3. Where TypeOf myControl Is TextBox _
  4. Select myControl

  5. For Each myTeksBoks As TextBox In daftarTextBox
  6. IfThen
  7. myTeksBoks.Enabled = True
  8. Me.cmbKodeKategori.Enabled = True
  9. Else
  10. myTeksBoks.Enabled = False
  11. Me.cmbKodeKategori.Enabled = False
  12. End If
  13. Next
  14. End Sub
1.b. Sub Procedure isiCombo
Digunakan untuk mengisi daftar kategori untuk ComboBox pada frmBarang:
  1. Private Sub isiCombo()
  2. Me.cmbKodeKategori.ResetText()
  3. Dim cmbKate = From kategori In db.kategoris _
  4. Select kategori.NmKategori

  5. For Each kate As String In cmbKate
  6. Me.cmbKodeKategori.Items.Add(kate)
  7. Next
  8. 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):
  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. Me.DataGridView1.DataSource = qBarang
  8. 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.
  1. Private Sub dgKlik()
  2. Try
  3. Me.txtKodeBarang.Text = Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value
  4. Me.txtNamaBarang.Text = Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value
  5. Me.txtJumlah.Text = Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Index).Value
  6. Me.txtHarga.Text = Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index).Value

  7. Dim dkate = From kategori In db.kategoris _
  8. Where kategori.NmKategori Is Me.DataGridView1.Item(2, Me.DataGridView1.CurrentRow.Index).Value _
  9. Select kategori.NmKategori
  10. Me.cmbKodeKategori.Text = dkate.Single

  11. Catch ex As Exception
  12. MessageBox.Show(“Error: ” & ex.Message)
  13. End Try
  14. End Sub
1.e. Sub Procedure resTeks
Digunakan untuk mengosongkan semua TextBox dan Combobox dalam frmBarang :
  1. Private Sub resTeks()
  2. isiCombo()
  3. Dim daftarTextBox = From myControl In Me.Controls _
  4. Where TypeOf myControl Is TextBox _
  5. Select myControl
  6. For Each myTeksBoks As TextBox In daftarTextBox
  7. myTeksBoks.Text = “”
  8. Next
  9. End Sub
1.f. Function katPerNama
Digunakan untuk mengambil kode Kategori barang berdasarkan nama kategorinya :
  1. Private Function katPerNama(ByValAs StringAs 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 :
DataGridView1_Method
Ketikkan kode berikut pada bagian  DataGridView1_Click :
  1. Private Sub DataGridView1_Click(ByVal sender As ObjectByValAs System.EventArgs) Handles DataGridView1.Click
  2. dgKlik()
  3. End Sub
3. Sub Procedure Saat Tombol Edit Diklik
Double klik tombol edit dan masukkan kode berikut :
  1. Private Sub cmdEdit_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles 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 :
  1. Private Sub cmdBaru_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles 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. buka(False)
  15. Me.DataGridView1.Enabled = True
  16. edit = False
  17. Me.cmdSimpan.Enabled = False
  18. Me.cmdEdit.Enabled = True
  19. Me.cmdHapus.Enabled = True
  20. Me.cmdKeluar.Enabled = True
  21. dgKlik()
  22. End If
  23. End Sub
5. Sub Procedure Saat Tombol Simpan Diklik
Double klik tombol simpan dan masukkan kode berikut :
  1. Private Sub cmdSimpan_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles cmdSimpan.Click
  2. ‘Validasi data inputan, akan dijelaskan nanti…

  3. If edit Then
  4. Dim updatebrg = (From barang In db.barangs _
  5. Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0)

  6. With updatebrg
  7. .NmBarang = Me.txtNamaBarang.Text
  8. .KDKategori = katPerNama(Me.cmbKodeKategori.Text)
  9. .Jumlah = Me.txtJumlah.Text
  10. .HargaJual = Me.txtHarga.Text
  11. End With

  12. Else
  13. Dim brg As New barang With { _
  14. .KDBarang = Me.txtKodeBarang.Text, _
  15. .NmBarang = Me.txtNamaBarang.Text, _
  16. .KDKategori = katPerNama(Me.cmbKodeKategori.Text), _
  17. .Jumlah = Me.txtJumlah.Text, _
  18. .HargaJual = Me.txtHarga.Text}
  19. End If

  20. Try
  21. db.SubmitChanges()

  22. Catch ex As Exception
  23. MessageBox.Show(“Error :” & ex.Message)
  24. End Try

  25. resData()
  26. dgKlik()
  27. buka(False)
  28. Me.cmdSimpan.Enabled = False
  29. Me.cmdBaru.Text = “Baru”
  30. Me.cmdEdit.Enabled = True
  31. Me.cmdKeluar.Enabled = True
  32. edit = False
  33. Me.cmdHapus.Enabled = True
  34. Me.DataGridView1.Enabled = True
  35. End Sub
6. Sub Procedure Saat Tombol Hapus Diklik
Double klik tombol hapus dan masukkan kode berikut :
  1. Private Sub cmdHapus_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles cmdHapus.Click
  2. If Me.txtKodeBarang.Text = “” Then Exit Sub
  3. Dim rep As Integer = MessageBox.Show(“Data tersebut akan dihapus?”“Konfirmasi”, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
  4. If rep = MsgBoxResult.No Then Exit Sub

  5. Dim deleteBrg = (From barang In db.barangs _
  6. Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0)

  7. db.barangs.DeleteOnSubmit(deleteBrg)

  8. Try
  9. db.SubmitChanges()
  10. Catch ex As Exception
  11. MessageBox.Show(“Error :” & ex.Message)
  12. End Try

  13. resData()
  14. dgKlik()

  15. End Sub
7. Sub Procedure Saat Tombol Keluar Diklik
Double klik tombol keluar dan masukkan kode berikut :
  1. Private Sub cmdKeluar_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles cmdKeluar.Click
  2. Me.Close()
  3. End Sub
Terakhir, tambahkan kode berikut pada bagian frmBarang_Load :
  1. Private Sub frmBarang_Load(ByVal sender As System.ObjectByValAs System.EventArgs) Handles 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 :
  1. Public Class frmBarang
  2. Private db As New DataClasses1DataContext
  3. Private edit As Boolean ‘penentuan apakah sedang dalam proses edit atau bukan

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

  43. Me.DataGridView1.DataSource = qBarang
  44. End Sub
  45. Private Sub resTeks() ‘mengosongkan semua combobox dan textbox
  46. isiCombo()
  47. Dim daftarTextBox = From myControl In Me.Controls _
  48. Where TypeOf myControl Is TextBox _
  49. Select myControl

  50. For Each myTeksBoks As TextBox In daftarTextBox
  51. myTeksBoks.Text = “”
  52. Next
  53. End Sub
  54. Private Sub dgKlik() ‘sub procedure saat baris dalam DataGridView1 diklik
  55. Try
  56. Me.txtKodeBarang.Text = Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value
  57. Me.txtNamaBarang.Text = Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value
  58. Me.txtJumlah.Text = Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Index).Value
  59. Me.txtHarga.Text = Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index).Value

  60. ‘isi combo kategori berdasarkan kategori tiap barang dari DataGridView1
  61. Dim dkate = From kategori In db.kategoris _
  62. Where kategori.NmKategori Is Me.DataGridView1.Item(2, Me.DataGridView1.CurrentRow.Index).Value _
  63. Select kategori.NmKategori
  64. Me.cmbKodeKategori.Text = dkate.Single

  65. Catch ex As Exception ‘Jika terjadi error, ya know lah…
  66. MessageBox.Show(“Error: ” & ex.Message)
  67. End Try
  68. End Sub

  69. Private Function katPerNama(ByValAs StringAs Integer ‘mengambil kode kategori berdasarkan nama kategori
  70. Dim kat As Integer = 0
  71. Dim kate = From kategori In db.kategoris _
  72. Where kategori.NmKategori Is n _
  73. Select kategori.KDKategori

  74. kat = kate.Single
  75. Return kat
  76. End Function
  77. Private Sub DataGridView1_Click(ByVal sender As ObjectByValAs System.EventArgs) Handles DataGridView1.Click
  78. dgKlik() ‘memanggil sub procedure dgKlik saat DataGridView1 diklik.
  79. End Sub

  80. Private Sub cmdEdit_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles cmdEdit.Click
  81. ‘saat tombol edit diklik
  82. Me.cmdBaru.Text = “Batal”
  83. Me.cmdEdit.Enabled = False
  84. Me.cmdHapus.Enabled = False
  85. Me.cmdSimpan.Enabled = True
  86. edit = True ‘sedang dalam proses edit
  87. buka(True‘buka semua control
  88. Me.txtKodeBarang.Enabled = False ‘kunci txtKodeBarang
  89. Me.txtNamaBarang.Focus() ‘Fokuskan cursor pada txtNamaBarang
  90. End Sub

  91. Private Sub cmdBaru_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles cmdBaru.Click
  92. ‘Tombol baru diklik
  93. ‘lakukan pengeceka apakah sekarang tombol baru atau tombol batal
  94. If Me.cmdBaru.Text = “Baru” Then ‘jika yang diklik tombol baru
  95. Me.cmdBaru.Text = “Batal” ‘ubah text tombol baru menjadi batal
  96. Me.resTeks() ‘memanggil sub procedure resTeks : mengosongkan semua teks
  97. buka(True‘buka semua control
  98. Me.DataGridView1.Enabled = False ‘non aktifkan DataGridView1 sehingga tidak bisa diklik
  99. Me.cmdSimpan.Enabled = True
  100. Me.cmdEdit.Enabled = False
  101. Me.cmdHapus.Enabled = False
  102. Me.cmdKeluar.Enabled = False
  103. Me.txtKodeBarang.Focus() ‘Fokuskan cursor pada txtKodeBarang
  104. Else ‘jika yang diklik adalah tombol baru dengan teks Batal
  105. Me.cmdBaru.Text = “Baru” ‘ubah teks tombol baru menjadi Baru
  106. buka(False‘Kunci semua kontrol
  107. Me.DataGridView1.Enabled = True
  108. edit = False ‘pastikan bukan dalam proses edit
  109. Me.cmdSimpan.Enabled = False
  110. Me.cmdEdit.Enabled = True
  111. Me.cmdHapus.Enabled = True
  112. Me.cmdKeluar.Enabled = True
  113. dgKlik()
  114. End If
  115. End Sub

  116. Private Sub cmdSimpan_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles cmdSimpan.Click
  117. ‘Validasi data inputan, belakangan akan dijelaskan…

  118. If edit Then ‘jika dalam proses edit / tombol edit diklik
  119. Dim updatebrg = (From barang In db.barangs _
  120. Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0)

  121. With updatebrg
  122. .NmBarang = Me.txtNamaBarang.Text
  123. .KDKategori = katPerNama(Me.cmbKodeKategori.Text)
  124. .Jumlah = Me.txtJumlah.Text
  125. .HargaJual = Me.txtHarga.Text
  126. End With

  127. Else ‘jika bukan proses edit / tombol baru diklik
  128. Dim brg As New barang With { _
  129. .KDBarang = Me.txtKodeBarang.Text, _
  130. .NmBarang = Me.txtNamaBarang.Text, _
  131. .KDKategori = katPerNama(Me.cmbKodeKategori.Text), _
  132. .Jumlah = Me.txtJumlah.Text, _
  133. .HargaJual = Me.txtHarga.Text}
  134. End If

  135. Try
  136. db.SubmitChanges() ‘simpan semua perubahan, baik itu proses update maupun insert

  137. Catch ex As Exception
  138. MessageBox.Show(“Error :” & ex.Message)
  139. End Try

  140. resData()
  141. dgKlik()
  142. buka(False)
  143. Me.cmdSimpan.Enabled = False
  144. Me.cmdBaru.Text = “Baru”
  145. Me.cmdEdit.Enabled = True
  146. Me.cmdKeluar.Enabled = True
  147. edit = False
  148. Me.cmdHapus.Enabled = True
  149. Me.DataGridView1.Enabled = True
  150. End Sub

  151. Private Sub cmdHapus_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles cmdHapus.Click
  152. ‘saat tombol hapus diklik
  153. If Me.txtKodeBarang.Text = “” Then Exit Sub ‘jika kodebarang kosong, keluar dari sub procedure
  154. ‘mencoba memastikan apakah data akan benar2 dihapus?
  155. Dim rep As Integer = MessageBox.Show(“Data tersebut akan dihapus?”“Konfirmasi”, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
  156. If rep = MsgBoxResult.No Then Exit Sub ‘jika hasilnya NO, data tidak akan dihapus

  157. Dim deleteBrg = (From barang In db.barangs _
  158. Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0)

  159. db.barangs.DeleteOnSubmit(deleteBrg)

  160. Try
  161. db.SubmitChanges() ‘simpan semua perubahan ke dalam database
  162. Catch ex As Exception
  163. MessageBox.Show(“Error :” & ex.Message)
  164. End Try

  165. resData()
  166. dgKlik()

  167. End Sub

  168. Private Sub cmdKeluar_Click(ByVal sender As System.ObjectByValAs System.EventArgs) Handles cmdKeluar.Click
  169. Me.Close() ‘tutup form
  170. ‘bisa juga menggunakan : Application.Exit()
  171. End Sub
  172. End Class

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


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


  1. Dim nilaiKecil(data.Length-1) As Integer   
  2. Dim itm As Integer = 0   
  3. For i As Integer = 0 To data.Length   
  4.     If data(i) < 10 Then   
  5.         nilaiKecil(itm) = data(i)   
  6.         itm += 1   
  7.     End If   
  8. Next   
  9. ReDim nilaiKecil(itm)  


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


  1. Dim nilaiKecil As New ArrayList   
  2. Dim itm As Integer   
  3. For Each itm In data   
  4.     If itm < 10 Then   
  5.         nilaiKecil.Add(itm)   
  6.     End If   
  7. Next  


Bila kita menggunakan LINQ,


  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:




  • 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


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


  1. Private Sub frmBarang_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles 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 :







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:




  1. Konversi project ke VB 2008, setelah proses konversi berakhir,




  2. Buka Project Property




  3. Masuk ke tab Compile




  4. Pada Option Infer, pilih On.




  5. Masuk ke tab Reference




  6. Tambahkan reference System.Linq




  7. Tutup dan buka kembali project-nya..

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


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 bagian Identity Specification > nilai (Is Identity) di ubah menjadi "Yes" dengan Identity 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 Rule dan 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.
Sekian dulu untuk tutorial kali ini, pada kesempatan berikutnya akan saya lanjutkan dengan proses pembuatan form barang dan kategori, serta bagaimana melakukan query ke dalam database menggunakan LINQ. Stay tuned... Ciao!....

Minggu, 09 Oktober 2011

Cara Menggabungkan File .001, .002 dst

Interface aplikasi kadang menentukan kualitas suatu aplikasi. Interface yg tidak user friendly merupakan contoh interface yg jelek. Kadang untuk membuat interface yg bagus khusus-nya untuk .net programming cukup susah, mau membuat yg lebih bagus pasti berbayar (pakai components)...mau yg free eh ternyata tampilannya seadanya alias jelek...maklumlah free component.
 

Tampilan diatas ini menggunakan aplikasi Ribbon lho.. mau tanya caranya :

1. Download source code Ribbon Component berikut beserta .dll yang dah jadi.
    Download ComponentRibbonSource.zip (1,5Mb)

2.  Pilih menu Project dan "Add Reference...", browse lalu pilih System.Windows.Forms.Ribbon.dll dan ok.

3. Untuk menempatkan Ribbon ke form, drag dari toolbox ke form

4. Untuk menambahkan Tab ke Ribbon, gunakan command pada Properties bar. anda bisa juga pakai smart tag untuk hal ini.

5. Sekarang kita dah mempunyai tab pertama, kita harus menambahkan sebuah panel dengan cara menggunakan Properties bar.

6. Kalau udah, dengan cara yang sama tambahkan RibbonItems ke panel.

7. Untuk step berikutnya :
* Tambahkan 2 panel dengan 3 button setiap panel
* Set large icon dari Button menggunakan Image property.
* Set small icon dari Button menggunakan SmallImage property.
* Hasilnya begini :

Direkomendasikan menggunakan 32 x 32 px images untuk large icons dan 16 x 16 px images untuk small icons.

8. Berikutnya :
* Pilih Button kedua dan set Style property ke DropDown
* Lalu klik link "Add Button" pada the Properties bar untuk menambahkan Button ke Button.
* Pilih Button kedua lagi dan lihat perubahannya.

Adapun arsitektur keseluruhan Ribbon sebagai berikut :

RibbonTab

RibbonPanel

RibbonItemGroup

RibbonButton

Jadi ntar anda semua tinggal pilih event click-nya aja pada bagian mana, misal ribbonPanel1_ButtonMoreClick, ribbonButton1_Click dll...

Berikut behaviour Ribbon saat Resize Form

Jika ruang cukup untuk semuanya, button akan memiliki maksimum size yg bisa dijangkau dan icon menjadi 32 x 32

Jika ruang menyempit. Button pada panel yg lebih luas akan menyusut untuk menampilkan smaller icon (16 x 16), dan menyesuai pada single column.

Jika ruang lebih menyempit, button tidak lagi menampilkan textnya, hanya iconnya saja.

Sedangkan jika ruang menjadi minimum. Panel pertama collapsed dan hanya popup button yg terlihat dan akan menpilkan isinya jika di klik.


Untuk mengubah menjadi style warna hitam tinggal ketik code berikut (Bisa pakai C# atau VB.Net) :

code:
public Form1()
{
 InitializeComponent();

  (ribbon1.Renderer as RibbonProfessionalRenderer).ColorTable = 
      new RibbonProfessionalRendererColorTableBlack();
}

Visual Basic .NET


Langsung ke: navigasi, cari
Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET. Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework. Peluncurannya mengundang kontroversi, mengingat banyak sekali perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi terdahulu.

Daftar isi

 [sembunyikan

[sunting] Versi

Terdapat tiga buah versi Visual Basic yang dirilis hingga bulan Agustus 2007, yakni:

[sunting] Visual Basic .NET 2002 (VB 7.0)

Versi pertama dari Visual Basic .NET adalah Visual Basic .NET 2002 yang dirilis pertama kali pada bulan Februari 2002. Visual Basic .NET 2002 merupakan sebuah bahasa pemrograman visual yang berbasis bahasa BASIC (sama seperti halnya Visual Basic 6.0, tetapi lebih disempurnakan dan lebih berorientasi objek), dan didesain untuk berjalan di atas Microsoft .NET Framework versi 1.0.
Versi 7.0 ini dirilis bersamaan dengan Visual C# dan ASP.NET. Bahasa C#, yang dianggap sebagai jawaban terhadap Java, mendapatkan perhatian yang lebih banyak dibandingkan dengan VB.NET yang kurang begitu banyak diulas. Hasilnya, sedikit orang di luar komunitas Visual Basic yang memperhatikan VB.NET. Versi pertama ini kurang mendapat sambutan yang bagus dari para programmer, dan pada saat itu, program berbasis Visual Basic 6.0 sedang marak-maraknya dibuat. Para programmer yang mencoba Visual Basic .NET untuk pertama kali akan merasakan bahwa Visual Basic .NET sangatlah berbeda dibandingkan dengan Visual Basic sebelumnya. Contoh yang paling mudah adalah runtime engine yang lebih besar 10 kali lipat dibandingkan Visual Basic 6.0, dan juga meningkatkan beban di memori.

[sunting] Visual Basic .NET 2003 (VB 7.1)

Selanjutnya, pada bulan Maret 2003, Microsoft pun merilis lagi versi yang lebih baru dari Visual Basic .NET, Visual Basic .NET 2003. Versi ini berisi beberapa perbaikan dibandingkan dengan versi sebelumnya, dan aplikasi yang dibuatnya dapat berjalan di atas .NET Framework versi 1.1. Fitur yang ditambahkan adalah dukungan terhadap .NET Compact Framework dan mesin wizard upgrade VB6 ke VB.NET yang telah ditingkatkan. Peningkatan yang lainnya adalah peningkatan pada performa dan keandalan dari Integrated Development Environment (IDE) Visual Basic itu sendiri, dan juga runtime engine.
Visual Basic .NET 2003 tersedia dalam beberapa jenis cita rasa: Professional, Enterprise Architect dan Academic Edition. Khusus untuk Visual Basic .NET 2003 Academic Edition, versi tersebut didistribusikan secara gratis untuk beberapa sekolah di dalam setiap negara; versi Professional dan Enterprise Architect merupakan produk komersial.

[sunting] Visual Basic 2005 (VB 8.0)

Setelah itu, Microsoft pun berkonsentrasi dalam mengembangkan Microsoft .NET Framework 2.0, dan tentunya alat bantu untuk membangun program di atasnya. Hingga pada tahun 2005, mereka pun merilis versi terbaru dari Visual Basic .NET, yang kali ini disebut dengan Visual Basic 2005 (dengan membuang kata ".NET"), bersama-sama dengan beberapa aplikasi pengembangan lainnya.
Untuk rilis 2005 ini, Microsoft menambahkan beberapa fitur baru, di antaranya adalah:
  • Edit and Continue
    Fitur ini sebelumnya terdapat di dalam Visual Basic, akan tetapi dihapus di dalam Visual Basic .NET. Dengan keberadaan fitur ini, para programmer dapat memodifikasi kode pada saat program dieksekusi dan melanjutkan proses eksekusi dengan kode yang telah dimodifikasi tersebut.
  • Evaluasi ekspresi pada saat waktu desain
  • Munculnya Pseudo-Namespace "My", yang menyediakan:
    • Akses yang mudah terhadap beberapa area tertentu dari dalam .NET Framework yang tanpanya membutuhkan kode yang sangat signifikan.
    • Kelas-kelas yang dibuat secara dinamis (khususnya My.Forms).
  • Peningkatan yang dilakukan terhadap konverter kode sumber dari Visual Basic ke Visual Basic .NET.
  • Penggunaan kata kunci (keyword) Using, yang menyederhanakan penggunaan objek-objek yang membutuhkan pola Dispose untuk membebaskan sumber daya yang sudah tidak terpakai.
  • Just My Code, yang menyembunyikan kode reusable yang ditulis oleh alat bantu Integrated Development Environment (IDE) Visual Studio .NET.
  • Pengikatan sumber data (Data Source binding), yang mampu mempermudah pengembangan aplikasi basis data berbasis klien/server.
Fungsi-fungsi yang tersebut di atas (khususnya My) ditujukan untuk memfokuskan Visual Basic .NET sebagai sebuah platform pengembangan aplikasi secara cepat dan "menjauhkannya" dari bahasa C#.
Bahasa Visual Basic 2005 memperkenalkan fitur-fitur baru, yakni:
  • Bawaan .NET Framework 2.0:
    • Generics
    • Partial class, sebuah metode yang dapat digunakan untuk mendefinisikan beberapa bagian dari sebuah kelas di dalam sebuah berkas, lalu menambahkan definisinya di lain waktu; sangat berguna khususnya ketika mengintegrasikan kode pengguna dengan kode yang dibuat secara otomatis.
    • Nullable Type
  • Komentar XML yang dapat diproses dengan menggunakan beberapa alat bantu seperti NDoc untuk membuat dokumentasi secara otomatis.
  • Operator overloading
  • Dukungan terhadap tipe data bilangan bulat tak bertanda (unsigned integer) yang umumnya digunakan di dalam bahasa lainnya.

[sunting] Visual Basic 9.0 (Visual Basic 2008)

Versi ini merupakan versi terbaru yang dirilis oleh Microsoft pada tanggal 19 November 2007, bersamaan dengan dirilisnya Microsoft Visual C# 2008, Microsoft Visual C++ 2008, dan Microsoft .NET Framework 3.5.
Dalam versi ini, Microsoft menambahkan banyak fitur baru, termasuk di antaranya adalah:

[sunting] Hubungan dengan Visual Basic klasik

Apakah Visual Basic .NET dianggap sebagai sebuah versi Visual Basic atau benar-benar bahasa yang berbeda merupakan sebuah topik perdebatan yang hangat. Hal ini dikarenakan sintaksis bahasa Visual Basic .NET tidak mengalami perubahan yang sangat drastis, dan hanya menambahkan beberapa dukungan fitur baru seperti penanganan eksepsi secara terstruktur dan ekspresi yang bisa di-short-circuit-kan. Dua perubahan tipe data pun terjadi saat berpindah ke Visual Basic .NET. Dibandingkan dengan Visual Basic 6.0, tipe data Integer yang dimiliki oleh Visual Basic .NET memiliki panjang dua kali lebih panjang, dari 16 bit menjadi 32 bit. Selain itu, tipe data Long juga sama-sama berubah menjadi dua kali lipat lebih panjang, dari 32 bit menjadi 64 bit. Bilangan bulat 16-bit dalam Visual Basic .NET dinamakan dengan Short. Lagi pula, desainer GUI Windows Forms yang terdapat di dalam Visual Studio .NET atau Visual Basic .NET memiliki gaya yang sangat mirip dengan editor form Visual Basic klasik.
Jika sintaksis tidak banyak yang berubah, lain halnya dengan semantik, yang berubah secara signifikan. Visual Basic .NET merupakan sebuah bahasa pemrograman yang mendukung fitur "Bahasa Pemrograman Berorientasi Objek" secara penuh, karena memang didukung oleh arsitektur Microsoft .NET Framework, yang mengandung kombinasi dari Common Language Runtime dan Base Class Library. Visual Basic klasik, hanya merupakan sebuah bahasa pemrogaman berbasis objek, yang berjalan di atas arsitektur Component Object Model (COM).
Perubahan ini telah mengubah banyak asumsi tentang hal yang benar yang harus dilakukan dengan mempertimbangkan performa dan kemudahan untuk dipelihara. Beberapa fungsi dan pustaka perangkat lunak, yang ada di dalam Visual Basic klasik, kini tidak terdapat di dalam Visual Basic .NET; mungkin masih banyak yang masih terdapat di dalam Visual Basic .NET, tapi tidak seefisien apa yang ditawarkan oleh .NET Framework. Bahkan jika program Visual Basic klasik bisa dikompilasi dengan benar, sebagian besar program Visual Basic klasik harus melalui beberapa proses refactoring untuk mengadopsi fitur bahasa baru secara keseluruhan. Dokumentasi untuk ini pun tersedia di situs Microsoft[1].

[sunting] Contoh Pemrograman

Contoh program sederhana dalam bahasa Visual Basic .NET yang dipakai untuk menghitung jumlah pembayaran dari m_item buah barang dengan harga m_price per item ditambah 5% pajak penjualan: [2].
  Dim m_item, m_price, tax, total As double
  m_item = double.Parse(textBox1.Text)
  m_price = double.Parse(textBox2.Text)
  tax = 0.05
  total = m_item * m_price * (1 + tax)
  label5.Text = total.ToString()
  MessageBox.Show("Well Done.")
Berikut ini adalah contoh lain dari program Visual Basic yang menggunakan objek CheckBox dan ComboBox untuk menghitung jumlah kredit mata kuliah yang diambil oleh seorang mahasiswa (masing-masing mata kuliah = 3 kredit):
Dim total As Integer
total = 0 ' awal dari jumlah kredit total
If (CheckBox1.Checked = True) Then 'boleh memilih semua checkbox
            total += 3
        End If
        If (CheckBox2.Checked = True) Then
            total = total + 3
        End If
        If (CheckBox3.Checked = True) Then
            total = total + 3
        End If
If (ComboBox1.SelectedIndex = 0) Then 'hanya bisa memilih satu
            total = total + 3
        ElseIf (ComboBox1.SelectedIndex = 1) Then
            total = total + 3
        ElseIf (ComboBox1.SelectedIndex = 2) Then
            total = total + 3 
        End If
Label3.Text = CStr(total) ' hasil kredit total yang diambil