Variabel pada PHP

Variabel dalam pemrograman adalah suatu penampung data pada pemrograman yang diwakili oleh sekumpulan karakter, misalnya $angka, $kalimat, $harga. Variabel pada PHP selalu dimulai dengan tanda $. Berikut syarat penamaan variabel pada PHP:

  • Di depannya selalu diletakkan simbol $
  • Nama variabel diawali dengan huruf atau underscore
  • Tidak boleh diawali dengan angka atau simbol
  • Bersifat case sensitive. $nama tidak sama dengan $Nama
  • Tidak mengandung karakter khusus seperti +, -, * dan sebagainya.

Data yang ditampung variabel dapat berupa berbagai macam tipe:

  • Boolean, tipe data paling sederhana. Dapat berupa true atau false.
  • Integer, angka bilangan bulat, baik positif, negatif ataupun nol. Contoh: 23, -725
  • Float atau Double, angka pecahan (berkoma). Contoh: 5.34, 6.02e23
  • String, sekumpulan karakter alfa numerik. Contoh: 'tutorial', "pemrograman"
  • Array, tipe data khusus untuk menampung banyak data sekaligus.
  • Object, suatu variabel yang mengemas banyak variabel dan fungsi ke dalamnya.
  • NULL, berarti kosong. Tidak ada data di dalam variabel.

Contoh penggunaan variabel pada PHP:

<?php
//Boolean
$benar = true;
$salah = false;
echo $benar; echo "<br />";
echo $salah; echo "<br />";
//Integer
$abc = 12;
$def = 5;
echo $abc + $def; echo "<br />";
//Float
$num1 = 2.357;
$num2 = 2.123;
echo $num1 + $num2; echo "<br />";
//String
$namaDepan = "Jack";
$namaBelakang = "Gregory";
echo "$namaDepan $namaBelakang";
?>

Output:

1

17
4.48
Jack Gregory

Keempat tipe data yang dicontohkan di atas adalah empat tipe data dasar pada PHP. Masing-masing memiliki ranah penggunaan yang berbeda. Tipe data boolean biasanya digunakan di dalam percabangan program if-else dan jarang dideklarasikan seperti kode di atas. Dan juga di dalam echo, tipe data boolean akan menampilkan 1 bila true dan kosong bila false. Tipe data numerik seperti integer dan float untuk berhitung, sedangkan yang terakhir: tipe data string kegunaannya sangat banyak, dan akan dijelaskan lebih mendalam pada topik khusus tersendiri. Seperti halnya juga tipe data array dan object.

Tipe data pada PHP

Tipe data pada PHP bersifat longgar, tidak seperti bahasa pemrograman terkompilasi (compiled languages). Sebagai contoh:

<?php
$num1 = "5.3";
$num2 = 12;
$num3 = $num1 * $num2;
echo $num3;
echo "<br />";
$kalimat1 = "10 nanas";
$kalimat2 = "3 apel";
$hasil = $kalimat1 - $kalimat2;
echo $hasil;
?>

Output:

63.6
7

Mengecek tipe data pada PHP

Terkadang di dalam program kita memerlukan informasi mengenai tipe data pada variabel. Terutama ketika program menerima input dari pengguna program. Contohnya pada program di atas, kita tambahkan:

<?php
$num1 = "5.3";
$num2 = 12;
$num3 = $num1 * $num2;
echo $num3;
echo "<br />";
$kalimat1 = "10 nanas";
$kalimat2 = "3 apel";
$hasil = $kalimat1 - $kalimat2;
echo $hasil; 
echo "<br /><br />";
//Cek tipe data
echo gettype($num1); echo "<br />";
echo gettype($num2); echo "<br />";
echo gettype($num3); echo "<br />";
echo gettype($kalimat1); echo "<br />";
echo gettype($kalimat2); echo "<br />";
echo gettype($hasil); echo "<br />";
?>

Output:

63.6
7

string
integer
double
string
string
integer

