Generator Bilangan Prima Online
Apa itu Bilangan Prima?
Bilangan prima adalah bilangan asli lebih besar dari 1 yang hanya dapat dibagi oleh 1 dan dirinya sendiri. Bilangan prima terkecil adalah 2, 3, 5, 7, 11, 13, 17, 19, 23, 29… Angka 2 adalah satu-satunya bilangan prima genap – semua bilangan genap lainnya habis dibagi dua.
Bilangan seperti 4 (= 2 × 2), 6 (= 2 × 3), atau 15 (= 3 × 5) bukan bilangan prima – kita menyebutnya bilangan komposit.
Bagaimana Cara Kerja Generator?
Untuk menampilkan semua bilangan prima dalam suatu rentang, kami menggunakan Saringan Eratosthenes – salah satu algoritma tertua dan paling efisien, yang dijelaskan oleh matematikawan Yunani Eratosthenes dari Kirene sekitar tahun 240 SM.
Algoritma ini secara bertahap mencoret kelipatan dari setiap bilangan prima yang ditemukan. Apa yang tersisa adalah bilangan prima. Seluruh perhitungan dilakukan langsung di browser Anda – tidak ada data yang dikirim ke server.
Untuk pilihan acak, generator pertama-tama membuat daftar semua bilangan prima dalam rentang, lalu secara acak memilih jumlah yang diinginkan menggunakan generator yang aman secara kriptografi (crypto.getRandomValues()).
Fitur Generator
- Semua Bilangan Prima – menampilkan setiap bilangan prima dalam rentang yang ditentukan (maks. 10.000)
- Pilihan Acak – memilih N bilangan prima acak dari rentang (cocok untuk rentang besar)
- Pengurutan – mengurutkan hasil secara ascending
- Pemisah – pilih bagaimana angka akan dipisahkan saat menyalin
- Preset Cepat – rentang paling umum dengan satu klik
Di Mana Bilangan Prima Digunakan?
Kriptografi dan Keamanan
Bilangan prima adalah dasar kriptografi modern. Algoritma seperti RSA bekerja berdasarkan prinsip bahwa hasil kali dua bilangan prima besar mudah dihitung, tetapi memecahnya kembali menjadi faktor prima sangat sulit secara komputasi.
- Enkripsi RSA – kunci dibuat dari dua bilangan prima besar
- Diffie-Hellman – pertukaran kunci melalui modulus bilangan prima
- Fungsi Hash – bilangan prima sebagai konstanta ajaib (SHA, MD5)
Matematika dan Sains
- Teori Bilangan – blok bangunan dasar bilangan bulat
- Konjektur Goldbach – setiap bilangan genap > 2 dapat dinyatakan sebagai jumlah dua bilangan prima (belum terbukti)
- Hipotesis Riemann – salah satu masalah Hilbert, berkaitan dengan distribusi bilangan prima
Penggunaan Praktis
- Tabel Hash – ukuran tabel sebagai bilangan prima mengurangi kolisi
- Generator Angka Pseudo-Acak – kongruensi linear dengan modulus bilangan prima
- Musik dan Ritme – poliritmik dengan panjang siklus bilangan prima
Distribusi Bilangan Prima
Bilangan prima didistribusikan secara tidak teratur di antara bilangan asli, tetapi kepadatannya menurun seiring dengan meningkatnya rentang. Ini dijelaskan oleh Teorema Bilangan Prima: jumlah bilangan prima hingga N kira-kira N / ln(N).
| Rentang | Jumlah Bilangan Prima |
|---|---|
| 1–10 | 4 |
| 1–100 | 25 |
| 1–1.000 | 168 |
| 1–10.000 | 1.229 |
| 1–100.000 | 9.592 |
| 1–1.000.000 | 78.498 |
Saringan Eratosthenes Langkah demi Langkah
Rentang 2–30:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
1. Pilih 2, coret kelipatannya: 4, 6, 8, 10, 12...
2. Pilih 3, coret kelipatannya: 9, 15, 21, 27...
3. Pilih 5, coret kelipatannya: 25...
4. √30 ≈ 5.5 → selesai
Bilangan Prima: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29
Saringan Eratosthenes dalam Kode
JavaScript
function sieve(to) {
const composite = new Uint8Array(to + 1);
const primes = [];
for (let p = 2; p <= to; p++) {
if (composite[p]) continue;
primes.push(p);
for (let j = p * p; j <= to; j += p) composite[j] = 1;
}
return primes;
}
Python
def sieve(n):
composite = bytearray(n + 1)
primes = []
for p in range(2, n + 1):
if not composite[p]:
primes.append(p)
for j in range(p * p, n + 1, p):
composite[j] = 1
return primes