Terbilang Online — Kalkulator Terbilang Rupiah & Angka ke Huruf (Python)

Terbilang online ini adalah kalkulator terbilang gratis yang mengubah angka ke huruf dalam bahasa Indonesia. Hasilnya langsung siap ditempel di kuitansi, faktur, cek, atau dokumen kantor. Ketik 1.250.000,50 atau 1250000.50, lalu aplikasi menuliskan “satu juta dua ratus lima puluh ribu rupiah lima puluh sen” sesuai kaidah EYD Edisi V. Anda tidak perlu lagi mengeja nominal besar secara manual dan berisiko salah tulis.

🛠️ Tool gratis & open source ini adalah karya JoinBareng — platform patungan langganan premium di Indonesia.

Daftar Isi

Apa Itu Terbilang

Dalam KBBI, terbilang berarti “dapat dihitung”. Di dunia administrasi, kata ini dipakai untuk menyebut bilangan yang ditulis dengan huruf, biasanya di belakang angka. Contohnya pada kuitansi: “Rp750.000,00 (tujuh ratus lima puluh ribu rupiah)”. Tujuannya jelas: nominal sulit dipalsukan dan tidak salah dibaca.

Proyek terbilang online ini adalah aplikasi baris perintah (CLI) dalam satu berkas Python tanpa pustaka tambahan, dan bisa diimpor sebagai modul. Meski namanya terbilang online, semua perhitungan berjalan di komputer Anda tanpa internet, jadi nominal yang Anda ketik tidak dikirim ke mana pun.

Fitur Utama

Fitur terbilang online ini dirancang untuk kebutuhan administrasi sehari-hari:

Cara Install dan Menjalankan

Untuk menjalankan terbilang online ini, Anda hanya butuh Python 3.8 atau lebih baru. Tidak ada pip install.

git clone https://github.com/redyopa2929/terbilang-online.git
cd terbilang-online
python3 terbilang.py

Perintah terakhir membuka mode interaktif; bantuan lengkap ada di python3 terbilang.py -h. Di Windows, ganti python3 dengan python atau py.

Cara Pakai dan Contoh Output Asli

Semua contoh terbilang online di bawah ini adalah hasil menjalankan aplikasi secara langsung, disalin tanpa diubah.

Mode interaktif

