Program ini akan merubah / mengkonversi angka yang dimasukkan oleh user ke dalam suatu huruf / kata yang mewakili angka yang dimasukkan tersebut.
Algoritma
Masukkan nilai dan diinisialkan sebagai n.
Buat deklarasi array huruf dengan value dari { “ ” …. “ sebelas ” }.
Cek nilai n :
- Jika kurang dari 12, maka kembalikan value dengan memanggil variabel huruf dengan indeks array n dan langsung ke langkah 3.9. Jika tidak lanjut ke langkah 3.2. Hasilnya simpan di dalam satu variabel misalnya v.
- Jika kurang dari 20, kembalikan value dengan n – 10 diimbuhi kata belas dan hasil ditambahkan ke value v dan langsung ke langkah 3.9. Jika tidak < 20, lanjut ke langkah 3.3.
- Jika kurang dari 100, untuk mendapatkan kata pertama maka ulang ke mulai langkah 3 dengan n sejumlah n / 10. Lalu langsung ke c dengan kata selanjutnya ulang langkah 3 dengan n senilai n modulus 10 dan hasil ditambahkan ke value v dan langsung ke langkah 3.9. Jika tidak kurang dari 100, lanjut ke langkah 3.4.
- Jika kurang dari 200, kata pertama diberi “seratus” kata selanjutnya ulang langkah 3 dengan n senilai n – 100 dan hasil ditambahkan ke value v dan langsung ke langkah 3.9. Jika tidak kurang dari 200, lanjut ke langkah 3.5.
- Jika < 1000 kembali ke langkah 3 dengan n senilai n / 100, dan valuenya diimbuhi kata “ratus” kemudian untuk kata selanjutnya masukkan nilai n dengan n modulus 100 dan hasil ditambahkan ke value v dan langsung ke langkah 3.9. Jika tidak < 1000 lanjut ke langkah 3.6.
- Jika < 2000 masukkan kata “seribu” dan kembali ke langkah 3 dengan n senilai n – 1000 dan hasil ditambahkan ke value v dan langsung ke langkah 3.9. Jika tidak < 2000 lanjut ke langkah 3.7.
- Jika < 1000000, kembali ke langkah 3 dengan n senilai n / 1000. Dan imbuhi hasilnya dengan kata “ribu”. Lalu untuk kata selanjutnya kembali ke langkah 3 dengan n senilai n modulus 1000 dan hasil ditambahkan ke value v dan langsung ke langkah 3.9. Jika tidak < 1000000 lanjut ke langkah 3.8.
- Kumpulkan value v.
Cetak nilai v.
Selesai.
Flowchart
Code
import javax.swing.JOptionPane;
public class Number_Word{
public String konversi (int angka){
String [] bilangan ={“”,”satu”,”dua”,”tiga”,”empat”,”lima”,”enam”,”tujuh”,”delapan”,”sembilan”,”sepuluh”,”sebelas”};
String temp=” “;
if (angka<12){
temp = ” ” + bilangan[angka];
}
else if(angka<20){
temp = konversi(angka-10) + ” belas”;
}
else if(angka<100){
temp = konversi(angka/10) + ” puluh” + konversi(angka%10);
}
else if(angka<200){
temp = “seratus” + konversi(angka-100);
}
else if(angka<1000){
temp = konversi(angka/100) + ” ratus” + konversi(angka%100);
}
else if(angka<2000){
temp = “seribu”+ konversi(angka-1000);
}
else if(angka<1000000){
temp = konversi(angka/1000) + ” ribu” + konversi (angka%1000);
}
return temp;
}
public static void main (String args[]){
do{
try {
Number_Word num = new Number_Word();
int konvert = Integer.parseInt(JOptionPane.showInputDialog(“Masukkan Nilai”));
if (konvert < 0 || konvert >999999) {
JOptionPane.showMessageDialog(null,”Angka di luar range!!!”,”WARNING”,JOptionPane.ERROR_MESSAGE);
}
else {
JOptionPane.showMessageDialog(null,”Hasil = \n ” + konvert + ” = ” + num.konversi(konvert),”RESULT”,JOptionPane.INFORMATION_MESSAGE);
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null,”ERROR”,”WARNING”,JOptionPane.ERROR_MESSAGE);
}
}
while(JOptionPane.showConfirmDialog(null,”Ingin Mengulang??”,”OPTION”,JOptionPane.ERROR_MESSAGE)==JOptionPane.YES_NO_OPTION);
}
}
Keterangan :
dah dicoba kok gak jalan yah di komp gw… apalagi javac-nya gak jalan… tapi di ketik java di cmd… javanya ada tuch…
Emh…apakah untuk program lain bisa jalan???Coba check kodenya dengan lebih teliti lagi, mungkin ada kesalahan…
Program ini adalah ujian praktikum saya yang sudah teruji….
Jangan lupa ganti tanda petik untuk menampilkan String ya!!!!!
For Jimmy : ada beberapa pendapat untuk Anda
1. Apa nama file yang Anda buat untuk menampung source code diatas ? Jika bukan Main.java dalam satu package, mana bisa Anda yang tidak setting classpath memanggil dan mengcompile file java melalui DOS. Jika Anda tadi menamainya dengan Main.java dalam satu package, kemudian Anda build pasti bisa dipanggil dengan java -jar “nama file jar anda” di DOS
2. Javac gag jalan dan java jalan, itu wajar jika Anda belum setting classpath sendiri melalui DOS
3. Sebaiknya Anda jangan pake DOS buat praktek, mending pake tools yang sudah ada aja seperti Java Editor, Netbeans, Eclipse dan sebagainya. Jadi Anda ndak akan mengalami kesulitan seperti ini.
Terima kAsih ^_^ Semoga membantu
print screen hasilnya mana..? blm gw coba tp td liat baris programnya
else if(angka<100){
temp = konversi(angka/10) + ” puluh” + konversi(angka%10);
}
trus misal dimasukan angka 78 ntar alur progamnya gmana..?
berarti 78 dibagi 10, nanti dapetnya 7 + string puluh, habis itu 78 modulus sepuluh hasilnya 8
” “
salam kenal…………….
Reblogged this on Seni Ekspresionis Director.