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 :
- /*
- import java.io.*;
- import java.util.*;
- public class KonversiDesimalToTeks2 {
- public static void main (String args[])
- {
- String Smntra="",hasil="",input="";
- String[]konversi={"","Satu ","Dua ","Tiga ","Empat ",
- "Lima ","Enam ","Tujuh ","Delapan ",
- "Sembilan "};
- String[]akhiran ={"","Ribu ","Juta ","Milyar ","Trilyun "};
- char []angka ={'0','0','0','0','0','0','0','0','0',
- '0','0','0','0','0','0'};
- //inputan
- System.out.print("Masukkan bilangan : ");
- Scanner obj = new Scanner(System.in);
- input = obj.nextLine();
- //inisialisasi
- char[]temp=input.toCharArray();
- int ratusan=0,puluhan=0,satuan=0,j=angka.length-1,ulang;
- int panjang=temp.length, bilangan=0;
- // pendefenisian bilangan/angka
- for(int i=0;i<temp.length;i++)
- {
- angka[angka.length-1-i]=temp[temp.length-1-i];
- }
- // penentu banyaknya perulangan untuk menentukan akhiran
- if(panjang%3==0)ulang=panjang/3;
- else ulang=panjang/3+1;
- //aturan konversi desimal ke teks
- for(int i=0;i<ulang;i++)
- {
- Smntra="";
- satuan=Integer.parseInt(String.valueOf(angka[j]));
- puluhan=Integer.parseInt(String.valueOf(angka[--j]));
- ratusan=Integer.parseInt(String.valueOf(angka[--j]));
- j--;
- if(ratusan==1)
- {
- Smntra="seratus ";
- if(satuan==0 && puluhan==0)
- Smntra=Smntra+akhiran[i];
- }
- else if(ratusan!=0)
- {
- Smntra=konversi[ratusan]+"Ratus ";
- if(satuan==0 && puluhan==0)
- Smntra=Smntra+akhiran[i];
- }
- if(puluhan==1)
- {
- if(satuan==1)
- Smntra=Smntra+"Sebelas "+akhiran[i];
- else if(satuan!=0)
- Smntra=Smntra+konversi[satuan]+"belas "
- +akhiran[i];
- else
- Smntra=Smntra+" Sepuluh "+akhiran[i];
- }
- else if(puluhan!=0)
- {
- Smntra=Smntra+konversi[puluhan]+"Puluh ";
- if(satuan!=0)
- Smntra=Smntra+konversi[satuan]+akhiran[i];
- else
- Smntra=Smntra+akhiran[i];
- }
- else if(satuan==1&& i==1)
- Smntra=Smntra+"Seribu ";
- else if(satuan!=0)
- Smntra=Smntra+konversi[satuan]+akhiran[i];
- hasil=Smntra+hasil;
- }
- System.out.println(""+input+" = "+hasil);
- }
- }
No comments:
Post a Comment