Friday, July 6, 2012

Membuat Aplikasi dengan Visual Basic


Membuat Aplikasi dengan Visual Basic.Net 2008 – 3

Ok, sorry rada telat postingnya.. kemarin sempat ada proyek n juga beberapa hari kemarin lagi sakit.
Langsung aja, 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
Sorry kalau masih ada yang keliru atau kesalahan dalam proses penulisan di atas..mohon koreksinya juga.. heheh..e

Validasi Inputan Angka pada Visual Basic


Validasi Inputan Angka pada VB

Untuk menghindari inputan berupa huruf dari user maka kita perlu melakukan validasi terhadap inputan tersebut. Di sini saya akan menerangkan bagaimana metode validasi bekerja.
Pertama buatlah Project Baru. Kemudian buatlah textbox pada sebuah form dan beri nama textbox itu text1.
Selanjutnya click dua kali textbox tersebut, maka akan muncul tampilan view code. Kemudian isilah script sebagai berikut :
Private Sub Text1_Change()
Dim betul As Boolean
betul = True
If Text1.Text <> “” Then
jumlah = Len(Text1.Text)
For i = 1 To jumlah
If Asc(Right(Text1.Text, i)) < 48 Or Asc(Right(Text1.Text, i)) > 57 Then
betul = False
End If
Next i
If betul = False Then
MsgBox “harus angka”
Text1.Text = “”
Text1.SetFocus
End If
End If
End Sub

Penjelasan :
Pengecekan angka terjadi pada baris ke-7, yaitu pengecekan code ASCII dari inputan, jika kurang dari 48 dan lebih dari 57 maka inputan bukan angka.

Operasi Matematika pada Visual Basic

Operasi Matematika pada VB


Operator Bilangan
Operator
Gunanya
Format
Contoh
^
Pangkat
x ^ y
3 ^ 2 =9
-
Negatif
- y
- 9
*
Perkalian
x * y
3 * 2 = 6
/
Pembagi real
x / y
5 /2 = 2.5
\
Pembagi Integer
x \ y
5 / 2 = 2
mod
Modulo (sisa pembagian)
x mod y
5 mod 2 = 1
+
Tambah
x +y
2 + 4 = 6
-
Kurang
x – y
4 -2 = 2
Fungsi Matematik Internal
VB menyediakan fungsi matematika siap pakai untuk manipulasi variabel.
Fungsi Contoh Penjelasan
Abs(x) a = abs(-32) ‘a=32 nilai absolut x
Atn(x) Nilai arcus tangent x x dalam radian : degree = radian * 180/phi
Cos(x) Nilai cosinus x x dalam radian
Exp(x) Nilai exponensial x
Fix(x) fix(3.2) = 3 fix(-3.2) = -3 mencari integer bilangan pecah, untuk bilangan negatif; mencari bilangan pertama > x
Int(x) int(5.4) = 5 int(-5.4) =-6 Bilangan negatif; mencari bilangan pertama <=x
Log(x) nilai natural log x
Rnd(x) 0 <= hasil random <1 nilai x menentukan hasil random sebelumnya gunakan perintah Randomize untuk memastikan bahwa hasil Rnd(x) selalu beda
Sgn(x) menghasilkan : 1 bila x > 0
0 bila x = 0
-1 bilaa x < 0

