Translate

Kamis, 08 Mei 2014

Membuat Angka Terbilang

Hai..Baru Update lagi nich//
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.... ^_^

 



1 komentar: