Home > JAVA > Membuat Program Terbilang

Membuat Program Terbilang

Niatnya hari minggu ini mau baca-baca jurnal, eh pas dibaca qo malah bikin bingung. Yasudah saya tutup saja jurnal-jurnal tersebut dan beralih ngaskus, liat-liat lowongan kerja karena mau bantu teman cariin lowongan. Di tengah keasyikan ngaskus, tiba-tiba terlintas di pikiran saya tentang tes masuk kerja sebagai programmer, salah satunya adalah membuat program terbilang. Program ini akan mengkonversi angka yang kita masukan menjadi bentuk terbilangnya.

Misalnya kita inputkan 123456 maka akan menghasilkan output “Seratus Dua Puluh Tiga Ribu Empat Ratus Lima Puluh Enam”. Sebenarnya saya sudah punya program semacam ini di project yang sedang saya kerjakan, tapi itu buatan senior saya. Malu donk kalo saya copas program itu ke sini😀.

Berbekal rasa penasaran, saya browsing mencari tahu teknik apa saja yang dipakai untuk membuat program terbilang ini. Saya banyak sekali mendapatkan blog atau web yang sudah membahas tentang program terbilang ini, dengan bermacam bahasa pemrograman yang berbeda. Setelah membaca-baca, saya putuskan untuk menggunakan teknik recursive dalam program terbilang ini. Alasannya adalah kerapihan code dan kerumitan yang minim (dibanding teknik lain yang saya sudah lihat). Tapi untuk performance saya belum yakin apakah teknik recursive ini tepat digunakan untuk membuat program terbilang.

Perlu diketahui, program terbilang ini bergantung sekali dengan bahasa yang dipakai, dalam tulisan kali ini saya membuat program terbilang untuk bahasa Indosesia. Beda bahasa, beda lagi algoritmanya.

Langsung saja ya, berikut program terbilang yang saya buat. Program ini mampu untuk mengkonversi angka menjadi terbilangnya hingga Quadrilyun (1000 trilyun)


package com.bluething.terbilang;

import java.util.Scanner;

public class Terbilangku {

static String[] angkaTerbilang={"","Satu","Dua","Tiga","Empat","Lima","Enam","Tujuh","Delapan","Sembilan","Sepuluh","Sebelas"};
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Masukan Bilangan yang akan disebut: ");
System.out.println(new Terbilangku().angkaToTerbilang(sc.nextLong()));
}
public static String angkaToTerbilang(Long angka){
if(angka < 12)
return angkaTerbilang[angka.intValue()];
if(angka >=12 && angka <= 19)
return angkaTerbilang[angka.intValue() % 10] + " Belas";
if(angka >= 20 && angka <= 99)
return angkaToTerbilang(angka / 10) + " Puluh " + angkaTerbilang[angka.intValue() % 10];
if(angka >= 100 && angka <= 199)
return "Seratus " + angkaToTerbilang(angka % 100);
if(angka >= 200 && angka <= 999)
return angkaToTerbilang(angka / 100) + " Ratus " + angkaToTerbilang(angka % 100);
if(angka >= 1000 && angka <= 1999)
return "Seribu " + angkaToTerbilang(angka % 1000);
if(angka >= 2000 && angka <= 999999)
return angkaToTerbilang(angka / 1000) + " Ribu " + angkaToTerbilang(angka % 1000);
if(angka >= 1000000 && angka <= 999999999)
return angkaToTerbilang(angka / 1000000) + " Juta " + angkaToTerbilang(angka % 1000000);
if(angka >= 1000000000 && angka <= 999999999999L)
return angkaToTerbilang(angka / 1000000000) + " Milyar " + angkaToTerbilang(angka % 1000000000);
if(angka >= 1000000000000L && angka <= 999999999999999L)
return angkaToTerbilang(angka / 1000000000000L) + " Triliun " + angkaToTerbilang(angka % 1000000000000L);
if(angka >= 1000000000000000L && angka <= 999999999999999999L)
return angkaToTerbilang(angka / 1000000000000000L) + " Quadrilyun " + angkaToTerbilang(angka % 1000000000000000L);
return "";
}


Ada 3 hal yang perlu diperhatikan dalam menyebut bilangan dalam bahasa Indonesia:

  1. Angka satuan, dalam hal ini angka 1-9 serta angka 10 (sepuluh) dan angka 11 (sebelas).
  2. Angka 100-199 yang selalu kita sebut dengan seratus puluhan satuan.
  3. Angka 1000-1999 yang selalu kita sebut dengan seribu ratusan puluhan satuan.

Berikut tampilan saat dijalankan:

Perhatikan codenya dan anda akan dapat memahami bagaimana mudahnya membuat program terbilang.

Untuk tulisan selanjutnya saya akan membuat program terbilang untuk bahasa inggris.


  1. I Gusti Ngurah Suryadana
    January 23, 2012 at 8:43 pm

    Saya tunggu terbilang bahasa inggrisnya tetapi dalam mata uang rupiah, terima kasih

  2. February 2, 2012 at 5:41 pm

    thnx…good!

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: