Membuat Fungsi Terbilang

terbilangMenjawab pertanyaan di artikel saya yang ini, saya langsung mencari arsip programming saya, karena dulu seingat saya pernah membuat fungsi tersebut untuk penulisan kuitansi. Setelah 2 jam cari-cari saya tidak juga menemukan fungsi yang telah saya tulis 5 tahun yang lalu, akhirnya saya mengambil jalan pintas saja, yaitu googling…

Sebetulnya pembuatan fungsi terbilang ini tidaklah susah jika kita mau menggunakan logika kita sedikit. Tapi sayang malam ini, logika saya juga baru ngga mau di ajak kompromi jadi saya akan membuat tutorial-nya saja step-by-step dan scriptnya saya mengambilnya di-sini lalu saya hanya merapikannya sedikit saja. Berikut langkah yang harus anda ambil:

  1. Buka Microsoft Excel.
  2. Tekan Alt + F11 untuk membuka VBA Editor, atau klik menu Tools -> Macro -> Visual Basic Editor.
    menu Visual Basic Editor
  3. Di Visual Basic Editor, klik menu Insert -> Module.
    Insert module menu
  4. Lalu copy-paste script ini ke bidang kerjanya:
    Public Function TERBILANG(x As Double) As String
    Dim tampung As Double
    Dim teks As String
    Dim bagian As String
    Dim i As Integer
    Dim tanda As Boolean
    
    Dim letak(5)
    letak(1) = "RIBU "
    letak(2) = "JUTA "
    letak(3) = "MILYAR "
    letak(4) = "TRILYUN "
    
    If (x < 0) Then
        TERBILANG = ""
    Exit Function
    End If
    
    If (x = 0) Then
        TERBILANG = "NOL"
    Exit Function
    End If
    
    If (x < 2000) Then
        tanda = True
    End If
    teks = ""
    
    If (x >= 1E+15) Then
        TERBILANG = "NILAI TERLALU BESAR"
    Exit Function
    End If
    
    For i = 4 To 1 Step -1
        tampung = Int(x / (10 ^ (3 * i)))
        If (tampung > 0) Then
            bagian = ratusan(tampung, tanda)
            teks = teks & bagian & letak(i)
        End If
        x = x - tampung * (10 ^ (3 * i))
    Next
    
    teks = teks & ratusan(x, False)
    TERBILANG = teks & " Rupiah"
    End Function
    
    Function ratusan(ByVal y As Double, ByVal flag As Boolean) As String
    Dim tmp As Double
    Dim bilang As String
    Dim bag As String
    Dim j As Integer
    
    Dim angka(9)
    angka(1) = "SE"
    angka(2) = "DUA "
    angka(3) = "TIGA "
    angka(4) = "EMPAT "
    angka(5) = "LIMA "
    angka(6) = "ENAM "
    angka(7) = "TUJUH "
    angka(8) = "DELAPAN "
    angka(9) = "SEMBILAN "
    
    Dim posisi(2)
    posisi(1) = "PULUH "
    posisi(2) = "RATUS "
    
    bilang = ""
    For j = 2 To 1 Step -1
        tmp = Int(y / (10 ^ j))
        If (tmp > 0) Then
            bag = angka(tmp)
            If (j = 1 And tmp = 1) Then
                y = y - tmp * 10 ^ j
                If (y >= 1) Then
                    posisi(j) = "BELAS "
                Else
                    angka(y) = "SE"
                End If
                bilang = bilang & angka(y) & posisi(j)
                ratusan = bilang
                Exit Function
            Else
                bilang = bilang & bag & posisi(j)
        End If
    End If
    y = y - tmp * 10 ^ j
    Next
    
    If (flag = False) Then
        angka(1) = "SATU "
    End If
    bilang = bilang & angka(y)
    ratusan = bilang
    End Function

    shot vbe

  5. Setelah di paste, coba cek script ini dengan klik menu Debug -> Compile VBA Project, jika tidak keluar kotak peringatan apapun biasanya script anda sudah beres.
  6. Tutup jendela Visual Basic Editor anda.

Nah sekarang tinggal coba aja:

  1. Ketik di cell sembarang sederet angka (misal di cell A1), lalu untuk memanggil fungsi terbilang ini (misal di cell A2), tinggal ketik =TERBILANG(A1).
    contoh

Cukup mudah bukan? Anda dapat mengunduh contoh artikel ini di sini.

Just in case, jika macro ini tidak bisa di jalankan di Excel anda (karena secara default Excel menset keamanan terhadap macro ke level tinggi), cek Security macro setting di Excel anda. Untuk melihat konfigurasi Security macro, klik Tools -> Macro -> Security dan pilih opsi Low lalu klik tombol OK. Saran saya pastikan anda sudah mempunya anti virus terinstal di komputer anda untuk menjaga agar virus macro tidak dapat menyerang komputer anda.
set macro security level

