Home > PHP > Mencegah Angka yang Kembar yang Dihasilkan Fungsi Random/Rand() dengan PHP

Mencegah Angka yang Kembar yang Dihasilkan Fungsi Random/Rand() dengan PHP

Comeback…hehehehe…Setelah lama berkutat dengan program skripsi yang membuat saya tidak eksis dengan blog ini akhirnya post blog saya bertambah lagi…hehehehe….

Ide post saya kali ini berawal dari teman saya yang menanyakan bagaimana cara mencegah angka yang kembar yang dihasilkan dari fungsi random dalam PHP. Setelah berkutat dengan EditPlus, akhirnya saya mendapatkan cara mencegahnya.  Caranya sangat sederhana tetapi sangat berarti. hehehehe…

Silakan Anda membuat file PHP dengan nama random.php. Berikut scriptnya:

<html>
<head>
<title>Mencegah Angka Kembar yang Dihasilkan Fungsi Rand() PHP by Erick Alfons Lisangan</title>
</head>
<body>
<?php
$nomorpertanyaan = array(); //untuk array nomor pertanyaan yang valid(tidak kembar)
$ceknomor = array(); //untuk array yang digunakan untuk melakukan pengecekan

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

$nomorpertanyaan[$i] = $nomor;
echo $nomorpertanyaan[$i].” “;
}
?>
</body>
</html>

Apabila Anda menjalankan script tersebut, coba Anda periksa apakah terdapat angka yang sama?? Dalam percobaan saya, saya memperoleh nilai antara lain:

59 46 24 22 54 48 19 36 10 20 3 17 30 45 43 26 37 34 12 38 5 29 18 44 25 42 33 47 15 31 32 49 7 6 56 55 14 60 35 23

Tidak ada angka yang sama kan??hehehe…

download script

Semoga artikel ini bermanfaat bagi Anda. Gbu…

Categories: PHP
  1. 23 January 2014 at 13:07

    kalau ga perlu pake echo $nomorpertanyaan[random]; bisa ga ya langsung munculinnya tuh masuk ke databse dengan nama button : Submit, jadi data yang di random yang tidak kembar itu langsung masuk ke database. terima kasih

  2. 14 November 2012 at 03:34

    Gimana kalo misalnya angkanya mau kita munculkan 1 per 1 gan?
    Misalnya pake button gitu!
    Di bales syukur, gak di bales juga gapapa.😀

    • 12 December 2012 at 21:02

      Thank atas commentnya… Maaf baru sempat balas…

      Jika mau 1 per 1 yang muncul coba seperti di bawah ini..

      $nomorpertanyaan = array(); //untuk array nomor pertanyaan yang valid(tidak kembar)
      $ceknomor = array(); //untuk array yang digunakan untuk melakukan pengecekan

      if (isset($_GET[‘nama_tombol’])) //Jika Tombol Ditekan
      {
      do
      {
      $random = rand(1,60); //yang dirandom index array
      }while (in_array($random, $arraytemp));
      array_push($ceknomor ,$random); //insert $random ke array $ceknomor

      echo $nomorpertanyaan[random];
      }

      Semoga bermanfaat…:-)…

  3. wi
    7 June 2012 at 02:04

    sip bos, ijin copas ya

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: