Membuat Fungsi Konversi Dari Angka Menjadi Terbilang

Konversi Angka ke Terbilang dengan Python

Pada tulisan ini akan dibahas mengenai pembuatan fungsi untuk melakukan konversi dari bilangan menjadi terbilang. Aplikasi ini akan memiliki 2 fungsi utama, yaitu fungsi ratus_puluh_satuan dan fungsi milyar_juta_ribu.

Pertama, fungsi untuk melakukan konversi angka terbilang yang bernilai di bawah 1000. Hal ini dilakukan karena nanti angka yang dikonversi akan dibagi menjadi 3 digit, lalu tinggal ditambahkan nilai dibelakangnya apakah ribu, juta atau milyar.

Contohnya, misalkan angka yang dikonversikan adalah 89385652. Angka tersebut dibagi dulu masing-masing 3 digit. sehingga menjadi:

  1. 89
  2. 385
  3. 652

Kemudian panggil fungsi ratus_puluh_satuan untuk setiap bagian. Bagian ke-satu akan menghasilkan “delapan puluh sembilan” karena bagian ke-atu merupkan kategori jutaan, maka ditambahkan kata “juta” sehingga menjadi
“delapan puluh sembilan juta.”

Bagian ke-dua akan menghasilkan “tiga ratus delapan puluh lima” karena bagian kesatu merupkan kategori ribuan, maka ditambahkan kata “ribu” sehingga menjadi “tiga ratus delapan puluh lima ribu”.

Bagian ke-tiga akan menghasilkan “enam ratus lima puluh dua” karena bagian kesatu merupkan kategori dibawah ratusan dan semua terbilang sudah terpenuhi maka tidak perlu ditambahkan kata lain lagi.

Kode Program

Berikut ini kode programnya secara lengkap.

satuan = ['', 'satu ', 'dua ', 'tiga ', 'empat ', 'lima ',
          'enam ', 'tujuh ', 'delapan ', 'sembilan ', 'sepuluh ', 'sebelas ', 'dua belas ', 'tiga belas ', 'empat belas ', 'lima belas ', 'enam belas ', 'tujuh belas ', 'delapan belas ', 'sembilan belas ']


def tulis(angka, kelipatan):
    terbilang = satuan[angka] + kelipatan
    return terbilang


def ratus_puluh_satuan(angka):
    ratus = angka // 100
    sisa_ratus = angka % 100
    puluh = sisa_ratus // 10
    satuan = angka % 10
    terbilang = ''

    if(ratus == 1):
        terbilang += tulis(0, "seratus ")
    elif(ratus != 1 and ratus >= 1):
        terbilang += tulis(ratus, "ratus ")
    if (sisa_ratus >= 20):
        terbilang += tulis(puluh, "puluh ")
        terbilang += tulis(satuan, "")
    elif(sisa_ratus < 20):
        terbilang += tulis(sisa_ratus, "")

    return terbilang


def milyar_juta_ribu(angka):
    milyar = angka // 1000000000
    sisa_milyar = angka % 1000000000
    juta = sisa_milyar // 1000000
    sisa_juta = sisa_milyar % 1000000
    ribu = sisa_juta // 1000
    sisa_ribu = sisa_juta % 1000
    terbilang = ''

    if(milyar >= 1):
        terbilang += ratus_puluh_satuan(milyar)
        terbilang += "milyar "
    if(juta >= 1):
        terbilang += ratus_puluh_satuan(juta)
        terbilang += "juta "
    if(ribu > 1):
        terbilang += ratus_puluh_satuan(ribu)
        terbilang += "ribu "
    elif(ribu == 1):
        terbilang += "seribu "
    terbilang += ratus_puluh_satuan(sisa_ribu)

    return terbilang


angka = int(input("Maskukan Angka :"))
terbilang = milyar_juta_ribu(angka)
print(terbilang)

Pengujian

Berikut ini pengujian yang dilakukan untuk membuktikan bahwa progam sudah berjalan dengan baik

Antara 1-1.000

Pengujian Angka Terbilang antara 1 – 1.000

Antara 10.000 – 1.000.000

Pengujian Angka Terbilang antara 10.000 – 1.000.000

Antara 1.000.000 – 100.000.000

Pengujian Angka Terbilang antara 1.000.000 – 100.000.000

Antara 100.000.000 – 1.000.000.000

Pengujian Angka Terbilang antara 100.000.000 – 1.000.000.000

Antara 1.000.000.000 – 100.000.000.000

Demikian proses pembuatan kode konversi Angka ke Terbilang dengan Python.

Be the first to comment

Leave a Reply

Your email address will not be published.


*