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.

107 comments

  1. Akhirnya datang juga dan udah ane coba aplikasiin buat program di kantor ane gan ternyata berhasil sil sil sil sil. Makasih banyak buat mas EDY semoga ilmunya selalu bermanfaat

  2. bos nanya kalau kita ingin memisahkan kata menjadi dua baris gimana? contoh “dua ribu rupiah” menjadi dua ribu baris 1 dan rupiah baris 2…trimakasih

  3. @ahmed: kalo di access bisa di coba dengan hard return -> kalo ingin memisahkan dua ribu rupiah -> “dua ribu” & VbCrLf & “rupiah”

  4. fungsi terbilangnya ok banget. thank ya, mu saya gunakan di proyek pembuatan program bengkel. boleh khan?

  5. cara bikin jumlah bayar=jumlah tiket dikali dengan harga tiket gimana ya ?
    buat tugas kuliah tapi mentok disitu huhu .
    terimakasih sebelumnya .

  6. Pak Edi saya ada kesulitan…
    pak saya pakek access 2007… lah dari situ saya sudah memasukkan fungsi terbilang dari pak edi…
    masalahnya kenapa waktu saya jadikan “Make Accde”
    fungsi terbilang yang terkoding tadi tidak berfungsi.
    Mohon Pencerahannya…. terima kasih beribu2 kasih..

  7. Pak Edi saya sudah mencobanya dan berhasil. tetapi kalau file accessnya ditutup dan dibuka kembali fungsi terbilang menjadi tidak berfungsi lagi. mohon pencerahannya. terima kasih.

  8. Salam kenal pak edi
    saya sedang coba buat aplikasi acces, tp mentok untuk mencari rumus: bila kurang dari 90 maka sama dengan 90. Mohon pencerahannya.
    Trims

  9. udeh jalan bos di acces 2007 tapi ngga bisa pake koma….

    tolong bantu dong yang ada dua digit di belakang koma…

    thk yah

  10. Assalamu’alaikum…

    Mas saya copy scriptnya buat library, trims banget, salam kenal n terus maju….

    Wassalamu’alaikum…

  11. sorry mas, ini modulenya ga bisa jalan. padahal udah ngikutin semua langkah2nya. apa yang salah ya???

  12. Dear Mr. Edi Susanto

    Modulenya kok gak isa ya pak????
    Padahal udah ngikutin semua petunjuk dari bapak,,,,

    Terimakasih

  13. terimakasih pak saya telah mencobanya dan berhasil. tetapi saya memasukan program yang anda buat ke dalam program penjualan yang saya buat ko ga bisa jalan ya,,,pa pengisian angkanya harus manual ga bi otomatis,,,saya membuat program penjualan seperti di indomaret sehingga total penjualanya langsung keluar dan hurufnya keluar.

  14. Kenapa ya pak kalau nilai yang diketik pada fielf text0 dihapus muncul kotak debug. Mohon penjelasan dan penyempurnaan.

    Terima kasih pak. KArya bapak sangat membantu para pemula. seperti kami.

  15. Aasalamualaikum Wr. Wb.

    Mas Edi terima kasih atas informasi yang anda berikan ini sungguh bermanfaat bagi saya. Saya sudah copas rumus yang anda buat ke access saya, saya sekarang ada permasalahan untuk sen kok tidak muncul ya?misalkan jumlahnya Rp. 525,15 di rumus terbilangnya muncul Lima Ratus Dua Puluh Lima Rupiah. jadi dua angka dibelakang koma tidak muncul di rumus terbilang. Mohon bantuan dari mas edi untuk permasalahan yang saya hadapi ini.

    Atas informasinya saya haturkan banyak terima kasih.

    Wasalamualaikum Wr. Wb.

  16. mengapa salah menggunakan satu jalur, dapat merusak semua rumus. mslnya dari form salah maka, akn berdampak pada query dan report

  17. selamat pagi… mas edi,
    saya mau tanya, kalau untuk ms. access 2007 caranya gimana ya ?
    saya sudah coba tapi gagal.
    thanks before

  18. mas edisusanto, aplikasi ini saya coba berjalan dengan baik namun saat saya gabungkan dengan aplikasi saya tentang perhitungan sebuah jasa malah nggak jalan, bagaimana ya mas mohon pencerahaannya

  19. Pa Edi, saya mohon bantuannya, saya membuat form entri item(barang), saya ingin apabila dimasukkan nama barang maka akan langsung otomastis no katalog barang tersebut muncul. Saya ingin membuat inventory dan data nya tidak ketimpa bulan yang baru.

    Terima kasih banyak

  20. @Nanang: buat aja form daftar barang, lalu main property di grid nya aja kali pak…. dengan begitu langsung bisa di ambil kode barang-nya ketika kita memilih by nama barang.

  21. saya buat report acces 2007, bisa kasih tahu cara pemberian nomor otomatis pada report tersebut. terima kasih

  22. malam ka, Maaf ganggu
    boleh tanya.
    sy sedang buat program rekap barang, sayah sudah buat pake access. tapi ada kesalahan.
    saya sudah buat 2 table, yg satu tabel nama barang, yg satu lgi table input(namabarang; jumlah barang), sya sudah pakai form input, tiap di input hasilnya keluar di tabel input tapi nama barang bisa muncul 2/3/~ kali, kluar tanpa jumlah(ga nge”sum”) di inputny? aduh bingung ka?
    mohon bantuannya y

  23. mas edi kok senx g keluar ya ?…piye..mohon petunjuknya…terima kasih…sangat bermanfaat artikelnya…

  24. pak, terima kasih banyak sudah membantu untuk penyelesaian tugas akhir D3 saya 😀

    pertanyaan saya hanya satu dan sama dgn sdr.wahyu pak.

    Kenapa ya pak kalau nilai yang diketik pada fielf text0 dihapus muncul kotak debug. Mohon penjelasan dan penyempurnaan.

    terima kasih pak sblmnya 🙂

  25. oiya pak, saya mau tanya juga kalo utk pembuatan form login di access gmna ya?
    mohon pencerahannya 🙂

  26. Ass. Wr. Wb. Apakabar Mas Edi, Terimakasih banyak, ilmu’y sangat bermanfa’at . . . & udah di Coba hasil’nya “MANTAB”

  27. mantap tutorialnya Gan,

    pas ane juga lagi butuh bwt surat perjanjian didalamna ada fungsi terbilangnya juga.
    di simpan di database access

Leave a Reply

Your email address will not be published. Required fields are marked *

CommentLuv badge

This site uses Akismet to reduce spam. Learn how your comment data is processed.