Kodealgo

Tipe Data PHP

Tipe data adalah jenis nilai yang memberi tahu interpreter bagaimana menafsirkan nilainya dan tipe operasi apa yang dapat digunakan untuk tipe data tersebut.

Misalnya, kita ingin menyimpan data nama seseorang, tentu tidak mungkin untuk menggunakan tipe data angka untuk menampung data tekstual, sebagai gantinya kita bisa menggunakan string yang secara khusus memang dirancang untuk data tekstual.

Selain itu, tipe data juga menentukan tipe operasi yang dapat dilakukan terhadap data tersebut, misalnya kita menggunakan operator aritmatika perkalian (*) untuk mengalikan data tekstual seperti nama dikalikan dengan nama, ini tentu saja tidak masuk akal karena operator tersebut dibuat untuk tipe data angka.

Di PHP tipe data dikelompokkan ke dalam tiga kategori, yaitu tipe data scalar, compound, dan tipe data spesial.

Kita akan membahas secara detail untuk setiap tipe data di artikel terpisah, di sini kita akan menjelaskannya sekilas.

Berikut daftar tipe data yang ada di PHP:

  1. Tipe Data Scalar
    1. Boolean
    2. String
    3. Integer
    4. Floating Point
  2. Tipe Data Compound
    1. Array
    2. Object
  3. Tipe Data Spesial
    1. NULL
    2. Resource

Tipe Data Scalar

Scalar adalah tipe data yang nilainya tunggal.

Maksud dari tunggal di sini adalah tipe data ini hanya bisa menyimpan satu jenis nilai dalam satu waktu, tidak seperti tipe data compound seperti array yang dapat berisi beberapa tipe data scalar termasuk string, angka dan sebagainya dalam satu waktu.

Boolean

Boolean adalah tipe data PHP yang hanya memiliki nilai true dan false, ini biasanya digunakan untuk mengungkap nilai kebenaran.

Misalnya kita ingin membuat variabel yang menentukan lulus atau tidaknya seorang siswa, kita bisa menggunakan true jika ya (lulus) atau false jika tidak (tidak lulus).

Contoh:

<?php

$lulus = true;

var_dump($lulus); // bool(true)

String

String adalah tipe data yang dapat digunakan untuk data tekstual atau rangakaian karakter.

Tipe data string diawali dengan kutip tunggal atau ganda, kemudian sejumlah karakter, dan diakhiri dengan kutip tunggal atau ganda sesuai dengan kutip pertama atau pembuka.

Berikut contoh string dibuat menggunakan kutip ganda dan kutip tunggal.

<?php

$nama = "budi"; // kutip ganda
$pekerjaan = 'wiraswasta'; // kutip tunggal

var_dump($nama); // string(4) "budi"
var_dump($pekerjaan); // string(10) "wiraswasta"

Entah itu menggunakan kutip ganda atau kutip tunggal, keduanya dianggap valid, pilih salah satu dan gunakan secara konsisten.

Yang perlu diperhatikan di sini, jika kita menggunakan kutip ganda diawal string, kita juga harus mengakhirinya menggunakan kutip ganda tidak boleh kutip tunggal, begitu juga sebaliknya agar string dianggap valid.

Contoh berikut string yang tidak valid, kami menggunakan menggunakan kutip tunggal sebagai pembuka dan kutip ganda sebagai penutup, seharunya kutip penutup adalah kutip tunggal sesuai kutip pembuka.

<?php

// error
$nama = 'nama";

Integer

Integer adalah angka bilangan bulat (bukan pecahan) yang bisa positif, negatif, atau nol.

Contohnya, ini bilangan bulat: 3, dan ini bilangan pecahan: 1.5. Sederhananya, bilangan bulat tidak mengandung titik, sedangkan bilangan pecahan mengandung titik.

Di PHP bilangan bulat dapat ditulis dalam notasi desimal (basis 10), heksadesimal (basis 16), oktal (basis 8), atau biner (basis 2).

<?php

$a = 1234; // desimal normal
$b = 0x1A; // heksadesimal
$c = 0123; // oktal
$d = 0b11111111; // biner

var_dump($a); // int(1234)
var_dump($b); // int(26)
var_dump($c); // int(83)
var_dump($d); // int(255)

Floating Point

Floating point adalah angka bilangan pecahan (bukan bilangan bulat) yang juga dikenal sebagai double, float, real numbers (bilangan riil).

Sederhananya, jika kita menemukan angka yang mendangung titik, angka tersebut adalah floating point.

Dalam matematika bahasa Indonesia pemisah bilangan pecahan seringkali ditulis menggunakan koma, tapi dalam pemrograman harus ditulis sesuai dengan matematika dalam bahasa internasional atau bahasa Inggris yaitu menggunakan titik.

