hi friends,
nih ada 2 function (indonesia & english) yang dulu saya konversi dari
clipper. cara pakenya di vb simpan dalam module public lalu panggil dari
program :
Misal:
Dim terbilang as string, angka as double
angka = 1230000
terbilang = nutos(angka)
semoga bermanfaat.

Public Function Nutos(Nilai As Double) As String
 '-------------------------------------------------------------------
 'Function untuk menyebutkan angka/nilai dalam bahasa indonesia in vb
 'Programmed by Wayan Budiasa 12 November 2001
 '-------------------------------------------------------------------
 Dim Deret As String
 Dim Kata As String
 Dim N_Huruf As String
 Dim Tes As Byte
 Tes = 0
 N_Huruf = Format(Nilai, "000000000000.00")
 Kata = ""
 Deret = "        Satu    Dua     Tiga    Empat   Lima    Enam   
Tujuh   Delapan Sembilan"
 '** Pecahan Ratusan Milyard **
 Tes = Val(Mid(N_Huruf, 1, 1))
 Select Case Tes
        Case Is = 1
         Kata = [Kata] & "Seratus "
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Tes) + 1, 8))
         Kata = [Kata] & " ratus "
 End Select
 '** Pecahan Puluhan Milyard **
 Tes = Val(Mid(N_Huruf, 2, 1))
 Select Case Tes
        Case Is = 1
         If Mid(N_Huruf, 3, 1) = "1" Then
            Kata = [Kata] & "Sebelas "
           ElseIf Mid(N_Huruf, 3, 1) = "0" Then
            Kata = [Kata] & "Sepuluh "
           Else
            Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 3,
1)) + 1), 8)) & " belas"
         End If
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Tes) + 1, 8)) & " puluh "
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 3, 1))
+ 1), 8))
        Case Is = 0
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 3, 1))
+ 1), 8))
 End Select
 '** Pecahan Satuan Milyard **
 If Val(Mid(N_Huruf, 1, 3)) > 0 Then
    Kata = [Kata] & " milyar "
 End If
 '** Pecahan Ratusan Juta **
 Tes = Val(Mid(N_Huruf, 4, 1))
 Select Case Tes
        Case Is = 1
         Kata = [Kata] & "Seratus "
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Tes) + 1, 8))
         Kata = [Kata] & " ratus "
 End Select
 '** Pecahan Puluhan Juta **
 Tes = Val(Mid(N_Huruf, 5, 1))
 Select Case Tes
        Case Is = 1
         If Mid(N_Huruf, 6, 1) = "1" Then
            Kata = [Kata] & "Sebelas "
           ElseIf Mid(N_Huruf, 6, 1) = "0" Then
            Kata = [Kata] & "Sepuluh "
           Else
            Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 6,
1)) + 1), 8)) & " belas"
         End If
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Tes) + 1, 8)) & " puluh "
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 6, 1))
+ 1), 8))
        Case Is = 0
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 6, 1))
+ 1), 8))
 End Select
 '** Pecahan Satuan Juta **
 If Val(Mid(N_Huruf, 4, 3)) > 0 Then
    Kata = [Kata] & " juta "
 End If
 '** Pecahan Ratusan Ribu **
 Tes = Val(Mid(N_Huruf, 7, 1))
 Select Case Tes
        Case Is = 1
         Kata = [Kata] & "Seratus "
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Tes) + 1, 8))
         Kata = [Kata] & " ratus "
 End Select
 '** Pecahan Puluhan dan Satuan Ribu **
 Tes = Val(Mid(N_Huruf, 8, 1))
 Select Case Tes
        Case Is = 1
         If Mid(N_Huruf, 9, 1) = "1" Then
            Kata = [Kata] & "Sebelas "
           ElseIf Mid(N_Huruf, 9, 1) = "0" Then
            Kata = [Kata] & "Sepuluh "
           Else
            Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 9,
1)) + 1), 8)) & " belas"
         End If
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Tes) + 1, 8)) & " puluh "
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 9, 1))
+ 1), 8))
        Case Is = 0
         If Val(Mid(N_Huruf, 7, 2)) = 0 Then
            Tes = Val(Mid(N_Huruf, 9, 1))
            Select Case Tes
             Case Is = 1
               Kata = [Kata] & "Seribu "
             Case Is > 1
               Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf,
