Monday, December 23, 2013

Membuat kode acak sederhana menggunakan PHP

Salah satu kegunaan dari program kode acak sederhana ini misalnya adalah untuk pembuatan password otomatis. Kode-kode yang muncul nantinya akan selalu berubah jika halaman di refresh. berikut adalah script kode acak php sederhana :

<?php
  function kode_acak($n = 6) {
     $aKod = NULL;
     $kode = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvqxyz0123456789@"; //jumlah kode = 63
  
  for ($i=0; $i<$n; $i++) {
     $acakAngka = rand(1, strlen($kode));
     $aKod .= substr($kode, $acakAngka, 1);
  }
  
  return $aKod;
  }
  
  //memanggil fungsi
  echo kode_acak($n = 6);
?>

Analisa :

pada baris ke dua di buat fungsi bernama kode_acak dengan parameter $n = 6. angka 6 merupakan jumlah digit kode yang akan di buat.

Pada baris ke tiga variabel $aKod di isi dengan nilai NULL (kosong)

Pada baris ke empat varibale $kode di isi dengan nilai kode yang berjumlah 63 karakter.

pada baris ke enam di buat fungsi perulangan dengan parameter jumlah perulangan < $n

di dalam fungsi perulangan terdapat variabel $acakAngka yamg di beri perintah fungsi rand (rand merupakan fungsi built in php yang berfungsi untuk mengacak angka), di dalam fungsi rand terdapat parameter 1 dan fugsi strlen yang berfungsi untuk menghitung jumlah karakter kode dalam variabel $kode, maka akan di dapatkan nilai jumlah karakter dalam variabel $kode yaitu 63, sehingga fungsi rand menjadi seperti ini rand(1, 63) dan akan mengacak angka dengan range antara 1 - 63.

pada baris ke delapan variabel $aKod dengan operator .= dan fungsi substr (fungsi php untuk memotong string untuk memahami fungsi substr silahkan baca artikel saya disini ) dengan parameter ($kode, $acakAngka, 1) akan memotong variabel $kode secara acak sebanyak satu karakter.

$aKod .= substr($kode, $akanAngka, 1) sama artinya dengan $aKod = $aKod.substr($kode, $acakAngka, 1) sehingga jika dilakukan perulangan sebanyak $n variabel $aKod akan menyimpan kode-kode acak sebanyak $n

pada baris ke sebelas nilai dari variabel $aKod di kembalikan kepada fungsi kode_acak dan pada baris ke 15 dilakukan pemanggilan fungsi kode_acak

maka akan di tampilakan kode acak sebanyak $n misal Xnz1mV