$ python3 terbilang.py
=== Terbilang Online v1.0.0 — ubah angka ke huruf ===
Mode: 1) angka biasa  2) rupiah [1]: 2
Gaya huruf: 1) kecil  2) Kapital Tiap Kata  3) HURUF BESAR [1]: 1
Bungkus untuk kuitansi (# ... #)? (y/n) [n]: n
Ketik angka, mis. 1.250.000,50 atau 1250000.50 (Enter kosong untuk keluar).
Angka: 1.250.000,50
  satu juta dua ratus lima puluh ribu rupiah lima puluh sen
Angka: 75000
  tujuh puluh lima ribu rupiah
Angka: 
Sampai jumpa.

Angka ke huruf biasa

$ python3 terbilang.py 1250000
satu juta dua ratus lima puluh ribu

$ python3 terbilang.py 1.234.567
satu juta dua ratus tiga puluh empat ribu lima ratus enam puluh tujuh

Terbilang rupiah dan sen

$ python3 terbilang.py --rupiah 1.250.000,50
satu juta dua ratus lima puluh ribu rupiah lima puluh sen

$ python3 terbilang.py --rupiah --kapital --kwitansi 900.500,50
# Sembilan Ratus Ribu Lima Ratus Rupiah Lima Puluh Sen #

$ python3 terbilang.py --besar --rupiah 2500000
DUA JUTA LIMA RATUS RIBU RUPIAH

Contoh kedua sengaja memakai nominal dari contoh resmi EYD V, yaitu Rp900.500,50. Hasilnya sama kata per kata dengan rujukan tersebut.

Banyak angka, negatif, dan desimal

$ python3 terbilang.py -1.250.000 3,14 0,05 1000000000
-1.250.000 → minus satu juta dua ratus lima puluh ribu
3,14 → tiga koma satu empat
0,05 → nol koma nol lima
1.000.000.000 → satu miliar

Jika ada lebih dari satu angka, hasil diawali angka dalam format Indonesia agar terlihat bagaimana input dibaca. Tambahkan --hanya-hasil jika hanya butuh teks terbilangnya.

Membaca daftar dari berkas (stdin)

$ python3 terbilang.py --rupiah --hanya-hasil < daftar-harga.txt
seratus lima puluh ribu rupiah
dua juta tujuh ratus lima puluh ribu rupiah
dua belas juta lima ratus ribu rupiah

Berkas daftar-harga.txt berisi 150000, 2750000, satu baris komentar berawalan #, dan 12500000. Baris kosong dan komentar dilewati.

Input salah

$ python3 terbilang.py 1.25.000 1000000000000000000 abc
Error: '1.25.000': pemisah ribuan '.' tidak valid (harus per 3 digit, mis. 1.250.000).
Error: '1000000000000000000': angka terlalu besar: maksimal 999.999.999.999.999.999 (kurang dari 10^18).
Error: 'abc': hanya boleh berisi angka, titik, dan koma (boleh diawali Rp atau tanda minus).

Pesan error ditulis ke stderr dan exit code bernilai 1, sehingga mudah dipakai di skrip otomatis.

Memakai modul sebagai library Python

$ python3 -c "from terbilang import terbilang; print(terbilang(1500)); print(terbilang('Rp7.500.000,-', rupiah=True, gaya='kapital', kwitansi=True))"
seribu lima ratus
# Tujuh Juta Lima Ratus Ribu Rupiah #

Fungsi terbilang(angka, rupiah=False, gaya="kecil", kwitansi=False, format="auto") menerima int, str, Decimal, atau float. Untuk uang, pakai str atau Decimal: float biner bisa membawa digit tak terduga, misalnya 0.1 + 0.2 di Python bernilai 0.30000000000000004.

Daftar opsi

Opsi Fungsi
--rupiah tambahkan “rupiah”, desimal dua digit dibaca sebagai sen
--kapital / --besar gaya Kapital Tiap Kata / HURUF BESAR
--kwitansi bungkus hasil dengan # … #
--format auto/id/en cara membaca titik dan koma
--hanya-hasil cetak terbilang saja

Aturan Membaca Titik dan Koma

Masalah terbesar kalkulator terbilang adalah angka seperti 1.250. Dalam format Indonesia, angka ini berarti seribu dua ratus lima puluh. Dalam format Inggris, artinya satu koma dua lima. Aturan mode auto dibuat tegas dan bisa ditebak:

  1. Ada titik dan koma sekaligus: tanda yang muncul terakhir adalah desimal. Jadi 1.250.000,50 dan 1,250,000.50 sama-sama 1.250.000,50.
  2. Hanya koma: satu koma dianggap desimal (gaya Indonesia), contohnya 3,14. Lebih dari satu koma dianggap pemisah ribuan gaya Inggris, contohnya 1,250,000.
  3. Hanya titik: lebih dari satu titik berarti pemisah ribuan (1.250.000). Satu titik yang diikuti tepat tiga digit, dengan bagian depan 1–3 digit dan tidak diawali 0, dianggap pemisah ribuan (5.000). Selain itu titik dianggap desimal (3.14, 1250000.50).
  4. Kasus ambigu (1.250 atau 1,250) dibaca sesuai format Indonesia, dan aplikasi mencetak catatan di stderr. Awalan Rp atau akhiran ,- dianggap konteks rupiah, sehingga Rp5.000 tidak dianggap ambigu.
  5. Ingin kepastian? Pakai --format id (titik = ribuan, koma = desimal) atau --format en (koma = ribuan, titik = desimal).
$ python3 terbilang.py 1.250
Catatan: '1.250' dibaca 1.250 (format Indonesia: titik = pemisah ribuan). Jika maksud Anda format Inggris, pakai --format en.
seribu dua ratus lima puluh

$ python3 terbilang.py --format en 1.250
satu koma dua lima nol

Cara Menulis Terbilang Secara Manual

Algoritmanya sama dengan cara kita mengeja angka di sekolah:

  1. Pisahkan angka menjadi kelompok tiga digit dari kanan.
  2. Baca setiap kelompok (1–999) dengan aturan: 1 = satu, 10 = sepuluh, 11 = sebelas, 12–19 = … belas, 20–99 = … puluh …, 100 = seratus, 200–900 = … ratus.
  3. Tambahkan nama tingkat di belakang kelompok: ribu, juta, miliar, triliun, kuadriliun. Kelompok yang bernilai 000 dilewati.
  4. Kelompok ribuan yang bernilai tepat 1 dibaca seribu, bukan “satu ribu”. Tingkat juta ke atas tetap “satu juta”, “satu miliar”.

Contoh langkah demi langkah: 1.234.567

Contoh rupiah: Rp900.500,50

Satu digit sen ditafsirkan sebagai puluhan sen, jadi 0,5 rupiah berarti lima puluh sen. Lebih dari dua digit sen ditolak dengan pesan error, karena pembulatan uang sebaiknya Anda putuskan sendiri.

Tabel Referensi Satuan Bilangan

Angka Terbilang Catatan
10 sepuluh bukan “satu puluh”
11 sebelas bukan “satu belas”
100 seratus bukan “satu ratus”
1.000 seribu bukan “satu ribu”
1.000.000 satu juta 10^6
1.000.000.000 satu miliar 10^9; bentuk tidak baku: milyar, miliyar
1.000.000.000.000 satu triliun 10^12; bentuk tidak baku: trilyun
1.000.000.000.000.000 satu kuadriliun 10^15 (sistem Amerika)

Menurut KBBI, miliar adalah satuan dengan sembilan nol di belakang angka 1–999. Triliun bernilai 12 nol dalam sistem yang juga digunakan di Indonesia. Kuadriliun adalah sepuluh pangkat lima belas dalam sistem Amerika. Terbilang online ini memakai sistem tersebut (skala pendek).

Terbilang di Kuitansi Cek dan Faktur

EYD Edisi V, bagian Angka dan Bilangan, mengatur dua hal penting untuk dokumen keuangan:

Aturan tanda baca juga relevan. Menurut EYD V, tanda titik dipakai untuk memisahkan bilangan ribuan yang menunjukkan jumlah. Tanda koma dipakai sebelum angka desimal atau di antara rupiah dan sen, misalnya Rp500,50. Contoh-contoh EYD menulis Rp langsung menempel pada angka, tanpa titik dan spasi.

Banyak orang juga mengapit terbilang dengan tanda pagar, misalnya # lima juta rupiah #, agar tidak ada kata yang bisa disisipkan. Ini kebiasaan praktis, bukan aturan EYD, sehingga --kwitansi hanya opsi. Ikuti format yang berlaku di kantor atau bank Anda.

Catatan ejaan: bentuk baku menurut KBBI adalah kuitansi, sedangkan kwitansi tidak baku. Nama opsi --kwitansi dipertahankan karena itulah kata yang paling sering diketik orang; di dokumen resmi, tulislah “kuitansi”.

Kesalahan Umum Menulis Terbilang

Cara Membuat Terbilang di Excel

Banyak orang mencari “terbilang excel” karena mengira ada fungsi =TERBILANG(). Kenyataannya, daftar resmi fungsi Excel dari Microsoft tidak memuat fungsi terbilang bahasa Indonesia. Yang ada justru BAHTTEXT, yang mengubah angka menjadi teks berbahasa Thailand. Jika Anda melihat =TERBILANG() di sebuah berkas, hampir pasti itu fungsi buatan pengguna (VBA) atau add-in pihak ketiga.

Pilihan yang umum dipakai:

  1. Fungsi kustom VBA (user-defined function). Panduan Microsoft menjelaskan langkahnya: buka Visual Basic Editor (Alt+F11), pilih Insert > Module, lalu tulis prosedur Function. Agar tersedia di semua workbook, simpan sebagai Excel Add-In (.xlam). Jika disimpan di workbook biasa, pakai format .xlsm, karena format .xlsx tidak bisa menyimpan kode VBA. Logikanya bisa meniru algoritma di atas.
  2. Add-in pihak ketiga. Pastikan sumbernya tepercaya, karena add-in berisi makro yang bisa menjalankan kode di komputer Anda.
  3. Pakai terbilang online ini lalu tempel ke Excel. Salin kolom angka ke angka.txt, jalankan python3 terbilang.py --rupiah --hanya-hasil < angka.txt > hasil.txt, lalu tempel isi hasil.txt ke kolom sebelahnya. Urutan barisnya sama selama tidak ada baris kosong atau komentar.

Kode VBA siap pakai tidak kami sertakan di sini. Kami belum mengujinya di berbagai versi Excel, dan kami tidak ingin menyebarkan kode makro yang belum terverifikasi.

FAQ

Apakah terbilang online ini gratis dan aman untuk data keuangan? Gratis dan open source (MIT). Semua proses berjalan lokal; tidak ada data yang dikirim ke internet.

Apa bedanya kalkulator terbilang ini dengan situs terbilang rupiah lain? Aplikasi ini bisa dijalankan tanpa internet, bisa memproses ratusan angka sekaligus dari berkas, dan kodenya bisa Anda periksa sendiri.

Bagaimana cara menulis terbilang kwitansi yang benar? Tulis angka lalu huruf dalam kurung, sesuai EYD V. Contohnya: Rp900.500,50 (sembilan ratus ribu lima ratus rupiah lima puluh sen). Gunakan --rupiah dan, jika perlu, --kwitansi.

Yang benar milyar atau miliar? Miliar. KBBI mencatat “milyar” sebagai bentuk tidak baku.

Kenapa 1.250 dibaca seribu dua ratus lima puluh, bukan satu koma dua lima? Karena aplikasi memprioritaskan format Indonesia. Pakai --format en jika maksud Anda desimal.

Apakah bisa mengubah angka ke huruf di atas kuadriliun? Belum. Batasnya 999.999.999.999.999.999.

Bagaimana cara membuat terbilang di Excel tanpa makro? Gunakan cara ketiga di bagian Excel: proses kolom angka dengan tool ini, lalu tempel hasilnya.

Bisakah dipakai di aplikasi Python saya? Bisa. Salin terbilang.py ke proyek Anda, lalu from terbilang import terbilang.

Metodologi Pengujian dan Sumber

Logika inti terbilang online ini (bilangan_bulat, parse_angka, terbilang) dipisahkan dari kode CLI, lalu diuji dengan unittest:

python3 -m unittest discover -s tests -v

Hasil pada versi ini: Ran 15 tests ... OK. Satu test bisa memeriksa banyak nilai sekaligus. Yang diuji antara lain:

Sumber rujukan yang kami baca dan cocokkan:

Tentang Pembuat

Proyek ini adalah karya JoinBareng dan dikelola oleh @redyopa2929. JoinBareng adalah platform patungan langganan premium (Netflix, Spotify, YouTube Premium, ChatGPT, dll.) plus marketplace akun digital yang aman dan transparan. Seri tools Python ini dibuat sebagai alat kecil yang berguna sehari-hari, dengan kode terbuka untuk diperiksa siapa saja.

Disclaimer

Terbilang online ini membantu menulis terbilang sesuai kaidah umum EYD V dan KBBI. Untuk dokumen hukum, perbankan, atau perpajakan, selalu periksa ulang hasilnya dan ikuti format yang ditetapkan instansi terkait. Kami tidak bertanggung jawab atas kerugian akibat kesalahan input atau penggunaan hasil tanpa pemeriksaan.

Kontribusi

Menemukan bug di terbilang online ini atau angka yang terbaca keliru? Silakan buka issue di github.com/redyopa2929/terbilang-online/issues dan sertakan input serta hasil yang Anda harapkan. Pull request diterima selama semua test lulus dan tidak menambah dependency eksternal.

Lisensi

Dirilis dengan lisensi MIT. Lihat berkas LICENSE.

Dukung Proyek Ini

Jika terbilang online ini menghemat waktu Anda, beri ⭐ star pada repositori agar lebih mudah ditemukan. Tagihan langganan aplikasi kantor atau hiburan juga ikut membengkak? Hemat biaya langganan aplikasi premium dengan patungan di JoinBareng.

Tools Lainnya dari Seri Ini

Terakhir diperbarui: 21 Oktober 2026