kali ini gw mao berbagi tentang membuat kata Angka bilangan. Dalam Bentuk Indonesia Dan Inggirs
langsung Ajah deh..
Simak Secara Telitih Yoooo...
Pertama buat dulu design seperti dibawah ini... Oke
berikutnya masukan Coding bi bawah ini:
' By SIDIK
Function Terbilang(Nominal As String, Optional
Bahasa As String = "Indonesia / Inggris") As String
Dim Angka, Kata, Tingkat, Kalimat, Subkalimat,
Kata1, Kata2, Kata3 As String
Dim Panjang, i, j As Integer
Angka = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0)
If Bahasa = "Indonesia" Then
Kata = Array("", "satu",
"dua", "tiga", "empat", "lima",
"enam", "tujuh", "delapan", "sembilan")
Tingkat = Array("", "
ribu", " juta", " milyar", " triliun")
ElseIf Bahasa = "Inggris" Then
Kata = Array("", "one",
"two", "three", "four", "five",
"six", "seven", "eight", "nine")
Tingkat = Array("", "
thousand", " million", " milyar", "
triliun")
End If
Panjang = Len(Nominal)
' /*
pengujian panjang bilangan */
If Panjang > 15 Then
Kalimat = "Diluar Batas"
Return
End If
' /*
mengambil angka-angka yang ada dalam bilangan,
'
dimasukkan ke dalam array */
For
i = 1 To Panjang
Angka(i) = Mid(Nominal, (Panjang + 1) - i, 1)
Next
i
i =
1
j =
0
Kalimat = ""
' /*
mulai proses iterasi terhadap array angka */
While (i <= Panjang)
Subkalimat = ""
Kata1 = ""
Kata2 = ""
Kata3 = ""
'
/* untuk ratusan */
If Angka(i + 2) <> "0" Then
If Angka(i + 2) = "1" Then
Kata1 = "Seratus"
Else
Kata1 = Kata(Angka(i + 2)) & " ratus"
End If
End If
'
/* untuk puluhan atau belasan */
If Angka(i + 1) <> "0" Then
If Angka(i + 1) = "1" Then
If Angka(i) = "0" Then
Kata2 = "sepuluh"
ElseIf Angka(i) = "1" Then
Kata2 = "sebelas"
Else
Kata2 = Kata(Angka(i))
& " belas"
End If
Else
Kata2 = Kata(Angka(i + 1)) & " puluh"
End If
End If
'
/* untuk satuan */
If Angka(i) <> "0" Then
If Angka(i + 1) <> "1" Then
Kata3 = Kata(Angka(i))
End If
End If
'
/* pengujian angka apakah tidak nol semua, lalu ditambahkan tingkat */
If ((Angka(i) <> "0") Or (Angka(i + 1) <>
"0") Or (Angka(i + 2) <> "0")) Then
If Trim(Kata2) <> "" Then Kata2 = " " &
Trim(Kata2)
If Trim(Kata3) <> "" Then Kata3 = " " &
Trim(Kata3)
Subkalimat = Trim(Kata1) & Kata2 & Kata3 & Tingkat(j)
End If
'
/* gabungkan variabe sub kalimat (untuk satu blok 3 angka) ke variabel kalimat
*/
If Trim(Kalimat) <> "" Then Kalimat = " "
& Trim(Kalimat)
Kalimat = Trim(Subkalimat) & Kalimat
i = i + 3
j
= j + 1
' /*
mengganti satu ribu jadi seribu jika diperlukan */
If
((Angka(5) = "0") And (Angka(6) = "0")) Then
Kalimat = Replace(Trim(Kalimat), "satu ribu",
"seribu")
End
If
Wend
If Bahasa = "Indonesia" Then
Kalimat = Trim(Kalimat) & "
rupiah"
Else
Kalimat = Trim(Kalimat)
End If
Terbilang = UCase(Kalimat)
End Function
Private Sub Command1_Click()
Text2.Text = Terbilang(Text1.Text,
"Indonesia")
End Sub
'----------------------------------------------------------------------------------
Oke Sampai disini Pembuatan Kata terbilang dalam dua bahasa selesai..
Selamat Dicoba moga2 gak ada Debug YOOO.... ^_^
Terimakasih gan, sangat bermanfaat:-)
BalasHapus