Pengertian Type Juggling dan Casting di PHP - Belajar PHP Part 29
Pada tutorial kali ini kami akan membahas tentang pengertian type juggling dan casting di php dimana proses ini dapat merubah tipe data php dari sebuah tipe data tertentu menjadi tipe data lainnya. Jadi type juggling php maupun casting merupakan sebuah proses yang dilakukan oleh sistem php baik secara otomatis ataupun melalui instruksi untuk mengubah sebuah type data. Oleh karena itu type juggling dan type casting php adalah dua proses yang sama dalam merubah tipe data, namun berbeda pada cara proses perubahannnya. Proses ini jarang sekali ditemui dan disadari dalam programming, tetapi baik type juggling php maupun casting keduanya sangat dibutuhkan sebagai pengetahuan dasar. Karena bisa jadi error yang muncul dalam coding terjadi akibat dari proses otomatis ini.
Sampai pada pembahasan pengertian type juggling dan casting di php ini ada satu hal penting yang harus digaris bawahi, type ini bukanlah tipe data seperti INT, FLOAT, STRING, ARRAY, dan sejenisnya. Melainkan sebuah proses sistem php, dimana type juggling php tereksekusi secara otomatis, sedangkan type casting php memerlukan sebuah instruksi untuk eksekusi.
Untuk lebih jelasnya tentang proses ini, apa itu type juggling php dan juga tentang type casting php sebaiknya segera kita bahas bersama secara detail.
Pengertian Type Juggling dan Casting di PHP
Apa itu type juggling php dan type casting sudah mulai kita pahami gambaran umumnya, lebih detail untuk pengertian type juggling dan casting di php akan kita bahas satu per satu.
Pengertian Type Juggling PHP
Pada dasarnya PHP merupakan bahasa pemograman yang dapat diakali dalam aturan tipe data, seperti contoh sebuah variabel yang dapat diisi dengan berbagai tipe data. Sehingga memberikan kemudahan penulisan script, namun dapat juga menimbulkan permasalahan atau bug. Karena bisa saja PHP mengubah tipe data suatu variabel menjadi tipe data lainnya secara default tanpa ada instruksi.
Perubahan tipe data "terpaksa" inilah hal yang berhubungan langsung dengan proses type juggling php dan type casting. Perhatikan kode program type juggling php di bawah ini;
<?php $a =12; $b ="7 pegawai"; echo $a+$b; // hasil 19 ?>
Variabel $a memiliki nilai integer (angka) sedangkan variabel $b adalah sebuah string (angka dan teks). Meskipun seharusnya operasi aritmatika penambahan membutuhkan 2 operand berupa angka, namun sepertinya tidak berlaku dalam kode php di atas. Ternyata sistem PHP dapat menjalankan perintah tersebut walaupun dengan "notice error", sehingga 12+7 pegawai hasilnya adalah 19.
Apa yang dilakukan oleh type juggling php ini? sistem PHP secara otomatis akan memaksa operand di dalam operator aritmatika diubah menjadi tipe data yang sesuai. Karena prosesnya adalah operasi aritmatika, maka seharusnya tipe data di dalam operand tersebut bertipe angka, baik integer maupun float. Sehingga sistem melalui proses type juggling php akan merubah tipe data string (7 pegawai) menjadi tipe data angka integer (7).
Proses yang terjadi sebagaimana penjelasan di atas yaitu terjadinya perubahan tipe data secara otomatis tersebut dikenal dengan istilah type juggling. Type juggling php adalah sebuah proses untuk menentukan jenis tipe data yang sesuai dengan operasi saat itu, dan PHP akan menkonversinya secara langsung.
Supaya lebih memahami pengertian type juggling dan casting di php, berikut adalah contoh lain kode program type juggling php.
<?php $a =12; $b ="7 pegawai"; echo $a AND $b; // hasil 1 ?>
Sebagaimana contoh kode program type juggling php sebelumnya yaitu variabel $a memiliki nilai integer (angka) sedangkan variabel $b adalah sebuah string (angka dan teks). Namun kali ini operasi yang dilakukan menggunakan operator logika AND sebagai operasi yang akan diproses. Ketika kode program tersebut dijalankan, maka akan menampilkan angka 1, berikut penjelasannya.
Kita ketahui bersama bahwa operator logika AND membutuhkan 2 inputan operand bertipe boolean yaitu nilai TRUE atau FALSE. Karena masing-masing variabel menggunakan tipe data integer "12" dan type string "7 pegawai", maka kedua operand ini akan dikonversi menjadi TRUE. Dimana TRUE AND TRUE adalah TRUE, sehingga hasil $a AND $b pada contoh kode program diatas adalah TRUE. Karena perintah echo membutuhkan inputan berupa string bukan nilai boolean TRUE, maka PHP akan mengkonversi boolean TRUE menjadi string "1".
Salah satu manfaat mempelajari pengertian type juggling dan casting di php oleh programmer diantaranya adalah terdapat ada pada point ini. Bahwa memahami type juggling php sangat membantu kita untuk menghindari error kode program karena perubahan tipe data yang tidak terdeteksi.
Pengertian Type Casting PHP
Type casting php adalah proses perubahan type data secara manual dengan menggunaan perintah atau instruksi di dalam kode program. Berbeda dengan type juggling php yang akan memproses perubahan type data secara otomatis tanpa perintah apapun. Perintah casting php akan merubah type data dengan cara membuat nama tipe data tujuan di dalam tanda kurung sebelum variabel yang akan diubah.
Sebagaimana contoh kode program type casting php di bawah ini;
<?php $x =12; $y ="7 pegawai"; echo $y;echo "<br />"; // hasil 7 pegawai echo (integer) $y;echo "<br />"; // hasil 7 echo (boolean) $y; // hasil 1 ?>
Perhatikan baris perintah echo di atas, echo (integer) $y adalah perintah untuk men-casting tipe data yang ada di dalam variabel $y (apapun tipe datanya) menjadi integer. Sedangkan echo (boolean) $y adalah instruksi untuk meng-casting tipe data di variabel $y menjadi boolean.
Berikut adalah jenis-jenis perintah type casting di dalam sistem PHP yang dapat kita gunakan ke dalam kode program.
- (int), (integer) untuk mengubah tipe data menjadi integer
- (bool), (boolean) untuk mengubah tipe data menjadi boolean.
- (float), (double), (real) untuk mengubah tipe data menjadi float
- (string) untuk mengubah tipe data menjadi string.
- (array) untuk mengubah tipe data menjadi array
- (object) untuk mengubah tipe data menjadi object
- (unset) untuk mengubah tipe data menjadi NULL di PHP 5.
Aturan Konversi Type Data PHP
Pokok bahasan materi pengertian type juggling dan casting di php adalah pada proses perubahan sebuah tipe data tertentu ke tipe data lainnya. Perubahan sebuah tipe data menjadi tipe data lainnya dalam sistem PHP memiliki aturan tersendiri, berikut adalah aturan konversi tipe data dalam PHP.
Konversi tipe data menjadi Integer.
- Jika tipe data asal adalah float, maka perubahan menjadi integer akan membuang tanda desimal dari float.
- Jika tipe data asal adalah boolean, maka nilai TRUE akan menjadi 1, dan FALSE manjadi 0.
- Jika tipe data asal adalah string, maka string akan dipotong pada angka terakhir yang ditemukan, mulai dari awal string. Namun jika diawal string tidak terdapat angka, maka string akan dikonversi menjadi 0.
- Jika tipe data asal adalah array kosong (tanpa data) maka jika dikonversi menjadi integer akan menghasilkan 0, namun array dengan isi data minimal 1, akan dikonversi menjadi 1.
Konversi tipe data menjadi Float.
- Konversi menjadi float hampir sama dengan konversi menjadi integer, dengan perbedaan jika tipe asal adalah string, maka angka desimal akan diperhitungkan. Misal "14,5 kali gaji" akan dikonversi menjadi float 14,5.
Konversi tipe data menjadi Boolean.
- Jika tipe data asal adalah integer, maka angka 0 akan dikonversi menjadi FALSE, selain itu, akan dikonversi menjadi TRUE.
- Jika tipe data asal adalah float, maka angka 0.0 akan dikonversi menjadi FALSE, selain itu, akan dikonversi menjadi TRUE.
- Jika tipe data asal adalah string, maka string "" (tanpa karakter) akan dikonversi menjadi FALSE, string "0" (string dengan karakter nol) akan dikonversi menjadi FALSE, selain itu akan dikonversi menjadi TRUE.
- Jika tipe data asal adalah array, maka array kosong (tanpa data) akan dianggap FALSE, selain itu array akan dikonversi menjadi TRUE.
Sebelum mengakhiri pembahasan pengertian type juggling dan casting di php, berikut adalah contoh-contoh cara konversi tipe data di dalam PHP.
<html> <head> <title>Cara Konversi Tipe Data di PHP</title> </head> <body> <p><b>Konversi Tipe Data</b></p> <?php // Konversi menjadi Integer var_dump((int) 3.45);echo "<br />"; // 3 var_dump((int) "3.45");echo "<br />"; // 3 (string 3.45) var_dump((int) "9 Naga");echo "<br />"; //9 var_dump((int) "Naga Bonar");echo "<br />"; // 0 var_dump((int) "Wiro Sableng 212");echo "<br />"; //0 var_dump((int) FALSE);echo "<br />"; // 0 var_dump((int) "1FALSE");echo "<br />"; //1 var_dump((int) array());echo "<br />"; // 0 var_dump((int) array("data")); echo "<br /><br />"; //1 // Konversi menjadi Float var_dump((float) 3);echo "<br />"; // 3 var_dump((float) "3.45");echo "<br />"; // 3.45 var_dump((float) "9 Naga");echo "<br />"; //9 var_dump((float) "Naga Bonar");echo "<br />"; // 0 var_dump((float) "Wiro Sableng 212");echo "<br />"; //0 var_dump((float) FALSE);echo "<br />"; // 0 var_dump((float) "1FALSE");echo "<br />"; //1 var_dump((float) array());echo "<br />"; // 0 var_dump((float) array("data"));echo "<br /><br />"; //1 // Konversi menjadi Boolean var_dump((bool) 3);echo "<br />"; // TRUE var_dump((bool) 0);echo "<br />"; // FALSE var_dump((bool) -1);echo "<br />"; // TRUE var_dump((bool) "");echo "<br />"; // FALSE var_dump((bool) " ");echo "<br />"; //TRUE var_dump((bool) "0");echo "<br />"; // FALSE var_dump((bool) "FALSE");echo "<br />"; // TRUE (!) - karena string var_dump((bool) array());echo "<br />"; // FALSE var_dump((bool) array("data"));echo "<br />"; // TRUE ?> </body> </html>
Tutorial Pengertian Type Juggling dan Casting di PHP
Sekian penjelasan dari kami tentang proses type juggling php pada tutorial belajar php part 29 yaitu pengertian type juggling dan casting di php berikut dengan contoh study kasus penggunaan pada kode program. Jika ada pertanyaan lebih lanjut mengenai operasi ini, silahkan hubungi kami melalui email atau melalui form komentar dan obrolan. Semoga dapat membantu.
Baca juga :
- Fungsi var_dump() pada PHP
- Cara Menjalankan Script PHP di XAMPP
- Cara Instal XAMPP di Windows Versi Terbaru
- Sejarah PHP dan Perkembangannya
- Pengertian PHP dan Fungsinya dalam Pemrograman Web
- Belajar PHP dan MySQL dari Dasar untuk Pemula
Pengertian Type Juggling dan Casting di PHP
Tags: pengertian type juggling php, type juggling php, type casting php, konversi tipe data php, proses juggling php, pengertian type juggling dan casting di php