Generator Angka Acak

Undi angka acak dalam rentang mana pun, dengan atau tanpa pengulangan, langsung di browser Anda.

Cara menggunakan

  1. Tetapkan nilai minimum dan maksimum rentang Anda — nilai negatif diperbolehkan.
  2. Pilih berapa angka yang diundi dan centang "Tanpa angka berulang" untuk undian bergaya arisan, atau "Urutkan hasilnya" untuk mendapatkannya secara menaik.
  3. Klik "Menghasilkan" dan salin hasilnya. Setiap undian berdiri sendiri dan berjalan sepenuhnya di browser Anda.

Tentang alat ini

Generator angka acak menjawab pertanyaan adil yang paling sederhana: pilih satu angka, dari rentang ini, tanpa favorit. Alat ini mengundi bilangan bulat antara nilai minimum dan maksimum mana pun yang Anda ketik, satu per satu atau sampai seribu sekaligus, dan membiarkan Anda menentukan apakah angka yang sama boleh muncul dua kali. Matikan pengulangan dan ia menjadi mesin undian: undi 5 nomor tiket pemenang dari 2.000, atau 15 angka bingo dari 75, dan tidak ada angka yang bisa terundi dua kali.

Keacakannya berasal dari crypto.getRandomValues, generator kriptografis browser, bukan dari Math.random. Ia juga memakai rejection sampling, yang lebih penting daripada kedengarannya. Cara naif untuk memampatkan nilai acak 32-bit ke dalam sebuah rentang adalah mengambil sisa pembagian dengan ukuran rentangnya, tetapi itu diam-diam menguntungkan angka-angka pertama: 2^32 bukan kelipatan sebagian besar rentang, jadi nilai sisanya menumpuk pada hasil terendah. Alat ini justru membuang nilai apa pun yang jatuh di ekor tak rata itu lalu mengundi lagi, sehingga setiap angka dalam rentang punya peluang yang persis sama. Ketika pengulangan dimatikan, ia menerapkan pengacakan Fisher-Yates parsial atas rentang tersebut, yang menjamin hasil yang berbeda tanpa pernah mengundi angka yang sama dua kali.

Penggunaannya jauh melampaui undian: memilih tim mana yang presentasi lebih dulu, memilih baris acak sebuah spreadsheet untuk pemeriksaan sampel, membuat data uji dengan rentang yang diketahui, menjalankan dinamika kelas, memutuskan penentu seri yang tak bisa dibantah siapa pun, atau mensimulasikan dadu dan koin dengan jumlah sisi sembarang. Tidak ada yang Anda ketik dikirim ke mana pun — seluruh undian terjadi dalam JavaScript di perangkat Anda, yang juga berarti alat ini bekerja secara luring setelah halamannya termuat.

Rumusnya

Bilangan bulat seragam dalam [min, maks]: ambil nilai 32-bit dari crypto.getRandomValues, buang jika jatuh di atas kelipatan terbesar dari ukuran rentang yang muat dalam 2^32 (rejection sampling, yang menghilangkan bias modulo), lalu ambil sisa pembagiannya dengan ukuran rentang dan tambahkan nilai minimum. Untuk undian tanpa pengulangan, terapkan pengacakan Fisher-Yates parsial atas rentang tersebut dan ambil N posisi pertama.

Pertanyaan yang sering diajukan

Apakah angkanya benar-benar acak?

Ya, seacak yang bisa dihasilkan sebuah browser. Alat ini memakai crypto.getRandomValues, generator kriptografis, dipadukan dengan rejection sampling sehingga tidak ada angka dalam rentang yang diuntungkan dibanding yang lain.

Kenapa tidak sekadar memakai sisa pembagian?

Karena itu membuat undiannya bias. Jika rentangnya tidak membagi keluaran generator secara merata, angka-angka terendah mendapat peluang yang sedikit lebih besar. Rejection sampling membuang ekor yang tak rata itu lalu mengundi lagi, sehingga biasnya hilang sepenuhnya.

Bisakah angka yang sama muncul dua kali?

Hanya jika Anda membiarkan "Tanpa angka berulang" tidak tercentang. Dengan opsi itu aktif, setiap angka yang diundi berbeda, dan itulah yang Anda inginkan untuk undian, bingo dan pemilihan pemenang.

Berapa banyak angka yang bisa saya undi sekaligus?

Sampai 1.000 per undian, dan rentangnya bisa mencakup bilangan bulat mana pun yang mampu ditangani browser Anda. Tanpa pengulangan, tentu Anda tidak bisa mengundi lebih banyak angka daripada isi rentangnya.

Apakah angka saya keluar dari browser?

Tidak. Undian berjalan 100% dalam JavaScript di perangkat Anda. Tidak ada rentang, hasil maupun undian yang dikirim, dicatat atau disimpan di mana pun.

Alat terkait

Tautan panjang? Perpendek secara gratis

Vai.la mengubah URL apa pun menjadi tautan pendek dengan statistik klik, QR Code, dan biolink Anda sendiri.

Vai.la tidak bertanggung jawab atas cara alat-alat ini digunakan maupun atas keputusan yang diambil berdasarkan hasilnya.