Tuesday, April 14, 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 :

Imports System.Data.OleDb

Public Class Form1

    Public conn As OleDbConnection
    Public cmd As OleDbCommand
    Public dr As OleDbDataReader

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

    Public Function Terbilang(ByVal nilai As Long) 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 Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.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 Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.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


EmoticonEmoticon