Fungsi Terbilang – Algoritma, Flowchart, Source Code

Kali ini membahas tentang bagaimana caranya inputan berupa angka bulat positif berubah jadi kata – kata yang sama seperti ucapan kita dalam Bahasa Indonesia. Hal ini lebih sering disebut dengan Fungsi Terbilang. Namun pada source code yang saya buat hanya sampai 999999999, karena waktu itu aku pakai integer. Maaf ya,,, bisa dirubah kok, pake long atau double atau apalah yang lebih panjang bytenya.

Mulai dari Algoritmanya dulu ya. Tapi sebelum itu, entah Algoritma yang aku buat ini kurang tepat sekali, ya mohon dimaklumi dan kalo perlu comment untuk saran yang membangun ke depannya. Namanya juga belajar.

Algoritma Fungsi Terbilang

  1. Masukkan nilai dan diinisialkan sebagai n.
  2. Buat deklarasi array huruf dengan value dari { “ ” …. “ sebelas ” }.
  3. Cek nilai n :
    1. 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.
    2. 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.
    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.
    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.
    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.
    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.
    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.
    8. Jika < 1000000000, kembali ke langkah 3 dengan n senilai n / 1000000, kemudian hasilnya tambahkan kata “juta” lalu kata untuk selanjutnya n senilai n modulus 1000000 dan kembali ke langkah 3. Kemudian simpan hasil dan tambahkan ke v dan langsung ke langkah 3.9.
    9. Kumpulkan value v.
  4. Cetak nilai v.
  5. Selesai.

Ya … kurang lebih seperti itulah, jika ada para master yang punya algortima yang lebih efisien, mohon sarannya ya… 🙂

Setelah Algoritmanya, sekarang Flowchart untuk Fungsi Terbilang ini.

Flowchart Fungsi Terbilang

Flowchart Fungsi Terbilang

Bagi yang ingin download file visionya,  bisa download di sini. Mohon saran dan kritik yang membangun ya teman – teman. Setelah Algoritma dan Flowchart sudah sekarang giliran Source Code nya.

Source Code Fungsi Terbilang ( Java )

public String kata(int number){
	number = Math.abs(number);

	String [] angka = {"","satu","dua","tiga","empat","lima","enam","tujuh","delapan","sembilan","sepuluh","sebelas"};
	String temp = "";

	if(number < 12){
		temp = " "+angka[number];
	}else if(number < 20){
		temp = kata(number - 10)+" belas";
	}else if(number < 100){
		temp = kata(number/10)+" puluh"+kata(number%10);
	}else if (number < 200) {
		temp = " seratus"+kata(number - 100);
	}else if (number < 1000) {
		temp = kata(number/100)+ " ratus"+ kata(number % 100);
	}else if (number < 2000) {
		temp = " seribu"+ kata(number - 1000);
	}else if (number < 1000000) {
		temp = kata(number/1000)+" ribu"+ kata(number % 1000);
	}else if (number < 1000000000) {
		temp = kata(number/1000000)+" juta"+ kata(number % 1000000);
	}

	return temp;
}

Itu fungsi atau class nya, untuk implementasi silahkan panggil fungsi kata(n), dengan n adalah angka bulat positif. Bagi yang ingin download source codenya secara lengkap, silahkan download di sini.

30 thoughts on “Fungsi Terbilang – Algoritma, Flowchart, Source Code

  1. Pingback: Fungsi | Between two brackets

  2. Pingback: Function Terbilang for PHP | Between two brackets

Leave a Reply