CCalculate.Studio

🎲 Pembangkit Angka Acak

Pembangkit ini mengambil bilangan bulat acak dari rentang yang Anda pilih, dan bila Anda mau, tanpa pengulangan. Ia berjalan atas benih, bukan atas jam, yang berarti benih yang sama selalu mengulang persis pengambilan yang sama — sifat yang penting untuk pengajaran, untuk penelitian yang harus dapat diulang, dan bagi siapa pun yang perlu menunjukkan cara kerjanya. Untuk mengambil lagi, ubah benihnya.

Terakhir ditinjau: 2026-07-07100% gratis · Tanpa pendaftaran
Tambahkan sebagai pilihan di Google

Untuk apa pembangkit ini cocok dan untuk apa tidak

Pembangkit pseudoacak sangat berbeda-beda dalam hal kecocokannya. Yang ini cepat, dapat diulang, dan berperilaku baik secara statistik untuk pemakaian sehari-hari, dan ia jelas-jelas bukan sumber untuk hal-hal rahasia.

PemakaianCocok?Mengapa
Pengajaran, simulasi, penarikan sampelYaPengambilan yang dapat diulang justru keunggulan di sini
Memilih pemenang, dadu, nomor lotreYa, dengan benih baruSiapa pun yang tahu benihnya dapat mengulang pengambilannya
Kata sandi, kunci, token, id sesiTidakKeadaannya dapat dipulihkan dari keluarannya; pakailah pembangkit kata sandi
Permainan atau perjudian yang diaturTidakDi sana diperlukan perangkat keras bersertifikat atau pembangkit kriptografis
  • Kedua ujung rentang termasuk, jadi rentang 1 sampai 100 memuat 100 nilai yang mungkin.
  • Tanpa pengembalian, banyaknya pengambilan tidak boleh melebihi banyaknya nilai dalam rentang. Kalkulator menolak alih-alih diam-diam mengulang.

Apa itu pembangkit pseudoacak

Pembangkit angka pseudoacak adalah algoritme deterministik yang menghasilkan barisan yang lolos uji statistik keacakan. Ia tidak acak dalam pengertian fisis: ia adalah rekurensi yang tetap, dan dari suatu nilai awal tertentu — benihnya — ia selalu menghasilkan barisan yang sama.

Yang dipakai di sini adalah pembangkit xorshift 32 bit yang diterbitkan George Marsaglia dalam Journal of Statistical Software pada 2003. Ia bekerja dengan berulang kali menerapkan atau-eksklusif pada sebuah nilai dan salinan-salinan tergesernya, dengan tiga besar pergeseran yang dipilih agar barisannya melewati setiap keadaan 32 bit taknol sebelum berulang.

Pemakaian benih adalah pilihan yang disengaja, bukan keterbatasan. Setiap kalkulator di situs ini adalah fungsi murni dari masukannya, dan justru itulah yang membuat hasilnya dapat diulang dan diperiksa. Ia juga memberi sesuatu yang tak bisa diberikan pembangkit berbasis jam: cantumkan benihnya di samping angka-angka Anda, dan siapa pun dapat mengulang pengambilan Anda persis sama.

Cara memakai pembangkit angka acak

  1. Tetapkan nilai terkecil dan terbesarnya. Kedua ujungnya termasuk dalam rentang.
  2. Pilih berapa banyak angka yang akan diambil.
  3. Tentukan apakah pengulangan diizinkan. Tanpa pengembalian, tidak ada nilai yang boleh muncul dua kali, jadi Anda tidak dapat mengambil angka lebih banyak daripada isi rentangnya.
  4. Ubah benihnya setiap kali Anda menginginkan pengambilan yang berbeda. Benih yang sama selalu mengembalikan angka yang sama.

Bagaimana angkanya dihasilkan

x = x XOR (x << 13); x = x XOR (x >> 17); x = x XOR (x << 5)
u = x / 2^32, sehingga 0 <= u < 1
nilai = min + floor(u x (max - min + 1))
banyak nilai dalam rentang = max - min + 1