186 comments

  1. sy punya yg lbih sderhana sy bsa kirim ke email anda hanya 1 sheet excel + ptunjuk pemakaian dari angka 1 s/d 999.999.999. Hub 081354565348 an. Agung

  2. Mas, Edi sebelumnya saya banyak berterima kasih dengan adanya fungsi terbilang ini. karena ber manfaat buat saya. saya mau tanya kalau rumus terbilangnya menggunakan bahasa inggris gimana mas !!

    makashi sebelumnya

  3. makasih ilmunya … ;)) cuma agak sedikit repot…ko setiap buka excel sy harus program kembali ato memang seperti itu yah…ngk langsung kesave di fx… ty

  4. keren…. ga sah ngetik2 lagi kalo mo rapotan… cihuy.. tq… ijin kopas yah… :D…
    btw, klo tiap buka lagi kok ga langsung bisa yah?? knapa neh??
    tq
    maju terusss…

  5. 1. mas kalo pingin huruf yang didepannya menjadi huruf besar caranya gimana..?contoh “Dua juta rupiah”

    2. kalo ingin menjadi format seperti ini caranya gmn..?
    contoh :
    1.965.322
    (Satujuta sembilanratus-enampuluhlimaribu tigaratus-duapuluhdua rupiah)

    thks bgt..

  6. sorry mau nanya ni, alnya gaptek…. kalo mau ngilangin kata “rupiah” nya gimana boss….

  7. ga bisa kenapa ya mas, selalu debug setiap kali memulai misal =terbilang(A1) selalu dibawa ke VBA editor dan muncul peringatan debug. mhn bantuannya

  8. selamat siang pak EDI, saya mau tanya, kalau untuk membuat angka menjadi huruf gimana caranya pak.

    contoh:
    nilai si ANDI mendapatkan angka 6,35.
    untuk merubah menjadi huruf (enam koma tiga puluh lima) gimana caranya pak.

    nilai tersebut untuk membuat SKHUN/hasil nilai ujian.
    mohon bantuannya pak.
    terimakasih.

  9. Thanks Bro. Resep Anda sungguh Maknyos. Td uda saya aplikasikan ke File saya & “BERHASIL!!!!!!!”
    LUAR BIASA!!!

  10. Sudah saya coba, n bisa. thanks ya. masalahnya jika ada desimalnya selalu terbialnganya dibulatkan ke atas. misalnya : 2,999 atau 2,5666 selalu terbaca tiga rupiah. bagaimana ya caranya supaya tetap terbaca dua rupiah. dan cara liat vb yang sudah kita create tadi gimana ya? terima kasih infonya. 🙂

  11. pak, saya mw tanya..
    g mn klo ngrubah format ny
    misal:
    Rp. 3,435,567,987.23

    dibaca:
    tiga miliar empat ratus tiga puluh lima juta lima ratus enam puluh tujuh ribu sembilan ratus delapan puluh tujuh 23/100 rupiah.

    mohon bantuannya pak…
    trims.

  12. pak, gimana caranya biar rumusnya itu menjadi paten( gak selalu ngaktifin notepad nya pada saat kita mo make rumus terbilangnya). atau mungkin bisa di add ke fungsi rumus seperti contoh fx( SUM, If, Vlookup, dll) Makasih, ditunggu banget nih solusinya

  13. pak, sy mau nanya apakah hasil terbilangnya bisa dijadikan 2 cell karena cell yg saya pake tidak cukup 1 cell, trus gimana caranya spy terbilang yang tdk cukup di cel pertama bisa dilanjutkan di cell berikutnya, tks

  14. Mas edi, koq setelah aq coba angka 15,902,301 hasilnya gak ada satu rupiah??? dia malah langsung pembulatan tiga ratus rupiah…

    gimana tuh?? mohon bantuannya

  15. Mas Edi….Maksih banyak, saya terbantu sekali
    Semoga Pak Edi tetap dalam lindungan Tuhan Yang Maha Kuasa, Sehat-sehat dan murah Rezeki

  16. @Renando Hari: makasih Pak atas doanya, senang bisa sedikit membantu Bapak…..

  17. Bpk edi, terima kasih atas ilmunya, sangat bermanfaat..
    saya ingin membuat tombol print di excel supaya bisa langsung print, mohon bantuanya.

    terima kasih sekali lagi atas bantuannya

  18. Bos edi.. Mohon bantuannya nih.. Kalau dalan satu kolom ada nilai rupiah dan dollar, bagaimana cara supaya summary-nya terpisah?? thx a lot..

  19. makasi banyak Pak..
    sangat membantu saya..
    Mudah2an iLmu nya bertambah bertambah dan semakin bertambah..
    😀

  20. dear pak edi,
    mohon info kalau mau memisahkan kata terbilang di bilyet giro, karena kalau jadi satu baris tidak cukup. tks infonya

  21. Maaf pak program macronya masih ada yang salah …terbilang tidak dapat menulis angkah yg betul (1001219 = SATU JUTA SATU RIBU DUA RATUS SEMBILAN BELAS Rupiah) mungkin bisa di cek kembali…atau di revisi kembali

    terimah kasih

  22. Ass.Wr.Wb
    Trims, makro pengubahan angka ke terbilangnya.
    Ada yg ingin saya tanyakan, saya punya format isian sederhana di excel, copy dari orang lain, saat mengisi salah satu cell, muncul peringatan pemiliknya, saya coba hapus cell tsb, tetap saja muncul peringatan tsb, bahkan coba saya buang cheklist protection pada format cells, saat diisi cell tsb selalu muncul peringatan “harap diisi min 3 karakter…….”.
    Trims sebelumnya.

  23. Ass.Wr.Wb
    Trims, makro pengubahan angka ke terbilangnya, alhamdulillah sudah berhasil.
    Ada yg ingin saya tanyakan, saya punya format isian sederhana di excel, copy dari orang lain, saat mengisi salah satu cell, muncul peringatan pemiliknya, saya coba hapus cell tsb, tetap saja muncul peringatan tsb, bahkan coba saya buang cheklist protection pada format cells, saat diisi cell tsb selalu muncul peringatan “harap diisi min 3 karakter…….”.
    Trims sebelumnya.

  24. Pake excel versi berapa? Kalo 2007 keatas di quick access (bagian atas) di klik panah ke bawah dan Anda bisa tambah bacyak shortcut disitu termasuk Print

Leave a Reply

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

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