Program Java Netbeans Membuat Text Terbilang Pada Angka - JAVA GUI
Contoh Program Java Cara Menampilkan Terbilang, Contoh Program Terbilang dengan JAVA, Program Java untuk menampilkan Text Bilangan Angka.
Sobat Uniqo mungkin pernah melihat validasi sebuah angka dengan menggunakan Huruf atau tulisan, misalnya berupa Angka "2.500.000" dapat kita tampilkan dalam bentuk tulisan terbilang "Dua Juta Lima Ratus Ribu". disini akan kita buat dengan menggunakan program Java, contoh hasil sebagai berikut .
Berikut Langkah-langkah yang dilalui :
Tahap 1 : Buat Project dan Package untuk mengelompokan file
Lihat Cara Pembuatan Project Disini !!!
Tahap 2 : Tambahkan Class Pada Package Project Menggunakan JavaClass dengan nama "Terbilang"
Tahap 3 : Tambahkan Coding Berikut Pada Class "Terbilang"
Tahap 4 : Tambahkan Class Baru / Form pada Package Project menggunakan JFrameForm dengan nama "FormTerbilang"
Tahap 5 : Buat Event Pada Button "Lihat Terbilang" dan Tambahkan Coding Berikut
Tahap 6: Silahkan Jalankan Form dari Class "FormTerbilang"
Silahkan sobat uniqo isi nilai berupa Angka pada textfield Besar Nilai Kemudian Klik Button "Lihat Terbilang", Maka Akan Muncul Terbilang berupa text sesuai dengan nilai angka yang diinputkan.
Sekian Cara Membuat Validasi nilai angka dengan huruf atau membuat terbilang dengan menggunakan java netbeans, semoga bermanfaat bagi sobat uniqo semua, Selamat Mencoba...Jangan Pernah Berhenti Untuk Belajar..Good Luck For All
Sobat Uniqo mungkin pernah melihat validasi sebuah angka dengan menggunakan Huruf atau tulisan, misalnya berupa Angka "2.500.000" dapat kita tampilkan dalam bentuk tulisan terbilang "Dua Juta Lima Ratus Ribu". disini akan kita buat dengan menggunakan program Java, contoh hasil sebagai berikut .
Berikut Langkah-langkah yang dilalui :
Tahap 1 : Buat Project dan Package untuk mengelompokan file
Lihat Cara Pembuatan Project Disini !!!
Tahap 2 : Tambahkan Class Pada Package Project Menggunakan JavaClass dengan nama "Terbilang"
Tahap 3 : Tambahkan Coding Berikut Pada Class "Terbilang"
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Terbilang; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; /** * * @author SUT@N */ public class Terbilang { Map digits = new HashMap(); Map orders = new HashMap(); private String num = null; private String result = null; Class clazz = null; public Terbilang() { digits.put("0", "nol"); digits.put("1", "satu"); digits.put("2", "dua"); digits.put("3", "tiga"); digits.put("4", "empat"); digits.put("5", "lima"); digits.put("6", "enam"); digits.put("7", "tujuh"); digits.put("8", "delapan"); digits.put("9", "sembilan"); orders.put("0", ""); orders.put("1", "puluh"); orders.put("2", "ratus"); orders.put("3", "ribu"); orders.put("6", "juta"); orders.put("9", "miliar"); orders.put("12", "triliun"); orders.put("15", "kuadriliun"); } public Terbilang(Object num) { this(); this.num = convertNumToString(num); } private void init() { boolean is_neg = false; if (clazz.equals(Double.class) || clazz.equals(Float.class)) { Double chk = Double.parseDouble(num); is_neg = chk < 0; } else { is_neg = num.startsWith("-") ? true : false; } String ints = ""; try { Pattern regex = Pattern.compile("^[+-]?(\\d+)"); Matcher regexMatcher = regex.matcher(num); if (regexMatcher.find()) { ints = regexMatcher.group(1); } } catch (PatternSyntaxException ex) { } int mult = 0; String wint = ""; while (!ints.isEmpty()) { try { Pattern regex = Pattern.compile("(\\d{1,3})$"); Matcher regexMatcher = regex.matcher(ints); while (regexMatcher.find()) { // ambil satuan, puluhan, dan ratusan int m = Integer.parseInt(regexMatcher.group()); int s = (m % 10); int p = ((m % 100 - s) / 10); int r = ((m - p * 10 - s) / 100); // konversi ratusan String g = ""; if (r == 0) { g = ""; } else if (r == 1) { g = "se" + orders.get("2"); } else { g = digits.get("" + r + "") + " " + orders.get("2"); } // konversi puluhan dan satuan if (p == 0) { if (s == 0) { } else if (s == 1) { g = (!g.isEmpty() ? (g + " " + digits.get("" + s + "").toString()) : (mult == 0 ? digits.get("1").toString() : "se")); } else { g = (!g.isEmpty() ? g + " " : "") + digits.get("" + s + "").toString(); } } else if (p == 1) { if (s == 0) { g = (!g.isEmpty() ? g + " " : "") + "se" + orders.get("1"); } else if (s == 1) { g = (!g.isEmpty() ? g + " " : "") + "sebelas"; } else { g = (!g.isEmpty() ? g + " " : "") + digits.get("" + s + "") + " belas"; } } else { g = (!g.isEmpty() ? g + " " : "") + digits.get("" + p + "") + " puluh" + (s > 0 ? " " + digits.get("" + s + "") : ""); } // gabungkan dengan hasil sebelumnya wint = (!g.isEmpty() ? (g + (g.equals("se") ? "" : " ") + orders.get("" + mult + "")) : "") + (!wint.isEmpty() ? " " + wint : ""); // pangkas ribuan/jutaan/dsb yang sudah dikonversi String resultString = ""; try { Pattern tsRegex = Pattern.compile("\\d{1,3}$"); Matcher regexMatchers = tsRegex.matcher(ints); try { resultString = regexMatchers.replaceAll(""); ints = resultString; } catch (IllegalArgumentException ex1) { } catch (IndexOutOfBoundsException ex2) { } } catch (PatternSyntaxException ex3) { } mult += 3; } } catch (PatternSyntaxException ex) { } } if (wint.isEmpty()) { wint = digits.get("0").toString(); } //// angka di kanan desimal String frac = ""; try { Pattern regexf = Pattern.compile("\\.(\\d+)"); Matcher regexMatcherf = regexf.matcher(num); if (regexMatcherf.find()) { frac = regexMatcherf.group(); } } catch (PatternSyntaxException ex) { } String wfrac = ""; for (int i = 0; i < frac.length(); i++) { String indexf = frac.substring(i, i + 1); if (digits.containsKey(indexf)) { wfrac += (!wfrac.isEmpty() ? " " : "") + digits.get(indexf); } } result = ((is_neg ? "minus " : "") + wint + ((!wfrac.isEmpty()) ? " koma " + wfrac : "")); result = result.replaceAll("\\s{2,}", " "); result = result.replaceAll("(null )|(\\s{1,}$)", ""); } public String getNum() { return num; } public void setNum(Object num) { this.num = this.convertNumToString(num); } public String getResult() { return result; } @Override public String toString() { init(); return getResult(); } private String convertNumToString(Object value) { if (null == clazz) { clazz = value.getClass(); } String reval = null; if (Character.class.equals(clazz) || char.class.equals(clazz) || Double.class.equals(clazz) || Float.class.equals(clazz) || Integer.class.equals(clazz) || Long.class.equals(clazz) || Short.class.equals(clazz)) { reval = value.toString(); } else { reval = value.toString(); //throw new NumberFormatException("Your Input has failed! Numeric or decimal only can be process"); } return (reval); } }
Tahap 4 : Tambahkan Class Baru / Form pada Package Project menggunakan JFrameForm dengan nama "FormTerbilang"
Tahap 5 : Buat Event Pada Button "Lihat Terbilang" dan Tambahkan Coding Berikut
String angka = jTextField1.getText(); jLabel3.setText(new Terbilang(angka)+"".toString());
Tahap 6: Silahkan Jalankan Form dari Class "FormTerbilang"
Silahkan sobat uniqo isi nilai berupa Angka pada textfield Besar Nilai Kemudian Klik Button "Lihat Terbilang", Maka Akan Muncul Terbilang berupa text sesuai dengan nilai angka yang diinputkan.
Sekian Cara Membuat Validasi nilai angka dengan huruf atau membuat terbilang dengan menggunakan java netbeans, semoga bermanfaat bagi sobat uniqo semua, Selamat Mencoba...Jangan Pernah Berhenti Untuk Belajar..Good Luck For All