Sin(x) A = SQR(16) ‘A=4 A = SQR(-16) ‘error nilai cosinus x dalam radian
Sqr(x) Akar bilangan x
Tan(x) Q = Tan(45*phi/180) ‘Q=1 nilai tangent x dalam radian phi=3.141592653589732
Derifat Fungsi Matematika
Fungsi matematika yang tidak ada dapat diderifasi dari fungsi yang tersedia.
Fungsi Derifat Sepadan
Secant Sec(X) = 1 / Cox(X)
Cosecant Cosec(X) = 1 / Sin(X)
Cotangent Cotan(X) = 1 / Tan(X)
Inverse Sinus Arcsin(X) = Atn(X / Sqr(-X * X +1))
Inverse Cosinus Arcos(X) = Atn( -X / Sqr(-X * X +1)) + 2 * Atn(1)
Inverse Secant Arsec(X) = 2 * Atn(1) – Atn(Sgn(X) / Sqr(X * X -1))
Inverse Cosecant Arccosec(X) = Atn(Sgn(X) / Sqr(X * X -1))
Inverse Cotangen Arccotan(X) = 2 * Atn(1) – Atn(X)
Hyperbolic Sinus HSin(X) = (Exp(X) – Exp(-X)) / 2
Hyperbolic Cosinus HCos(X) = (Exp(X) + Exp(-X)) / 2
Hyperbolic Tangent HTan(X) = (Exp(X) – Exp(-X)) / (Exp(X) + Exp(-X))
Hyperbolic Secant HSec(X) = 2 / (Exp(X) + Exp(-X))
Hyperbolic Cosecant HCosec(X) = 2 / (Exp(X) – Exp(-X))
Hyperbolic Cotangent HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) – Exp(-X))
Inverse Hyperbolic Sinus HArcsin(X) = Log(X + Sqr(X * X + 1)
Inverse Hyperbolic Cosinus HArccos(X) = Log(X + Sqr(X * X – 1)
Inverse Hyperbolic Tangent HArctan(X) = Log(1 + X) / (1 – X)) / 2
Inverse Hyperbolic Secant HArcsec(X) = Log((Sqr(-X * X +1) + 1) / X)
Inverse Hyperbolic Cosecant HArccosec(X) = Log(Sgn(X) * Sqr(X * X +1) + 1) / X)
Inverse Hyperbolic Cotangent HArcotan(X) = Log((X + 1) / (X – 1)) / 2
Logaritgm ti base N LogN(X) = Log(X) / Log(N)
Fungsi Manipulasi Bilangan
VB mempunyai fungsi untuk memanipulasi data numerik sebagai berikut :
Round : membulatkan bilangan cacah dengan jumlah desimal tertentu
MyValue = Round(33.4549, 2) ‘hasil 33.45
MyValue = Round(33.455, 2) ‘hasil 33.46
MyValue = Round(33.456, 2) ‘hasil 33.46
Val : menghasilkan bilangan numerik dari suatu variabel string
MyValue = Val(“2457”) ‘hasil 2457
MyValue = Val(“2 4 5 7”) ‘hasil 2457
MyValue = Val(“24 and 57”) ‘hasil 24
Str : menghasilkan variabel string (Variant) dari ekspresi numerik
MyString = Str (459) ‘hasil “459”
MyString = Str (-459.65) ‘hasil “-459.65”
MyString = Str (459.001) ‘hasil “459.001”
Hex : menghasilkan nilai hexadesimal dari suatu bilangan
MyHex = Hex(5) ‘hasil 5
MyHex = Hex(10) ‘hasil A
MyHex = Hex(459) ‘hasil 1CB
Oct : menghasilkan nilai octal dari setiap bilangan
MyOct = Oct(4) ‘hasil 4
MyOct = Oct(8) ‘hasil 10
MyOct = Oct(459) ‘hasil 713

Aplikasi Konversi Panjang Sederhana dengan Visual Basic 2008

ROCKY CHRISTMAS TARIGAN

Setelah Kutahu Ternyata yang Kutahu Masih Sedikit…?

Aplikasi Konversi Panjang Sederhana dengan VB2008


Berawal dari ada salah satu temen kuliah  saya di Rafhael yang bertanya gimana sih cara membuat Aplikasi Konversi Panjang dengan menggunakan Array di VB 2008 yang sekaligus mau dipakai demo pas UAS nanti, oleh karena itu saya ingin sedikit berbagi kepada teman-teman di seluruh Indonesia. Berikut langkah-langkah membuat aplikasi konversi panjang sederhana :
  • Buatlah form seperti gambar di bawah ini
konversipanjang
konversipanjang
  • Ketikkan Kode berikut ini
01Public Class Form1
02    Dim satuan() As String = {"", "Inchi", "Fathom", "Foot", "Furlong", "Kilometer", "Meter", "Mile", "Rod", "Yard"}
03    Dim feet() As Double = {0, 0.0833, 6, 1, 660, 3281.5, 3.28155, 5280, 16.5, 3}
04    Dim hasil As Double
05
06    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
07        For i As Integer = 1 To 9
08            ListBox1.Items.Add(i & ".   " & satuan(i))
09        Next
10    End Sub
11
12    Private Sub cmdconvert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdconvert.Click
13        hasil = Val(nilai.Text * feet(txtfrom.Text))
14        hasil = Val(hasil / feet(txtto.Text))
15        txthasil.Text = FormatNumber(hasil, 2, TriState.True, TriState.False)
16    End Sub
17End Class
Berikut Penjelasan dari kode tersebut
1Dim satuan() As String = {"", "Inchi", "Fathom", "Foot", "Furlong", "Kilometer", "Meter", "Mile", "Rod", "Yard"}
2   Dim feet() As Double = {0, 0.0833, 6, 1, 660, 3281.5, 3.28155, 5280, 16.5, 3}
3   Dim hasil As Double
Kode diatas adalah pendeklarasian Array satuan dan Feet serta variable hasil
1Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
2        For i As Integer = 1 To 9
3            ListBox1.Items.Add(i & ".   " & satuan(i))
4        Next
5    End Sub
Kode diatas di gunakan untuk menampilkan data pada Array Satuan pada Listbox1
1Private Sub cmdconvert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdconvert.Click
2        hasil = Val(nilai.Text * feet(txtfrom.Text))
3        hasil = Val(hasil / feet(txtto.Text))
4        txthasil.Text = FormatNumber(hasil, 2, TriState.True, TriState.False)
5    End Sub
Kode Diatas adalah Code untuk Konversi dari ke-9 satuan tersebut.
Program diatas dapat didownload di link berikut ini
Oiza… temen2 jangan lupa ngasih Saran dan kritik yang habis view… oke.. Trims

