Tutorial Belajar PHP Part 28: Cara Mengubah Tipe Data PHP (Type Juggling dan Type Casting)

Posted on

Pada panduan kali ini kita akan membahas mengenai cara merubah tipe data PHP dari sebuah tipe data menjadi tipe data lainnya. Pada permograman PHP, hal ini dikenal dengan istilah type juggling dan type casting.


Pengertian Type Juggling pada PHP

PHP adalah sebuah bahasa pemograman yang tak terlalu ketat pada aturan tipe data (dimana sebuah variabel dapat diisi dengan pelbagai tipe data). Hal ini memberikan kemudahan penulisan, namun pun mendatangkan permasalahan tersendiri. Terkadang PHP mengubah tipe data suatu variabel menjadi tipe data lainnya secara tak seketika tanpa kita instruksikan.

Jikalau kamu telah mengikuti panduan PHP di Source Code Program mengenai pembahasan tipe data dan operator, karenanya beberapa kali kita telah membangun kode program yang “memaksa” suatu tipe data berfungsi selaku tipe data lainnya.

Perhatikan kode program php berikut:

Pada kode diatas, saya mendefenisikan variabel $a selaku integer (angka) dan variabel $b selaku string. Operasi penambahan seharusnya membutuhkan 2 inputan berupa angka, namun seperti yang terlihat ketika program dijalankan, PHP dengan senang hati akan menjalankan command tersebut tanpa mengeluarkan error. 12+”9 kucing” akan menghasilkan nilai 21.

Proses perubahan tipe data ini dikenal dengan istilah type juggling. Type Juggling pada PHP yakni sebuah proses bagi menentukan jenis tipe data yang “cocok” dengan operasi dikala itu, dan PHP akan menkonversinya secara seketika.

PHP akan mencoba “menebak” dan mengubah tipe data agar disesuaikan dengan peruntukannya. Misalkan operator aritmatika seharusnya membutuhkan 2 buah inputan (atau operand) yang bertipe angka (bagus berupa integer maupun float). Namun apabila diantara atau kedua operand itu bukan bertipe angka, karenanya PHP akan mengkonversinya menjadi angka.

Seperti contoh program diatas, string “9 kucing” akan dikonversi menjadi angka. Dan menghasilkan angka 21 (aturan pengkonversian ini akan kita bahas sesaat lagi).

Selaku contoh lainnya, perhatikan kode PHP berikut ini:

Nilai dari variabel $a dan $b masih sama dengan contoh saya yang pertama-tama, namun kali ini saya membangun operator logika AND selaku operasi yang akan diproses. Dan seandainya kamu menjalankan program diatas, di browser akan tampil angka 1. Dari manakah angka 1 ini berasal?

Operator AND membutuhkan 2 inputan bertipe boolean, yakni nilai TRUE atau FALSE. Namun karena saya menggunakan tipe integer “12” dan type string “9 kucing”, karenanya kedua operand ini akan dikonversi menjadi TRUE. Karena TRUE AND TRUE yakni TRUE, karenanya hasil $a AND $b di contoh program diatas yakni TRUE.

Namun proses type juggling PHP belum selesai, karena command echo membutuhkan inputan berupa string, bukan nilai boolean TRUE. Dan PHP akan mengkonversi boolean TRUE menjadi string “1”.

Pemahaman mengenai type juggling pada PHP ini akan menolong kita bagi menghindari error kode program karena perubahan tipe data yang tak terdeteksi.


Pengertian Type Casting pada PHP

Jikalau type juggling adalah sebuah proses “otomatis” oleh PHP, karenanya Type Casting yakni proses perubahan type data secara manual dengan menggunaan instruksi di pada kode program.

Bagi merubah sebuah type data, kita menggunakan command casting dengan cara membangun nama tipe data tujuan di pada tanda kurung sebelum variabel yang akan diubah.

Perhatikan contoh kode program berikut:

Di baris ke -6, saya membangun echo (integer) $b, command ini yakni men-casting tipe data yang terdapat didalam variabel $b (apapun tipe datanya) menjadi integer. Dan di baris ke 8. saya meng-casting tipe data $b menjadi boolean.

Jenis-jenis command casting yang terdapat pada PHP yakni selaku berikut:

  • (int), (integer) – mengubah tipe data menjadi integer
  • (bool), (boolean) – mengubah tipe data menjadi boolean
  • (float), (double), (real) – mengubah tipe data menjadi float
  • (string) – mengubah tipe data menjadi string
  • (array) – mengubah tipe data menjadi array
  • (object) – mengubah tipe data menjadi object
  • (unset) – mengubah tipe data menjadi NULL (PHP 5)


Aturan konversi data pada PHP

Perubahan sebuah tipe data menjadi tipe data lainnya pada PHP mempunyai aturan tersendiri. Berikut yakni aturan konversi tipe data pada PHP

Konversi menjadi Integer

  • Jikalau tipe data asal yakni float, karenanya perubahan menjadi integer akan membuang tanda desimal dari float. Contohnya, 3.94  akan menjadi integer 3.
  • Jikalau tipe data asal yakni boolean, karenanya nilai TRUE akan menjadi 1, dan FALSE manjadi 0.
  • Jikalau tipe data asal yakni string, karenanya string akan dipotong di angka terakhir yang ditemukan, mulai dari awal string. Namun seandainya diawal string tak terdapat angka, karenanya string akan dikonversi menjadi 0. Contohnya, “9 Kucing” akan menjadi integer 9, “999 kucing” akan menjadi integer 999. “kucing 99” akan menjadi 0, “14,5 kali gaji” akan menjadi integer 14 (karena desimal akan dibuang dari string)
  • Jikalau tipe data asal yakni array kosong (tanpa data) karenanya seandainya dikonversi menjadi integer akan menghasilkan 0, namun array dengan isi data minimal 1, akan dikonversi menjadi 1.

Konversi menjadi float

  • Secara garis besar, konversi menjadi float hampir sama dengan konversi menjadi integer, dengan perbedaan seandainya tipe asal yakni string, karenanya angka desimal akan diperhitungkan, misalnya “14,5 kali gaji” akan dikonversi menjadi float 14,5

Konversi menjadi boolean

  • Jikalau tipe data asal yakni integer, karenanya angka 0 akan dikonversi menjadi FALSE, selain itu, akan dikonversi menjadi TRUE. Contohnya 0 -> FALSE, 1 -> TRUE, -1 -> TRUE.
  • Jikalau tipe data asal yakni float, karenanya angka 0.0 akan dikonversi menjadi FALSE, selain itu, akan dikonversi menjadi TRUE. Contohnya 0.0 -> FALSE, 1,9 -> TRUE, -1,6 -> TRUE.
  • Jikalau tipe data asal yakni string, karenanya string “” (tanpa karakter) akan dikonversi menjadi FALSE, string “0” (string dengan karakter nol) akan dikonversi menjadi FALSE, selain itu akan dikonversi menjadi TRUE. Contohnya: “” -> FALSE, “ ” ->TRUE (karakter spasi), “0” -> FALSE.
  • Jikalau tipe data asal yakni array, karenanya array kosong (tanpa data) akan dianggap FALSE, selain itu array akan dikonversi menjadi TRUE.


Selaku penutup, berikut ada
lah contoh-contoh konversi tipe data didalam PHP:

Pada program diatas, saya membangun beberapa contoh konversi di pada PHP.


Aturan mengenai konversi tipe data pada PHP ini (Type Juggling dan Type Casting) menutup panduan PHP sesi operator. Bagi berikutnya, kita akan mempelajari mengenai alur logika program pada PHP, atau dikenal dengan Struktur kontrol pada PHP.


Sumber https://www.duniailkom.com/