Source code-nya sih masih kepanjangan
contoh input : 1000000
output : satu juta
Source code-nya ada di bawah ini
======================================================================================
mport javax.swing.*;
public class terbilang
{
static String Kalimat = new String("");
//String Kalimat = new String("1250000");
public static String huruf(char a)
{String ahuruf;
switch (a)
{
case '0' : ahuruf = "nol";
break;
case '1' : ahuruf = "satu";
break;
case '2' : ahuruf = "dua";
break;
case '3' : ahuruf = "tiga";
break;
case '4' : ahuruf = "empat";
break;
case '5' : ahuruf = "lima";
break;
case '6' : ahuruf = "enam";
break;
case '7' : ahuruf = "tujuh";
break;
case '8' : ahuruf = "delapan";
break;
case '9' : ahuruf = "sembilan";
break;
default : ahuruf = "Bukan Karakter Digit";
break;
}
return ahuruf;
}
public static void main(String[] args)
{
Kalimat = JOptionPane.showInputDialog("Masukkan sebuah angka : ");
System.out.println("Masukkan sebuah angka: "+Kalimat);
int i;
String temp = new String("");
i = 0;
boolean b = false;
while (i <= Kalimat.length())
{
//angka puluhan milyar
if(Kalimat.length()-i == 11)
{
if(i-1 > -1)
{
if(Kalimat.charAt(i-1) != '0')
{
temp = temp.concat("ratus ");
b = true;
}
}
//inti puluhan ========================
if ((Kalimat.charAt(i) != '1') && (Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
}
else
if((Kalimat.charAt(i) == '1')&&((Kalimat.charAt(i+1) == '0') || (Kalimat.charAt(i+1) == '1')))
{
temp = temp.concat("se");
}
//====================
}
else
//angka milyar
if(Kalimat.length()-i == 10)
{
if(i == 0)
{
if(Kalimat.charAt(i) != '0')
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
}
if(i-1 > -1)
{
//inti angka satuan======================
if((Kalimat.charAt(i-1) == '1')&&(Kalimat.charAt(i) == '1'))
{
temp = temp.concat("belas ");
b = true;
}
else
if((Kalimat.charAt(i-1) == '1')&&(Kalimat.charAt(i) != '1')&&(Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" belas ");
b = true;
}
if(((Kalimat.charAt(i-1) != '1')&&(Kalimat.charAt(i-1) != '0'))||(Kalimat.charAt(i) == '0'))
{
if(Kalimat.charAt(i-1) != '0')
{
temp = temp.concat("puluh ");
b = true;
}
}
if((Kalimat.charAt(i-1) != '1')&&(Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
b = true;
}
//======================================================
}
}
else
//angka ratusan juta
if(Kalimat.length()-i == 9)
{
if(i-1 > -1)
{
if((Kalimat.charAt(i-1) != '0')||(b))
{
temp = temp.concat("milyar ");
b = false;
}
}
//inti angka ratusan=================
if(Kalimat.charAt(i) == '1')
{
temp = temp.concat("se");
}
else
if(Kalimat.charAt(i) != '0')
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
//==================================================================
}
else
//angka puluhan juta
if(Kalimat.length()-i == 8)
{
if(i-1 > -1)
{
if(Kalimat.charAt(i-1) != '0')
{
temp = temp.concat("ratus ");
b = true;
}
}
//inti puluhan ========================
if ((Kalimat.charAt(i) != '1') && (Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
}
else
if((Kalimat.charAt(i) == '1')&&((Kalimat.charAt(i+1) == '0') || (Kalimat.charAt(i+1) == '1')))
{
temp = temp.concat("se");
}
//====================
}
//angka juta
if(Kalimat.length()-i == 7)
{
if(i == 0)
{
if(Kalimat.charAt(i) != '0')
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
}
if(i-1 > -1)
{
//inti angka satuan======================
if((Kalimat.charAt(i-1) == '1')&&(Kalimat.charAt(i) == '1'))
{
temp = temp.concat("belas ");
b = true;
}
else
if((Kalimat.charAt(i-1) == '1')&&(Kalimat.charAt(i) != '1')&&(Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" belas ");
b = true;
}
if(((Kalimat.charAt(i-1) != '1')&&(Kalimat.charAt(i-1) != '0'))||(Kalimat.charAt(i) == '0'))
{
if(Kalimat.charAt(i-1) != '0')
{
temp = temp.concat("puluh ");
b = true;
}
}
if((Kalimat.charAt(i-1) != '1')&&(Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
b = true;
}
//======================================================
}
}
else
//angka ratusan ribu
if(Kalimat.length()-i == 6)
{
if(i-1 > -1)
{
if((Kalimat.charAt(i-1) != '0')||(b))
{
temp = temp.concat("juta ");
b = false;
}
}
//inti angka ratusan=================
if(Kalimat.charAt(i) == '1')
{
temp = temp.concat("se");
}
else
if(Kalimat.charAt(i) != '0')
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
//==================================================================
}
else
//angka puluhan ribu
if(Kalimat.length()-i == 5)
{
if(i-1 > -1)
{
if(Kalimat.charAt(i-1) != '0')
{
temp = temp.concat("ratus ");
b = true;
}
}
//inti puluhan ========================
if ((Kalimat.charAt(i) != '1') && (Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
}
else
if((Kalimat.charAt(i) == '1')&&((Kalimat.charAt(i+1) == '0') || (Kalimat.charAt(i+1) == '1')))
{
temp = temp.concat("se");
}
//====================
}
else
//angka ribuan
if(Kalimat.length()-i == 4)
{
if(i == 0)
{
if(Kalimat.charAt(i) == '1')
{
temp = temp.concat("se");
}
else
if(Kalimat.charAt(i) != '0')
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
}
if(i-1 > -1)
{
//inti angka satuan======================
if((Kalimat.charAt(i-1) == '1')&&(Kalimat.charAt(i) == '1'))
{
temp = temp.concat("belas ");
b = true;
}
else
if((Kalimat.charAt(i-1) == '1')&&(Kalimat.charAt(i) != '1')&&(Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" belas ");
b = true;
}
if(((Kalimat.charAt(i-1) != '1')&&(Kalimat.charAt(i-1) != '0'))||(Kalimat.charAt(i) == '0'))
{
if(Kalimat.charAt(i-1) != '0')
{
temp = temp.concat("puluh ");
b = true;
}
}
if((Kalimat.charAt(i-1) != '1')&&(Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
b = true;
}
//======================================================
}
}
else
//angka ratusan
if(Kalimat.length()-i == 3)
{
if(i-1 > -1)
{
if((Kalimat.charAt(i-1) != '0')||(b))
{
temp = temp.concat("ribu ");
b = false;
}
}
//inti angka ratusan=================
if(Kalimat.charAt(i) == '1')
{
temp = temp.concat("se");
}
else
if(Kalimat.charAt(i) != '0')
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
//==================================================================
}
else
//angka puluhan
if(Kalimat.length()-i == 2)
{
if(i-1 > -1)
{
if(Kalimat.charAt(i-1) != '0')
temp = temp.concat("ratus ");
}
//inti puluhan ========================
if ((Kalimat.charAt(i) != '1') && (Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" ");
}
else
if((Kalimat.charAt(i) == '1')&&((Kalimat.charAt(i+1) == '0') || (Kalimat.charAt(i+1) == '1')))
{
temp = temp.concat("se");
}
//====================
}
else
//angka satuan
if(Kalimat.length()-i == 1)
{
if(i == 0)
temp = temp.concat(huruf(Kalimat.charAt(i)));
if(i-1 > -1)
{
//inti angka satuan======================
if((Kalimat.charAt(i-1) == '1')&&(Kalimat.charAt(i) == '1'))
{
temp = temp.concat("belas ");
}
else
if((Kalimat.charAt(i-1) == '1')&&(Kalimat.charAt(i) != '1')&&(Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i))+" belas ");
}
if(((Kalimat.charAt(i-1) != '1')&&(Kalimat.charAt(i-1) != '0'))||(Kalimat.charAt(i) == '0'))
{
if(Kalimat.charAt(i-1) != '0')
{
temp = temp.concat("puluh ");
}
}
if((Kalimat.charAt(i-1) != '1')&&(Kalimat.charAt(i) != '0'))
{
temp = temp.concat(huruf(Kalimat.charAt(i)));
}
//======================================================
} //if(i-1>-1)
}
i=i+1;
}
System.out.println(temp);
}
}
Kamis, 23 Oktober 2008
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar