Admin Fahru

PHP : Variabel dan Tipe Data

Ilustrasi PHP Tipe Data dan Variabel

Di setiap pemrograman selalu ada variabel, variabel bisa diibaratkan sebagai wadah untuk menyimpan informasi. Dalam artikel ini akan dibahas mengenai variabel dalam pemrograman PHP meliputi tata cara penulisan, cakupan variabel, dan tipe data.

PHP termasuk ke dalam bahasa pemrograman yang tidak memiliki aturan ketat dalam pendefinisian variabel (Loosely Typed Language). Contoh lain dari tipe bahasa pemrograman ini adalah Javascript. Pada PHP dan Javascript kita tidak perlu mendefinisikan tipe data ketika membuat variabel, bahkan sebuah variabel bisa diisi oleh nilai dengan tipe data yang berbeda. Ini menjadi sebuah keuntungan bagi para programmer pemula untuk belajar pemrograman, namun pada project yang lebih rumit akan menjadi kendala dikarenakan ketidak jelasan tipe data.

Contoh Loosely Typed Language pada PHP :

<?php
$x = "Hello";
$y = 4;
echo $x + $y;
// Output: 4
?>

Contoh Loosely Typed Language pada Javascript :

let x = "Hello"
let y = 4
console.log(x + y)
// Ouput: Hello4

Dari dua contoh ini kita mendapati perbedaan output meski keduanya memiliki algoritma yang sama.

Baiklah, kembali ke topik variabel dalam PHP.

Aturan Penulisan Variabel PHP

Aturan penulisan variabel PHP mengikuti coding style standard PSR-12 sebagai berikut : 

  1. Variabel dimulai oleh tanda  dilanjutkan dengan nama variabel tanpa ada spasi
    Contoh :
    <?php
    // Contoh benar
    $txt = "Hello World";
    echo $txt;
    // Output: Hello World
    ?>
    
    <?php
    // Contoh Salah
    $ txt = "Hello World";
    echo $txt;
    // Output: PHP Parse Error
    ?>
    
  2. Nama variabel harus dimulai dengan huruf atau underscore (_)
    Contoh :
    <?php
    // Contoh benar
    $_123 = "Hello World";
    echo $_123;
    // Output: Hello World
    ?>
    
    <?php
    // Contoh Salah
    $123 = "Hello World";
    echo $123;
    // Output: PHP Parse Error
    ?>
    
  3. Tidak boleh ada spesial karakter dalam nama variabel, hanya boleh huruf, angka, dan underscore (_)
  4. Nama variabel bersifat case-sensitive, yang berarti variabel $age berbeda dengan $Age
  5. Penulisan nama variabel mengikuti pola camelCase.
    Contoh : 
    <?php
    // Contoh benar
    $helloWorld = "Hello World";
    echo $helloWorld;
    // Output: Hello World ?> <?php // Contoh Salah $helloworld = "Hello World";
    echo $helloworld; // Output: Hello World // Meski output sesuai // namun penulisan nama variabel tidak mengikuti coding style standard ?>

Cakupan Variabel PHP

Variabel dalam PHP terbagi menjadi beberapa cakupan (scope), yakni global, local dan static.

1. Cakupan Global (Global Scope)

Variabel pada global scope didefinisikan sebagai variabel yang dibuat di luar fungsi, variabel ini tidak bisa diakses secara langsung oleh fungsi.

Contoh : 

<?php
// global scope
$text = "Hello World";

// print variabel
echo $text;
// Output: Hello World
?>

<?php
// global scope
$text = "Hello World";

// buat fungsi myFunction
function myFunction()
{
    // print variabel
    echo $text;
}
// jalankan fungsi
myFunction();
// Output: Error: PHP Notice: Undefined variable
?>

cara agar variabel global bisa diakses oleh fungsi yaitu dengan menggunakan global keyword di dalam fungsi. Melanjutkan contoh di atas :

<?php
// global scope
$text = "Hello World";

// buat fungsi myFunction
function myFunction()
{
    // tambahkan keyword global
    global $text;
    // print variabel
    echo $text;
}
// jalankan fungsi
myFunction();
// Output: Hello World
?>

2. Cakupan Local (local scope)

Variabel local dideklarasikan di dalam fungsi, variabel ini akan di reset setiap kali fungsi dijalankan. Oleh karena berada di dalam fungsi, variabel ini tidak bisa diakses dari global.

Contoh :

<?php
// buat fungsi myFunction
function myFunction()
{
    // local scope
    $text = "Hello World";
    // print variabel
    echo $text;
}
// jalankan fungsi myFunction(); // Output: Hello World ?>

Contoh Salah :

<?php
// buat fungsi myFunction
function myFunction()
{
    // local scope
    $text = "Hello World";
}
// jalankan fungsi myFunction(); // print variabel echo $text;// Output: Error: PHP Notice: Undefined variable ?>

3. Cakupan Static (static scope)

Variabel local yang diberi keyword  static  akan membuat nilai variabel tidak direset setiap kali fungsi dijalankan.

Contoh :

