Perlu mencari pemenang giveaway, menunjuk seorang siswa di kelas, atau menentukan siapa yang harus mencuci piring? Alat pemilih acak online gratis ini memilih nama secara adil dari daftar apa pun yang Anda tempelkan. Masukkan entri Anda ke dalam kotak “Item” — masing-masing di baris baru, atau dipisahkan dengan koma — atur berapa banyak hasil yang Anda inginkan di “Jumlah pilihan”, lalu tekan “Hasilkan”. Sebuah daftar membutuhkan setidaknya dua entri dan dapat menampung hingga 1000 nama, dengan panjang masing-masing hingga 200 karakter.
Setiap pemilihan dilakukan langsung di dalam browser Anda menggunakan Web Crypto API (crypto.getRandomValues), yang menyediakan nilai acak yang aman secara kriptografi dari sistem bawaan perangkat Anda. Daftar Anda tidak pernah dikirim ke server, tidak pernah dicatat, dan tidak pernah dilihat oleh kami — hal ini jauh lebih penting di sini dibandingkan pada generator lain, karena apa yang ditempelkan orang biasanya adalah daftar pelanggan, absensi kelas, atau nama rekan kerja. Tombol “Muat dari file” juga memegang janji yang sama: browser Anda membaca file tersebut dan mengisi kotaknya secara lokal, tanpa ada data yang diunggah ke mana pun.
Beragam opsi yang ada dibuat khusus untuk jenis daftar yang memang sering digunakan orang. “Pemisah item” secara default berada pada “Deteksi otomatis”, yang membaca baris baru dan koma lalu mengenali mana yang digunakan oleh daftar Anda, sehingga daftar yang disalin dari spreadsheet, pesan obrolan, atau dokumen dapat langsung berfungsi tanpa perlu diformat ulang. Kunci opsi ini ke “Baris baru”, “Koma”, atau “Spasi” jika data Anda mencampurkan beberapa format — dan perhatikan bahwa “Spasi” selalu merupakan pilihan yang disengaja dan tidak pernah otomatis, karena entri seperti nama lengkap sudah mengandung spasi, dan memisahkannya secara default justru akan merusak daftar Anda. “Jumlah pilihan” menentukan berapa banyak nama yang ditarik, mulai dari 1 hingga 100. Sedang mengundi tiga pemenang hadiah dari 200 peserta? Tempelkan nama peserta, atur “Jumlah pilihan” menjadi 3, dan tekan “Hasilkan”. Dua kontrol lainnya hanya berlaku ketika jumlah pilihan mencapai 2 atau lebih dan akan tetap nonaktif (berwarna abu-abu) sebelumnya: “Hindari duplikat”, yang menentukan apakah entri yang sama dapat ditarik dua kali, dan “Format keluaran”, yang mengatur bagaimana hasil dipisahkan — “Masing-masing di baris baru”, “Dipisah spasi”, atau “Dipisah koma”.
Sederet tombol di dalam kotak “Item” berfungsi untuk melakukan pengeditan yang biasanya harus Anda lakukan di tempat lain. “Muat dari file” menarik daftar langsung dari file teks biasa atau CSV. “Acak” mengacak ulang urutan entri di dalam kotak, “Urutkan” menyusunnya sesuai abjad dan angka secara alami (dan klik kedua membalikkan urutannya), dan “Hapus” mengosongkan kotak. “Isi dengan contoh data” memasukkan sebuah daftar contoh pendek agar Anda bisa mencoba alat ini dalam satu klik, sementara “Perluas” membuka kotak agar daftar yang panjang bisa terlihat seluruhnya dan “Ciutkan” mengembalikannya ke ukuran awal. Di bawah hasil, “Salin Semua” menyalin setiap pilihan ke papan klip Anda, “Simpan ke file” menyimpannya ke perangkat, dan “Riwayat” menyimpan 10 undian terakhir di browser Anda, sehingga hasil sebelumnya selalu siap diakses dengan satu klik.
Bagaimana sebenarnya proses pemilihan ini bekerja? Saat Anda menekan “Hasilkan”, halaman ini meminta nilai acak ke browser melalui crypto.getRandomValues dan menggunakannya untuk memilih posisi dalam daftar Anda, dan bukannya menggunakan fungsi pseudo-acak JavaScript seperti Math.random(). Proses mengubah nilai mentah 32-bit menjadi sebuah posisi adalah titik di mana alat pemilih sering kali diam-diam keliru: menggunakan nilai modulo panjang daftar adalah pendekatan yang paling umum namun bias, karena kecuali jika angka 2^32 dapat dibagi habis oleh panjang daftar, entri di awal daftar akan muncul sedikit lebih sering daripada sisanya. Kelemahan ini disebut modulo bias, dan hal ini dapat diukur, bukan sekadar teori. Sebaliknya, pemilih ini membuang nilai apa pun yang melebihi kelipatan pasti terbesar dari panjang daftar dan mengundinya lagi — sebuah teknik yang disebut rejection sampling. Ini membutuhkan beberapa penarikan ekstra di latar belakang namun memberikan jaminan keadilan yang mutlak, bukan sekadar perkiraan. Posisi dalam daftar tidak mengubah apa pun: entri pertama dan terakhir memiliki probabilitas yang persis sama di setiap penarikan.
Sakelar “Hindari duplikat” memisahkan dua jenis undian yang benar-benar berbeda, dan ilmu statistik memiliki nama untuk masing-masing jenis tersebut. Saat diaktifkan, alat pemilih ini mengacak salinan daftar Anda menggunakan algoritma Fisher-Yates dan mengambil entri dari urutan teratas — persis seperti mencabut kertas undian dari dalam topi tanpa memasukkannya kembali, sehingga tidak ada yang terpilih dua kali dan setiap kelompok dengan ukuran tersebut memiliki peluang yang sama besar. Ini adalah sampling without replacement, dan inilah yang Anda butuhkan untuk mencari pemenang hadiah, membagi tim, dan menentukan urutan giliran. Saat dinonaktifkan, setiap pilihan dilakukan secara independen dari seluruh daftar, sehingga entri yang sama bisa muncul lebih dari sekali — disebut sampling with replacement, yang Anda butuhkan ketika setiap orang tetap berhak dipilih di setiap putaran, seperti pada undian berulang atau pengambilan sampel statistik cepat. Tidak ada mode yang lebih adil dari yang lain; keduanya hanya menjawab kebutuhan yang berbeda.
Undian yang adil memang tidak seharusnya terlihat adil dari luar. Tarik lima nama dari sepuluh, dan Anda akan sering melihat dua pilihan yang posisinya bersebelahan di daftar asli, atau nama yang sama muncul dua kali berturut-turut jika duplikat diizinkan, dan setiap kejadian tersebut adalah hal yang sangat biasa. Setiap penarikan bersifat independen: pilihan sebelumnya tidak memiliki pengaruh sama sekali terhadap pilihan berikutnya, dan tidak ada istilah “sudah waktunya” bagi seseorang untuk menang. Insting yang bersikeras mempercayai sebaliknya disebut gambler's fallacy, dan insting yang sama inilah yang membuat kita buruk saat memilih secara acak sendiri — jika diminta memilih secara acak, kita cenderung menghindari entri pertama dan terakhir, menghindari pengulangan nama, dan menyebarkan pilihan kita jauh lebih merata daripada yang dilakukan oleh probabilitas acak sebenarnya. Hasil yang terlihat mencurigakan terlalu rapi selalu merupakan jejak campur tangan manusia; karena pengacakan atau kerandoman yang asli selalu menghasilkan kelompok yang menumpuk dan pengulangan.
Mengapa memilih alat pemilih acak ini?
- Pemilihan hanya di browser: daftar Anda dibaca di perangkat Anda dan tidak pernah dikirim ke mana pun
- Keacakan Web Crypto API: aman secara kriptografi, bukan menggunakan Math.random()
- Tidak ada modulo bias: rejection sampling menjaga setiap entri memiliki peluang sama persis
- Format daftar apa pun: tiap baris, pakai koma, atau spasi, tanpa perlu format ulang
- Mode “Hindari duplikat”: undi pemenang atau tim tanpa ada yang terpilih dua kali
- Hingga 1000 entri, dan dapat melakukan hingga 100 pilihan dalam satu kali undian
- Fitur daftar bawaan: muat dari file, acak, urutkan, hapus, contoh data
- Riwayat dan Simpan ke file: simpan rekam jejak undian jika Anda harus membuktikannya nanti
- Bebas dan gratis: tanpa pendaftaran, tanpa batasan penggunaan, tak ada data di server kami
Pemilihan acak sering digunakan kapan pun sebuah keputusan harus bisa bertahan jika dipertanyakan nanti. Guru menunjuk siswa di kelas tanpa pilih kasih dan membagi kelas ke dalam kelompok proyek. Streamer dan pemasar mengundi pemenang giveaway dan undian berhadiah di hadapan audiens yang harus yakin dengan hasilnya. Manajer membagikan jadwal piket atau tugas yang tidak diinginkan siapa pun, dan tim menentukan urutan presentasi. Para peneliti mengambil sampel acak dari sebuah data untuk diaudit. Keluarga mengakhiri perdebatan tentang film apa yang akan ditonton, dan sekelompok teman yang lapar memilih warteg atau restoran. Benang merah dari semua skenario tersebut adalah pilihan yang dapat dijelaskan oleh siapa pun nantinya: undian ini menggunakan keacakan kriptografi, terjadi sepenuhnya di perangkat Anda, dan jika seseorang mempertanyakannya nanti, “Riwayat” menyimpan hasil tersebut.
Beberapa batasan yang jujur dari alat ini patut Anda ketahui. Pemilih ini tidak dapat menarik lebih banyak entri unik daripada jumlah yang ada di daftar Anda — tiga pemenang membutuhkan setidaknya tiga nama — dan alat ini berhenti pada batas 1000 entri yang masing-masing panjangnya 200 karakter, dengan maksimum 100 pilihan dalam satu kali undian. Tombol “Acak” dan “Urutkan” bekerja baris demi baris, sehingga daftar yang dipisahkan koma dan ditempelkan di satu baris yang sama hanya akan diurutkan ulang jika formatnya diubah menjadi satu entri per baris; dan kedua tombol tersebut mengatur ulang isi kotaknya alih-alih proses penarikannya, yang mana akan selalu adil terlepas dari bagaimana entri Anda diurutkan. Setiap entri juga memiliki bobot yang sama persis secara desain, jadi jika ada satu nama yang harus dihitung ganda dalam undian, nama tersebut harus ditulis dua kali dalam daftar. Di dalam batas-batas tersebut, jaminannya sangat kuat — setiap entri di daftar Anda memiliki peluang yang benar-benar sama, pada setiap penarikan.