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 :
Jika sobat selesai membuat form seperti gambar diatas lanjutkan menulis codingnya dengan cara :
Klik View – Code dan tuliskan code berikut :- Public Function Terbilang(strAngka As String, Optional MataUang As String = "rupiah") As String
- Dim strJmlHuruf$, intPecahan As Integer
- Dim strPecahan$, Urai$, Angka1$, strTot$, Angka2$
- Dim X As Integer, Y As Integer, z As Integer
- On Error GoTo Pesan
- Dim strValid As String, huruf As String * 1
- Dim i As Integer
- 'Periksa setiap karakter yg diketikkan ke kotak UserID
- strValid = "1234567890"
- For i% = 1 To Len(strAngka)
- huruf = Chr(Asc(Mid(strAngka, i%, 1)))
- If InStr(strValid, huruf) = 0 Then
- Set AngkaTerbilang = Nothing
- MsgBox "Harus karakter angka!", _
- vbCritical, "Karakter Tidak Valid"
- Exit Function
- End If
- Next i%
- If strAngka = "" Then Exit Function
- If Len(Trim(strAngka)) > 15 Then GoTo Pesan
- strJmlHuruf = LTrim(strAngka)
- 'intPecahan = Val(Right(Mid(strAngka, 15, 2), 2))
- If (intPecahan = 0) Then
- strPecahan = ""
- Else
- 'strPecahan = LTrim(Str(intPecahan)) + "/100 "
- strPecahan = ""
- End If
- X = 0
- Y = 0
- Urai = ""
- While (X < Len(strJmlHuruf))
- X = X + 1
- 218
- strTot = Mid(strJmlHuruf, X, 1)
- Y = Y + Val(strTot)
- z = Len(strJmlHuruf) - X + 1
- Select Case Val(strTot)
- Case 1
- If (z = 1 Or z = 7 Or z = 10 Or z = 13) Then
- Angka1 = "satu "
- ElseIf (z = 4) Then
- If (X = 1) Then
- Angka1 = "se"
- Else
- Angka1 = "satu "
- End If
- ElseIf (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then
- X = X + 1
- strTot = Mid(strJmlHuruf, X, 1)
- z = Len(strJmlHuruf) - X + 1
- Angka2 = ""
- Select Case Val(strTot)
- Case 0: Angka1 = "sepuluh "
- Case 1: Angka1 = "sebelas "
- Case 2: Angka1 = "dua belas "
- Case 3: Angka1 = "tiga belas "
- Case 4: Angka1 = "empat belas "
- Case 5: Angka1 = "lima belas "
- Case 6: Angka1 = "enam belas "
- Case 7: Angka1 = "tujuh belas "
- Case 8: Angka1 = "delapan belas "
- Case 9: Angka1 = "sembilan belas "
- End Select
- Else
- Angka1 = "se"
- End If
- Case 2: Angka1 = "dua "
- Case 3: Angka1 = "tiga "
- Case 4: Angka1 = "empat "
- Case 5: Angka1 = "lima "
- Case 6: Angka1 = "enam "
- Case 7: Angka1 = "tujuh "
- Case 8: Angka1 = "delapan "
- Case 9: Angka1 = "sembilan "
- Case Else
- Angka1 = ""
- End Select
- If (Val(strTot) > 0) Then
- If (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then
- Angka2 = "puluh "
- ElseIf (z = 3 Or z = 6 Or z = 9 Or z = 12 Or z = 15) Then
- Angka2 = "ratus "
- Else
- Angka2 = ""
- End If
- Else
- Angka2 = ""
- End If
- 219
- If (Y > 0) Then
- Select Case z
- Case 4: Angka2 = Angka2 + "ribu "
- Y = 0
- Case 7: Angka2 = Angka2 + "juta "
- Y = 0
- Case 10: Angka2 = Angka2 + "milyar "
- Y = 0
- Case 13: Angka2 = Angka2 + "trilyun "
- Y = 0
- End Select
- End If
- Urai = Urai + Angka1 + Angka2
- Wend
- Urai = Urai + strPecahan
- Terbilang = (Urai & MataUang)
- Exit Function
- Pesan:
- Terbilang = "(maksimal 15 digit)"
- End Function
Terakhir :
Untuk TextBox1 tuliskan codingnya seperti berikut :
- Private Sub Text1_Change()
- Label4.Caption = Terbilang(Text1.Text)
- End Sub
Tidak ada komentar:
Posting Komentar