Friday, 16 December 2016

Terbilang Indonesia Pada VB.Net

Saat membuat sebuah aplikasi tentunya ada nilai rupiah berupa angka yang  diterjemahkan kedalam sebuah tulisan terbilang indonesia. 
Contoh : Cetak kwitansi pembayaran yang menerjemahkan deretan nominal rupiah kedalam terbilang indonesia, Cetak surat total nilai rupiah pemesanan barang kedalam terbilang indonesia. etc
Terkait masalah diatas, langsung aja kita akan membahas Tutorial membuat Angka Terbilang Indonesia “
Berikut langkah – langkah nya :
1.      Membuat Project Baru Vb. Net
Buka Vb. Net anda (tutorial ini menggunakan Vb 2010), Klik File > New > Project seperti pada gambar diatas.

2.      Membuat Nama Aplikasi
Penjelasan gambar dibawah :
2.1  Pastikan pilih Windows Forms Aplication
2.2  Ubah WindowsApplication1 dengan “Angka Terbilang Indonesia” ( ini nama aplikasi yang akan dibuat )
2.3  Klik Ok

3.      Interface Aplikasi 
Tampil Interface Aplikasi yang kita buat. Klik Form 1, lalu ubah Text 1 pada property object ubah dengan “ Angka Terbilang Indonesia”

4.      Add Class Vb. Net
Penjelasan gambar :
4.1  Klik kanan nama aplikasi
4.2  Klik Add
4.3  Klik Class
Tampil menu Class, ubah dengan “ClasTerbilangIndonesia.vb” lalu klik Add

Ketikan Kode Berikut pada ClasTerbilangIndonesia

