Public Sub main()
Dim TArr As New
String[]
Dim TArr2 As
String[]
Dim Tks, TMentah
As String
Dim n, m As Byte
Tks =
"51712956783246"
'--------------
Jika Kososong
If Tks = ""
Then
Print "Kosong"
Return
Endif
'--------------
Jika sama dengan 0
If Tks = "0"
Then
Print "Nol"
Return
Endif
'--------------
Memasukkan tiap karakter string ke dalam nilai array. Dari terbesar sampai ke terkecil
For n = Len(Tks)
DownTo 1
'Sesuai urutan
dari depan ke belakang
TArr.Add(Mid(Tks, n, 1))
Next
'--------------
Mulai membaca tiap karakter
For n = 0 To
TArr.Max
'************** Satuan
If n = 0 Then
If TArr.Count = 1 Then TMentah = KA(TArr[n])
'************** Puluhan
Else If CStr(n) Like "{1,4,7,10,13}" Then
If TArr[n] = "1" Then
If TArr[n - 1] = "0" Then
TMentah = TMentah & "Sepuluh"
Else If TArr[n - 1] = "1" Then
TMentah = TMentah & "Sebelas"
Else
TMentah = TMentah & KA(TArr[n - 1]) & " Belas"
Endif
Else
If TArr[n] <> 0 Then TMentah = TMentah & KA(TArr[n]) & " Puluh" & " " & KA(TArr[n - 1])
Endif
'************** Ratusan
Else If CStr(n) Like "{2,5,8,11,14}" Then
If TArr[n] = "1" Then
TMentah = TMentah & "Seratus"
Else
If TArr[n] <> 0 Then TMentah = TMentah & KA(TArr[n]) & " Ratus"
Endif
'************** Ribuan
Else If n = 3 Then
If TArr.Count = 4 Then
If TArr[n] = "1" Then
TMentah = TMentah & "Seribu"
Else
TMentah = TMentah & KA(TArr[n]) & " Ribu"
Endif
Else
If TArr[n] = 1 And TArr[n + 1] = 0 Then
TMentah = TMentah & "Seribu"
Else If TArr[n] <> 1 And TArr[n + 1] = 0 Then
TMentah = TMentah & KA(TArr[n]) & " Ribu"
Else
TMentah = TMentah & "Ribu"
Endif
Endif
'************** Juta
Else If n = 6 Then
If TArr.Count = 7 Then
TMentah = TMentah & KA(TArr[n]) & " "
Endif
If TArr.Count < 10 Then TMentah = TMentah & "Juta"
'************** Miliar
Else If n = 9 Then
If TArr.Count = 10 Then
TMentah = TMentah & KA(TArr[n]) & " "
Endif
If TArr.Count < 13 Then TMentah = TMentah & "Miliar"
'************** Triliun
Else If n = 12 Then
If TArr.Count = 13 Then
TMentah = TMentah & KA(TArr[n]) & " Triliun"
Else
TMentah = TMentah & "Triliun"
Endif
Endif
TMentah = TMentah & "|"
If n = 0 Then
If TArr.Count = 1 Then TMentah = KA(TArr[n])
'************** Puluhan
Else If CStr(n) Like "{1,4,7,10,13}" Then
If TArr[n] = "1" Then
If TArr[n - 1] = "0" Then
TMentah = TMentah & "Sepuluh"
Else If TArr[n - 1] = "1" Then
TMentah = TMentah & "Sebelas"
Else
TMentah = TMentah & KA(TArr[n - 1]) & " Belas"
Endif
Else
If TArr[n] <> 0 Then TMentah = TMentah & KA(TArr[n]) & " Puluh" & " " & KA(TArr[n - 1])
Endif
'************** Ratusan
Else If CStr(n) Like "{2,5,8,11,14}" Then
If TArr[n] = "1" Then
TMentah = TMentah & "Seratus"
Else
If TArr[n] <> 0 Then TMentah = TMentah & KA(TArr[n]) & " Ratus"
Endif
'************** Ribuan
Else If n = 3 Then
If TArr.Count = 4 Then
If TArr[n] = "1" Then
TMentah = TMentah & "Seribu"
Else
TMentah = TMentah & KA(TArr[n]) & " Ribu"
Endif
Else
If TArr[n] = 1 And TArr[n + 1] = 0 Then
TMentah = TMentah & "Seribu"
Else If TArr[n] <> 1 And TArr[n + 1] = 0 Then
TMentah = TMentah & KA(TArr[n]) & " Ribu"
Else
TMentah = TMentah & "Ribu"
Endif
Endif
'************** Juta
Else If n = 6 Then
If TArr.Count = 7 Then
TMentah = TMentah & KA(TArr[n]) & " "
Endif
If TArr.Count < 10 Then TMentah = TMentah & "Juta"
'************** Miliar
Else If n = 9 Then
If TArr.Count = 10 Then
TMentah = TMentah & KA(TArr[n]) & " "
Endif
If TArr.Count < 13 Then TMentah = TMentah & "Miliar"
'************** Triliun
Else If n = 12 Then
If TArr.Count = 13 Then
TMentah = TMentah & KA(TArr[n]) & " Triliun"
Else
TMentah = TMentah & "Triliun"
Endif
Endif
TMentah = TMentah & "|"
Next
TArr2 =
Split(TMentah, "|")
TMentah = ""
For n = TArr2.Max
DownTo 0
TMentah =
TMentah & " " & TArr2[n]
If n = 0 Then
Break
Next
Print
Trim(TMentah) & " Rupiah"
End
Private Sub KA(n As
String) As String
'KA = Kata Angka
If n = "1"
Then
Return "Satu"
Else If n = "2"
Then
Return "Dua"
Else If n = "3"
Then
Return "Tiga"
Else If n = "4"
Then
Return "Empat"
Else If n = "5"
Then
Return "Lima"
Else If n = "6"
Then
Return "Enam"
Else If n = "7"
Then
Return "Tujuh"
Else If n = "8"
Then
Return "Delapan"
Else If n = "9"
Then
Return
"Sembilan"
Endif
End
'000.000.000.000.000
'Puluhan =
2,5,8,11,14 dari 0 = 1,4,7,10,13
'Ratusan =
3,6,9,12,15 dari 0 = 2,5,8,11,14
'Ribu = 4 dari 0 = 3
'Juta = 7 dari 0 = 6
'Miliar = 10 dari 0
= 9
'Triliun = 13 dari 0
= 12
Tidak ada komentar:
Posting Komentar