"Wahai jin dan manusia, jika kalian mampu menembus penjuru langit dan bumi, tembuslah! Kalian tidak dapat menembusnya kecuali dengan kekuatan (ilmu)." (Ar-Rahman:33)

bismillahirrahmanirrahim

Beberapa waktu yang lalu saya punya ide bagaimana cara mengubah angka ke bilangan dengan menggunakan java.  mungkin sapa pikir butuh Kemampuan String yang Kuat. dan saya mulai coba. emang agak sedikit rumit dari sebelumnya. tapi membuahkan hasil yang muaskan ketiga dijalankan. ^_^

tampilan hasil:

ini contoh scriptnya:


import java.util.Scanner;
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
 // nama : ariska hidayat //
 // nim : 10030092 //
 // blog : www.ariska138.wordpress.com //
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

public class ConvertIntToBilangan {

public static void main(String[] args) {
 int angka=0;
 String bilangan="";
 pembukaan();
 angka = inputAngka(" Masukkan sembarang angka bulat: "," Maaf, angka yang anda masukkan salah EX: 123000 ");
 bilangan = prosesPemisahan(angka);
 bilangan = convertToBilangan(bilangan);
 System.out.println("\n Bilangannya adalah : \n\n"+bilangan);
 System.out.println("\n\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");

}

private static void pembukaan() {
 System.out.println("\n\n\n\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
 System.out.println(" mengubah angka ke bilangan");
 System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n\n");
 }

private static int inputAngka(String string, String string0) {
 Scanner scan = new Scanner(System.in);
 boolean kembali=false;
 int angka=0;
 do{
 kembali=false;
 try{
 System.out.print(string);
 angka = scan.nextInt();
 }catch(Exception e){
 System.out.println();
 System.out.println(string0);
 System.out.println();
 kembali=true;
 }
 }while(kembali);
 return angka;
 }

private static String prosesPemisahan(int angka) {
 String bilangan = String.valueOf(angka);
 bilangan = balikString(bilangan);
 bilangan = sisipTitik(bilangan);
 bilangan = balikString(bilangan);
 return bilangan;
 }

private static String balikString(String bilangan) {
 String[] str=bilangan.split("");
 bilangan ="";
 for(int c=str.length-1; c>0;c-- ){
 bilangan = bilangan.concat(str[c]);
 }
 return bilangan;
 }

private static String sisipTitik(String bilangan) {
 String[] str=bilangan.split("");
 bilangan="";
 for(int n=1; n<str.length; n++){
 bilangan = bilangan.concat(str[n]);
 if(n%3==0)bilangan = bilangan.concat("-");
 }
 return bilangan;
 }

private static String convertToBilangan(String bilangan) {
 String[] pemisah={" ","ribu "," juta "," milyar "," trilyun "};
 String[] str=bilangan.split("-");
 //cekSpit(str);
 bilangan="";
 for(int n=0; n<str.length; n++){
 bilangan = bilangan.concat(ubahKeBilangan(str[n]));
 bilangan = bilangan.concat(pemisah[str.length-n-1]);
 }
 return bilangan;
 }

private static String ubahKeBilangan(String string) {
 String[] bilAsli = {"", "satu ", "dua ", "tiga ", "empat ", "lima ", "enam ", "tujuh ", "delapan ", "sembilan "};
 String[] bil = {"", " se", "dua ", "tiga ", "empat ", "lima ", "enam ", "tujuh ", "delapan ", "sembilan "};
 String[] bilPendamping = {"", "puluh ", "ratus "};
 String[] str = string.split("");
 string = "";
 if (str.length == 2) {
 string = bilAsli[Integer.parseInt(str[1])];
 } else if (str.length == 3) {
 if (str[1].equals("1") && !str[2].equals("0")) {
 string = string.concat(bil[Integer.parseInt(str[2])]);
 string = string.concat("belas ");

} else {

string = string.concat(bil[Integer.parseInt(str[1])]);
 string = string.concat(bilPendamping[1]);
 string = string.concat(bilAsli[Integer.parseInt(str[2])]);

}
 } else if (str.length == 4) {
 string = string.concat(bil[Integer.parseInt(str[1])]);
 string = string.concat("ratus ");

if (str[2].equals("1") && !str[3].equals("0")) {
 string = string.concat(bil[Integer.parseInt(str[3])]);
 string = string.concat("belas ");

} else {

string = string.concat(bil[Integer.parseInt(str[2])]);
 string = string.concat(bilPendamping[1]);
 string = string.concat(bilAsli[Integer.parseInt(str[3])]);

}
 }
 return string;
 }
 }

Jika ingin mendownload, bisa klik ~download disni~

(password: ariska138)

.
saya  sangat mengharapkan kritik dan saran untuk menjadi lebih. ^_^

dan jika temen2 menekan bug dalam soucecode diatas,

bisa beri masukkan dengan megisi komentar diabawah ini.

Advertisements

Comments on: "Contoh Java: Mengubah Angka menjadi Bilangan" (5)

  1. kok gak bs buat juta ya mas??

    • udah tak coba bisa mas bro.. malah bisa sampai 1 milyar. hehehe.. mungkin lebih jelasnya km bs uplaod printscreennya.. trimakasih.

  2. wahhhh ,,, hebat hebat,, inovasi ni perkembangan ke depan yang cerah
    lanjutkan gan tak usah ragu
    like that

    • makasih tas pujiannya. Tp itu cuma hal biasa aja put dan tu jg cuma pengetahuan dasar. kamu sendiri juga hebat kok put. ^_^

  3. […] : https://ariska138.wordpress.com Share this:TwitterFacebookLike this:SukaBe the first to like this. Entri ini ditulis dalam […]

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 )

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s

%d bloggers like this: