Mengkonversi Angka ke Kata di Java

Mengkonversi Angka ke Kata di Java

Untuk mengonversi angka menjadi kata dalam bahasa Indonesia di Java, kamu bisa membuat sebuah metode khusus untuk itu. Berikut adalah implementasinya:

Contoh Program

java
import java.util.HashMap;
import java.util.Map;

public class AngkaKeKata {

private static final Map<Integer, String> angkaKeKata = new HashMap<>();

static {
angkaKeKata.put(1, "satu");
angkaKeKata.put(2, "dua");
angkaKeKata.put(3, "tiga");
angkaKeKata.put(4, "empat");
angkaKeKata.put(5, "lima");
angkaKeKata.put(6, "enam");
angkaKeKata.put(7, "tujuh");
angkaKeKata.put(8, "delapan");
angkaKeKata.put(9, "sembilan");
angkaKeKata.put(10, "sepuluh");
angkaKeKata.put(11, "sebelas");
}

public static String konversiAngkaKeKata(int angka) {
if (angka <= 0) {
return "nol";
} else if (angka <= 11) {
return angkaKeKata.get(angka);
} else if (angka < 20) {
return angkaKeKata.get(angka % 10) + " belas";
} else if (angka < 100) {
return angkaKeKata.get(angka / 10) + " puluh" + (angka % 10 == 0 ? "" : " " + angkaKeKata.get(angka % 10));
} else if (angka == 100) {
return "seratus";
} else {
return "Angka terlalu besar!";
}
}

public static void main(String[] args) {
for (int i = 1; i <= 20; i++) {
System.out.println(i + " --> " + konversiAngkaKeKata(i));
}
}
}

Penjelasan

  1. Map untuk Penyimpanan Kata: Menggunakan HashMap untuk menyimpan angka dari 1-11 dan kata-katanya.
  2. Logika Angka Belasan: Menangani angka antara 12-19 dengan format “angka + belas”.
  3. Puluhan: Menangani angka puluhan dengan format “angka + puluh” dan tambahan jika ada satuan.
  4. Batasan: Program ini hanya mendukung hingga angka 100 (seratus) dan bisa diperluas jika diperlukan.

Output

Ketika program dijalankan, akan menghasilkan output seperti:

lua
1 --> satu
2 --> dua
3 --> tiga
4 --> empat
5 --> lima
...
19 --> sembilan belas
20 --> dua puluh

Related Post

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x