Saya akan menghargai jika Anda dapat membagikan halaman-halaman ini dengan teman, mem-bookmark, atau membuat tautan ke halaman ini. Terima kasih! 🙏

Generator Angka Acak Online

Acrafto Team Matematika
Diperbarui
Preset cepat
Semuanya berjalan di peramban Anda. Tidak ada angka yang pernah meninggalkan perangkat Anda.

Bagaimana Cara Kerja Generator Angka Acak?

Generator ini memberi Anda dua sumber keacakan, dan Anda yang memilih mana yang cocok untuk kebutuhan Anda.

Acak aman menarik entropi dari sistem operasi Anda melalui Web Crypto API (crypto.getRandomValues()). Hasilnya tidak dapat diprediksi dan tidak dapat diulang — pilihan yang tepat untuk undian sungguhan di mana tidak ada yang boleh menebak hasilnya sebelumnya.

Seeded mengubah teks apa pun yang Anda ketik menjadi kondisi awal untuk generator deterministik (xoshiro128**). Seed yang sama selalu menghasilkan angka yang sama, sehingga siapa pun dapat mengulang undian Anda dan memastikan hasilnya sesuai dengan yang Anda klaim.

Keduanya berjalan sepenuhnya di browser Anda. Tidak ada angka yang pernah dikirim ke server.

Tanpa bias modulo

Sebagian besar generator sederhana memetakan nilai acak 32-bit ke rentang Anda dengan value % range. Jika rentang tidak habis membagi 2³² secara merata, angka-angka terkecil sedikit lebih sering muncul dibanding yang lain. Dalam ribuan penarikan, bias ini dapat terukur.

Generator ini justru menggunakan rejection sampling: nilai yang jatuh ke bagian ekor yang tidak merata dibuang dan ditarik ulang. Setiap angka dalam rentang Anda memiliki peluang yang benar-benar sama. Anda bisa memverifikasinya sendiri dengan uji keseragaman bawaan.

Apa yang bisa dilakukan generator ini

Rentang

  • Minimum dan maksimum — rentang bilangan bulat atau desimal apa pun, termasuk nilai negatif
  • Jumlah angka — dari 1 hingga 1.000.000 dalam satu penarikan
  • Tanpa pengulangan — setiap angka muncul paling banyak satu kali, seperti undian sungguhan
  • Urutkan — urutan penarikan, menaik, atau menurun; pengurutan tidak pernah memengaruhi keacakan
  • Kelipatan — batasi hasil hanya pada kelipatan suatu nilai, misalnya hanya 0, 5, 10, 15 yang muncul
  • Kecualikan angka — daftar nilai yang tidak boleh pernah ditarik

Mode

  • Sumber keacakan — aman (Web Crypto) atau seeded (dapat direproduksi)
  • Seed — teks apa pun; seed yang sama selalu mengulang penarikan yang sama
  • Distribusi — uniform, normal (Gaussian), eksponensial, Poisson, triangular, binomial
  • Bobot — beri angka tertentu peluang lebih tinggi, ditulis sebagai number:weight
  • Notasi dadu3d6+2, d20, 2d20kh1 untuk advantage, 4d6dl1 untuk rolling stats

Output

  • Pemisah — koma, spasi, titik koma, tab, baris baru, atau teks apa pun yang Anda ketik
  • Sistem bilangan — desimal, biner, oktal, heksadesimal, atau basis 36
  • Tambahkan nol di depan — ubah 7 menjadi 007 untuk nomor tiket atau ID
  • Awalan dan akhiran — bungkus setiap angka dengan teks tetap
  • Template{n} adalah angkanya, {i} posisinya, sehingga user{n} menjadi user42
  • Salin sebagai — teks biasa, CSV, JSON, atau tabel Markdown

Statistik

Setiap penarikan dirangkum secara langsung: jumlah, rata-rata, median, terendah, tertinggi, deviasi standar, ditambah berapa banyak hasil yang genap, ganjil, atau prima. Histogram menampilkan bentuk distribusinya, dan uji chi-square memberi tahu Anda apakah hasilnya benar-benar sesuai dengan distribusi uniform.

Riwayat

50 penarikan terakhir disimpan di browser Anda, lengkap dengan pengaturan yang menghasilkannya — satu klik memulihkan salah satunya. Konfigurasi yang sering Anda gunakan dapat disimpan sebagai preset bernama, dan semuanya dapat diekspor ke file JSON yang bisa Anda impor di perangkat lain. Tidak ada yang disimpan di mana pun selain di browser ini.

Keyboard

Tekan Space atau R untuk menarik ulang tanpa perlu menyentuh mouse.

Preset cepat

