Cetak Bilangan Random dengan rand()

Bilangan random terkesan tidak ada gunanya bagi sebagian orang. Tetapi bagi para penguji software atau programmer yang bergerak di bidang simulasi atau manajer, bilangan random dapat digunakan untuk membuat digitalisasi dunia nyata , misal, antrian pelanggan di kasir, atau kepadatan kendaraan pada perempatan tertentu. Kenapa itu semua diamati? Karena kita ingin tahu berapa kasir yang harus ada atau berapa lampu lalu lintas yang harus dibuat.

Di C++, kita dapat menggunakan fungsi rand() yang terdapat di cstdlib.h. Kode berikut akan memberikan bilangan random integer dari 0 sampai 2147483647.

cout << (rand())

Buanyak banget kemungkinannya. Lantas bagaimana jika kita hanya ingin bilangan dari 0 s.d 9 saja? Gampang koq. Tinggal diganti menjadi seperti ini:

cout << ( rand() % 10  )  

Anda mungkin bertanya-tanya, kenapa sisa pembagian integer dengan 10 selalu dari  0 s.d. 9? Ya memang demikian. Cobalah bagi sembarang bilangan integer positif dengan 10, sisa pembagiannya pasti diantara 0 s.d. 9. Tidak mungkin lebih dari 9.

Namun bagaimana jika kita menginginkan nilai dari 1 s.d. 10? Ya...artinya kita tambahkan saja dengan 1:

cout << (rand() % 10) + 1 

So...jika  kita menginginkan 1 s.d. 100? Ya, tinggal diubah ke:

cout << (rand() % 100) + 1

Perhatikan angka-angka yang sudah dibuat programdiatas. Selalu sama! Ini masalah besar, jika kita membuat sebuah simulasi, karena tidak mungkin antrian orang selalu sama tiap menit atau jam. Eiiittt....gampang sekali mengakali ini. Pakai fungsi time yang dimasukkan ke fungsi srand. Fungsi ini berada di header ctime.

srand(time(NULL));

Buat agar kode diatas hanya di eksekusi sekali dalam menjalankan program, sebab jika tidak, justru kemungkinan variasi bilangan random makin kecil.Program dibawah ini akan membuat bilangan random sebanyak sepuluh kali. Jalankan berkali-kali maka Anda juga mendapatkan bilangan-bilangan yang berlainan dengan yang terdahulu.

Program Selengkapnya:





Cetak Bilangan Random dengan rand() Rating: 4.5 Diposkan Oleh: Good Dreamer

0 comments:

Posting Komentar

Diberdayakan oleh Blogger.