--> Skip to main content

Klasifikasi Tipe Data PHP Part1

Seperti dalam bahasa pemrograman lain, pada PHP terkadang seorang developer perlu menggunakan suatu tipe data. Tipe data adalah suatu data yang memiliki karakteristik tertentu yang ditampung oleh variabel. Seperti variabel NIM yang hanya mengizinkan tipe data numerik. 

Pada pemrograman PHP, kita mengklasifikasikan tipe data kedalam dua kategori besar, yaitu:

  1. Tipe data skalar (Scalar Data Type)
  2. Tipe data yang mengandung nilai tunggal. Tipe data yang termasuk dalam kategori ini adalah : Boolean, Integer, Float dan String. 

  3. Tipe data kompleks (Compound Data Type)
    Tipe data yang mengandung nilai lebih dari satu. Yang termasuk kedalam kategori ini adalah : Array dan Object.

Boolean

Tipe data yang ditemukan oleh bapak teori informasi George Boole hanya mengandung dua nilai, yaitu : TRUE atau FALSE atau sebagai alternatifnya bisa juga diwakili 1 dan 0.

Contoh 1:
<?php
/**
 * Contoh Penggunaan Boolean
 * @author Pusat Ilmu Secara Detil
 * @version 1.0
 */
 
   $var0 = FALSE; // return false
   $var1= ""; // return false
   $var2 = " "; // return true
   $var3 = 1; // return true
   $var4 = -8; // return true
   $var5 = "belajar"; // return true
   $var6 = 1.18; // return true
   $var7 = array(); // return false
   $var8 = array(12); // return true
   $var9 = "false"; // return true
   // Mencetak Output
   echo"Nilai Var0"," = ",(bool)$var0,"<br>";
   echo"Nilai Var1"," = ",(bool)$var1,"<br>"; 		
   echo"Nilai Var2"," = ",(bool)$var2,"<br>";
   echo"Nilai Var3"," = ",(bool)$var3,"<br>"; 	   
   echo"Nilai Var4"," = ",(bool)$var4,"<br>"; 
   echo"Nilai Var5"," = ",(bool)$var5,"<br>"; 
   echo"Nilai Var6"," = ",(bool)$var6,"<br>"; 
   echo"Nilai Var7"," = ",(bool)$var7,"<br>"; 
   echo"Nilai Var8"," = ",(bool)$var8,"<br>"; 
   echo"Nilai Var9"," = ",(bool)$var9,"<br>"; 

?>

Output Contoh 1 :
Nilai Var0 =
Nilai Var1 =
Nilai Var2 = 1
Nilai Var3 = 1
Nilai Var4 = 1
Nilai Var5 = 1
Nilai Var6 = 1
Nilai Var7 = 
Nilai Var8 = 1
Nilai Var9 = 1

Kita melihat untuk hasil "Nilai Var0","Nilai Var1","Nilai Var7" tidak berisi output apapun. Hal ini diakibatkan sintaks echo tidak dapat menterjemahkannya. Contoh 1 kurang tepat dalam hal mengetahui nilai Boolean. Karena pada saat deklarasi, variabel Var0....Var9 dilakukan secara Juggling. 

Juggling merupakan sifat dari variabel PHP yang tidak memerlukan pendefinisian tipe data dari sebuah variabel. Juggling ini memiliki kemampuan secara otomatis terhadap jenis tipe data dari variabel yang didasarkan operator yang digunakan. Jadi seandainya kita operator +/- pada dua variabel, maka juggling akan menganggapnya variabel bertipe data Integer.

Kembali ke persoalan contoh 1, setelah deklarasi secara juggling, kita melakukan pengkonversian tipe data (Casting) ke dalam Boolean dengan menggunakan echo. Sehingga ada beberapa output yang tidak tertampilkan. Untuk mengatasinya, kita bisa menggunakan fungsi var_dump() yang mengembalikan tipe data dan nilai variabelnya seperti yang diperlihatkan Contoh 2 berikut :

