Posts Subscribe to InFoGauLComments

Online bookmark Bookmark

Konversi Jumlah Uang Numerik Menjadi Kalimat Terbilang Menggunakan VB 6

    Anda tentunya sudah pernah melihat lembaran kuitansi, dimana kita diminta untuk menuliskan jumlah uang dalam bentuk angka (numerik) sekaligus dalam bentuk kalimat terbilang. Kalimat terbilang tersebut berfungsi sebagai koreksi terhadap benar tidaknya jumlah uang dalam bentuk angka yang kita tuliskan sehingga diharapkan dapat memperkecil kemungkinan terjadinya kesalahan akibat kecerobohan kita.

    Kesalahan dalam menuliskan jumlah uang bisa berakibat fatal, karena kekurangan satu angka saja pada jumlah uang yang kita tuliskan akan menimbulkan selisih yang sangat besar terhadap jumlah sebenarnya. Jadi, sebenarnya kalimat terbilang sangat diperlukan sebagai pasangan dari numerik dalam setiap transaksi yang berhubungan dengan uang.

   Akan tetapi, dikomputer jarang sekali kita temukan penulisan kalimat terbilang sebagai pasangan dari penulisan jumlah uang dalam bentuk numerik. Padahal tidak sedikit pengguna komputer yang berhubungan dengan keuangan setiap harinya, apalagi mereka yang sering bertransaksi on-line melalui internet.

   Mungkin mereka menganggap bahwa penulisan kalimat terbilang akan sangat menyita waktu, apalagi jiga jumlah uang sudah mencapai ratusan juta. Untuk memecahkan permasalahan tersebut, program berikut ini diharapkan dapat membantu. Lihat gambar dibawah ini;
Gambar 1. Contoh Tampilan Program
   Bagian terpenting dari program tersebut adalah dua buah fungsi yang di beri nama Fungsi Konversi1( ) dan Fungsi Konversi2( ). Untuk tampilannya dapat dimodifikasi sesuai dengan selera anda. Hal itu tergantung pada kreatifitas anda sendiri.

Berikut ini langkah - langkah pembuatan program tersebut:
  • Letakkan 2 buah Label, 2 buah TextBox dan 3 buah CommandButton pada Form Sehingga menjadi seperti gambar dibawah ini.
Gambar 2. Peletakan Kontrol Pada Form
  • Atur Masing2 kontrol tersebut menjadi : Label1 (Caption = Jumlah Uang). Label2 (Caption = terbilang). Text1 (Name = Nilai, ToolTipText = Maksimim 12 Angka, Text =     ). Text2 (Name = Hasil, Multiline = True, Text = (Text)). Command1 (Caption = Terbilang). Command2 (Caption = Lagi). Command3 (Caption = Keluar).
  • Setelah properti2nya diatur dan dianggap cukup, langkah berikutnya menulis kode program. Untuk itu yang perlu anda lakukan adalah membuka jendela code dengan menekan F7, atau melakukan klik ganda pada salah satu kontrol kemudian pilig General Declaration.
  • Ketikkan Kode Berikut ini:
Option Explicit

Private Function konversi1(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 = "melebihi batas Maksimum!"
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 & konversi2(Mid(strPart, (igrade - 1) * 3 + 1, 3), igrade)
strTerbilang = strTerbilang & Grade(igrade - 1)
End If

Next igrade
End If
konversi1 = strTerbilang
End Function

Private Function konversi2(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
konversi2 = strHasil
End Function

Private Sub Command1_Click()
Hasil.Text = konversi1(Nilai)
End Sub

Private Sub Command2_Click()
Nilai.Text = ""
Hasil.Text = ""
Nilai.SetFocus
End Sub

Private Sub Command3_Click()
End
End Sub

   Program tersebut sudah dapat anda gunakan. Akan tetapi, ada satu lah yang harus anda ketahui. Program ini memiliki angka batas maksimum yaitu 12 angka (Letakkan Cursor diatas Text1).
   Apa yang akan terjadi jika angka melebihi batas maksimum atau memasukkan lebih dari 12 angka?.  Yangk akan terjadi adalah munculnya pesan "Melebihi Batas maksimum!".
   Selain itu ada hal lain yang perlu anda ingat. Dalam penulisan angka, anda tidak perlu menggunakan tanda titik. Jadi, untuk menuliskan bilangan dua belas ribu cukup 12000 (tanpa titik). Jika anda menggunakan sebuah tanda tiitk, misalnya 12.000, yang akan diterjemahkan adalah angka sebelum tanda titik. Jadi hasil konversinya adalah DUA BELAS. Jika anda menggunakan lebih dari satu tanda titik, misalnya menuliskan angka 12.000.000, maka akan muncuk pesan kesalahan yaitu bertuliskan "Run-time error '13':

Semoga sukses dan jika anda ragu untuk menggunakan kode diatas, silahkan download source code yang sudah saya sediakan dibawah ini.

* Source Tip Trik Unik VB

0 komentar:

Posting Komentar