Generator Nomor Acak Python

Pelajari cara menghasilkan angka acak dalam Python dengan contoh kode interaktif. Jalankan kode secara langsung dan lihat hasil instan menggunakan modul acak, rahasia, dan numpy.

Butuh Nomor Acak Cepat?

Coba generator angka acak online kami untuk hasil instan tanpa menulis kode apa pun.

Buka Generator Angka Acak

Editor Kode Python

Pelajari cara menghasilkan angka acak dalam Python dengan contoh kode interaktif. Jalankan kode secara langsung dan lihat hasil instan menggunakan modul acak, rahasia, dan numpy.

import random

# Generate random integers between min and max
min_val = 1
max_val = 100
quantity = 5

# Generate multiple random numbers
numbers = [random.randint(min_val, max_val) for _ in range(quantity)]
print(f"Random numbers: {numbers}")

Keluaran

Pyodide (Python ke WebAssembly)

Menjalankan kode...

Bilangan Bulat Acak Dasar

Gunakan random.randint() untuk menghasilkan bilangan bulat acak dalam rentang tertentu. Ini adalah metode paling umum untuk pembuatan bilangan acak tujuan umum.

Memahami Pembuatan Angka Acak Python

Python menyediakan beberapa cara untuk menghasilkan angka acak, masing-masing cocok untuk kasus penggunaan yang berbeda. Modul acak menggunakan pembuatan angka acak semu (PRNG) berdasarkan algoritma Mersenne Twister, sedangkan modul rahasia menyediakan nomor acak yang aman secara kriptografis yang cocok untuk pembuatan kata sandi dan token keamanan.

random

Modul acak menyediakan pembuatan angka pseudo-acak cepat yang cocok untuk simulasi, game, dan tugas pemrograman umum.

secrets

Modul rahasia menggunakan os.urandom() untuk menghasilkan nomor acak yang aman secara kriptografis, ideal untuk pembuatan kata sandi, token keamanan, dan sistem otentikasi.

numpy

Modul acak NumPy menyediakan pembuatan angka acak berbasis array yang efisien, sempurna untuk komputasi ilmiah, analisis data, dan simulasi skala besar.

Kasus Penggunaan Umum

Game & Simulasi

Hasilkan lemparan dadu acak, undian kartu, jarahan jarah, dan acara permainan menggunakan random.randint() atau random.choice().

Keamanan & Kriptografi

Buat kata sandi aman, kunci API, token sesi, dan garam enkripsi menggunakan modul rahasia.

Ilmu Data & Statistik

Hasilkan himpunan data acak untuk pengujian, pengambilan sampel statistik, dan simulasi Monte Carlo menggunakan numpy.random().

Pengujian Perangkat Lunak

Buat data pengujian acak dan kasus tepi untuk memastikan cakupan kode dan deteksi bug yang kuat.

Cara Kerja Pembuatan Angka Acak Python

Modul random Python menggunakan algoritma Mersenne Twister, generator angka pseudo-acak (PRNG) yang banyak digunakan. Ini menghasilkan urutan angka yang tampak acak tetapi sebenarnya deterministik berdasarkan nilai benih awal.

Modul secret, yang diperkenalkan dalam Python 3.6, menggunakan os.urandom() untuk mengakses sumber keacakan kriptografi sistem operasi. Ini memberikan keacakan sejati yang cocok untuk aplikasi yang sensitif terhadap keamanan.

Modul acak NumPy dibangun di atas implementasi C dari Mersenne Twister, menyediakan operasi vektor cepat untuk menghasilkan array besar angka acak secara efisien.

Catatan: Semua eksekusi kode terjadi di browser Anda menggunakan Pyodide (Python dikompilasi ke WebAssembly). Tidak ada kode atau data yang dikirim ke server kami, memastikan privasi dan keamanan yang lengkap.

Tips Ahli untuk Generasi Acak Python

🔄

Reproduktifitas dengan Biji

Gunakan random.seed(42) untuk mengatur nilai seed untuk hasil yang dapat direproduksi. Penting untuk debugging dan eksperimen ilmiah.

🔒

Praktik Terbaik Keamanan

Selalu gunakan modul secrets untuk pembuatan kata sandi, kunci API, dan token keamanan. Jangan pernah menggunakan random untuk tujuan kriptografi.