9, 1)) + 1), 8))
            End Select
           Else
            Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 9,
1)) + 1), 8))
         End If
 End Select
 If Val(Mid(N_Huruf, 7, 3)) > 1 Then
    Kata = [Kata] & " ribu "
 End If
 '** Pecahan Ratusan **
 Tes = Val(Mid(N_Huruf, 10, 1))
 Select Case Tes
        Case Is = 1
         Kata = [Kata] & "Seratus "
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Tes) + 1, 8))
         Kata = [Kata] & " ratus "
 End Select
 '** Pecahan Puluhan dan Satuan **
 Tes = Val(Mid(N_Huruf, 11, 1))
 Select Case Tes
        Case Is = 1
         If Mid(N_Huruf, 12, 1) = "1" Then
            Kata = [Kata] & "Sebelas "
           ElseIf Mid(N_Huruf, 12, 1) = "0" Then
               Kata = [Kata] & "Sepuluh "
              Else
               Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf,
12, 1)) + 1), 8)) & " belas "
         End If
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Tes) + 1, 8)) & " puluh "
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 12,
1)) + 1), 8)) & " "
        Case Is = 0
         Kata = [Kata] & RTrim(Mid(Deret, (8 * Val(Mid(N_Huruf, 12,
1)) + 1), 8)) & " "
 End Select
 '** Pecahan Sen**
 Tes = Val(Right(N_Huruf, 2))
 If Tes = 0 Then
    Kata = Kata
   Else
    Kata = [Kata] & " & " & Right(N_Huruf, 2) & "/100 "
 End If
 Nutos = [Kata]
End Function
Public Function Said(Amt As Double) As String
 '-------------------------------------------------------------------
 'Function untuk menyebutkan angka/nilai dalam bahasa inggris in vb
 'Programmed by Wayan Budiasa 12 November 2001
 '-------------------------------------------------------------------
 Dim Satuan As String, Belasan As String, Puluhan As String
 Dim Deret As String, NHuruf As String, Kata As String, Tes As Integer
 Tes = 0
 Kata = ""
 Satuan = "      one   two   three four  five  six   seven eight nine  "
 Belasan = "          eleven    twelve    thirteen  fourteen  fifteen
  sixteen   seventeen eighteen  nineteen  "
 Puluhan = "        ten     twenty  thirty  forty   fifty   sixty  
