Fungsi Random di PHP

By | 24 July 2009

Beberapa dari mahasiswa saya yang sudah pernah mengikuti ujian online, pernah bertanya

mahasiswa :

pak, itu program ujian online dibuat pake apa pak?

saya :

PHP dan MySQL

mahasiswa :

koq soalnya bisa random (maksudnya antara 1 mahasiswa, akan dapat soal yang beda dengan mahasiswa lain)

saya :

itu pake fungsi di PHP

nah di sini saya mau jelasin sedikit fungsi PHP, yaitu fungsi rand() . Fungsi ini digunakan untuk melakukan random terhadap bilangan integer. Bentuk umumnya adalah
int rand ( [int $min, int $max] )

fungsi ini membutuhkan 2 parameter yaitu nilai minimal angka yang akan dirandom dan nilai maksimal angka yang akan dirandom.

Contoh penggunaannya :

";
//alternatif lainnya
$a = 4;
$b = 30;
$angka = rand($a,$b);
echo $angka;
?>

contoh yang sudah jadi, bisa dilihat di sini
coba deh refresh halaman webnya, pasti hasilnya beda-beda tuh.

Pengembangan
nah dari contoh di atas kita bisa kembangkan lagi, yaitu dengan membuat 2 form inputan untuk memasukkan nilai minimum dan nilai maksimum. angka random baru akan keluar jika kita mengklik tombol.


Random Angka Yuk!

Masukkan nilai minimum : Masukkan nilai maksimum : //kalo tombol diklik if(isset($_POST['tblRandom'])){ //ambil inputan $nilaimin = $_POST['min']; $nilaimax = $_POST['max']; //random angka $angkarandom = rand($nilaimin,$nilaimax); //tampilkan ke layar echo "Angka yang dihasilkan dari pengacakan angka antara $nilaimin dan $nilaimax adalah $angkarandom"; } ?>

contoh yang sudah jadi bisa dilihat di sini
sekian dulu materi belajar php kali ini. kalo ada yang gak ngerti syntaknya, tanya aja di kolom komentar. Kalo ada yang belum tahu apa itu PHP, coba deh cari baca materi hello world dulu

11 thoughts on “Fungsi Random di PHP

  1. tahara

    repot amat way… pake RANDOM dari query aja.. beres.. hasil sama, lebih cepet.. 😀

    Reply
  2. melaendo

    menarik sih…
    saya juga lagi coba2 buat ujian online,
    tapi lebih senang pake random di querynya lebih cepet…
    contoh :
    $sql=”select * from soal order by rand()”
    kalo mo dilimitin tinggal tambah limit [jml_limit_soal]

    salam…

    Reply
  3. ratna

    if(isset($_POST[‘tblRandom’]) syntax yg ini maksudnya apa ya? trims

    itu untuk mengecek apakah variabel $_POST[‘tblRandom’] sudah ada atau belum. Atau bisa juga diartikan apakah tombol submit dengan nama tblRandom sudah diklik atau belum

    Reply
  4. Ipan Maslow

    Selamat siang, mas semoga bisa membantu saya nih. saya lagi belajar bikin ujian online, nah saya bingung masalah random soal. klo pake fungsi rand() aja angka yg dikeluarkan tidak unik, msih ada yg sama. Mohon algoritmanya mas serta sedikit pencerahannya, agar soal yg keluaar bersifat random dan unik. makasih banyak…

    Reply
    1. Vinno

      Mencoba membantu, contoh mencegah output rand() kembar atau sama.

      <?php
      $randomvalid = array(); //untuk array random yang valid (tidak kembar)
      $cek = array(); //untuk array yang digunakan untuk melakukan pengecekan

      $max = 40;
      for ($i=0;$i<$max;$i++)
      {
      $nomor = rand(1,60); //melakukan random antara 1-60
      while(in_array($nomor,$cek)) //fungsi in_array = cek apakah $nomor ada dalam array $cek
      {
      $nomor = rand(1,60); //diulang sampai tidak sama
      }
      $cek[$i] = $nomor; //random yang valid disimpan ke dalam array $cek ke-i

      $randomvalid[$i] = $nomor;
      echo $randomvalid[$i]."”;
      }
      ?>

      Setelah dicompile, akan muncul berurutan ke bawah, angka-angka yang diacak 1-60. Coba refresh, maka susunan angka akan berubah.

      Reply
  5. mas momo

    La kalau pengecekan hasil soal random bagaimana? tolong sampel contohnya ga?

    kan ada database yang berisi soal dan jawaban benar. tinggal dicocokin aja benar salahnya. untuk sampelnya nanti akan saya bikin postingnya kalo sempat 🙂

    Reply
  6. Pingback: Contoh Program Generate Random Password dengan PHP | tutorial indonesia | materi kuliah | programming | tips

Leave a Reply

Your email address will not be published. Required fields are marked *