Nah setelah berbasa-basi sedikit mengenai siapa rand(), berikut adalah penerapan nya
dalam bentuk code :
Contoh : jika kita ingin membuat program mengacak dadu, maka kita hanya perlu
mengacak nilai dari 1 sampai 6. Nah disinilah peran Scaling, yaitu membatasi nilai yang
akan diacak.
Dari penjelasan di atas kita sudah mengerti apa itu modulus dan dengan kata lain, hasil
dari operasi mod suatu bilangan PASTI tidak lebih besar dari bilangan pembagi.
Misal : X % 3, berapapun nilai X, hasil nya pasti selalu di bawah 3, entah itu 0 atau 1
atau 2
Nah dari situ kita bisa tahu apa fungsi dari + 1 bukan?
Benar sekali, karena hasil nya dari 0 sampai angka n-1 (n adalah bilangan pembagi)
maka kita perlu menambahkan satu agar range bilangan yang diacak dimulai dari 1
sampai n.
Coba kalian ulangin program di atas sekali, dua kali, dan seterusnya.
Kalian pasti menemukan suatu ke anehan
*Wah iya, saya ulang terus menerus, tapi kok angka ke 1 sampai ke 10 nya itu-itu terus
ya?
Jika kalian pernah berkumpul di kelas, lalu mengadakan undian dengan cara memutar
pulpen, dan jika pulpen tersebut mengarah ke salah satu peserta, maka peserta tersebut
akan menang atau dihukum.
Seed itu ibaratnya adalah posisi awal dari sebuah pulpen tersebut, jika terdapat 5 orang,
yaitu A,B,C,D,E.
Jika pada undian yang pertama, posisi awal pulpen menghadap ke arah A, dan setelah
putaran dilakukan ternyata yang kena adalah B
Kita tidak akan membahas hal tersebut disini, dan jika undian kedua dilakukan, jika
posisi awal tetap menghadap ke A dan jika pulpen di putar ke arah dan tenaga yang
sama seperti putaran pertama, pulpen tersebut sudah pasti kembali menghadap ke arah
B bukan?
Begitu pula dengan rand(), fungsi ini mempunyai seed default, sehingga setiap kali kita
mengulang program tersebut, maka hasil nya akan selalu sama.
Syntax : srand(seed_number);
Terima kasih