Convert Number To Word (Indonesian)


/**
 * @author burhan yang (yahoo.answer), modifikasi oleh ali nasrun
 * @version 1.00 2009/10/23
 */
import javax.swing.JOptionPane;
public class konversi {
   
    private String Terbilang(String angka){

        int length = angka.length();
        if (length <= 6) {
       
            String bil[] = {" ","satu","dua","tiga","empat","lima","enam","tujuh","delapan","sembilan",
            "sepuluh","sebelas"};

            int x = Integer.valueOf(angka);

           if (x <= 0){
  
                return "";
           }else if (x < 12) {
                 return bil[x]+ " ";
            }else if (x < 20)
                return Terbilang(String.valueOf(x-10)) + "belas ";
            else if (x < 100)
                return Terbilang(String.valueOf(x/10)) + "puluh " +Terbilang(String.valueOf(x%10));
            else if (x < 200)
                return "seratus " + Terbilang(String.valueOf(x-100));
            else if (x < 1000)
                return Terbilang(String.valueOf(x/100)) + "ratus " +Terbilang(String.valueOf(x%100));
            else if (x < 2000)
                return "seribu " + Terbilang(String.valueOf(x-1000));
            else
                return Terbilang(String.valueOf(x/1000)) + "ribu " +Terbilang(String.valueOf(x%1000));
            }
        else
            length=angka.length();
            int m = length%3;
            if (m == 0) m = 3;
            String s1 = angka.substring(0,m);
            String s2 = angka.substring(m,length);

            String bil[] = {"","juta","milyar","trilyun","kuadriliun","kuintiliun","heksiliun"};
            int index = 0;

            if (length <= 9)
                index = 1;
            else if (length <= 12) index = 2;
            else if (length <= 15) index = 3;
            else if (length <= 18) index = 4;
            else if (length <= 21) index = 5;
            else if (length <= 24) index = 6;
           
            if (Integer.valueOf(s1) <= 0)
           
                return Terbilang(s2);
            else
                return Terbilang(s1) + bil[index] + " " + Terbilang(s2);
   }
    public static void main(String[] args){
         String bil=JOptionPane.showInputDialog(null,"Masukkan bilangan");
         konversi hasil=new konversi();
         String kata=hasil.Terbilang(bil);
        JOptionPane.showMessageDialog(null,kata);
         }
 }



Example output:

 
 

0 comments:



Post a Comment