PresetRentangJumlahPenggunaan
🎲 Dadu1–61Permainan papan, mengambil keputusan
🪙 Koin0–11Gambar atau angka
🎰 Lotre1–496Unik, terurut, seperti undian sungguhan
💯 1–1001–1001Persentase, pembagian A/B
🔢 PIN0–94Empat digit, pengulangan diperbolehkan

Penarikan yang dapat direproduksi

Mode seeded ada untuk saat-saat ketika “percayalah, ini acak” saja tidak cukup.

Pilih seed yang bisa disepakati semua orang terlebih dahulu — sebuah tanggal, tagar, harga penutupan dari sesuatu yang publik — dan umumkan sebelum Anda menarik. Siapa pun kemudian dapat mengetik seed yang sama dengan pengaturan yang sama dan mendapatkan hasil yang identik. Anda tidak membuktikan bahwa angkanya tidak dapat diprediksi; Anda membuktikan bahwa Anda tidak menarik ulang berkali-kali sampai mendapat jawaban yang Anda suka.

Ini juga cara membuat keacakan dapat diulang dalam pekerjaan yang perlu diperiksa: rencana sampling yang bisa dijalankan ulang oleh kolega, sekumpulan fixture uji yang tetap stabil di seluruh test suite, atau latihan kelas di mana setiap siswa mendapatkan data “acak” yang sama.

Memilih distribusi

Uniform memberi setiap angka dalam rentang peluang yang sama. Inilah yang biasanya dimaksud orang dengan “acak”, dan ini adalah pilihan default.

Distribusi lainnya mengelompokkan hasil di sekitar suatu nilai, seperti yang cenderung terjadi pada besaran di dunia nyata:

  • Normal (Gaussian) — tinggi badan, kesalahan pengukuran, nilai ujian. Atur rata-rata dan deviasi standar.
  • Eksponensial — waktu tunggu antar kejadian yang independen.
  • Poisson — jumlah kejadian dalam interval tetap: kedatangan per jam, cacat per batch.
  • Triangular — saat Anda tahu nilai minimum, maksimum, dan yang paling mungkin tapi tidak lebih dari itu. Umum digunakan dalam estimasi proyek.
  • Binomial — jumlah keberhasilan dari sejumlah percobaan tetap dengan probabilitas tetap.

Setiap distribusi dibatasi pada rentang yang Anda tetapkan, sehingga ekor panjang distribusi Gaussian tidak bisa keluar dari minimum dan maksimum Anda.

Di mana angka acak digunakan

Permainan dan hiburan

  • Permainan papan — lemparan dadu, urutan giliran
  • RPG meja4d6dl1 untuk skor kemampuan, 2d20kh1 untuk advantage
  • Giveaway — memilih pemenang, dengan seed agar peserta dapat memverifikasinya
  • Kuis — urutan pertanyaan acak

Statistik dan sains

  • Sampling — menarik sampel dari populasi tanpa pengulangan
  • Pengujian A/B — menempatkan peserta ke dalam kelompok
  • Simulasi Monte Carlo — mengestimasi probabilitas melalui pengulangan
  • Bootstrapping — resampling untuk mengestimasi ketidakpastian

Pengembangan

  • Data uji — satu juta nilai, dihasilkan di latar belakang agar halaman tetap responsif
  • Fixture — seeded, sehingga tes yang gagal, gagal dengan cara yang sama setiap kali
  • ID acak — dengan padding, awalan, atau template
  • Load testing — pengenal bertemplate seperti user{n}@example.com

Angka acak sejati vs. pseudorandom

Math.random()crypto.getRandomValues()Seeded (xoshiro128**)
TipePseudorandomAman secara kriptografisPseudorandom, deterministik
Sumber entropiSeed pilihan engineCSPRNG sistemTeks seed Anda
Dapat diprediksi?BerpotensiTidakYa, secara desain
Dapat diulang?TidakTidakSelalu
Cocok untuk keamananTidakYaTidak
Cocok untuk statistikTergantungYaYa
Cocok untuk undian yang dapat diverifikasiTidakTidakYa

Math.random() tidak digunakan sama sekali di alat ini.

Penarikan tanpa pengulangan

Dengan Tanpa pengulangan diaktifkan, setiap angka dalam rentang muncul paling banyak satu kali. Ideal untuk:

  • Giveaway — tidak ada yang bisa menang dua kali
  • Permutasi — mengacak sekumpulan item
  • Bingo — memanggil angka yang tetap sudah dipanggil
  • Lotre — enam angka berbeda dari 1 hingga 49

Penarikan menggunakan partial Fisher–Yates shuffle, sehingga meminta 6 angka dari satu juta sama cepatnya dengan meminta 6 dari 49 — tidak pernah melakukan loop berharap menghindari tabrakan. Jika Anda meminta angka unik lebih banyak daripada yang bisa disediakan rentang, generator akan memberi tahu Anda alih-alih macet.

