Breaking News

Kamis, 23 Maret 2017

Membangkitkan Bilangan Acak

Terdapat dua fungsi yang dibutuhkan untuk membangkitkan bilangan acak srand() dan rand(). Fungsi srand() dibutuhkan untuk menentukan "bibit" dari bilangan acak yang akan dibangkitkan. Sama seperti kalau kita menanam tumbuhan, bibit yang berbeda tentu akan menghasilkan tambuhan dewasa yang berbeda pula. Sedangkan fungsi rand() digunakan untuk menampilkan bilangan acak yang dihasilkan dari "bibit" yang diberikan ke fungsi srand().

Bentuk umum dari fungsi srand() adalah:

srand(bibit);


Sebagai Contoh:

srand(4);


Bentuk umum dari fungsi rand() adalah:

rand() % n;


Bilangan acak yang dihasilkan oleh fungsi rand() adalah dari 0 s/d (n-1).


Sebagai contoh:
rand() % 10;


Perintah di atas akan menghasilkan bilangan antara 0 s/d 9.

Seperti yang sudah dijelaskan sebelumnya, jika kita menggunakan "bibit" yang sama maka hasil yang diperoleh dari bibit ini pastilah sama. Untuk membuktikan, cobalah menjalankan program berikut berkali-kali dan perhatikan tampilan dilayar:

#include<iostream>
using namespace std;

int main()
{
srand(5);
int data = rand() % 10;
cout << data << endl;  cin.get(); } 


Agar bisa membangkitkan bilangan yang benar-benar acak, kita harus memberikan "bibit" yang berbeda-beda pula kepada fungsi srand(). Salah satu cara yang bisa dilakukan adalah memberikan "bibit" menggunakan fungsi time(), seperti berikut:


srand(time(NULL));


Sekarang, cobalah jalankan program berikut beberapa kali, dan perhatikan keluaran yang ditampilkan ke layar.


#include<iostream>
using namespace std;

int main()
{
 srand(time(NULL));
 int data = rand() % 10;
 cout << data << endl;   cin.get();  } 


Fungsi rand() umumnya digunakan untuk membangkitkan bilangan acak yang bertipe bilangan bulat. Cobalah mencari solusi bagaimana membuat bilangan acak "pecahan" antara 0 dan 1 ?

Tidak ada komentar:

Posting Komentar

Designed By Iqbal Maulana