jump to navigation

Konversi Angka Ke Huruf April 21, 2008

Posted by yasinisasi in Java.
trackback

Ini adalah program untuk mengkonversi dari angka menjadi huruf. Simpan file di bawah ini dengan nama file RupiahFinal.java. Lalu kompile file tersebut. Selamat mencoba.
import javax.swing.*;
public class RupiahFinal {
private static String Smntra=””,hasil=””,input=in();
public RupiahFinal(){
char[]temp=input.toCharArray();
char[]angka={‘0′,’0′,’0′,’0′,’0′,’0′,’0′,’0′,’0′,’0′,’0′,’0′,’0′,’0′,’0’};
for(int i=0;i<temp.length;i++){
angka[angka.length-1-i]=temp[temp.length-1-i];
}
int ratusan=0,puluhan=0,satuan=0,j=angka.length-1,ulang;
int panjang=temp.length;
if(panjang%3==0)ulang=panjang/3;
else ulang=panjang/3+1;
int bilangan=0;
proses(ulang,angka,j);
System.out.println(hasil);
JOptionPane.showMessageDialog(null,input+” sama dengan\n”+hasil);
}
public static void proses(int ulang,char[]angka,int j){
int ratusan=0,puluhan=0,satuan=0;
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+ahiran(i);
}
else if(ratusan!=0){
Smntra=konversi(ratusan)+”ratus “;
if(satuan==0 && puluhan==0)Smntra=Smntra+ahiran(i);
}
if(puluhan==1){
if(satuan==1)Smntra=Smntra+”sebelas “+ahiran(i);
else if(satuan!=0)Smntra=Smntra+konversi(satuan)+”belas “+ahiran(i);
else Smntra=Smntra+” sepuluh “+ahiran(i);
}
else if(puluhan!=0){
Smntra=Smntra+konversi(puluhan)+”puluh “;
if(satuan!=0)Smntra=Smntra+konversi(satuan)+ahiran(i);
else Smntra=Smntra+ahiran(i);
}
else if(satuan==1&& i==1) Smntra=Smntra+”seribu “;
else if(satuan!=0) Smntra=Smntra+konversi(satuan)+ahiran(i);
hasil=Smntra+hasil;
}
}
private static String konversi(int angka){
String hasil=””;
switch(angka){
case 1:hasil=”satu “;break;
case 2:hasil=”dua “;break;
case 3:hasil=”tiga “;break;
case 4:hasil=”empat “;break;
case 5:hasil=”lima “;break;
case 6:hasil=”enam “;break;
case 7:hasil=”tuju “;break;
case 8:hasil=”delapan “;break;
case 9:hasil=”sembilan “;break;
}
return hasil;
}
private static String in(){
boolean InputanBenar=false;int cek;
String input;
boolean belum;
do{
belum=false;
input=JOptionPane.showInputDialog(null,”Masukkan nilai yang akan dikonversikan”);
try{
int a=Integer.parseInt(input);
if(a<1){
JOptionPane.showMessageDialog(null,”Angka minimumnya 1. Harus lebih dari 0″);
belum=false;
}
else belum=true;
}
catch(Exception h){belum=true;}
if(belum){
char[]angka=input.toCharArray();
try{
for(int a=0;a15)JOptionPane.showMessageDialog(null,”Inputan yang dibolehkan antara 0 dan 1000 trilyun”);
else InputanBenar=true;
}
catch(Exception anu){JOptionPane.showMessageDialog(null,”Anda hanya boleh memasukkan angka positif”);}
}
}while(!InputanBenar);
return input;
}
private static String ahiran(int posisi){
String hasil=””;
switch(posisi){
case 1:hasil=”ribu\n”;break;
case 2:hasil=”juta\n”;break;
case 3:hasil=”milyar\n”;break;
case 4:hasil=”trilyun\n”;break;
}
return hasil;
}
public static void main (String[] args) {
RupiahFinal yasin=new RupiahFinal();
}
}

Comments»

No comments yet — be the first.

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: