Translate

26 November 2013

Konversi angka ke teks

Ketika kita diminta untuk membuat kuitansi atau nota, biasanya selain terdapat besaran angka juga mencatumkan konversi angka menjadi terbilang. Untuk membuat konversi angka menjadi terbilang caranya mudah, ikuti langkah-langkah berikut;


1. Buka VB 6.0 dan pilih saja yang Standard Exe

2. Tampilkan Form1, tambahkan 1 TextBox dan 1 Label, atur tata letaknya seperti pada gambar berikut;

3. Aturlah properti dari Form1.Caption="Konversi Angka menjadi Terbilang", Text1.text="", Label1.Caption="", Text1.Font dan Label1.Font menjadi Size=12 tebal(Bold).

4. Ketikkan kode program berikut pada event object Text1.Change dan text1.KeyPress
5. Buatlah modul, dengan cara pada menu Project, pilih Add Modul, Pilih Modul. kemudian ketikkan kode program berikut.

Option Explicit
Public Function Konversi(ByVal nNilai As Currency) As String
    Dim Grade As Variant
    Dim strTerbilang As String
    Dim strPart As String
    Dim iGrade As Byte

    Grade = Array("MILYAR ", "JUTA ", "RIBU ", "")

    strTerbilang = ""
    If Len(CStr(nNilai)) > 12 Then
        strTerbilang = "Melewati batas konversi"
    Else
        strPart = Format(nNilai, String(12, "0"))

        For iGrade = 1 To 4
        If Val(Mid(strPart, (iGrade - 1) * 3 + 1, 3)) > 0 Then
            strTerbilang = strTerbilang & _
                GETratus(Mid(strPart, (iGrade - 1) * 3 + 1, 3), iGrade)
            strTerbilang = strTerbilang & Grade(iGrade - 1)
        End If
        Next iGrade
    End If

    ' Kembalikan nilai melalui nama fungsi-nya
    Konversi = strTerbilang
End Function

Public Function GETratus(ByVal strPart As String, _
    ByVal iGrade As Byte) As String
    Dim Angka1 As Variant, Angka2 As Variant
    Dim i As Integer
    Dim strHasil As String
    Dim nTemp As Byte

    Angka1 = Array("SATU ", "DUA ", "TIGA ", "EMPAT ", _
       "LIMA ", "ENAM ", "TUJUH ", "DELAPAN ", "SEMBILAN ")
    Angka2 = Array("RATUS ", "PULUH ", "")

    For i = 1 To 3
        nTemp = Val(Mid(strPart, i, 1))
        If nTemp = 1 Then
            If i = 1 Then
                strHasil = "SERATUS "
            ElseIf i = 2 Then
                i = i + 1
                    nTemp = Val(Mid(strPart, i, 1))
                If nTemp = 0 Then
                    strHasil = strHasil & "SEPULUH "
                ElseIf nTemp = 1 Then
                    strHasil = strHasil & "SEBELAS "
                Else
                    strHasil = strHasil & _
                       Angka1(nTemp - 1) & "BELAS "
                End If

            ElseIf Val(strPart) = 1 And iGrade = 3 Then
                strHasil = strHasil & "SE"
            Else
                strHasil = strHasil & "SATU "
            End If
        ElseIf nTemp <> 0 Then
            strHasil = strHasil + Angka1(nTemp - 1) + Angka2(i - 1)
        End If
    Next i
    GETratus = strHasil
End Function

6. 
Hasilnya akan tampak sebagai berikut


7. selamat mencoba dan semoga bermanfaat.

No comments:

Post a Comment

Silahkan memberikan komentar, saran, pertanyaan atau apapun yang penting sesuai dengan etika.

Posting Popular