Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // html
- // <form name='input' action='' >
- // <input type='text' name='nilai' />
- // <textarea cols=50 rows=5 name='hasil'></textarea>
- // </form>
- //membuat variable global yang akan di tampilkan agar mudah dirubah.
- var text = "";
- function moneyConvert(){
- // memberikkan nilai awal agar variabel text berisi string kosong
- text = " ";
- document.input.hasil.value = " ";
- // mengambil nilai dari inputan
- var n = document.input.nilai.value;
- // membuat variable untuk menampung hasil dari ribuan,ratusan,...
- var ribu;
- var ratus;
- var puluh;
- var satuan;
- // memanggil fungsi
- n = cekRibuan(n);
- n = cekRatusan(n);
- n = cekPuluhan(n);
- // untuk cek satuan juga bisa di jadikan fungsi,
- // *tapi pada contoh init tidak dijadikan sebagai fungsi
- if( n >= 1){
- satuan = n / 1;
- n %= 1;
- text += toText(satuan);
- }
- document.input.hasil.value = text+"\n";
- }
- function cekRibuan(n){
- // periksa nilai, apakah lebih dari 1000
- if( n >= 1000){
- // memeriksa berapa nilai ribuan, untuk di tampilkan
- ribu = n / 1000;
- // buletin angka
- ribu = Math.floor(ribu);
- ribu = cekRatusan(ribu);
- ribu = cekPuluhan(ribu);
- // mengambil sisa untuk memeriksa ratusan
- n %= 1000;
- // memeriksa apakah ribuan bernilai 1,
- if (ribu == 1) {
- // membuat dan menggabungkan text
- // text saat ini "seribu "
- text += "Seribu ";
- }else{
- // membuat dan menggabungkan text
- // text saat ini "<number> ribu " ex: 3 ribu
- ribu == 0 ? text += " ribu " : text += toText(ribu)+" ribu ";
- }
- }
- return n;
- }
- // untuk fungsi dibawahnya memiliki cara kerja yang sama
- function cekRatusan(n){
- if( n >= 100){
- ratus = n / 100;
- n %= 100;
- ratus = Math.floor(ratus);
- if (ratus == 1) {
- text += "seratus ";
- }else{
- text += toText(ratus)+" ratus ";
- }
- }
- return n;
- }
- function cekPuluhan(n){
- if( n >= 10){
- puluh = n / 10;
- n %= 10;
- puluh = Math.floor(puluh);
- if (puluh == 1) {
- // memeriksa apakah sisanya nol / lebih
- // jika lebih maka angkanya 11,12,13,14,... harus dirubah ke belasan
- if(n == 0){
- // jika sisanya nol / angka = 10
- text += "sepuluh ";
- n = cekSatuan(n);
- }else{
- // jika angka lebih dari 0
- if( n == 1){
- // jika nilai angkanya 11
- text += "sebelas";
- }else{
- // jika nilai angka lebih dari 11
- text +=toText(n)+" belas";
- }
- }
- }else{
- text += toText(puluh)+" puluh ";
- n = cekSatuan(n);
- }
- }
- return n;
- }
- function cekSatuan(n){
- if( n >= 1){
- satuan = n / 1;
- n %= 1;
- text += toText(satuan);
- }
- return n;
- }
- // fungsi yang digunakan untuk merubah angka ke string
- function toText(n){
- var str;
- switch(n){
- case 1 : str = "satu ";break;
- case 2 : str = "dua ";break;
- case 3 : str = "tiga ";break;
- case 4 : str = "empat ";break;
- case 5 : str = "lime ";break;
- case 6 : str = "enam ";break;
- case 7 : str = "tujuh ";break;
- case 8 : str = "delapan ";break;
- case 9 : str = "sembilan ";break;
- default : break;
- }
- return str;
- }
Add Comment
Please, Sign In to add comment