Rabu, 24 Agustus 2011

Convert Bilangan ke Teks

Fungsi Terbilang Di Microsoft Access

Terima kasih atas tanggapan yang menyenangkan di artikel Membuat Fungsi Terbilang di Microsoft Excel, melalui email atau komentar. Lalu di halaman ini, ada permintaan atas artikel pembuatan fungsi terbilang di Microsoft Access, kebetulan sih saya pernah membuat proyek dengan Access yang menyertakan fungsi terbilang tersebut di dalamnya (jadi saya tinggal membongkar arsip saya karena proyek ini sudah berumur 6 tahun ketika saya pertama kali menceburkan diri ke dunia programming, saya ngga begitu ingat apakah script ini dari mailing list atau buat sendiri, tetapi kalau ada yang merasa ini adalah script anda, tolong kasi comment disini agar saya pasang link-nya).

Dan inilah langkah yang harus anda ambil untuk memasang fungsi terbilang ini di Microsoft Access:

  1. Buka Microsoft Access dulu (ya pastilah hehehe…)
  2. Klik tab Modules, lalu buatlah satu module baru atau anda bisa memasukan script terbilang ini ke dalam module yang sudah ada. Untuk membuat module baru, klik tombol New di tab Modules.
    Membuat Module baru
  3. Lalu copy-paste script dibawah ini ke dalam module baru anda atau anda bisa mengunduh script tersebut dalam bentuk teks, ketik script tersebut pada Microsoft Visual Basic for Application Editor yang sedang terbuka.
    Public Function ubah_terbilang(xbil As Double)    Dim nilai, i, j, k, hasil$, HasilAkhir$, Bilangan#, Digit, Rp$, Bil$      If IsNull(xbil) Then       ubah_terbilang = Null       Exit Function    End If   'pengelompokan     Dim Kel$(1 To 6), Angka$(1 To 9), Sat$(1 To 3)     Kel$(1) = "Biliun "     Kel$(2) = "Triliun "     Kel$(3) = "Miliar "     Kel$(4) = "Juta "     Kel$(5) = "Ribu "     Kel$(6) = ""   'data angka     Angka$(1) = "Satu "     Angka$(2) = "Dua "     Angka$(3) = "Tiga "     Angka$(4) = "Empat "     Angka$(5) = "Lima "     Angka$(6) = "Enam "     Angka$(7) = "Tujuh "     Angka$(8) = "Delapan "     Angka$(9) = "Sembilan "   'satuan     Sat$(1) = "Ratus "     Sat$(2) = "Puluh "     Sat$(3) = ""   'mulai    Bilangan# = Val(xbil)    HasilAkhir$ = ""    GoSub HitungHuruf    If hasil$ <> "" Then     HasilAkhir$ = hasil$ + "Rupiah"    End If   'hitung pecahan    Bilangan# = Fix((Bilangan# - Fix(Bilangan#) + 0.005) * 100#)    If Bilangan# > 0 Then       GoSub HitungHuruf       If hasil$ <> "" Then         HasilAkhir$ = HasilAkhir$ + " " + hasil$ + "Sen"       End If    End If   ubah_terbilang = HasilAkhir$ Exit Function   HitungHuruf:     Rp$ = Right$(String$(18, "0") + LTrim$(Str$(Fix(Bilangan#))), 18)     hasil$ = ""       If Val(Rp$) = 0 Then Return   'blg bulat    For i = 1 To 6       Bil$ = Mid$(Rp$, i * 3 - 2, 3)         If Val(Bil$) = 1 And i = 5 Then          hasil$ = hasil$ + "Seribu "         ElseIf Val(Bil$) <> 0 Then          For j = 1 To 3             Digit = Val(Mid$(Bil$, j, 1))             If j = 2 And Right$(Bil$, 2) = "10" Then                hasil$ = hasil$ + "Sepuluh "                Exit For               ElseIf j = 2 And Right$(Bil$, 2) = "11" Then                hasil$ = hasil$ + "Sebelas "                Exit For               ElseIf j = 2 And Mid$(Bil$, 2, 1) = "1" Then                hasil$ = hasil$ + Angka$(Val(Right$(Bil$, 1))) + "Belas "                Exit For               ElseIf Digit = 1 And j = 1 Then                hasil$ = hasil$ + "Seratus "               ElseIf Digit <> 0 Then                hasil$ = hasil$ + Angka$(Digit) + Sat$(j)               End If          Next          hasil$ = hasil$ + Kel$(i)       End If    Next    Return End Function

    Ketik script-nya

  4. Lalu tutup jendela VBA editor.
  5. Nah sekarang tinggal mencoba fungsi ini.

Ada dua cara untuk mencoba fungsi ini di Microsoft Access, melalui Form atau Report. Nah, kita akan mencoba yang pertama yaitu melalui Form:

  1. Buat form baru dengan cara klik tab Forms lalu klik tombol New.
    Buat form baru
  2. Di form yang baru tersebut, buat 2 textbox baru. Secara default, maka textbox pertama akan dinamai Text0 dan teks kedua dinamai dengan Text2, anda bisa merubahnya sendiri tetapi dalam contoh ini saya menganggap kita akan memakai nama default yang diberikan.
    Form baru
  3. Lalu buka Microsoft Visual Basic Editor dengan klik menu View -> Code.
  4. Pilih control Text0 yang akan kita tangkap eventnya.
    Ubah control
  5. Lalu ubah event yang akan di tangkap ke Change.
    Ubah event-nya
  6. Lalu ketikan script: Text2.Value = ubah_terbilang(Text0.Text) di dalam blok Private Sub Text0_Change().
    script di event change
  7. Tutup jendela Microsoft Visual Basic editor-nya.
  8. Ubah view form ke Form View.
  9. Lalu coba ketikan angka di Text0, kalau anda melakukannya dengan benar maka hasilnya akan muncul di Text2.
    Hasil form

Nah, dari contoh sederhana diatas anda dapat mengembangkannya sendiri menjadi aplikasi yang lebih baik. Untuk implementasi kedua adalah pada Report, penggunaannya sebagai berikut:

  1. Buat report baru dengan klik tab Reports lalu klik New.
    Buat report baru
  2. Setelah semua di buat, dan misalnya anda ingin mengimplementasikan fungsi terbilang (yang diwakili pada textbox txtTerbilang) ini untuk total transaksi yang tercantum di control txtTOTAL, anda tinggal mengetikan =ubah_terbilang([txtTOTAL].[Value]) di Control Source dari txtTerbilang.
    implementasi di report
  3. Sekarang tinggal coba membuka report tersebut, kalau anda melakukannya dengan benar maka ‘penampakannya’ akan seperti gambar yang saya pasang sebagai logo artikel ini diatas.

Semoga artikel ini dapat sedikit membantu bagi rekan-rekan yang sedang mencari fungsi terbilang ini untuk proyek Microsoft Access anda.

Tidak ada komentar:

Posting Komentar