Contoh 2:
<?php
  var_dump((bool) 5); 
  echo "<br/>";
  var_dump((bool) 0);  
  echo "<br/>";
  var_dump((bool) -1);  
  echo "<br/>";
  var_dump((bool) ""); 
  echo "<br/>";
  var_dump((bool) " "); 
  echo "<br/>";
  var_dump((bool) "0"); 
  echo "<br/>";
  var_dump((bool) "FALSE"); 
  echo "<br/>";
  var_dump((bool) array()); 
  echo "<br/>";
  var_dump((bool) array("data")); 
  echo "<br/>";
?>

Output Contoh 2 :
bool(true) 
bool(false) 
bool(true) 
bool(false) 
bool(true) 
bool(false) 
bool(true) 
bool(false) 
bool(true)
Penggunaan tipe data Boolean biasanya digunakan dalam structure control (logikan if-else dan switch...case) dan looping (for, while dan do...while). Kita juga dapat menggunakannya dalam operator kondisi ? seperti yang ditunjukkan oleh contoh 3 berikut:

Contoh 3:
<?php
/**
 * Contoh Penggunaan Boolean
 * @author Pusat Ilmu Secara Detil
 * @version 1.0
 */
    $var0 = FALSE; // return false
   $var1= ""; // return false
   $var2 = " "; // return true
   $var3 = 1; // return true
   $var4 = -8; // return true
   $var5 = "belajar"; // return true
   $var6 = 1.18; // return true
   $var7 = array(); // return false
   $var8 = array(12); // return true
   $var9 = "false"; // return true
  
  // Mencetak Output
   echo"Nilai Var0"," = ",(bool)$var0?'TRUE':'FALSE',"<br>";
   echo"Nilai Var1"," = ",(bool)$var1?'TRUE':'FALSE',"<br>";
   echo"Nilai Var2"," = ",(bool)$var2?'TRUE':'FALSE',"<br>";
   echo"Nilai Var3"," = ",(bool)$var3?'TRUE':'FALSE',"<br>";
   echo"Nilai Var4"," = ",(bool)$var4?'TRUE':'FALSE',"<br>";
   echo"Nilai Var5"," = ",(bool)$var5?'TRUE':'FALSE',"<br>";
   echo"Nilai Var6"," = ",(bool)$var6?'TRUE':'FALSE',"<br>";
   echo"Nilai Var7"," = ",(bool)$var7?'TRUE':'FALSE',"<br>";
   echo"Nilai Var8"," = ",(bool)$var8?'TRUE':'FALSE',"<br>";
   echo"Nilai Var9"," = ",(bool)$var9?'TRUE':'FALSE',"<br>";
?>

Output Contoh 3:
Nilai Var0 = FALSE
Nilai Var1 = FALSE
Nilai Var2 = TRUE
Nilai Var3 = TRUE
Nilai Var4 = TRUE
Nilai Var5 = TRUE
Nilai Var6 = TRUE
Nilai Var7 = FALSE
Nilai Var8 = TRUE
Nilai Var9 = TRUE

Pada PHP >=5.5.0, terdapat fungsi bootval() yang berfungsi untuk mendapatkan nilai boolean dari sebuah variabel. Untuk bisa menjalankannya, pastikan versi phpnya support.

Contoh 4:
<?php
echo '0:        '.(boolval(0) ? 'true' : 'false')."\n";
echo '42:       '.(boolval(42) ? 'true' : 'false')."\n";
echo '0.0:      '.(boolval(0.0) ? 'true' : 'false')."\n";
echo '4.2:      '.(boolval(4.2) ? 'true' : 'false')."\n";
echo '"":       '.(boolval("") ? 'true' : 'false')."\n";
echo '"string": '.(boolval("string") ? 'true' : 'false')."\n";
echo '"0":      '.(boolval("0") ? 'true' : 'false')."\n";
echo '"1":      '.(boolval("1") ? 'true' : 'false')."\n";
echo '[1, 2]:   '.(boolval([1, 2]) ? 'true' : 'false')."\n";
echo '[]:       '.(boolval([]) ? 'true' : 'false')."\n";
echo 'stdClass: '.(boolval(new stdClass) ? 'true' : 'false')."\n";
?>

Output Contoh 4:
0:        false
42:       true
0.0:      false
4.2:      true
"":       false
"string": true
"0":      false
"1":      true
[1, 2]:   true
[]:       false
stdClass: true

Tipe data berikutnya : Integer
    Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
    Buka Komentar
    Tutup Komentar