Kamis, 14 November 2013

SOURCE CODE TERBILANG

SOURCE CODE TERBILANG

Source code dalam tutorial ini berfungsi menterjemahkan angka menjadi tulisan terbilang dengan bahasa Indonesia dari besar uang yang dimasukkan ke dalam textbox.
Persiapan : Buatlah desain tampilan tampilan seperti gambar berikut :
clip_image001
Jika sobat selesai membuat form seperti gambar diatas lanjutkan menulis codingnya dengan cara :
Klik View – Code dan tuliskan code berikut :
  1. Public Function Terbilang(strAngka As String, Optional MataUang As String = "rupiah") As String
  2. Dim strJmlHuruf$, intPecahan As Integer
  3. Dim strPecahan$, Urai$, Angka1$, strTot$, Angka2$
  4. Dim X As Integer, Y As Integer, z As Integer
  5. On Error GoTo Pesan
  6. Dim strValid As String, huruf As String * 1
  7. Dim i As Integer
  1. 'Periksa setiap karakter yg diketikkan ke kotak UserID
  2. strValid = "1234567890"
  3. For i% = 1 To Len(strAngka)
  4. huruf = Chr(Asc(Mid(strAngka, i%, 1)))
  5. If InStr(strValid, huruf) = 0 Then
  6. Set AngkaTerbilang = Nothing
  7. MsgBox "Harus karakter angka!", _
  8. vbCritical, "Karakter Tidak Valid"
  9. Exit Function
  10. End If
  11. Next i%
  12. If strAngka = "" Then Exit Function
  13. If Len(Trim(strAngka)) > 15 Then GoTo Pesan
  14. strJmlHuruf = LTrim(strAngka)
  15. 'intPecahan = Val(Right(Mid(strAngka, 15, 2), 2))
  16. If (intPecahan = 0) Then
  17. strPecahan = ""
  18. Else
  19. 'strPecahan = LTrim(Str(intPecahan)) + "/100 "
  20. strPecahan = ""
  21. End If
  22. X = 0
  23. Y = 0
  24. Urai = ""
  25. While (X < Len(strJmlHuruf))
  26. X = X + 1
  27. 218
  28. strTot = Mid(strJmlHuruf, X, 1)
  29. Y = Y + Val(strTot)
  30. z = Len(strJmlHuruf) - X + 1
  31. Select Case Val(strTot)
  32. Case 1
  33. If (z = 1 Or z = 7 Or z = 10 Or z = 13) Then
  34. Angka1 = "satu "
  35. ElseIf (z = 4) Then
  36. If (X = 1) Then
  37. Angka1 = "se"
  38. Else
  39. Angka1 = "satu "
  40. End If
  41. ElseIf (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then
  42. X = X + 1
  43. strTot = Mid(strJmlHuruf, X, 1)
  44. z = Len(strJmlHuruf) - X + 1
  45. Angka2 = ""
  46. Select Case Val(strTot)
  47. Case 0: Angka1 = "sepuluh "
  48. Case 1: Angka1 = "sebelas "
  49. Case 2: Angka1 = "dua belas "
  50. Case 3: Angka1 = "tiga belas "
  51. Case 4: Angka1 = "empat belas "
  52. Case 5: Angka1 = "lima belas "
  53. Case 6: Angka1 = "enam belas "
  54. Case 7: Angka1 = "tujuh belas "
  55. Case 8: Angka1 = "delapan belas "
  56. Case 9: Angka1 = "sembilan belas "
  57. End Select
  58. Else
  59. Angka1 = "se"
  60. End If
  61. Case 2: Angka1 = "dua "
  62. Case 3: Angka1 = "tiga "
  63. Case 4: Angka1 = "empat "
  64. Case 5: Angka1 = "lima "
  65. Case 6: Angka1 = "enam "
  66. Case 7: Angka1 = "tujuh "
  67. Case 8: Angka1 = "delapan "
  68. Case 9: Angka1 = "sembilan "
  69. Case Else
  70. Angka1 = ""
  71. End Select
  72. If (Val(strTot) > 0) Then
  73. If (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then
  74. Angka2 = "puluh "
  75. ElseIf (z = 3 Or z = 6 Or z = 9 Or z = 12 Or z = 15) Then
  76. Angka2 = "ratus "
  77. Else
  78. Angka2 = ""
  79. End If
  80. Else
  81. Angka2 = ""
  82. End If
  83. 219
  84. If (Y > 0) Then
  85. Select Case z
  86. Case 4: Angka2 = Angka2 + "ribu "
  87. Y = 0
  88. Case 7: Angka2 = Angka2 + "juta "
  89. Y = 0
  90. Case 10: Angka2 = Angka2 + "milyar "
  91. Y = 0
  92. Case 13: Angka2 = Angka2 + "trilyun "
  93. Y = 0
  94. End Select
  95. End If
  96. Urai = Urai + Angka1 + Angka2
  97. Wend
  98. Urai = Urai + strPecahan
  99. Terbilang = (Urai & MataUang)
  100. Exit Function
  101. Pesan:
  102. Terbilang = "(maksimal 15 digit)"
  103. End Function
clip_image003
Terakhir :
Untuk TextBox1 tuliskan codingnya seperti berikut :
  1. Private Sub Text1_Change()
  2. Label4.Caption = Terbilang(Text1.Text)
  3. End Sub
clip_image005

Tidak ada komentar:

Posting Komentar