Seperti dapat dilihat, $num1 berupa string, $num2 berupa integer. Dikalikan menjadi double. Kemudian, dua buah string dengan teks di dalamnya dikurangkan hasilnya berupa integer. Hal ini mungkin menakjubkan dan menggembirakan bagi programmer pemula. Akan tetapi sifat seperti ini sebetulnya sangat berbahaya bagi programmer karena dapat dengan mudah menyebabkan bug atau logic error pada program. Oleh karena itu, dalam menggunakan variabel, sebaiknya tiap variabel hanya digunakan untuk satu jenis penggunaan saja. Misalnya $berat, cukup diisi dengan 20, 17.3 atau sejenisnya, dan tidak diisi dengan "15 Kg", "kira-kira 20" dan sebagainya.

Terdapat juga kumpulan fungsi "is" untuk mengetahui tipe data suatu variabel. Antara lain:

  • is_array()
  • is_bool()
  • is_float()
  • is_int()
  • is_null()
  • is_numeric()
  • is_object()

Semua fungsi tersebut akan mengembalikan true atau false yang mana sangat berguna untuk percabangan program. Misalkan untuk mengecek input dari pengguna:

<?php
if (!isset($_GET['harga'])) {
  echo "Tidak ada input";
  exit;
}
$harga = $_GET['harga'];
if (is_numeric($harga)) {
  echo "Harga telah disimpan";
} else {
  echo "Harga tidak valid";
}
?>

Coba simpan kode di atas ke dalam file C:/xampp/htdocs/BelajarPHP/cekinput.php. Kemudian pada browser, cobalah ketikkan alamat-alamat berikut:

  • localhost/BelajarPHP/cekinput.php
  • localhost/BelajarPHP/cekinput.php?harga=7200
  • localhost/BelajarPHP/cekinput.php?harga=mahal

Akan tampil hasil yang berbeda-beda tergantung dari isi variabel harga. Program di atas menggunakan teknik percabangan if else dan penerimaan input pengguna menggunakan $_GET yang mana keduanya akan dibahas pada topik terpisah.

Penjelasan singkat program:

  • baris 2: mengecek apakah ada input harga dari pengguna
  • baris 3 dan 4: menampilkan "tidak ada input" dan keluar dari program
  • baris 6: memindahkan isi variabel $_GET['harga'] ke $harga
  • baris 7: mengecek apakah $harga berupa angka
  • baris 8: menampilkan "Harga telah disimpan" bila harga berupa angka
  • baris 10: menampilkan "Harga tidak valid" bila input tidak berupa angka

Literal pada PHP

Pada pemrograman, terdapat juga istilah literal. Yang dimaksud literal adalah nilai pada program, seperti 1, 2, 3, true, false, 2.57, "Saya", atau null. Istilah ini agak kurang populer di dunia pemrograman karena orang cenderung langsung menyebutkan suatu nilai saja. Tapi di sini Saya mengenalkan istilah ini agar ke depan dapat lebih mudah mendiskusikan literal.

Konstanta pada PHP

Konstanta sama dengan variabel, merupakan suatu kata yang menampung nilai. Hanya saja konstanta nilainya tidak dapat diubah. Hanya bisa dibaca. Untuk mendefinisikan konstanta pada PHP, kita menggunakan perintah define. Saya sendiri hampir tidak pernah menggunakan konstanta. Tetapi sebagai pengetahuan saja, contoh penggunaan konstanta pada PHP:

<?php
define("GRAVITASI", 9.80665);
$massa = 20;
$berat = GRAVITASI * $massa;
echo "Berat = massa x perc.gravitasi<br />";
echo "Berat = $massa Kg x ".GRAVITASI."m/s<sup>2</sup><br />";
echo "Berat = $berat Newton";
?>

Saat didefinisikan, nama konstanta dibungkus dengan tanda petik dua. Dan saat dipakai, nama konstanta diketik begitu saja tanpa tanda $ di depannya. Penulisan nama konstanta pada PHP biasanya menggunakan huruf besar semua (all caps). Anda tidak wajib mengikuti ini, akan tetapi sangat disarankan untuk mengikuti cara ini.