Undi angka acak dalam rentang mana pun, dengan atau tanpa pengulangan, langsung di browser Anda.
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.
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.
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.
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.
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.
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.
Tidak. Undian berjalan 100% dalam JavaScript di perangkat Anda. Tidak ada rentang, hasil maupun undian yang dikirim, dicatat atau disimpan di mana pun.
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.