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