Anda di halaman 1dari 3

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 2.

Fungsi-fungsi Matematika Lain


Beberapa fungsi matematika lain yang dikenal PHP adalah:

• abs(x), mengambil nilai absolut x.


• ceil(x), membulatkan sebuah pecahan x ke atas.
• floor(x), membulatkan sebuah pecahan x ke bawah.
• round(x,y), membulatkan sebuah pecahan x sampai y angka di belakang koma.
• pi(), mengambil nilai pi, yaitu kira-kira 3.14159265358979323846 atau sama dengan konstanta
M_PI.
• fmod(x,y), menghasilkan sisa hasil pembagian x/y.
• is_nan(x), memeriksa apakah x bukan merupakan bilangan (nan = not a number).
• number_format(x,y,k,r), menuliskan bilangan x dengan format y angka di belakang koma,
dengan koma diganti dengan karakter k dan pemisah ribuan diganti dengan karakter r.
• hypot(x,y), menghasilkan akar (x2 + y2). Fungsi ini masih merupakan eksperimen, sehingga
kesalahan akibat penggunaan fungsi ini merupakan resiko Anda.

Contoh:

<HTML>
<HEAD>
<TITLE> Other </TITLE>
</HEAD>
<BODY>
<?
$a = 5;
$b = -5;
$c = abs($a);
$d = abs($b);
echo "abs(5) = abs(-5) = $c";
echo "<BR>";
$e = ceil(4.25);
echo "ceil(4.25) = $e";
echo "<BR>";
$f = floor(4.25);
echo "floor(4.25) = $f";
echo "<BR>";
$g = round(3.6);
echo "round(3.6) = $g";
echo "<BR>";
$h = round(3.5853, 2);
echo "round(3.5853, 2) = $h";
echo " (sampai 2 digit di belakang koma)";
echo "<BR>";
$i = fmod(10,3);
echo "fmod(10,3) = $i";
echo "<BR>";
if (is_nan('100') == true) {
echo "String 100 bukan bilangan";
}
$j = hypot(8,6);
echo "hypot(8,6) = $j";
echo "<BR>";
$pi = pi();
echo "Nilai pi adalah = $pi <BR>";
$format1 = number_format(1234567.890);
$format2 = number_format(1234567.890,3);
$format3 = number_format(1234567.890,3,'/','*');
echo "Format bilangan pada PHP = <BR>";
echo "Format 1 = $format1 <BR>";
echo "Format 2 = $format2 <BR>";
echo "Format 3 = $format3 <BR>";
?>
</BODY>
</HTML>

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


Selamat belajar.