Created
November 20, 2020 11:03
-
-
Save aditagusta/362e8ba8bcf3e2d5313dd9ad6ff7fc0c to your computer and use it in GitHub Desktop.
Mengubah dari nilai angka ke kalimat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<b>Masukkan Nilai</b> | |
<br /> | |
Rp. <input id="nominall" onkeyup="terbilang();" type="text" value="1945" /> | |
<br /> | |
<div id="terbilang"> | |
</div> | |
<script> | |
function terbilang(){ | |
var bilangan=document.getElementById("nominal").value; | |
var kalimat=""; | |
var angka = new Array('0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'); | |
var kata = new Array('','Satu','Dua','Tiga','Empat','Lima','Enam','Tujuh','Delapan','Sembilan'); | |
var tingkat = new Array('','Ribu','Juta','Milyar','Triliun'); | |
var panjang_bilangan = bilangan.length; | |
/* pengujian panjang bilangan */ | |
if(panjang_bilangan > 15){ | |
kalimat = "Diluar Batas"; | |
}else{ | |
/* mengambil angka-angka yang ada dalam bilangan, dimasukkan ke dalam array */ | |
for(i = 1; i <= panjang_bilangan; i++) { | |
angka[i] = bilangan.substr(-(i),1); | |
} | |
var i = 1; | |
var j = 0; | |
/* mulai proses iterasi terhadap array angka */ | |
while(i <= panjang_bilangan){ | |
subkalimat = ""; | |
kata1 = ""; | |
kata2 = ""; | |
kata3 = ""; | |
/* untuk Ratusan */ | |
if(angka[i+2] != "0"){ | |
if(angka[i+2] == "1"){ | |
kata1 = "Seratus"; | |
}else{ | |
kata1 = kata[angka[i+2]] + " Ratus"; | |
} | |
} | |
/* untuk Puluhan atau Belasan */ | |
if(angka[i+1] != "0"){ | |
if(angka[i+1] == "1"){ | |
if(angka[i] == "0"){ | |
kata2 = "Sepuluh"; | |
}else if(angka[i] == "1"){ | |
kata2 = "Sebelas"; | |
}else{ | |
kata2 = kata[angka[i]] + " Belas"; | |
} | |
}else{ | |
kata2 = kata[angka[i+1]] + " Puluh"; | |
} | |
} | |
/* untuk Satuan */ | |
if (angka[i] != "0"){ | |
if (angka[i+1] != "1"){ | |
kata3 = kata[angka[i]]; | |
} | |
} | |
/* pengujian angka apakah tidak nol semua, lalu ditambahkan tingkat */ | |
if ((angka[i] != "0") || (angka[i+1] != "0") || (angka[i+2] != "0")){ | |
subkalimat = kata1+" "+kata2+" "+kata3+" "+tingkat[j]+" "; | |
} | |
/* gabungkan variabe sub kalimat (untuk Satu blok 3 angka) ke variabel kalimat */ | |
kalimat = subkalimat + kalimat; | |
i = i + 3; | |
j = j + 1; | |
} | |
/* mengganti Satu Ribu jadi Seribu jika diperlukan */ | |
if ((angka[5] == "0") && (angka[6] == "0")){ | |
kalimat = kalimat.replace("Satu Ribu","Seribu"); | |
} | |
} | |
document.getElementById("terbilang").innerHTML=kalimat +"Rupiah"; | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment