7 Tipe Data Pemograman Yang Harus Diketahui
Tipe Data dan Penerapan
Tipe data merupakan jenis atau karakteristik nilai yang ditampung dalam sebuah variabel. Setiap tipe data mendefinisikan tujuan yang berbeda sesuai dengan operasi yang akan dilakukan pada data tersebut. Tipe data pada PHP tidak didefinisikan secara eksplisit. Hal ini dikarenakan tipe data dari setiap variabel ditentukan dari nilai yang di-assign.
Berikut adalah beberapa fungsi penting yang dapat dimanfaatkan berkaitan dengan tipe data, yaitu:
gettype()
digunakan untuk mengetahui tipe data suatu variabel.isset()
digunakan untuk menentukan apakah sebuah variabel telah dideklarasi dan tidak sama dengan NULL.empty()
digunakan untuk menentukan apakah sebuah variabel kosong.
Fungsi
empty()
mengembalikan nilaifalse
apabila sebuah variabel dideklarasi dan memiliki nilai tidak kosong dan angka bukan nol'0'
.Berikut adalah beberapa nilai yang mengembalikan nilai
false
pada fungsiempty()
:
- "” (sebuah string kosong)
- 0 (sebuah integer bernilai 0)
- 0.0 (sebuah float bernilai 0)
- “0” (sebuah string bernilai 0)
NULL
false
- [] (sebuah array kosong)
Fungsi
empty($var)
memiliki ekuivalensi dengan!isset($var) || $var == false
.
Contoh:
<?php $varNull = NULL; $varBoolean = true; $varInteger = 1; $varDouble = 3.2; $varString = "kata"; $varArray = [1, 2, 3]; $varObject = new stdClass; echo gettype($varNull); // Output: NULL echo gettype($varBoolean); // Output: boolean echo gettype($varInteger); // Output: integer echo gettype($varDouble); // Output: double echo gettype($varString); // Output: string echo gettype($varArray); // Output: array echo gettype($varObject); // Output: object?>
Dalam PHP terdapat 7 tipe data, yaitu:
1. NULL
Tipe data NULL merepresentasikan sebuah variabel tanpa nilai. Apabila kita membentuk sebuah variabel baru tanpa memberikan nilai, tipe data variabel tersebut secara otomatis menjadi NULL. Begitu pula apabila kita hendak mengosongkan nilai dari isi variabel, kita dapat melakukan assignment NULL pada variabel tersebut. Hal ini akan menyebabkan variabel terhapus dari memori.
Tipe data NULL memiliki nilai kebenaran false
.
Untuk melakukan evaluasi tipe data NULL, kita dapat menggunakan fungsi is_null()
.
NULL berbeda dengan undefined. undefined berarti sebuah variabel yang tidak dideklarasi sehingga tidak memiliki nilai dan tipe data.
<?php $nullVariable = NULL; echo gettype($undefinedVariable); // Notice: Undefined variable: undefinedVariable // Output: NULL echo gettype($nullVariable); // Output: NULL echo isset($undefinedVariable) ? "true" : "false"; // Output: false echo isset($nullVariable) ? "true" : "false"; // Output: false echo empty($undefinedVariable) ? "true" : "false"; // Output: true echo empty($nullVariable) ? "true" : "false"; // Output: true echo is_null($undefinedVariable) ? "true" : "false"; // Notice: Undefined variable: undefinedVariable // Output: true echo is_null($nullVariable) ? "true" : "false"; // Output: true?>
Kita dapat memperhatikan bahwa sebuah variabel yang tidak dideklarasikan akan menampilkan peringatan Notice: Undefined variable ...
dan menetapkan variabel tersebut bertipe data NULL sebagai default value.
2. Boolean
Tipe data boolean merupakan tipe data yang hanya dapat bernilai true dan false. Tipe data ini umumnya dimanfaatkan dalam struktur kontrol. Penulisan true dan false tidak perlu menggunakan tanda petik, karena akan menetapkannya sebagai string.
Tipe data boolean yang tidak dideklarasi memiliki default value false
.
Untuk melakukan evaluasi tipe data boolean, kita dapat menggunakan fungsi is_bool()
.
<?php $varTrue = true; $varFalse = false; echo gettype($varTrue); // Output: boolean echo gettype($varFalse); // Output: boolean echo isset($varTrue) ? "true" : "false"; // Output: true echo isset($varFalse) ? "true" : "false"; // Output: true echo empty($varTrue) ? "true" : "false"; // Output: false echo empty($varFalse) ? "true" : "false"; // Output: true echo is_bool($varTrue) ? "true" : "false"; // Output: true echo is_bool($varFalse) ? "true" : "false"; // Output: true?>
3. Integer
Tipe data integer merupakan tipe data yang nilainya mencakup angka (number). integer dapat diterapkan dengan notasi decimal (…, -2, -1, 0, 1, 2, …), hexadecimal (awalan 0x
), atau octal (awalan 0
). Penulisan untuk nilai integer juga tidak memerlukan tanda petik.
- Tipe data integer memiliki nilai kebenaran
true
untuk angka bukan nol'0'
. - Tipe data integer memiliki nilai kebenaran
false
untuk angka nol'0'
.
Tipe data integer yang tidak dideklarasi memiliki default value 0
.
Untuk melakukan evaluasi tipe data integer, kita dapat menggunakan fungsi is_int()
.
<?php $decimalPos = 77; // angka decimal positif $zeroValue = 0; // angka 0 $decimalNeg = -77; // angka decimal negatif $hexadecimalPos = 0xB; // angka hexadecimal positif $hexadecimalNeg = -0x1D; // angka hexadecimal negatif $octalPos = 012; // angka octal positif $octalNeg = -022; // angka octal negatif echo gettype($decimalPos); // Output: integer echo gettype($decimalNeg); // Output: integer echo isset($hexadecimalPos) ? "true" : "false"; // Output: true echo isset($hexadecimalNeg) ? "true" : "false"; // Output: true echo empty($decimalPos) ? "true" : "false"; // Output: false echo empty($zeroValue) ? "true" : "false"; // Output: true echo empty($decimalNeg) ? "true" : "false"; // Output: false echo is_int($octalPos) ? "true" : "false"; // Output: true echo is_int($octalNeg) ? "true" : "false"; // Output: true?>
4. Float
Tipe data float merupakan tipe data yang nilainya mencakup bilangan pecahan (angka desimal). Sama seperti integer, penulisan float tidak memerlukan tanda petik.
Jika kita menjalankan fungsi gettype()
pada variabel bertipe data float, variabel akan didefinisikan sebagai double. Hal ini dikarenakan pada dasarnya float dan double merupakan tipe data yang sama, hanya berbeda pada ukurannya.
- Tipe data float memiliki nilai kebenaran
true
untuk angka bukan nol'0'
. - Tipe data float memiliki nilai kebenaran
false
untuk angka nol'0'
. NAN
(Not-A-Number) memiliki nilai kebenarantrue
. Hal ini dikarenakanNAN
termasuk angka bukan nol'0'
.
Tipe data float yang tidak dideklarasi memiliki default value 0
.
Untuk melakukan evaluasi tipe data float, kita dapat menggunakan fungsi is_float()
atau is_double()
.
<?php $floatPos = 7.5237; $zeroValue = 0.00; $floatNeg = -0.13967; $floatExpo = 2.1e5; // 2.1 x 10^(5) $floatEnot = 5E-3; // 5 x 10^(-3) echo gettype($floatPos); // Output: double echo gettype($floatNeg); // Output: double echo isset($floatExpo) ? "true" : "false"; // Output: true echo isset($floatEnot) ? "true" : "false"; // Output: true echo empty($floatPos) ? "true" : "false"; // Output: false echo empty($zeroValue) ? "true" : "false"; // Output: true echo empty($floatNeg) ? "true" : "false"; // Output: false echo is_float($floatPos) ? "true" : "false"; // Output: true echo is_double($floatNeg) ? "true" : "false"; // Output: true?>
5. String
Tipe data string merupakan tipe data yang terdiri dari kumpulan karakter (array of characters). Penulisan string menggunakan tanda petik.
- Tipe data string memiliki nilai kebenaran
true
untuk teks dengan panjang tertentu (> 0), selain string angka nol'0'
. - Tipe data string memiliki nilai kebenaran
false
untuk teks kosong dan string angka nol'0'
Tipe data string yang tidak dideklarasi memiliki default value ''
.
Untuk melakukan evaluasi tipe data string, kita dapat menggunakan fungsi is_string()
.
<?php $statement1 = 'Ini string.'; $statement2 = "Ini juga string."; $statementEmpty = ""; $statementZero = "0"; echo gettype($statement1); // Output: string echo gettype($statement2); // Output: string echo isset($statement1) ? "true" : "false"; // Output: true echo isset($statementEmpty) ? "true" : "false"; // Output: true echo isset($statementZero) ? "true" : "false"; // Output: true echo empty($statement1) ? "true" : "false"; // Output: false echo empty($statementEmpty) ? "true" : "false"; // Output: true echo empty($statementZero) ? "true" : "false"; // Output: true echo is_string($statement1) ? "true" : "false"; // Output: true echo is_string($statementEmpty) ? "true" : "false"; // Output: true echo is_string($statementZero) ? "true" : "false"; // Output: true?>
6. Object
Tipe data object merupakan tipe data yang dapat berisi data dan method (function). object dapat juga diartikan sebagai instance dari sebuah class. object disebut sebagai tipe data yang abstrak, berfungsi untuk menampung data dan method yang dapat diakses menggunakan operator ->
.
Untuk melakukan evaluasi tipe data object, kita dapat menggunakan fungsi is_object()
.
<?php class Contoh { // data-data // method-method function Contoh() { $this->keterangan = "Tidak ada ..."; } } $first_object = new Contoh; echo gettype($first_object); // Output: object echo $first_object->keterangan; // Output: Tidak ada ... echo $first_object->contoh; // Output: Notice: Undefined property: Contoh::$contoh echo isset($first_object) ? "true" : "false"; // Output: true echo isset($first_object->keterangan) ? "true" : "false"; // Output: true echo isset($first_object->contoh) ? "true" : "false"; // Output: false echo empty($first_object) ? "true" : "false"; // Output: false echo empty($first_object->keterangan) ? "true" : "false"; // Output: false echo empty($first_object->contoh) ? "true" : "false"; // Output: true echo is_object($first_object) ? "true" : "false"; // Output: true $second_object = new stdClass; $second_object->nilai1 = "Nilai pertama"; $second_object->nilai2 = 2; var_dump($second_object); // Output: object(stdClass)#1 (2) { ["nilai1"]=> string(13) "Nilai pertama" ["nilai2"]=> int(2) }?>
7. Array
Tipe data array merupakan tipe data yang dapat memuat lebih dari satu nilai (value), umumnya digunakan untuk memuat data yang saling berhubungan. Masing-masing nilai dari array diakses menggunakan index atau key.
Sebuah array dapat berupa indexed array jika array menggunakan index dimulai dari angka 0. Selain itu, array juga dapat berupa associative array dengan key yang dapat kita tentukan sendiri. Pada dasarnya, semua array dalam PHP merupakan associative array. Namun, dalam konvensinya, associative array ditujukan secara spesifik untuk array yang memiliki satu atau lebih key bukan angka (menggunakan index).
Pada PHP, penulisan array dapat menggunakan array(...)
dan [...]
. Namun, penulisan dengan [...]
terlihat lebih rapi dan modern.
Untuk melakukan evaluasi tipe data array, kita dapat menggunakan fungsi is_array()
.
<?php $foods = ["Spaghetti", "Bread", "Steak", "fastFood" => "Burger"]; echo gettype($foods); // Output: array echo $foods[2]; // Akses nilai dari array menggunakan index // Output: Steak echo $foods["fastFood"]; // Akses nilai dari array menggunakan key // Output: Burger echo $foods[5]; // Output: Notice: Undefined offset: 5 echo isset($foods) ? "true" : "false"; // Output: true echo isset($foods[2]) ? "true" : "false"; // Output: true echo isset($foods[5]) ? "true" : "false"; // Output: false echo empty($foods) ? "true" : "false"; // Output: false echo empty($foods[2]) ? "true" : "false"; // Output: false echo empty($foods[5]) ? "true" : "false"; // Output: true echo is_array($foods) ? "true" : "false"; // Output: true var_dump($foods); // Output: array(4) { [0]=> string(9) "Spaghetti" [1]=> string(5) "Bread" [2]=> string(5) "Steak" ["fastFood"]=> string(6) "Burger" }?>
Evaluasi Tipe Lainnya [Pengayaan]
Selain melakukan evaluasi tipe data, kita juga dapat memanfaatkan beberapa fungsi tambahan yang disediakan PHP untuk melakukan evaluasi keadaan tipe tertentu.
is_finite()
berguna untuk menentukan apakah sebuah nilai terhingga (masih dalam range yang diperbolehkan pada PHP float).is_infinite()
berguna untuk menentukan apakah sebuah nilai tidak terhingga (di luar range yang diperbolehkan pada PHP float).is_numeric()
berguna untuk menentukan apakah sebuah nilai merupakan angka atau string berupa angka.is_nan()
berguna untuk menentukan apakah sebuah nilai bukan angka (not a number).
<?php $zeroLog = log(0); // infinity $oneThousand = 1000; $twoThousand = '2000'; $boolFalse = false; $acosValue = acos(1.1); // NaN (not a number) echo is_finite($zeroLog) ? "true" : "false"; // Output: false echo is_finite($oneThousand) ? "true" : "false"; // Output: true echo is_infinite($zeroLog) ? "true" : "false"; // Output: true echo is_infinite($oneThousand) ? "true" : "false"; // Output: false echo is_numeric($zeroLog) ? "true" : "false"; // Output: true echo is_numeric($oneThousand) ? "true" : "false"; // Output: true echo is_numeric($twoThousand) ? "true" : "false"; // Output: true echo is_numeric($boolFalse) ? "true" : "false"; // Output: false echo is_nan($oneThousand) ? "true" : "false"; // Output: false echo is_nan($acosValue) ? "true" : "false"; // Output: true?>
Posting Komentar untuk "7 Tipe Data Pemograman Yang Harus Diketahui"