Monday, 6 April 2015

JAVA :: Program Konversi Desimal ke Teks

Deskripsi :

Program ini mendeskripsikan suatu bilangan desimal yang dikonversi ke teks dalam bahasa Indonesia. Misal, bilangan 2100 makan akan dibaca dua ribu seratus. Program ini ditulis dengan menggunakan bahasa pemrograman java berbasis console.

Source code Program :

  1. /*  
  2. import java.io.*;  
  3. import java.util.*;  
  4.   
  5. public class KonversiDesimalToTeks2 {  
  6.  public static void main (String args[])  
  7.  {  
  8.     String Smntra="",hasil="",input="";  
  9.   
  10.     String[]konversi={"","Satu ","Dua ","Tiga ","Empat ",  
  11.                       "Lima ","Enam ","Tujuh ","Delapan ",  
  12.                       "Sembilan "};  

  1.   
  2.     String[]akhiran ={"","Ribu ","Juta ","Milyar ","Trilyun "};  
  3.   
  4.     char  []angka   ={'0','0','0','0','0','0','0','0','0',  
  5.                       '0','0','0','0','0','0'};  
  6.   
  7.     //inputan  
  8.     System.out.print("Masukkan bilangan : ");  
  9.     Scanner obj = new Scanner(System.in);  
  10.     input = obj.nextLine();  
  11.   
  12.     //inisialisasi  
  13.     char[]temp=input.toCharArray();  
  14.     int ratusan=0,puluhan=0,satuan=0,j=angka.length-1,ulang;  
  15.     int panjang=temp.length, bilangan=0;  
  16.   
  17.     // pendefenisian bilangan/angka  
  18.     for(int i=0;i<temp.length;i++)  
  19.     {  
  20.       angka[angka.length-1-i]=temp[temp.length-1-i];   
  21.     }  
  22.     
  23.     // penentu banyaknya perulangan untuk menentukan akhiran  
  24.     if(panjang%3==0)ulang=panjang/3;  
  25.     else ulang=panjang/3+1;  
  26.   
  27.     //aturan konversi desimal ke teks  
  28.     for(int i=0;i<ulang;i++)  
  29.     {  
  30.        Smntra="";  
  31.        satuan=Integer.parseInt(String.valueOf(angka[j]));  
  32.        puluhan=Integer.parseInt(String.valueOf(angka[--j]));  
  33.        ratusan=Integer.parseInt(String.valueOf(angka[--j]));  
  34.        j--;  
  35.   
  36.        if(ratusan==1)  
  37.        {  
  38.           Smntra="seratus ";  
  39.           if(satuan==0 && puluhan==0)  
  40.              Smntra=Smntra+akhiran[i];  
  41.        }  
  42.        else if(ratusan!=0)  
  43.        {  
  44.           Smntra=konversi[ratusan]+"Ratus ";  
  45.           if(satuan==0 && puluhan==0)  
  46.               Smntra=Smntra+akhiran[i];  
  47.        }  
  48.   
  49.        if(puluhan==1)  
  50.        {  
  51.             if(satuan==1)  
  52.                Smntra=Smntra+"Sebelas "+akhiran[i];  
  53.             else if(satuan!=0)  
  54.                Smntra=Smntra+konversi[satuan]+"belas "  
  55.                       +akhiran[i];  
  56.             else  
  57.                Smntra=Smntra+" Sepuluh "+akhiran[i];  
  58.        }  
  59.        else if(puluhan!=0)  
  60.        {  
  61.            Smntra=Smntra+konversi[puluhan]+"Puluh ";  
  62.            if(satuan!=0)  
  63.               Smntra=Smntra+konversi[satuan]+akhiran[i];  
  64.            else  
  65.               Smntra=Smntra+akhiran[i];  
  66.        }  
  67.        else if(satuan==1&& i==1)  
  68.               Smntra=Smntra+"Seribu ";  
  69.        else if(satuan!=0)  
  70.               Smntra=Smntra+konversi[satuan]+akhiran[i];  
  71.   
  72.        hasil=Smntra+hasil;  
  73.     }  
  74.     System.out.println(""+input+" = "+hasil);  
  75. }  
  76. }  

Output Program :


No comments:

Post a Comment