Rekurensi xorshift mengubah sebuah keadaan 32 bit sebanyak tiga kali untuk tiap pengambilan, lalu membaginya dengan 2^32 sehingga menghasilkan nilai pada selang nol sampai satu tetapi tidak termasuk satu. Mengalikannya dengan besar rentang lalu mengambil pembulatan ke bawah memetakannya menjadi bilangan bulat.

Pengambilan tanpa pengembalian memakai pengocokan Fisher-Yates parsial atas rentangnya. Tiap pengambilan menukar satu unsur tersisa ke tempatnya, sehingga terpilih himpunan bagian acak seragam dalam satu kali jalan dan tidak dapat tersendat seperti pendekatan 'ambil lalu ulangi' ketika sisanya menipis.

Kesalahan yang sering terjadi

  • Memakai pembangkit pseudoacak untuk apa pun yang bersifat rahasia. Barisannya ditentukan sepenuhnya oleh benihnya.
  • Mengharapkan angka baru tanpa mengubah benihnya. Keterulangan justru intinya, dan benihnya adalah kendalinya.
  • Mengira batas atasnya dikecualikan. Di sini kedua ujung rentang termasuk.
  • Meminta nilai berbeda lebih banyak daripada isi rentangnya.
  • Membaca deretan nilai yang mirip sebagai kerusakan. Penggerombolan adalah sifat wajar barisan acak, dan ketiadaannya justru lebih mencurigakan daripada kehadirannya.

Pertanyaan yang sering diajukan

Mengapa benih yang sama selalu memberi angka yang sama?

Karena pembangkit pseudoacak adalah rekurensi deterministik, dan benihnya adalah keadaan awalnya. Ini keunggulan, bukan cacat: dengan mencantumkan benihnya, siapa pun dapat mengulang pengambilan Anda persis sama, dan justru itulah yang dibutuhkan penelitian yang harus dapat diulang serta peragaan di kelas. Untuk hasil berbeda, ubahlah benihnya.

Apakah ini cukup acak untuk undian berhadiah?

Untuk undian tak resmi, ya, asalkan Anda memilih benih yang tidak dapat ditebak peserta lalu menerbitkannya sesudahnya agar hasilnya dapat diperiksa. Untuk permainan yang diatur, tidak — di sana diperlukan pembangkit perangkat keras bersertifikat atau algoritme yang aman secara kriptografis.

Bisakah saya memakai ini untuk membuat kata sandi?

Tidak. Keadaan internal pembangkit xorshift dapat dipulihkan hanya dari sepenggal pendek keluarannya, sehingga apa pun yang diturunkan darinya dapat ditebak. Pakailah pembangkit kata sandi di situs ini, yang mengambil dari sumber acak sistem operasi yang aman secara kriptografis.

Apa arti pengambilan tanpa pengembalian?

Artinya tidak ada nilai yang boleh muncul lebih dari sekali, seperti saat menarik bola lotre. Karena tiap pengambilan menghapus satu nilai dari kumpulannya, Anda tidak dapat mengambil angka lebih banyak daripada isi rentangnya — menarik enam nilai berbeda dari rentang berisi lima adalah hal yang mustahil.

Apakah angkanya tersebar seragam?

Ya, sampai ketelitian pembangkit yang mendasarinya. Setiap nilai dalam rentang punya peluang yang sama, dan mode tanpa pengembalian memakai pengocokan Fisher-Yates parsial, yang memilih setiap himpunan bagian berukuran tertentu dengan peluang yang sama.

Referensi

  1. Marsaglia G. Xorshift RNGs. Journal of Statistical Software 2003; 8(14): 1-6. doi:10.18637/jss.v008.i14.
  2. Knuth DE. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd edition. Addison-Wesley, 1997 — random number generation and statistical testing.
  3. Fisher RA, Yates F. Statistical Tables for Biological, Agricultural and Medical Research. Oliver and Boyd, 1938 — the shuffle used for sampling without replacement.
  4. L'Ecuyer P, Simard R. TestU01: A C library for empirical testing of random number generators. ACM Transactions on Mathematical Software 2007; 33(4): 22.

Statistik · Semua kalkulator

Kalkulator terkait