<?php
function myFunction() {
  // buat variabel dengan keyword static
  static $x = 0;
  // print variabel
  echo $x;
  // tambahkan 1 setiap kali variabel dijalankan
  $x = $x + 1;
}

myFunction();
// output: 0

myFunction();
// output: 01

myFunction();
// output: 012
?>

Tipe Data pada PHP

Meskipun PHP adalah Loosely Typed Language, kita tetap perlu mempelajari tipe data demi pemahaman yang lebih baik. 😆 Tipe data pada PHP terbagi menjadi dua jenis, yakni tipe data primitif dan tipe data non-primitif. 

Tipe data primitif adalah tipe data yang paling dasar dalam pemrograman, nilai tipe data primitif tidak bisa dipilah-pilah lagi, sebagai contoh tipe data primitif integer dengan nilai 1234 tidak bisa dipilah menjadi integer bernilai 1, 2, 3 dan 4.

Tipe data non-primitif adalah tipe data yang terdiri dari tipe data primitif, bisa berupa kumpulan (collection) maupun object. Sebagai contoh adalah tipe data string yang merupakan himpunan dari tipe data char, sehingga bisa dipilah-pilah menjadi beberapa bagian.
Contoh :

<?php
// buat variabel bertipe data string
$text = "Hello World";

// print index pertama (0) dari nilai variabel
echo $text[0]; // output: H
?>

A. Daftar Tipe Data Primitif

1. Number

Number adalah tipe data yang bernilai angka, bisa berupa bilangan bulat (integer) dan desimal (float). Mengetahui perbedaan kedua tipe data ini sangat berguna saat kita hendak membuat algoritma yang berhubungan dengan matematika, seperti mencari bilangan ganjil / genap, prima, dan lainnya.

Integer ditandai dengan tidak adanya point / titik. Pada prosesor 64 bit, nilai minimal integer adalah -9223372036854775808 sedangkan nilai maksimalnya adalah 9223372036854775807. Lebih dari nilai ini secara otomatis tipe data menjadi float. Untuk mengetahui nilai max dan min dari integer dapat menggunakan PHP_INT_MAX dan PHP_INT_MIN.

Lebih lengkap mengenai integer bisa dilihat pada kode berikut:

<?php
$x = 123; // buat variabel $x

echo $x; // output: 123
?>
<br/>
<?php
$y = PHP_INT_MAX; // buat variabel $y berisi max integer

echo $y; // output: 9223372036854775807
?>
<br/>
<?php
$z = $x + $y; // tambahkan $x dan $y

echo $z; // output: 9.2233720368548E+18
?>
<br/>
<?php
// dapatkan tipe data dari $z
echo gettype($z); // output: double / float (bilangan desimal)
?>

fungsi bawaan php  gettype($variable)  dapat digunakan untuk mendapatkan tipe data dari sebuah variabel.

Desimal (double atau float) ditandai dengan adanya titik / point pada angka, bahkan untuk menyatakan bilangan eksponen juga. Sebagai contoh, 1.33 adalah bilangan desimal, 1.33e9 juga bilangan desimal meski nilainya 1330000000. Nilai yang berada di luar rentang nilai integer akan menjadi nilai desimal seperti contoh sebelumnya.

Contoh :

<?php
$x = 1.33; // buat variabel $x
echo $x; // output: 1.33
?>
<br/>
<?php
$y = 1.33e9; // buat variabel y nilainya = 1.33 kali 10 pangkat 9
echo $y; // output: 1330000000 atau 1.330.000.000
?>

2. Boolean

Boolean adalah tipe data primitif yang hanya bernilai true atau false, pada kasus tertentu nilai true diwakili oleh angka 1 sedangkan nilai false diwakili oleh angka 0.

3. Null

Null adalah tipe data primitif yang nilainya hanya null saja, maksud dari nilai null pada variabel adalah tidak ada nilai yang ditentukan pada variabel tersebut. Variabel yang dideklarasikan tanpa nilai secara default akan bernilai null.

Contoh :

<?php
// Jika variabel tidak memiliki nilai
// maka nilainya adalah null
$x;
echo gettype($x); // output: NULL
?>

B. Tipe Data Kumpulan (Collection)

Variabel dengan tipe data collection dapat diisi dengan banyak data. Dalam PHP, tipe data collection hanya terdiri dari dua jenis, yaitu string dan array. Ciri utama dari sebuah collection adalah banyaknya item dari collection dapat diketahui menggunakan fungsi tertentu.

1. String

String adalah tipe data untuk teks, ditandai dengan adanya tanda petik, contohnya '123' dan "123" adalah string meski di dalamnya berisi angka. String dianggap tipe data collection dikarenakan masing-masing anggotanya dapat diakses dengan index.
Contoh :

<?php
// buat variabel bertipe data string
$text = "Hello World";

// print index 3 dari nilai variabel
echo $text[3]; // output: l
// print index 8 dari nilai variabel
echo $text[7]; // output: lo
// print index keempat dari nilai variabel
echo $text[8]; // output: lor
// print index keempat dari nilai variabel
echo $text[10]; // output: lord
?>

