Selasa, 14 April 2015

membuat angka terbilang dengan vb.net



Salah satu fungsi angka terbilang yang sering kita temukan adalah dalam penulisan kwitansi, misal 1.000.000,- ditulis dengan kalimat "Satu Juta Rupiah". Pada kesempatan kali ini saya akan membahas bagaimana cara membuat angka terbilang dengan menggunakan vb.net.


  1. Buatlah sebuah project baru
  2. Buatlah sebuah form dengan bentuk sebagai berikut



Ketiklah atau copy coding dibawah ini :

ImportsSystem.Data.OleDb

Public Class Form1

    Public conn AsOleDbConnection
    Public cmd AsOleDbCommand
    Public dr AsOleDbDataReader

    Public Sub Koneksi()
        conn = New OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=dbterbilang.accdb")
        conn.Open()
    End Sub

    Public FunctionTerbilang(ByVal nilai AsLong) As String
        Dim bilangan As String() = {"", "Satu", "Dua", "Tiga", "Empat", "Lima", _
        "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"}
        If nilai < 12 Then
            Return " "& bilangan(nilai)
        ElseIf nilai < 20 Then
            Return Terbilang(nilai - 10) & " Belas"
        ElseIf nilai < 100 Then
            Return (Terbilang(CInt((nilai \ 10))) & " Puluh") + Terbilang(nilai Mod 10)
        ElseIf nilai < 200 Then
            Return " Seratus" & Terbilang(nilai - 100)
        ElseIf nilai < 1000 Then
            Return (Terbilang(CInt((nilai \ 100))) & " Ratus") + Terbilang(nilai Mod 100)
        ElseIf nilai < 2000 Then
            Return " Seribu" & Terbilang(nilai - 1000)
        ElseIf nilai < 1000000 Then
            Return (Terbilang(CInt((nilai \ 1000))) & " Ribu") + Terbilang(nilai Mod 1000)
        ElseIf nilai < 1000000000 Then
            Return (Terbilang(CInt((nilai \ 1000000))) & " Juta") + Terbilang(nilai Mod 1000000)
        ElseIf nilai < 1000000000000 Then
            Return (Terbilang(CInt((nilai \ 1000000000))) & " Milyar") + Terbilang(nilai Mod 1000000000)
        ElseIf nilai < 1000000000000000 Then
            Return (Terbilang(CInt((nilai \ 1000000000000))) & " Trilyun") + Terbilang(nilai Mod 1000000000000)
        Else
            Return ""
        End If
    End Function

    Private SubTextBox1_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) HandlesTextBox1.KeyPress
        On Error Resume Next
        If e.KeyChar = Chr(13) Then
            TextBox2.Text = Terbilang(TextBox1.Text)
            TextBox1.Text = FormatNumber(TextBox1.Text, 0)
            Button1.Focus()
        End If
    End Sub

    Private SubButton1_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton1.Click
        Try
            Call Koneksi()
            cmd = New OleDbCommand("insert into table1 values ('" & TextBox1.Text & "','" & TextBox2.Text & "')", conn)
            cmd.ExecuteNonQuery()
            TextBox1.Clear()
            TextBox2.Clear()
            TextBox1.Focus()
        Catch ex As Exception
            MsgBox(ex.Message)
            TextBox1.Focus()
        End Try
    End Sub
End Class

Tidak ada komentar:

Posting Komentar