Generator angka acak

Buat satu angka acak, daftar, atau beberapa set angka dalam rentang apa pun — semuanya dibuat langsung di browser Anda dengan keacakan yang aman secara kriptografis, tidak pernah di server.

Tekan 'Hasilkan' untuk memilih
Opsi

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?

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.

FAQ

Apakah keacakannya aman secara kriptografis?

Alat ini menggunakan Web Crypto API (crypto.getRandomValues) browser Anda, yang mengambil keacakan dari sumber sistem operasi yang aman secara kriptografis. Berbeda dari fungsi acak semu sederhana, keluarannya dirancang agar tidak dapat diprediksi dalam praktiknya, dan rejection sampling memastikan setiap angka dalam rentang memiliki peluang yang sama, tanpa condong ke angka-angka terkecil.

Bagaimana cara membuat angka acak dalam rentang tertentu?

Masukkan nilai terkecil yang mungkin di kolom “Min” dan nilai terbesar di kolom “Maks”, lalu tekan “Hasilkan”. Kedua batas termasuk dalam hasilnya, sehingga rentang 1 sampai 10 bisa memunculkan angka 1 sekaligus 10.

Bisakah saya membuat beberapa angka acak sekaligus?

Bisa. Isi kolom “Jumlah pilihan” dengan jumlah yang Anda perlukan (hingga 1000), dan generator akan menyiapkan seluruh daftarnya hanya dengan satu klik. Setelah itu Anda dapat menyalin semua hasil ke clipboard dengan tombol salin, atau menyimpannya ke file.

Bisakah saya membuat beberapa set angka sekaligus?

Bisa. Ubah “Format keluaran” dari “Baris baru” menjadi “Dipisah spasi” atau “Dipisah koma” untuk menampilkan kolom “Jumlah set”. Isi dengan berapa banyak pengambilan independen yang Anda perlukan — misalnya 20 set yang masing-masing berisi 3 angka untuk 20 putaran undian — lalu tentukan apakah duplikat boleh muncul di set yang berbeda.

Bisakah saya mengurutkan angka yang dihasilkan?

Bisa. Gunakan “Urutan pengurutan” untuk menyusun setiap daftar secara menaik atau menurun, atau biarkan pada “Tidak ada” agar angka tetap dalam urutan saat dibuat.

Bagaimana cara menghindari angka duplikat?

Aktifkan sakelar “Hindari duplikat”. Saat aktif, setiap angka dalam daftar dijamin berbeda — cocok untuk undian, pengambilan hadiah, atau membagi orang ke dalam kelompok. Ingat bahwa jumlahnya tidak boleh melebihi ukuran rentang: 20 angka unik antara 1 dan 10 tidak mungkin dibuat.

Mengapa angka yang sama terus muncul berulang?

Karena pengambilan yang independen memang bisa berulang, dan itulah wujud sebenarnya dari keacakan. Setiap pengambilan mengabaikan semua pengambilan sebelumnya, sehingga dalam rentang 1 sampai 10, peluang angka yang sama muncul dua kali berturut-turut selalu 1 berbanding 10 — hal yang wajar, bukan kesalahan. Jika Anda butuh daftar tanpa pengulangan, aktifkan “Hindari duplikat” — ini membatasi pengambilan secara sengaja, bukan memperbaiki suatu cacat.

Mengapa urutan acak tidak terlihat acak?

Karena keacakan sejati bersifat tidak dapat diprediksi, bukan terdistribusi merata. Orang mengira keluaran acak akan tersebar rapi, sehingga pengelompokan angka, pengulangan, dan rangkaian pendek seperti 7, 7, 8 terasa seperti kesalahan, padahal itulah tepatnya yang dihasilkan oleh peluang. Urutan yang terlihat rapi bagi manusia biasanya justru bukan urutan yang benar-benar acak.

Bisakah keacakan yang dibuat di browser dipercaya?

Ya, selama sumbernya adalah Web Crypto API, seperti di sini. crypto.getRandomValues menyediakan nilai acak yang aman secara kriptografis menggunakan sumber keacakan sistem operasi browser Anda, bukan PRNG JavaScript seperti Math.random(). Math.random() adalah yang harus dicurigai untuk apa pun yang penting: sifatnya deterministik dan tidak pernah dirancang untuk tidak dapat diprediksi.

Bisakah angka acak diprediksi atau dipengaruhi?

Tidak di sini. Nilainya berasal dari generator yang aman secara kriptografis milik sistem operasi Anda, sehingga mengamati hasil sebelumnya tidak mengungkapkan apa pun tentang hasil berikutnya, dan pengambilannya terjadi sepenuhnya di perangkat Anda — tidak ada server yang bisa diutak-atik, tidak ada permintaan yang bisa disadap siapa pun. Kami pun tidak dapat memengaruhi hasil Anda, karena kami tidak pernah melihatnya.

Apakah cocok untuk memilih pemenang giveaway atau undian?

Cocok. Berikan setiap peserta sebuah angka, buat satu hasil dalam rentang tersebut, dan peserta dengan angka yang cocok menang. Karena sumbernya aman secara kriptografis dan pengambilannya terjadi sepenuhnya di perangkat Anda, prosesnya mudah dijelaskan dan didokumentasikan jika ada peserta yang mempertanyakan hasilnya. Untuk memilih angka undian lotre, alat ini berfungsi sebagai alat pemilihan acak, bukan alat prediksi: undian lotre resmi sepenuhnya terpisah dari alat ini.

Apakah menyegarkan halaman mengubah keacakannya?

Tidak, dan memang tidak perlu. Setiap pengambilan sudah meminta nilai baru dari sistem operasi, sehingga hasilnya tetap independen baik Anda menekan “Hasilkan” sepuluh kali maupun memuat ulang halaman di antara setiap penekanan. Tidak ada siklus yang perlu dimulai ulang dan tidak ada kondisi yang menjadi usang — menyegarkan halaman hanya menghapus hasil yang tampil di layar.

Apakah generator ini gratis, dan apakah Anda menyimpan angka saya?

Alat ini sepenuhnya gratis tanpa perlu pendaftaran. Semua angka dibuat secara lokal di browser Anda dan tidak pernah meninggalkan perangkat Anda, sehingga kami tidak mungkin menyimpan atau melihat hasil Anda sekalipun kami menginginkannya.