Download APLIKASI

Aplikasi Graph : Pencarian Jalur Terpendek

Berikut ini adalah sedikit Review Aplikasi Pencarian Jalur Terpendek menggunakan Algoritma yang sangat sederhana dan di Implementasikan dengan menggunakan MS Visual Basic 2008 Express.

Aplikasi Graph : Pencarian Jalur Terpendek

Baca entri selengkapnya »
Ditulis oleh kubaat
20 Juni 2010 pada 10:24 pm

Revisi Konversi Infix-Prefix-Postfix

Karena ada laporan kalau file yang notasi polish itu corrupt alias tidak bisa dibuka, maka kali ini saya coba upload lagi dalam bentuk *.zip, sebelumnya jika ada yang salah tentang program ini silahkan di komentari di bagian komentar sebagai koreksi bagi saya karena saya tidak sempat untuk melakukan running test terhadap aplikasi ini oke.. ‘
Berikut linknya : Revisi Infix-Prefix-Postfix
Ditulis oleh kubaat
4 Mei 2010 pada 1:33 pm
Ditulis dalam Algoritma, Struktur Data, Uncategorized
Dikaitkatakan dengan

Program Angka terbilang

Sebenarnya Algoritma dan Aplikasi ini sudah bisa anda temui di berbagai sumber apalagi internet, disini saya hanya menjembatani saja dan sedikit sharing saja, jadi logikanya :

Angka Terbilang
  • Pertama anda harus membuat array terbilang untuk tiap angka misal 1  berarti ‘satu’
  • Kemudian lakukan kondisi jika < 100 maka terbilangnya ‘puluh ‘ dan seterusnya.
berikut sourcecodenya:
Baca entri selengkapnya »
Ditulis oleh kubaat
4 Mei 2010 pada 1:26 pm
Ditulis dalam Algoritma, Struktur Data, Uncategorized
Dikaitkatakan dengan

Aplikasi Konversi Notasi Polish – Balik Kalimat – Cek Ekspresi Matematis dll

berikut ini sedikit review tentang 6 tugas Struktur data Pada BAB STACK dan QUEUE. Untuk Download sourcecode lengkap bisa di download di akhir tulisan ini oke.. (tapi kalau yang onlinenya di Kampus Trunojoyo sourcecodenya gak bisa didownload karena kampus memblok untuk mendownload file .RAR)
  • Aplikasi Perkalian Matrik

Aplikasi Kali Matrik
  • Aplikasi Cek Ekspresi Matematika

Aplikasi Cek Ekspresi Matematika
  • Aplikasi Pembalik Kata

Aplikasi Pembalik Kata
Aplikasi Konvesi Infix – Prefix – Postfix

Aplikasi Konversi Notasi Polish
Aplikasi Contoh Queue (Antrian)

Aplikasi Contoh Queue (Antrian)
Aplikasi Kalkulator Formula

Aplikasi Kalkulator Formula
Download Source Code Lengkap Aplikasi

Membuat Buku Tamu Sederhana dari PHP

            Membuat Buku Tamu Sederhana dari PHP

Rocky Christmas Tarigan

Buat Databasenya berikut rinciannya

 

