Fungsi bilangan acak

Fungsi bilangan acak

Fungsi bilangan acak

Fungsi bilangan acak
Fungsi bilangan acak

Fungsi bilangan acak digunakan untuk menghasilkan bilangan acak (random). Ada dua kelompok fungsi bilangan acak, yaitu fungsi bilangan acak biasa dan fungsi bilangan acak yang lebih baik.

Yang termasuk ke dalam fungsi bilangan acak biasa adalah:

  • rand(), digunakan untuk menghasilkan bilangan acak.
  • srand(), digunakan untuk memberikan nilai awal (seed) pada fungsi rand().
  • getrandmax(), digunakan untuk mengambil nilai maksimum yang mungkin dari sebuah bilangan acak.

Sejak PHP 4.2.0, srand() tidak lagi diperlukan untuk memberikan nilai seed pada fungsi rand().

Contoh:

<HTML>

<HEAD>

<TITLE> Randomizer </TITLE>

</HEAD>

<BODY>

Berikut ini adalah beberapa bilangan acak yang dihasilkan oleh PHP <BR>

<?

$a = rand();

echo “Bilangan acak pertama = $a”;

echo “<BR>”;

$b = rand();

echo “Bilangan acak kedua = $b”;

echo “<BR>”;

$c = rand();

echo “Bilangan acak ketiga = $c”;

echo “<BR>”;

$max = getrandmax();

echo “Nilai maksimum bilangan acak = $max”;

?>

</BODY>

</HTML>

Jika dijalankan pada browser, hasilnya akan nampak seperti gambar 1.

Selanjutnya yang termasuk ke dalam fungsi bilangan acak yang lebih baik adalah:

  • mt_rand(), digunakan untuk menghasilkan bilangan acak.
  • mt_srand(), digunakan untuk memberikan nilai awal (seed) pada fungsi mt_rand().
  • mt_getrandmax(), digunakan untuk mengambil nilai maksimum yang mungkin dari sebuah bilangan acak.

Sejak PHP 4.2.0, mt_srand() tidak lagi diperlukan untuk memberikan nilai seed pada fungsi mt_rand().

Fungsi ini disebut lebih baik karena menggunakan karakteristik Mersenne Twister (http://www.math.keio.ac.jp/~matumoto/emt.html). Karakteristik ini menghasilkan bilangan acak yang cocok untuk beberapa pekerjaan cryptography dan empat kali lebih cepat daripada fungsi bilangan acak biasa.

Contoh:

<HTML>

<HEAD>

<TITLE> Randomizer </TITLE>

</HEAD>

<BODY>

Berikut ini adalah beberapa bilangan acak berkarakteristik Mersenne Twister yang dihasilkan oleh PHP <BR>

<?

$a = mt_rand();

echo “Bilangan acak pertama = $a”;

echo “<BR>”;

$b = mt_rand();

echo “Bilangan acak kedua = $b”;

echo “<BR>”;

$c = mt_rand();

echo “Bilangan acak ketiga = $c”;

echo “<BR>”;

$max = mt_getrandmax();

echo “Nilai maksimum bilangan acak = $max”;

?>

</BODY>

</HTML>

Jika dijalankan pada browser, hasilnya akan nampak seperti gambar

Sumber : https://usgsprojects.org/