⚡

Performa dengan NumPy

Untuk menghasilkan array besar bilangan acak, NumPy secara signifikan lebih cepat daripada pemahaman daftar dengan modul acak.

Spesifikasi teknis

Algoritma

  • Mersenne Twister (modul acak)
  • os.urandom() (modul rahasia)
  • NumPy Mersenne Twister (implementasi C)

Performa

  • acak: ~1 juta angka/detik
  • rahasia: ~ 100 ribu nomor/detik (lebih lambat karena panggilan OS)
  • mati rasa: ~ 10 juta + angka / detik (vektor)

Kasus Penggunaan Terbaik

  • acak: Permainan, simulasi, pemrograman umum
  • secrets: Passwords, tokens, cryptography
  • numpy: Data science, large-scale simulations

Pertanyaan yang Sering Diajukan

Modul Python apa saja yang dibahas?

Modul random bawaan, modul secrets untuk keperluan keamanan, dan numpy untuk pembuatan angka acak yang ramah array.

Apakah saya bisa menjalankan contoh-contoh di halaman ini?

Bisa. Halaman ini memuat runtime Python langsung di browser, sehingga Anda dapat mengedit dan menjalankan setiap potongan kode serta melihat output yang sebenarnya.

Modul mana yang sebaiknya saya gunakan untuk token atau kata sandi?

Gunakan secrets. Modul random cocok untuk simulasi dan permainan, tetapi tidak aman secara kriptografi.

Apakah kode saya dijalankan di server?

Tidak. Eksekusi terjadi di lingkungan browser, sehingga tidak ada apa pun yang Anda ketik yang diunggah.

Bagaimana cara menghasilkan bilangan bulat acak antara 1 dan 10 di Python?

Gunakan random.randint(1, 10), yang mengembalikan bilangan bulat dari 1 sampai 10 inklusif, dengan kedua batas ikut dihitung. Untuk bilangan desimal (float) dalam rentang yang sama, panggil random.uniform(1, 10). Anda dapat mengedit dan menjalankan kode persis ini pada contoh interaktif di halaman ini.

Apakah angka acak Python benar-benar acak?

Tidak. Modul random menggunakan generator pseudo-acak Mersenne Twister dengan presisi float 53-bit, sehingga output bersifat deterministik dan tidak cocok untuk kriptografi. Untuk nilai yang sensitif terhadap keamanan seperti kata sandi, token, atau kunci, gunakan modul secrets, yang mengambil keacakan dari sumber sistem operasi yang aman secara kriptografi.

Bagaimana cara mendapatkan angka acak yang sama setiap kali saya menjalankan kode?

Panggil random.seed(42), atau bilangan bulat tetap lainnya, sebelum menghasilkan nilai. Pemberian seed mengatur Mersenne Twister ke keadaan yang dapat direproduksi, sehingga randint, random, shuffle, dan choice mengembalikan urutan yang identik pada setiap eksekusi. Hal ini penting untuk pengujian, debugging, dan mereproduksi eksperimen machine learning atau simulasi.

Apakah numpy dapat menghasilkan angka acak lebih cepat daripada modul random?

Ya, jauh lebih cepat. Satu panggilan seperti np.random.randint(1, 101, size=1000000) menghasilkan satu juta bilangan bulat dalam operasi tervektorisasi, menghindari loop Python yang lambat yang diperlukan randint untuk setiap nilai. Gunakan numpy saat Anda membutuhkan ribuan hingga jutaan nilai acak untuk simulasi, pengambilan sampel, atau analisis statistik.

Mengapa Belajar Generasi Acak Python?

🎯

Metode Serbaguna

  • Berbagai modul untuk kebutuhan berbeda
  • Dari game sederhana hingga kriptografi
  • Mudah dipelajari, kuat dalam praktik
💼

Aplikasi Praktis

  • Digunakan dalam ilmu data dan ML
  • Esensial untuk pengujian dan QA
  • Kritis untuk aplikasi keamanan
🌟

Standar Industri

  • Digunakan luas dalam sistem produksi
  • Dukungan komunitas dan dokumentasi yang kuat

Referensi & Sumber Daya