CREATE TABLE `guestbook` ( `id` int(4) NOT NULL auto_increment, `name` varchar(65) NOT NULL default '', `email` varchar(65) NOT NULL default '', `comment` longtext NOT NULL, `datetime` varchar(65) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

  • Membuat file guestbook.php

Tampilan dari file guestbook.php

01<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
02<tr>
03<td><strong>Test Sign Guestbook </strong></td>
04</tr>
05</table>
06<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
07<tr>
08<form id="form1" name="form1" method="post" action="addguestbook.php">
09<td>
10<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
11<tr>
12<td width="117">Name</td>
13<td width="14">:</td>
14<td width="357"><input name="name" type="text" id="name" size="40" /></td>
15</tr>
16<tr>
17<td>Email</td>
18<td>:</td>
19<td><input name="email" type="text" id="email" size="40" /></td>
20</tr>
21<tr>
22<td valign="top">Comment</td>
23<td valign="top">:</td>
24<td><textarea name="comment" cols="40" rows="3" id="comment"></textarea></td>
25</tr>
26<tr>
27<td>&nbsp;</td>
28<td>&nbsp;</td>
29<td><input type="submit" name="Submit" value="Submit" /> <input type="reset" name="Submit2" value="Reset" /></td>
30</tr>
31</table>
32</td>
33</form>
34</tr>
35</table>
36<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
37<tr>
38<td><strong><a href="viewguestbook.php">View Guestbook</a> </strong></td>
39</tr>
40</table>
  • Membuat file addguestbook.php
01<?php
02$host="localhost"; // Host name
03$username=""; // Mysql username
04$password=""; // Mysql password
05$db_name="test"; // Database name
06$tbl_name="guestbook"; // Table name
07
08// Connect to server and select database.
09mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
10mysql_select_db("$db_name")or die("cannot select DB");
11
12$datetime=date("y-m-d h:i:s"); //date time
13
14$sql="INSERT INTO $tbl_name(name, email, comment, datetime)VALUES('$name', '$email', '$comment', '$datetime')";
15$result=mysql_query($sql);
16
17//check if query successful
18if($result){
19echo "Successful";
20echo "<BR>";
21echo "<a href='viewguestbook.php'>View guestbook</a>"; // link to view guestbook page
22}
23
24else {
25echo "ERROR";
26}
27
28mysql_close();
29?>
  • Membuat file viewguestbook.php
01<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
02<tr>
03<td><strong>View Guestbook | <a href="guestbook.php">Sign Guestbook</a> </strong></td>
04</tr>
05</table>
06<br>
07
08<?php
09
10$host="localhost"; // Host name
11$username=""; // Mysql username
12$password=""; // Mysql password
13$db_name="test"; // Database name
14$tbl_name="guestbook"; // Table name
15
16// Connect to server and select database.
17mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
18mysql_select_db("$db_name")or die("cannot select DB");
19
20$sql="SELECT * FROM $tbl_name";
21$result=mysql_query($sql);
22
23while($rows=mysql_fetch_array($result)){
24?>
25<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
26<tr>
27<td><table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
28<tr>
29<td>ID</td>
30<td>:</td>
31<td><? echo $rows['id']; ?></td>
32</tr>
33<tr>
34<td width="117">Name</td>
35<td width="14">:</td>
36<td width="357"><? echo $rows['name']; ?></td>
37</tr>
38<tr>
39<td>Email</td>
40<td>:</td>
41<td><? echo $rows['email']; ?></td>
42</tr>
43<tr>
44<td valign="top">Comment</td>
45<td valign="top">:</td>
46<td><? echo $rows['comment']; ?></td>
47</tr>
48<tr>
49<td valign="top">Date/Time </td>
50<td valign="top">:</td>
51<td><? echo $rows['datetime']; ?></td>
52</tr>
53</table></td>
54</tr>
55</table>
56<BR>
57<?
58}
59mysql_close(); //close database
60?>

TUGAS WEB PERBANDINGAN

TUGAS WEB PERBANDINGAN FITUR

ROCKY CHRISTMAS Tarigan

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title>originality by chris</title>
</head>
<body>
<table width=”600″ height=”450″ border=”0″>

<tr>
<td colspan=”200″ style=”border-bottom:#000000 solid;”><p align=”center”><font color=”black” face=”Arial” size”5″>PERBANDINGAN FITUR</font></td>
</tr>
<tr>
<td width=”30″align=”center”>No</td>
<td width=”0″ rowspan=”10″ style=”border-left:#000000 solid thin;”>&nbsp;</td>
<td width=”200″ align=”center”>Fitur</td>
<td rowspan=”10″ style=”border-left:#000000 solid thin;padding-left:-5px;” width=”0″></td>
<td width=”180″ align=”center”>Enterprise</td>
<td width=”0″ rowspan=”10″ style=”border-left:#000000 solid thin;”>&nbsp;</td>
<td width=”0″align=”center”>Pro</td>
<td width=”0″align=”center”>Free</td>
</tr>
<tr>
<td colspan=”10″ style=”border-top:#000000 solid thin;”></td>
</tr>
<tr>
<td align=”center”>1</td>
<td>Garansi seumur hidup </td>
<td align=”center”>X</td>
<td align=”center”>-</td>
<td align=”center”>-</td>
</tr>
<tr>
<td align=”center”>2</td>
<td>Multiuser</td>
<td align=”center”>X</td>
<td align=”center”>-</td>
<td align=”center”>-</td>
</tr>
<tr>
<td align=”center”>3</td>
<td>Update otomatis </td>
<td align=”center”>X</td>
<td align=”center”>X</td>
<td align=”center”>-</td>
</tr>
<tr>
<td align=”center”>4</td>
<td>Cetak Laporan </td>
<td align=”center”>X</td>
<td align=”center”>X</td>
<td align=”center”>-</td>
</tr>
<tr>
<td align=”center”>5</td>
<td>Notifikasi error </td>
<td align=”center”>X</td>
<td align=”center”>X</td>
<td align=”center”>X</td>
</tr>
<tr>
<td colspan=”10″ style=”border-top:#000000 solid thin;”></td>
</tr>
<tr>
<td align=”center”>6</td>
<td>Ubah tema </td>
<td align=”center”>X</td>
<td align=”center”>X</td>
<td align=”center”>X</td>
</tr>
<tr>
<td align=”center”>7</td>
<td>Try ikon</td>
<td align=”center”>X</td>
<td align=”center”>X</td>
<td align=”center”>X</td>
</tr>
<tr>
<td colspan=”10″ style=”border-top:#000000 solid thin;”></td>
</tr>
</table>
</body>
</html>

FORM GRAFIK BATANG

TUGAS PRAKTIKUM WEB GRAFIK BATANG

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<html lang=”en”>
<head>
<title>GRAFIK BERBASIS TABEL</title>
</head>
<body>
<marquee><font color=”Black” face=”Arial Black” size=”5″ >GRAFIK BATANG STATIS</font></marquee>
<br/>
<br/>
<table width=”600″ >
<tr>
<td width=”600″ colspan=”2″>
<table rules=”rows” frame=”hsides” align=”left” cellspacing=”0″ cellpadding=”10″>
<tr><!– Mengatur lebar kolom –>
<th width=”150″>PERUSAHAAN</th>
<th width=”500″>PENDAPATAN</th>
</tr>
</table>
</td>
</tr>


<tr>
<td>
<table frame=”below” align=”left” cellspacing=”0″cellpadding=”3″>
<tr><!– Mengatur lebar kolom –>
<td width=”200″>Angin Reboot Ltd</td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”150″ colspan=”5″ >
<table border=”1″>
<tr>
<th width=”150″ height=”16″ colspan=”5″ bgcolor=”#008000″></th>
</tr>
</table>
</td>
<td >+150%</td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”25″></td>
</tr>


<tr><!– Mengatur lebar kolom –>
<td width=”200″>Command Prompt Inc</td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”50″ colspan=”2″><table border=”1″>
<tr>
<td width=”50″ height=”16″ colspan=”2″ bgcolor=”#008000″>
</td>
</tr>
</table>
</td>
<td width=”25″>+50%</td>
<td width=”25″></td>
<td width=”25″></td>
</tr>


<tr><!– Mengatur lebar kolom –>
<td width=”200″>Hibernate Ltd</td>
<td width=”50″></td>
<td width=”25″></td>


<td width=”25″ align=”right”>-23%</td>
<td width=”25″><table border=”1″ align=”right”>
<tr>
<td width=”20″ height=”16″ bgcolor=”#FFFF00″>
</td>
</tr>
</table>
</td>
<td width=”25″></td>
<td width=”25″></td>
</tr>


<tr><!– Mengatur lebar kolom –>
<td width=”200″>Shutdown Ltd</td>
<td width=”25″></td>


<td width=”25″></td>
<td width=”25″>-75%</td>
<td width=”100″><table border=”1″>
<tr>
<td width=”100″ height=”16″ colspan=”3″ bgcolor=”#FF0000″>
</td>
</tr>
</table>
</td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”25″></td>
<td width=”25″></td>

</tr>
</table>
</td>
</tr>
</table>
<p >PLEASE VISIT </p>
<marquee><p><align=”center”><em><a href=”http://chriskowa.wordpress.com/” target=”_blank”><strong>chriskowa.wordpress.com</strong></a></em></p>


</body>
</html>