Angka acak dipakai untuk kuis, undian, game dadu, atau OTP. Membuat angka acak dalam rentang tertentu memerlukan rumus yang tepat. Artikel ini membahas cara membuat angka acak di JavaScript.
Rumus Rentang min-max
<script>
function acak(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(acak(1, 100)); // antara 1 sampai 100
console.log(acak(1, 6)); // simulasi dadu
</script>
Penjelasan Rumus
Math.random() menghasilkan 0 hingga kurang dari 1. Dikalikan rentang (max - min + 1), dibulatkan ke bawah, lalu ditambah min, hasilnya berada di antara min dan max secara inklusif.
Contoh Kasus: Kode OTP 6 Digit
<script>
const otp = acak(100000, 999999);
console.log("Kode OTP Anda: " + otp);
</script>
Catatan Keamanan
Math.random() tidak aman secara kriptografis. Untuk token keamanan sungguhan, gunakan crypto.getRandomValues(). Untuk OTP yang benar-benar aman, buat di sisi server.
Kesimpulan
Gunakan rumus Math.floor(Math.random() * (max - min + 1)) + min untuk angka acak dalam rentang. Untuk keperluan keamanan sungguhan, buat nilai acak di sisi server atau pakai crypto.getRandomValues().
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi JavaScript (MDN).