seventy eighty  ninety  "
 'Panjangnya: Satuan = 6; Belasan = 10; Puluhan = 8
 NHuruf = Format(Amt, "000000000000.00")
 
 '** Pecahan Ratusan Milyard **
 Tes = Val(Mid(NHuruf, 1, 1))
 Select Case Tes
        Case Is > 0
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Tes) + 1, 6))
         Kata = [Kata] & " hundred "
 End Select
 
 '** Pecahan Puluhan Milyard **
 Tes = Val(Mid(NHuruf, 2, 1))
 Select Case Tes
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Puluhan, (8 * Tes) + 1, 8)) & " "
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf, 3, 1))
+ 1), 6))
        Case Is = 1
         If Val(Mid(NHuruf, 3, 1)) = 0 Then
            Kata = [Kata] & "ten "
           Else
            Kata = [Kata] & RTrim(Mid(Belasan, (10 * Val(Mid(NHuruf,
3, 1)) + 1), 10))
         End If
        Case Is = 0
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf, 3, 1))
+ 1), 6))
 End Select
 
 '** Pecahan Satuan Milyard **
 If Val(Mid(NHuruf, 1, 3)) > 0 Then
    Kata = [Kata] & " billion "
 End If
 
 '** Pecahan Ratusan Juta **
 Tes = Val(Mid(NHuruf, 4, 1))
 Select Case Tes
        Case Is > 0
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Tes) + 1, 6))
         Kata = [Kata] & " hundred "
 End Select
 
 '** Pecahan Puluhan Juta **
 Tes = Val(Mid(NHuruf, 5, 1))
 Select Case Tes
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Puluhan, (8 * Tes) + 1, 8)) & " "
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf, 6, 1))
+ 1), 6))
        Case Is = 1
         If Val(Mid(NHuruf, 6, 1)) = 0 Then
            Kata = [Kata] & "ten "
           Else
            Kata = [Kata] & RTrim(Mid(Belasan, (10 * Val(Mid(NHuruf,
6, 1)) + 1), 10))
         End If
        Case Is = 0
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf, 6, 1))
+ 1), 6))
 End Select
 
 '** Pecahan Satuan Juta **
 If Val(Mid(NHuruf, 4, 3)) > 0 Then
    Kata = [Kata] & " million "
 End If
 
  '** Pecahan Ratusan Ribu **
 Tes = Val(Mid(NHuruf, 7, 1))
 Select Case Tes
        Case Is > 0
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Tes) + 1, 6))
         Kata = [Kata] & " hundred "
 End Select
 
 '** Pecahan Puluhan Ribu **
 Tes = Val(Mid(NHuruf, 8, 1))
 Select Case Tes
        Case Is > 1
         Kata = [Kata] & RTrim(Mid(Puluhan, (8 * Tes) + 1, 8)) & " "
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf, 9, 1))
+ 1), 6))
        Case Is = 1
         If Val(Mid(NHuruf, 9, 1)) = 0 Then
            Kata = [Kata] & "ten "
           Else
            Kata = [Kata] & RTrim(Mid(Belasan, (10 * Val(Mid(NHuruf,
9, 1)) + 1), 10))
         End If
        Case Is = 0
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf, 9, 1))
+ 1), 6))
 End Select
 
 '** Pecahan Satuan Ribu **
 If Val(Mid(NHuruf, 7, 3)) > 0 Then
    Kata = [Kata] & " thousand "
 End If
 
  '** Pecahan Ratusan **
 Tes = Val(Mid(NHuruf, 10, 1))
 Select Case Tes
        Case Is > 0
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Tes) + 1, 6))
         Kata = [Kata] & " hundred "
 End Select

 '** Pecahan Puluhan **
 Tes = Val(Mid(NHuruf, 11, 1))
 Select Case Tes
        Case Is > 1
         If Val(Mid(NHuruf, 12, 1)) = 0 Then
            Kata = [Kata] & RTrim(Mid(Puluhan, (8 * Tes) + 1, 8))
           Else
            Kata = [Kata] & RTrim(Mid(Puluhan, (8 * Tes) + 1, 8)) & " "
            Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf, 12,
1)) + 1), 6))
         End If
        Case Is = 1
         If Val(Mid(NHuruf, 12, 1)) = 0 Then
            Kata = [Kata] & "ten "
           Else
            Kata = [Kata] & RTrim(Mid(Belasan, (10 * Val(Mid(NHuruf,
12, 1)) + 1), 10))
         End If
        Case Is = 0
         Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf, 12,
1)) + 1), 6))
 End Select
 
 '** Pecahan Satuan**
 If Val(Mid(NHuruf, 10, 3)) > 0 Then
    Kata = [Kata]
 End If
 
 '** Pecahan Sen**
 If Val(Right(NHuruf, 2)) = 0 Then
    Kata = [Kata]
   Else
    Kata = [Kata] & " and "
    Tes = Val(Mid(NHuruf, 14, 1))
    Select Case Tes
           Case Is > 1
            If Val(Mid(NHuruf, 15, 1)) = 0 Then
               Kata = [Kata] & RTrim(Mid(Puluhan, (8 * Tes) + 1, 8)) &
" cent "
              Else
               Kata = [Kata] & RTrim(Mid(Puluhan, (8 * Tes) + 1, 8)) & " "
               Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf,
15, 1)) + 1), 6)) & " cent "
            End If
           Case Is = 1
            If Val(Mid(NHuruf, 15, 1)) = 0 Then
               Kata = [Kata] & "ten cent "
              Else
               Kata = [Kata] & RTrim(Mid(Belasan, (10 *
Val(Mid(NHuruf, 15, 1)) + 1), 10)) & " cent "
            End If
           Case Is = 0
            Kata = [Kata] & RTrim(Mid(Satuan, (6 * Val(Mid(NHuruf, 15,
1)) + 1), 6)) & " cent "
    End Select
 End If
 Said = [Kata]
End Function

Kirim email ke