Mengekspor hasil

Salin angka sebagai teks biasa dengan pemisah apa pun yang Anda suka, sebagai CSV untuk spreadsheet, sebagai JSON untuk kode, atau sebagai tabel Markdown untuk dokumentasi. Penarikan yang sangat besar tetap tersimpan penuh di memori dan disalin secara utuh, meskipun hanya beberapa ribu pertama yang ditampilkan di layar.

Menghasilkan angka acak di kode Anda sendiri

JavaScript / TypeScript

// Bilangan bulat aman secara kriptografis dalam [min, max], tanpa bias modulo.
// `value % range` yang naif menguntungkan angka kecil saat rentang tidak
// membagi 2**32 secara merata - jadi kita menolak nilai di ekor yang tidak merata.
function randomInt(min, max) {
  const range = max - min + 1;
  const limit = Math.floor(0x100000000 / range) * range;
  const arr = new Uint32Array(1);
  let value;
  do {
    crypto.getRandomValues(arr);
    value = arr[0];
  } while (value >= limit);
  return min + (value % range);
}

Python

import random
import secrets

# Aman secara kriptografis, tanpa bias modulo
n = secrets.randbelow(max - min + 1) + min

# Dapat direproduksi: seed yang sama selalu menghasilkan urutan yang sama
rng = random.Random('my-seed')
n = rng.randint(min, max)

# Tanpa pengulangan
sample = random.sample(range(min, max + 1), count)

PHP

// Aman secara kriptografis (PHP 7+), tanpa bias modulo
$n = random_int($min, $max);

// Dapat direproduksi
mt_srand(crc32('my-seed'));
$n = mt_rand($min, $max);

Pertanyaan yang sering diajukan (FAQ)

Apakah hasilnya benar-benar acak? Dalam mode aman, ya. Hasilnya berasal dari crypto.getRandomValues(), generator yang aman secara kriptografis dan diberi entropi dari pool entropi sistem operasi Anda. Hasilnya terdistribusi secara uniform dan tidak dapat diprediksi. Mode seeded sengaja dibuat sebaliknya: ia dapat direproduksi, dan itulah tujuannya.
Berapa banyak angka yang bisa saya hasilkan sekaligus? Hingga 1.000.000. Penarikan di atas 50.000 dihitung dalam background worker agar halaman tetap responsif, dan layar menampilkan 2.000 angka pertama beserta jumlah sisanya — menyalin tetap memberi Anda semuanya.
Bisakah saya menghasilkan angka negatif? Ya. Atur minimum ke nilai negatif. Seluruh rentang angka JavaScript berfungsi, termasuk rentang negatif di kedua ujungnya.
Apakah pengurutan memengaruhi keacakan? Tidak. Angka ditarik terlebih dahulu lalu diurutkan setelahnya. Pengurutan hanya mengubah urutan tampilannya.
Apakah seed yang sama akan memberikan angka yang sama besok? Ya, dan juga di perangkat atau browser lain mana pun. Generator seeded bersifat sepenuhnya deterministik dan hanya bergantung pada seed dan pengaturan Anda.
Apa yang diberitahukan oleh uji keseragaman? Uji ini menjalankan uji chi-square yang membandingkan seberapa sering setiap angka benar-benar muncul dengan seberapa sering seharusnya muncul. Jika nilai statistiknya tetap di bawah nilai kritis, hasilnya konsisten dengan distribusi uniform. Diperlukan rentang yang cukup sempit dan penarikan yang cukup banyak — minimal lima per nilai yang mungkin — agar hasilnya bermakna.
Bagaimana cara kerja bobot? Tulis sebagai pasangan number:weight, misalnya 1:5, 2:1, 3:1. Di sini 1 lima kali lebih mungkin muncul dibanding 2 atau 3. Angka yang tidak Anda cantumkan mendapat bobot nol dan tidak akan pernah ditarik.
Notasi dadu apa saja yang didukung? 3d6 melempar tiga dadu bermata enam. Tambahkan modifier dengan 3d6+2. Simpan atau buang dadu dengan kh, kl, dh, dl — sehingga 2d20kh1 menyimpan nilai tertinggi dari dua d20 (advantage) dan 4d6dl1 membuang nilai terendah dari empat d6.
Apakah riwayat saya disimpan di suatu tempat? Hanya di browser ini, dalam local storage. Riwayat tidak pernah dikirim ke server, tidak pernah disinkronkan ke perangkat lain, dan akan hilang jika Anda menghapus data situs. Ekspor ke JSON jika Anda ingin menyimpan atau memindahkannya.