Rabu, 17 Oktober 2012

Fungsi Terbilang VB.net

Hari ini saya akan membahas cara membuat fungsi terbilang. fungsi ini sering kali digunakan terutama untuk aplikasi yang berhubungan dengan bisnis keuangan.
Kita buat function ini dalam sebuah Class yang di public. Listing Programnya adalah sebagai berikut :
#Region "Fungsi Terbilang Hingga Ratusan Trilyun"
        Public Function Terbilang(ByVal Angka As Double) As String
            Dim strAngka, strDiurai, Urai, Tbl1, Tbl2 As String
            Dim x, y, z As Short
            Dim arrBelasan() As String = {"SEPULUH ", "SEBELAS ", _
                "DUA BELAS ", "TIGA BELAS ", "EMPAT BELAS ", _
                "LIMA BELAS ", "ENAM BELAS ", "TUJUH BELAS ", _
                "DELAPAN BELAS ", "SEMBILAN BELAS "}
            Dim arrSatuan() As String = {"DUA ", "TIGA ", "EMPAT ", _
                "LIMA ", "ENAM ", "TUJUH ", "DELAPAN ", "SEMBILAN "}
            Urai = ""
            'Angka yang akan dibuat terbilang dibulatkan dulu Jika ada desimalnya


            Angka = Math.Round(Angka)

 
            'Angka tipe Double diubah menjadi string Dihilangkan spasi dikiri atau kanan angka jika ada
            strAngka = Trim(CStr(Angka))

            'Perulangan While ...End While akan mengevaluasi angka satu per satu dan dimulai dari angka paling kiri
            'x menunjukkan iterasi ke berapa dimulai dari 1


            While (x < Len(strAngka))
                x += 1
                strDiurai = Mid(strAngka, x, 1)


                'y menunjukkan angka yang sedang dievaluasi
                y += Val(strDiurai)

 
                'z menunjukkan posisi digit ke berapa
                z = Len(strAngka) - x + 1

                ' Jika yang dievaluasi angka 1
                If Val(strDiurai) = 1 Then
                    If (z = 1 Or z = 7 Or z = 10 Or z = 13) Then
                        Tbl1 = "SATU "
                    ElseIf (z = 4) Then
                        If (x = 1) Then
                            Tbl1 = "SE"
                        Else
                            Tbl1 = "SATU "
                        End If
                    ElseIf (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then
                        'Ditambahkan iterasi angka berikutnya
                        x += 1
                        strDiurai = Mid(strAngka, x, 1)
                        z = Len(strAngka) - x + 1
                        Tbl2 = ""
                        Tbl1 = arrBelasan(Val(strDiurai))
                    Else
                        Tbl1 = "SE"
                    End If
                    'Yang dievaluasi angka 2 sampai 9
                ElseIf Val(strDiurai) > 1 And Val(strDiurai) < 10 Then
                    Tbl1 = arrSatuan((Val(strDiurai)) - 2)
                Else
                    Tbl1 = ""
                End If

                If (Val(strDiurai) > 0) Then
                    If (z = 2 Or z = 5 Or z = 8 Or z = 11 Or _
                            z = 14) Then
                        Tbl2 = "PULUH "
                    ElseIf (z = 3 Or z = 6 Or z = 9 Or z = 12 _
                            Or z = 15) Then
                        Tbl2 = "RATUS "
                    Else
                        Tbl2 = ""
                    End If
                Else
                    Tbl2 = ""
                End If

                If (y > 0) Then
                    Select Case z
                        Case 4
                            Tbl2 &= "RIBU "
                            y = 0
                        Case 7
                            Tbl2 &= "JUTA "
                            y = 0
                        Case 10
                            Tbl2 &= "MILYAR "
                            y = 0
                        Case 13
                            Tbl2 &= "TRILYUN "
                            y = 0
                    End Select
                End If

                Urai = Urai & Tbl1 & Tbl2
            End While

            Terbilang = Urai & "RUPIAH"
        End Function
#End Region


sesudah listing program diatas diketik. kita panggil fungsi diatas dengan perintah berikut :

        Terbilang(CDbl(txtInput.Text))

ok. pembahasan pembuatan fungsi terbilang sudah selesai dan siap untuk digunakan. selamat mencoba !!.

Tidak ada komentar:

Posting Komentar