28 Februari 2017

Membangkitkan Angka Random pada PHP

Kata "membangkitkan" adalah padanan kata men-generate.

Angka Random


Angka random adalah angka yang dihasilkan dari suatu prosedur pembangkitan, dimana kemunculannya angka tersebut tidak memiliki pola.

Membangkitkan angka random dengan script PHP, cukup menggunakan fungsi rand(). Menurut referensinya, fungsi tersebut akan mengembalikan nilai integer mulai dari 0 hingga getrandmax() yang bergantung pada spec mesin dan OS. Pada komputer saya, prosesor 64bit dan OS 64bit, getrandmax() mengembalikan nilai 2147483647.

Contoh PHP script untuk membangkitkan 10 angka random fungsi rand() sbb:

<?php
for ($i=1; $i<10; $i++){
  echo rand()." ";
}
//akan menghasilkan output sbb seperti sbb:
//591004376 1922726400 707854443 951539647 123211066 452202029 //1229956111 1102301159 1659840919 1686837145  Catatan: output setiap kali dieksekusi akan berbeda,


Random Terbatas


Untuk mensimulasikan suatu hasil lemparan koin 2 sisi atau dadu 6 sisi misalnya, maka digunakan fungsi rand(minimum, maksimum), seperti contoh sbb:

<?php
echo rand(0,1);
//menghasilkan 0 atau 1

echo rand(1, 6);
//menghasilkan angka 1, 2, 3, 4, 5, atau 6


24 Februari 2017

Melewatkan Parameter pada Script PHP-CLI

Script PHP berbasis web dapat melewatkan parameter dengan cara seperti ini:

namascript.php?param1=value1&param2=value2 

sementara untuk mengeksekusi script php, nilai argument /paramater dapat dilewatkan dengan cara yang mirip jika kita bikin program pakai bahasa C, misal sbb:

$ php namascript.php value1 value2

Untuk menangkap nilai paramater pada script php digunakan variabel global yang sudah tersedia, yaitu:

  • $_SERVER['argc'] untuk mengembalikan banyaknya argument /paramater yang dilewatkan termasuk nama script
  • $_SERVER['argv'][0] nama script
  • $_SERVER['argv'][1] value untuk argument /paramater pertama
  • $_SERVER['argv'][2] value untuk argument /paramater kedua
  • .. 
  • $_SERVER['argv'][n] value untuk argument /paramater ke-n

Contoh Script:
Berikut script untuk menampilkan isi suatu file. Nama file dilewatkan sebagai argument /paramater

<?php

echo "Menampilkan isi file\n";

//check apakah ada argument yang dilewatkan
if ($_SERVER['argc'] != 2) {
  echo "Error Usage: php {$_SERVER['argv'][0]} <namafile>\n";
  die;
}

//ambil namafile
$namafile = $_SERVER['argv'][1];


//periksa keberadaan
if (!file_exists($namafile)){
  echo "Error: File {$namafile} tidak ditemukan\n";
  die;
}

//tampilkan isinya
echo "Isi file:\n";
echo readfile($namafile);

?>