srand()
Menginisialisasi seed untuk generator bilangan acak dalam C
Fungsi srand()
digunakan untuk mengatur nilai seed bagi generator bilangan acak yang dipakai oleh fungsi rand()
.
Dengan menginisialisasi seed, kita dapat memastikan bahwa urutan bilangan acak yang dihasilkan berbeda setiap kali program dijalankan.
Sintaks
void srand(unsigned int seed);
seed
➜ Nilai integer yang digunakan sebagai seed untuk generator bilangan acak. Biasanya,time(NULL)
digunakan sebagai seed agar seed berubah setiap detik.
Contoh Penggunaan
1. Menginisialisasi seed dengan waktu saat ini
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// Inisialisasi seed dengan waktu saat ini agar hasil acak berbeda tiap kali program dijalankan
srand(time(NULL));
// Menghasilkan dan menampilkan 5 bilangan acak
for (int i = 0; i < 5; i++) {
int nilaiAcak = rand() % 100; // Bilangan antara 0 dan 99
printf("Nilai acak %d: %d\n", i + 1, nilaiAcak);
}
return 0;
}
Hasilnya:
Nilai acak 1: 85
Nilai acak 2: 3
Nilai acak 3: 28
Nilai acak 4: 95
Nilai acak 5: 16
Penjelasan Tambahan
Tanpa
srand()
: Jika tidak memanggilsrand()
, generator bilangan acak akan menggunakan seed default yang biasanya sama tiap kali program dijalankan, sehingga urutan bilangan acak akan selalu sama.Menggunakan
time(NULL)
: Fungsitime(NULL)
mengembalikan waktu saat ini dalam detik, yang membuat seed berubah secara otomatis tiap kali program dijalankan.Seed Custom: Kamu juga bisa menggunakan nilai tetap sebagai seed jika ingin menguji urutan bilangan acak yang sama setiap kali program dijalankan (misalnya,
srand(12345)
).
Last updated