mobil

mobil
modif sepatu

Selasa, 18 Januari 2011

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.

1 komentar:

  1. Wah, artikelnya bagus. Bermanfaat banget nih buat Aku.
    Lumaya lah nambah pengetahuan.
    Sambil baca, Aku ikut promosi ya.

    Yuk yang suka taruhan bola, gabung di 7meter.
    Layanan taruhan bola yang profesional.
    Hanya ada di Agen Bola, Bandar Bola Online, Situs Taruhan Bola, 7meter

    BalasHapus