String Interpolation atau menyisipkan variabel dalam string dapat dilakukan jika teks dibungkus dungan tanda petik dua (""). Variabel dapat disisipkan dalam string dengan format  ${namaVariabel} 
Contoh : 

<?php
$text1 = "PHP";
$int1 = 11;
echo "Belajar ${text1} di kelas ${int1}"; ?>

Dikarenakan string adalah kumpulan karakter, maka cara mendapatkan panjang sebuah string dalam php dapat menggunakan fungsi strlen("String") , "String" dapat berupa variabel berisi string.

2. Array

Array atau himpunan adalah tipe data yang bisa menyimpan banyak data dengan beberapa format, array bisa kosong, hanya berisi sebuah data, atau berisi banyak data. Jenis array dalam PHP terbagi menjadi 3, yaitu array terindeks, array assosiatif, dan array multidimensi.

Untuk mendapatkan banyaknya item dari sebuah array dalam PHP dapat menggunakan fungsi  count($anArray) .

Array terindex atau indexed array adalah array yang masing-masing itemnya dapat diakses dengan sebuah index. Contohnya adalah tipe data string. Index selalu dimulai dari nol (0), sehingga jika kita hendak mendapatkan nilai pertama dari sebuah array, maka gunakan index 0. Dan jika hendak mendapatkan nilai terakhir dari sebuah array, maka gunakan index jumlah item dikurangi 1.
Contoh :

<?php
$array = array("Hello", "World");
// print array
print_r($array); // output: Array ( [0] => Hello [1] => World )
?>
<br/>
<?php
$array1 = array("Belajar", "Array");
// print menggunakan index
echo "${array1[0]} ${array1[1]}"; // output: Belajar Array
?>

Array assosiatif atau associative array adalah array yang masing-masing itemnya terdiri dari pasangan kunci - nilai (key-value pair). Untuk mendapatkan item dari array assosiatif adalah dengan menyertakan kata kunci pada variabelnya.
Contoh:

<?php
$umur = array("siswa1" => 14, "siswa2" => 16, "siswa3" => 15);
// print umur
print_r($umur); //output: Array ( [siswa1] => 14 [siswa2] => 16 [siswa3] => 15 )
?>
<br/>
<?php
// print menggunakan key atau kata kunci
echo "Siswa2 berumur ${umur['siswa2']} tahun"; // output: Siswa2 berumur 16 tahun
?>

Array multidimensi atau multidimensional array adalah array yang itemnya berupa array. Meski tidak ada batasan berapa banyak dimensi yang dibolehkan, namun biasanya array multidemensi yang sering digunakan adalah array 2 dimensi (array yang berisi array yang berisi item).

Penentuan banyaknya dimensi dari array berdasarkan itemnya, array 1 dimensi adalah array yang berisi item, array 2 dimensi adalah sebuah array yang berisi array yang berisi item, array 3 dimensi adalah array yang berisi array yang berisi array yang berisi array yang berisi item, dan seterusnya.

Contoh array 2 dimensi :

<?php
$array2D = array(
  array("Siswa1", "Semester 2", "kelas A"),
  array("Siswa2", "Semester 2", "kelas B"),
  array("Siswa3", "Semester 3", "kelas C")
);

echo $array2D[0][0] ." berasal dari ". $array2D[0][1] ." ". $array2D[0][2] ."<br/>";
echo $array2D[1][0] ." berasal dari ". $array2D[1][1] ." ". $array2D[1][2] ."<br/>";
echo $array2D[2][0] ." berasal dari ". $array2D[2][1] ." ". $array2D[2][2] ."<br/>";

// output:
// Siswa1 berasal dari Semester 2 kelas A
// Siswa2 berasal dari Semester 2 kelas B
// Siswa3 berasal dari Semester 3 kelas C
?>

Item dari array php tidak terikat pada suatu tipe data, yang berarti data apapun bisa dimasukkan ke dalam array. Namun bentuk array seperti ini sangat tidak disarankan, sebisa mungkin sebuah array berisi item yang seragam.
Contoh berikut adalah sebuah array yang berisi tipe data string, integer, null, dan array:

<?php
$array = array(
   "Ini adalah array kompleks", // item index 0
   200,                         // item index 1
   "Siswa1" => "Semester 2 kelas A", // item key "Siswa1"
   array("Siswa2", "Semester 2", "kelas B") // item index 2
);

echo "${array[0]}, nilai ${array[1]} adalah integer<br/>";
echo "Key Siswa1 berisi ${array["Siswa1"]}<br/>";
echo $array[2][0] ." berasal dari ". $array[2][1] ." ". $array[2][2] ."<br/>";
// output:
// Ini adalah array kompleks, nilai 200 adalah integer
// Key Siswa1 berisi Semester 2 kelas A
// Siswa2 berasal dari Semester 2 kelas B
?>

PHP memiliki banyak fungsi bawaan (built-in function) yang akan membantu programmer dalam menangani array, fungsi - fungsi yang sering digunakan dalam mengolah data array akan dijelaskan di artikel lainnya.

Sekian, semoga bermanfaat.


Pengaturan
Mode
Warna
Search panel