Oke malam ini saya mau membagikan sebuah program Java tentang konversi bilangan ke dalam kata yang merupakan tugas project saya semester 1 ini .
contoh :
1156785 = satu juta seratus lima puluh enam ribu tujuh ratus delapan puluh lima
1010101010 = satu milyar sepuluh juta seratus satu ribu sepuluh
Program ini menggunakan inputan dalam bentuk String, dan maksimal sepanjang 15 digit, atau ratusan Trillliun. berikut adalah kode nya :
/* * progam ini digunakan untuk mengkonversi bilangan ke dalam bentuk kalimat, * dengan panjang maksimal 15 digit. * * Penjelasan Program : * awal nya kita inputkan bilangannya * Contoh : 1996 * * maka di Array * indeks |3| |2| |1| |0| * 1 9 9 6 * jadi indeks nya dibalik. * * kalo tidak di balik, * indeks |0| |1| |2| |3| * 1 9 9 6 * letak indeks akan selalu berubah bergantung pada jumlah data. * Tapi jika dibalik maka letak ratusan, ribuan, puluhan, jutaan akan tetap. * contoh letak ribuan akan tetap di indeks 5 - 3, tidak akan berubah walau jumlah data nya berubah */ package pembilang; import java.util.Scanner; /** * * @author moko */ public class Pembilang { public static void main(String[] args) { Scanner input = new Scanner(System.in);//inisialisasi variabel input sebagai Scanner String bilangan = input.nextLine(); //inputan untuk bilangan String nol = "0";// if(bilangan.length() % 3 == 1){//jika panjang bilangan di mod 3 = 1 bilangan = nol.concat(nol).concat(bilangan); //bilangan = 0 + 0 + bilangan }else if(bilangan.length() % 3 == 2){//jika panjang bilangan di mod 3 = 2 bilangan = nol.concat(bilangan);//bilangan = 0 + bilangan } int panjangbil = bilangan.length();//panjangbil = panjang bilangan String angka[] = new String[panjangbil];//inisialisasi array angka dalam bentuk string int n = 0;//inisialiasasi n, n digunakan untuk membantu dalam membalik isi array for (int i = panjangbil-1; i >=0 ; i--) {//untuk memasukkan setiap karakter ke dalam string angka, dengan membalik urutan angka angka[i] = bilangan.substring(n, n+1); n++; } //menampilkan isi array for (int i = panjangbil - 1; i >=0; i--) {//untuk mencocokkan angka yang di Array switch (angka[i]) { case "1"://jika angka indeks i sama dengan 1 if(i == 1 || i == 4 || i == 7 || i == 10 || i == 13){//untuk mengecek apakah angka belas an if(!(angka[i-1].equals("1") || angka[i-1].equals("0"))){//mengecek apakah bukan 10 atau 11 System.out.print(""); }else if(angka[i-1].equals("1")){//jika angka index ke i - 1 sama dengan 1, berati 11 System.out.print("sebelas "); }else if(angka[i-1].equals("0")){//jika angka index ke i - 1 sama dengan 0, berarti 10 System.out.print("sepuluh "); } }else if(i == 2 ||(i == 3 && (angka[4].equals("0") && angka[5].equals("0") && !angka[4].equals("1"))) || i == 5 || i == 8 || i == 11 || i == 14){//untuk mengecek apakah i dalam posisi ratusan dan seribu System.out.print("se"); }else if(i == 0 || i == 3 || i == 6 || i == 9 || i == 12){//untuk mengecek nilai i di posisi satuan if(!angka[i+1] .equals("1")){//apakah di depan nilai i bukan 1 System.out.print("satu "); } } break; case "2"://jika angka indeks i sama dengan 2 System.out.print("dua "); break; case "3"://jika angka indeks i sama dengan 3 System.out.print("tiga "); break; case "4"://jika angka indeks i sama dengan 4 System.out.print("empat "); break; case "5"://jika angka indeks i sama dengan 5 System.out.print("lima "); break; case "6"://jika angka indeks i sama dengan 6 System.out.print("enam "); break; case "7"://jika angka indeks i sama dengan 7 System.out.print("tujuh "); break; case "8"://jika angka indeks i sama dengan 8 System.out.print("delapan "); break; case "9"://jika angka indeks i sama dengan 9 System.out.print("sembilan "); break; } if((i == 14 || i == 11|| i == 8 || i == 5 || i == 2) && !angka[i].equals("0")){//untuk mengecek nilai ratusan dan angka nya tidak b0leh 0 System.out.print("ratus "); }else if((i==13 || i==10 || i==7 || i == 4 || i == 1) && (!angka[i].equals("0") && !angka[i].equals("1")) ){//untuk mengecek nilai puluhan dan membedakan antara 10 dan belasan. System.out.print("puluh "); }else if(i==0 || i == 3 || i == 6 || i== 9 || i == 12){//untuk mengecek nilai belasan if((!angka[i].equals("1") && !angka[i].equals("0")) && (angka[i+1].equals("1"))){//apabila bukan 10 atau 11 System.out.print("belas "); } } if(i == 12){//untuk mengecek nilai trilliun System.out.print("trilliun "); }else if(i == 9 && !(angka[9].equals("0") && angka[10].equals("0") && angka[11].equals("0"))){//untuk mengecek nilai milyar dan digit milyar apakah 000, jika 000 maka milyar tidak dibaca System.out.print("miliiar "); }else if(i == 6 && !(angka[6].equals("0") && angka[7].equals("0") && angka[8].equals("0"))){//untuk mengecek nilai juta dan digit juta apakah 000, jika 000 maka juta tidak dibaca System.out.print("juta "); }else if(i == 3 && !(angka[3].equals("0") && angka[4].equals("0") && angka[5].equals("0"))){//untuk mengecek nilai ribu dan digit ribu apakah 000, jika 000 maka ribu tidak dibaca System.out.print("ribu "); } } } }
itu tadi adalah program yang saya buat menggunakan java.
Semoga Bermanfaat :)
0 komentar:
Posting Komentar