Contoh:

<?php

$nilai = 7.5;

var_dump($nilai); // float(7.5)

Tipe Data Compound

Compound adalah tipe data yang dapat mengandung beberapa nilai dengan tipe yang berbeda-beda dalam satu waktu, termasuk tipe scalar.

Array

Array adalah tipe data yang dapat menampung beberapa nilai dari tipe data lain termasuk scalar dan bahkan array lain dalam satu waktu.

Setiap nilai atau elemen di dalam array memiliki kunci, kunci ini dapat digunakan untuk mengakses setiap elemen.

Secara default kuncinya adalah angka atau indeks dari 0 untuk elemen pertama, 1 untuk elemen kedua, dan seterusnya, ini biasanya disebut sebagai array numerik (numeric).

Kunci ini juga dapat diubah menggunakan nama yang sesuai keinginan kita, ini biasanya disebut sebagai array asosiatif (associative).

Kita bisa membuat array menggunakan konstruktor bahasa array() atau aray literal [], setiap elemen dipisahkan dengan koma.

Contoh array numerik:

<?php

$siswa1 = [
  "udin",
  "ucup",
  "encas"
];
// setara dengan
$siswa2 = array(
  "udin",
  "ucup",
  "encas"
);

var_dump($siswa1);
// array(3) {
//   [0]=>
//   string(4) "udin"
//   [1]=>
//   string(4) "ucup"
//   [2]=>
//   string(5) "encas"
// }

var_dump($siswa2);
// array(3) {
//   [0]=>
//   string(4) "udin"
//   [1]=>
//   string(4) "ucup"
//   [2]=>
//   string(5) "encas"
// }

Untuk membuat array asosiatif, setiap elemen array dapat berisi nama kunci yang sesuai keinginan kita kemudian diikuti dengan tanda sama dengan lebih besar (=>) diikuti dengan nilainya.

Contoh array asosiatif:

$siswa = [
  "nama" => "udin",
  "jenisKelamin" => "laki-laki",
  "umur" => 17
];

// setara dengan

$siswa = array(
  "nama" => "udin",
  "jenisKelamin" => "laki-laki",
  "umur" => 17
);

Untuk mengakses elemen array numerik kita bisa menggunakan nama variabel diikuti dengan angka indeks didalam kurung siku ($namaVariabel[index]), contoh:

$siswa = [
  "udin",
  "ucup",
  "encas"
];

echo $siswa[1]; // ucup

Sedangkan untuk mengakses elemen array asosiatif kita bisa menggunakan nama variabel diikuti dengan kunci elemen array ($namaVariabel['kunciElemen']), contoh:

$siswa = [
  "nama" => "udin",
  "jenisKelamin" => "laki-laki",
  "umur" => 17
];

echo $siswa['nama']; // udin

Object

Object adalah tipe data atau instance dari sebuah kelas. Umumnya dibuat menggunakan kata kunci new diikuti dengan nama kelas.

Contoh dibawah kami membuat object siswa dari kelas Siswa:

<?php

class Siswa {
  public $nama;

  public function __construct(string $nama) {
    $this->nama = $nama;
  }
}

$siswa = new Siswa("ucup"); // buat object

var_dump($siswa);
// object(Siswa)#1 (1) {
//   ["nama"]=>
//   string(4) "ucup"
// }

Tipe Data Spesial

Tipe data spesial adalah jenis data khusus yang memiliki perilaku sedikit berbeda dengan tipe scalar dan compound.

NULL

NULL adalah tipe data yang mewakili variabel tanpa nilai. null adalah satu-satunya nilai yang mungkin untuk tipe data NULL.

Sebuah variabel dianggap NULL jika diberi nilai null, tidak diberi nilai, atau nilainya dihapus menggunakan fungsi unset().

Contoh:

<?php

$nilai = null;

var_dump($nilai); // NULL

Resource

Resource adalah tipe data khusus yang nilainya merujuk ke sumber daya eksternal.

Mari kita lihat contoh dibawah, fungsi fopen berfungsi untuk membuka file atau URL, kami menggunakannya untuk membuka file yang berada di direktori yang sama dengan kode php yang akan dieksekusi.

Fungsi ini akan mengembalikan stream yang merujuk ke file sumber eksternal yaitu file text.txt, 'r' di parameter berikutnya menandakan bahwa file tersebut hanya diizinkan untuk dibaca saja.

Kemudian kami menampung nilai kembalian fungsi fopen() ke dalam variabel $fileTest variabel ini sekarang akan memiliki tipe data resource, kita bisa melihatnya menggunakan var_dump().

<?php

$fileTest = fopen('test.txt', 'r');

var_dump($filePointer); // resource(5) of type (stream)