Imports VB = Microsoft.VisualBasic
Public Class ClasTerbilangIndonesia
    Function Terbilang(ByRef Indx As String) As String

        Dim satu(10) As String
        Dim dua(10) As String
        Dim tiga(10) As String
        Dim ratus As String
        Dim ribu As String
        Dim juta As String
        Dim Millyar As String
        Dim Trilliun As String

        satu(0) = "Nol" : satu(1) = "Satu" : satu(2) = "Dua" : satu(3) = "Tiga" : satu(4) = "Empat" : satu(5) = "Lima" : satu(6) = "Enam" : satu(7) = "Tujuh" : satu(8) = "Delapan" : satu(9) = "Sembilan"
        dua(0) = "Sepuluh" : dua(1) = "Sebelas" : dua(2) = "Dua belas" : dua(3) = "Tiga belas" : dua(4) = "Empat Belas" : dua(5) = "Lima Belas" : dua(6) = "Enam Belas" : dua(7) = "Tujuh belas" : dua(8) = "Delapan belas" : dua(9) = "Sembilan belas"
        tiga(2) = "Dua puluh" : tiga(3) = "Tiga puluh" : tiga(4) = "Empat puluh" : tiga(5) = "Lima puluh" : tiga(6) = "Enam Puluh" : tiga(7) = "Tujuh Puluh" : tiga(8) = "Delapan puluh" : tiga(9) = "Sembilan puluh"
        ratus = "ratus" : ribu = "ribu" : juta = "juta"
        Millyar = "millyar" : Trilliun = "trilliun"

        Dim inp, BhsNilai As String

        inp = CStr(Val(Indx))


        Select Case Len(inp)
            Case 1
                BhsNilai = satu(CInt(Indx))

            Case 2
                If Int(CDbl(VB.Right(inp, 1))) > 0 And CDbl(VB.Left(inp, 1)) > 1 Then BhsNilai = Terbilang(CStr(Int(CDbl(VB.Right(inp, 1)))))
                If CDbl(VB.Left(inp, 1)) > 1 Then BhsNilai = tiga(CInt(VB.Left(inp, 1))) & BhsNilai
                If CDbl(VB.Left(inp, 1)) = 1 Then BhsNilai = dua(CInt(VB.Right(inp, 1)))
                BhsNilai = Replace(BhsNilai, "Satu ribu", "Seribu")

            Case 3
                BhsNilai = satu(10)
                If Int(CDbl(VB.Right(inp, 2))) > 0 Then BhsNilai = Terbilang(CStr(Int(CDbl(VB.Right(inp, 2)))))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 1)))) & ratus & BhsNilai

            Case 4
                If Int(CDbl(VB.Right(inp, 3))) > 0 Then BhsNilai = Terbilang(CStr(Int(CDbl(VB.Right(inp, 3)))))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 1)))) & ribu & BhsNilai
                BhsNilai = Replace(BhsNilai, "Satu ribu", "Seribu")

            Case 5
                If Int(CDbl(VB.Right(inp, 3))) > 0 Then BhsNilai = Terbilang(CStr(Int(CDbl(VB.Right(inp, 3)))))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 2)))) & ribu & BhsNilai

            Case 6
                If CInt(VB.Right(inp, 3)) > 0 Then BhsNilai = Terbilang(CStr(CInt(VB.Right(inp, 3))))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 3)))) & ribu & BhsNilai

            Case 7
                If CInt(VB.Right(inp, 6)) > 0 Then BhsNilai = Terbilang(CStr(CInt(VB.Right(inp, 6))))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 1)))) & juta & BhsNilai

            Case 8
                If CInt(VB.Right(inp, 6)) > 0 Then BhsNilai = Terbilang(CStr(CInt(VB.Right(inp, 6))))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 2)))) & juta & BhsNilai

            Case 9
                If CInt(VB.Right(inp, 6)) > 0 Then BhsNilai = Terbilang(CStr(CInt(VB.Right(inp, 6))))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 3)))) & juta & BhsNilai

            Case 10
                If CInt(VB.Right(inp, 9)) > 0 Then BhsNilai = Terbilang(CStr(CInt(VB.Right(inp, 9))))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 1)))) & Millyar & BhsNilai

            Case 11
                If CInt(VB.Right(inp, 9)) > 0 Then BhsNilai = Terbilang(CStr(CInt(VB.Right(inp, 9))))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 2)))) & Millyar & BhsNilai

            Case 12
                If Val(VB.Right(inp, 9)) > 0 Then BhsNilai = Terbilang(VB.Right(inp, 9))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 3)))) & Millyar & BhsNilai

            Case 13
                If Val(VB.Right(inp, 12)) > 0 Then BhsNilai = Terbilang(VB.Right(inp, 12))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 1)))) & Trilliun & BhsNilai

            Case 14
                If Val(VB.Right(inp, 12)) > 0 Then BhsNilai = Terbilang(VB.Right(inp, 12))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 2)))) & Trilliun & BhsNilai

            Case 15
                If Val(VB.Right(inp, 12)) > 0 Then BhsNilai = Terbilang(VB.Right(inp, 12))
                BhsNilai = Terbilang(Int(CDbl(VB.Left(inp, 3)))) & Trilliun & BhsNilai
        End Select

        BhsNilai = Replace(BhsNilai, "Satu ratus", "Seratus")
        BhsNilai = Trim(BhsNilai)

        Terbilang = " " & BhsNilai & " "
        Terbilang = Replace(Terbilang, " ", " ")

    End Function
End Class

5.      Design Aplikasi ( Form 1 )
Kembali pada Form 1 untuk memberikan object pada aplikasi. Langkah – langkahnya seperti pada gambar dibawah ini.



Klik menu ToolBox, lalu drag 2 buah Label dan 2 Buah TextBox kedalam Form 1. Buat lah design pada form 1 seperti gambar dibawah ini :


Setelah selesai design pada Form 1, Double Klik Form 1 dan ketikan kode berikut.
Public Class TerbilangIndonesia
    Dim clasTerBilangIndonesia As New ClasTerbilangIndonesia

    Private Sub TxtAngka_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtAngka.TextChanged

        If TxtAngka.Text = "" Then
            TxtTerbilang.Text = ""
        Else
            TxtTerbilang.Text = clasTerBilangIndonesia.Terbilang(TxtAngka.Text) + "Rupiah"
            TxtAngka.Focus()
        End If
    End Sub

End Class

0 komentar:

Post a Comment

Kunjungan Sobat

Popular Posts

Enter your email address:

Delivered by FeedBurner