Pemilih acak

Tempelkan daftar apa pun — nama, tugas, atau ide — dan biarkan alat ini memilih dengan adil. Setiap undian berjalan di browser Anda, sehingga daftar Anda tidak pernah keluar dari perangkat.

Tekan 'Hasilkan' untuk memilih
Pemisah akan terdeteksi otomatis secara default, atau Anda dapat mengaturnya di bawah.
Opsi lanjutan

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 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.

FAQ

Bagaimana cara memilih nama acak dari sebuah daftar?

Tempelkan nama ke dalam kotak “Item” — masing-masing di baris baru, atau dipisahkan koma atau spasi — biarkan “Jumlah pilihan” di angka 1 dan tekan “Hasilkan”. Satu nama akan langsung ditarik. Untuk beberapa nama sekaligus, naikkan angka “Jumlah pilihan” sesuai kebutuhan Anda.

Apakah pemilihannya benar-benar adil?

Ya. Setiap pilihan menggunakan Web Crypto API (crypto.getRandomValues) browser Anda dipadukan dengan rejection sampling, yang menyingkirkan modulo bias yang biasanya muncul pada pengkodean yang lebih sederhana. Setiap entri memiliki probabilitas yang persis sama tanpa memandang posisinya di daftar, dan penarikan beberapa entri unik menggunakan pengacakan Fisher-Yates, sehingga setiap kelompok dengan ukuran tersebut juga memiliki probabilitas yang sama.

Apakah daftar saya diunggah ke server Anda?

Tidak. Seluruh proses undian berjalan secara lokal di browser Anda: daftar, hasil pilihan, dan riwayat tidak pernah keluar dari perangkat Anda, sehingga nama, email, atau daftar pribadi apa pun aman untuk ditempelkan. Tombol “Muat dari file” juga bekerja secara lokal — browser Anda membaca file itu sendiri dan tidak ada yang diunggah.

Bisakah saya menempelkan daftar yang dipisahkan koma atau spasi alih-alih satu item per baris?

Ya. “Pemisah item” disetel ke “Deteksi otomatis”, yang dapat membedakan baris baru dan koma dengan sendirinya, sehingga daftar yang disalin dari spreadsheet, pesan obrolan, atau dokumen akan berfungsi apa adanya. Daftar yang dipisahkan spasi memerlukan satu langkah tambahan — ubah “Pemisah item” menjadi “Spasi” — karena entri seperti nama lengkap sudah memiliki spasi di dalamnya dan tidak akan pernah dipisah berdasarkan spasi tersebut secara otomatis. Kunci “Pemisah item” ke “Baris baru” atau “Koma” jika data Anda mencampurkan format.

Apa fungsi dari sakelar “Hindari duplikat”?

Saat “Hindari duplikat” diaktifkan, setiap entri yang terpilih akan berbeda — seperti mencabut kertas undian dari dalam topi tanpa mengembalikannya lagi, yang mana sangat cocok untuk memilih pemenang hadiah atau membagi tim. Jika dinonaktifkan, entri yang sama bisa terpilih lebih dari sekali, yang oleh para ahli statistik disebut sampling with replacement.

Mengapa kontrol “Hindari duplikat” dan “Format keluaran” berwarna abu-abu (dinonaktifkan)?

Karena keduanya hanya berlaku saat Anda menarik lebih dari satu entri, seperti yang tertulis di keterangan sebelahnya: “Hanya berlaku jika Jumlah pilihan lebih dari 1”. Naikkan “Jumlah pilihan” menjadi 2 atau lebih tinggi dan keduanya akan aktif; pada pilihan 1 tidak ada yang bisa diduplikasi dan tidak ada yang bisa dipisahkan.

Apa fungsi dari opsi “Format keluaran”?

Opsi ini mengatur bagaimana beberapa hasil pilihan ditampilkan dan disalin: “Masing-masing di baris baru”, “Dipisah spasi” untuk menyalin cepat ke pesan obrolan, atau “Dipisah koma” untuk ditempelkan ke spreadsheet atau skrip. Opsi ini menjadi aktif setelah “Jumlah pilihan” bernilai 2 atau lebih.

Apa yang dilakukan tombol “Acak” dan “Urutkan”?

“Acak” mengacak ulang urutan entri di dalam kotak “Item”, dan “Urutkan” menyusunnya secara alfabetis dengan angka yang terurut secara alami — mengekliknya lagi akan membalikkan urutan. Keduanya hanya mengubah tampilan daftar tulisan Anda, bukan cara kerja undiannya: pemilih ini akan selalu adil terlepas dari urutan apa pun entrinya.

Berapa banyak item yang bisa dimuat dalam daftar, dan berapa banyak yang bisa saya pilih sekaligus?

Daftar ini dapat menampung mulai dari 2 hingga 1000 entri, dengan panjang masing-masing hingga 200 karakter, dan satu kali undian akan menghasilkan hingga 100 pilihan. Baris kosong dan spasi di awal/akhir baris akan diabaikan, sehingga daftar yang ditempelkan dari spreadsheet atau dokumen akan langsung berfungsi dengan baik.

Apakah alat ini cocok untuk mengundi pemenang giveaway atau undian berhadiah?

Ya, dan ini adalah salah satu penggunaannya yang paling umum. Tempelkan nama peserta, atur “Jumlah pilihan” sesuai jumlah hadiah, pastikan “Hindari duplikat” tetap menyala agar tidak ada yang menang dua kali, dan tekan “Hasilkan”. Karena penarikan ini menggunakan keacakan yang aman secara kriptografi dan berjalan sepenuhnya di perangkat Anda, prosesnya sangat mudah dijelaskan, dan “Riwayat” menyimpan hasilnya jika sewaktu-waktu ada peserta yang mempertanyakannya.

Bisakah saya menggunakannya untuk membagi orang-orang ke dalam beberapa tim?

Ya. Atur “Jumlah pilihan” sesuai dengan ukuran tim pertama lalu tekan “Hasilkan” — nama-nama yang terpilih adalah tim pertama. Hapus mereka dari daftar dan ulangi langkah yang sama untuk tim berikutnya. Biarkan “Hindari duplikat” tetap aktif agar tidak ada yang berakhir di dua tim sekaligus.

Mengapa nama yang sama muncul dua kali berturut-turut?

Karena penarikan independen dapat berulang, dan memang seperti itulah wujud keacakan yang asli. Setiap penarikan mengabaikan semua penarikan sebelumnya, jadi dalam daftar berisi sepuluh nama, peluang nama yang sama untuk muncul dua kali berturut-turut adalah 1 berbanding 10 di setiap waktu — hal ini sangat wajar, bukan berarti alatnya rusak. Aktifkan “Hindari duplikat” jika Anda ingin setiap hasil pilihan dalam satu kali undian selalu berbeda.

Apakah pemilih ini mengingat pilihan saya, dan apakah ini gratis?

“Riwayat” menyimpan 10 undian terakhir Anda di dalam browser Anda sendiri, sehingga Anda dapat memulihkan, menyalin, atau menghapus hasil sebelumnya, serta membersihkan seluruh riwayat kapan pun Anda mau. Alat ini sepenuhnya gratis tanpa perlu mendaftar, dan karena tidak ada data yang dikirimkan, kami tidak dapat melihat atau menyimpan pilihan Anda meskipun kami menginginkannya.