Butuh cara cepat dan adil untuk mendapatkan angka acak? Generator angka acak online gratis ini menghasilkan satu angka — atau seluruh daftar angka — dalam rentang apa pun yang Anda pilih, mulai dari rentang sederhana 1 hingga 10 sampai rentang yang mencapai miliaran. Atur nilai minimum dan maksimum di “Min” dan “Maks”, pilih berapa banyak angka yang Anda butuhkan dengan “Jumlah pilihan”, lalu tekan “Hasilkan”. Kedua batas disertakan dalam hasil, jadi rentang 1 hingga 10 dapat menghasilkan 1 maupun 10.
Setiap hasil dibuat langsung di browser Anda menggunakan Web Crypto API (crypto.getRandomValues) — yang menyediakan nilai acak yang aman secara kriptografis berdasarkan sumber keacakan sistem operasi browser Anda. Tidak ada yang dikirim ke server atau dicatat di server, dan kami tidak pernah melihat angka Anda. Pembuatannya instan, privat, dan tetap berfungsi bahkan pada koneksi lambat setelah halaman selesai dimuat.
Opsi-opsi ini dibuat untuk situasi nyata di mana orang benar-benar membutuhkan angka acak. Aktifkan “Hindari duplikat” agar tidak ada angka yang muncul dua kali — pengaturan yang Anda butuhkan untuk undian, pemilihan acak seperti dalam lotre, atau membagi orang ke dalam kelompok tanpa pengulangan. Butuh 20 pemenang dari 500 peserta? Atur “Min” ke 1 dan “Maks” ke 500, aktifkan “Hindari duplikat”, atur “Jumlah pilihan” ke 20, lalu tekan “Hasilkan”. “Urutan pengurutan” menyusun hasil secara menaik atau menurun, dan satu tombol menyalin semua hasil sekaligus. Mengubah “Format keluaran” dari “Baris baru” menjadi “Dipisah spasi” atau “Dipisah koma” akan menampilkan “Jumlah set”: beberapa pengambilan independen sekaligus — dua puluh set yang masing-masing berisi 3 angka untuk dua puluh putaran undian — dengan “Izinkan duplikat antar set” menentukan apakah angka yang sama boleh muncul di lebih dari satu set.
Bagaimana keacakan sebenarnya dihasilkan? Browser Anda menyediakan nilai acak yang aman secara kriptografis melalui Web Crypto API, bukan melalui PRNG JavaScript seperti Math.random(). Saat Anda menekan “Hasilkan”, halaman meminta nilai acak dengan crypto.getRandomValues dan menggunakannya untuk membuat angka dalam rentang yang Anda pilih. Sumber keacakan yang mendasarinya disediakan oleh browser dan sistem operasi, sehingga halaman tidak perlu menyimpan benih (seed) atau urutan acak semu miliknya sendiri.
Proses memetakan nilai mentah ke dalam rentang Anda sering kali menjadi sumber kesalahan tersembunyi pada generator, dan ini layak dibahas dalam satu paragraf tersendiri. Mengambil nilai modulo ukuran rentang tampak seperti cara yang paling sederhana, tetapi justru cara inilah yang bias: kecuali rentang habis dibagi rata ke 2^32, angka-angka terkecil akan sedikit lebih sering muncul dibanding yang lain. Kelemahan ini disebut modulo bias, dan sifatnya terukur, bukan sekadar teori. Generator ini justru membuang setiap nilai yang melewati kelipatan tepat terbesar dari rentang tersebut dan mengambil nilai baru lagi — teknik ini disebut rejection sampling. Cara ini memang membutuhkan beberapa percobaan tambahan, tetapi hasilnya adalah jaminan yang pasti: setiap angka antara “Min” dan “Maks” memiliki peluang yang benar-benar sama, bukan sekadar hampir sama.
Apa yang membuat sebuah angka benar-benar acak? Sebuah angka cukup acak ketika hasil sebelumnya tidak memberi tahu apa pun tentang hasil berikutnya — dan dalam praktiknya ada tiga tingkat untuk itu. Fungsi acak semu biasa seperti Math.random() menjalankan algoritma deterministik: siapa pun yang mengetahui kondisi internalnya dapat menghasilkan ulang seluruh urutannya — cukup baik untuk mengacak slide presentasi, tetapi tidak cocok untuk apa pun yang hasilnya tidak boleh bisa ditebak. Generator yang aman secara kriptografis — tingkat yang digunakan oleh alat ini — juga merupakan algoritma, tetapi dirancang untuk menghasilkan nilai yang tidak dapat diprediksi menggunakan sumber keacakan sistem yang aman, dan dibangun sedemikian rupa sehingga mengamati keluarannya tidak mengungkapkan apa pun tentang nilai berikutnya. Keacakan fisik, dari sumber seperti derau atmosfer atau peluruhan radioaktif, merupakan kategori yang berbeda dari keduanya, meskipun untuk mengambil angka dalam suatu rentang, perbedaan praktisnya hilang. Inilah sebabnya browser menyediakan crypto API terpisah alih-alih memperbaiki Math.random(): keduanya menyelesaikan masalah yang berbeda, dan hanya salah satunya yang aman ketika hasilnya penting bagi seseorang.
Urutan yang benar-benar acak tidak dirancang untuk terlihat acak bagi manusia. Ambil sepuluh angka antara 1 dan 10, dan Anda akan sering melihat pengulangan, pasangan yang berdekatan seperti 7, 7, 8, atau rangkaian pendek angka besar berturut-turut — dan semua itu adalah hal biasa. Keacakan sejati bersifat tidak dapat diprediksi, bukan terdistribusi merata: setiap pengambilan bersifat independen, angka-angka sebelumnya sama sekali tidak memengaruhi angka berikutnya, dan tidak ada angka yang pernah mendapat “giliran”. Naluri yang bersikeras sebaliknya disebut kekeliruan penjudi (gambler's fallacy), dan naluri yang sama inilah yang membuat manusia sendiri menjadi generator angka acak yang buruk — ketika diminta membuat urutan acak, kita menghindari pengulangan dan menyebarkan nilai jauh lebih merata dibanding yang dilakukan peluang sesungguhnya. Hasil yang tampak rapi secara mencurigakan adalah ciri khas buatan manusia; keacakan sejati justru menghasilkan pengelompokan angka.
Mengapa memilih generator angka acak ini?
- Pembuatan hanya di browser: angka dibuat di perangkat Anda dan tidak pernah dikirim ke mana pun
- Keacakan Web Crypto API: aman secara kriptografis, bukan Math.random()
- Tanpa modulo bias: rejection sampling menjaga setiap angka dalam rentang memiliki peluang yang sama
- Rentang apa pun: dari 1 hingga 10 sampai nilai yang mencapai miliaran, kedua batas disertakan
- Mode “Hindari duplikat”: buat daftar tanpa pengulangan untuk undian dan pembagian kelompok
- Beberapa set: beberapa pengambilan independen dalam satu klik
- Pengurutan dan format keluaran: menaik atau menurun, baris baru, spasi, atau koma
- Riwayat dan simpan ke file: simpan catatan pengambilan yang mungkin perlu Anda pertanggungjawabkan
- Tanpa batas dan gratis: tanpa pendaftaran, tanpa batas penggunaan, tidak ada apa pun di server kami
Angka acak muncul di lebih banyak tempat daripada yang dibayangkan kebanyakan orang. Guru memanggil siswa tanpa pilih kasih. Streamer dan tim pemasaran mengundi pemenang giveaway dan undian di depan penonton yang harus percaya pada hasilnya. Pemain mengganti dadu yang hilang atau menentukan siapa yang bermain lebih dulu, dan turnamen mengundi urutan awal pertandingan. Peneliti memilih sampel acak agar temuan mereka berlaku lebih luas daripada sekadar orang-orang yang menjadi sukarelawan. Developer membuat data uji, menetapkan nilai seed untuk simulasi, dan memilih pengidentifikasi selama QA. Benang merahnya adalah proses pemilihan acak yang dapat dijelaskan setelahnya: karena pengambilannya menggunakan keacakan kriptografis dan terjadi sepenuhnya di perangkat Anda, Anda dapat menunjukkan bagaimana hasil tersebut dihasilkan jika ada yang mempertanyakannya.
Generator ini memiliki beberapa batasan jujur yang perlu diketahui. Mode “Hindari duplikat” tidak bisa menghasilkan lebih banyak angka daripada yang tersedia dalam rentang: 20 nilai unik antara 1 dan 10 memang tidak ada. Setiap pengambilan bersifat independen dan hasil sebelumnya tidak memengaruhi hasil berikutnya, sehingga menyegarkan halaman tidak mengatur ulang siklus apa pun — karena memang tidak ada siklus di sini. Dan meskipun angkanya aman secara kriptografis, pengambilan di sini adalah pilihan yang adil, bukan sebuah prediksi: undian lotre resmi menggunakan peralatan fisik atau bersertifikat milik mereka sendiri, dan apa pun yang dihitung di browser Anda tidak memiliki hubungan apa pun dengan itu. Di dalam batasan-batasan tersebut, jaminannya sangat kuat — setiap angka dalam rentang Anda memiliki peluang yang benar-benar sama, pada setiap pengambilan.