Tutorial OOP Dasar Pada PHP

Truthy Falsy

Materi ini memiliki 1 buah lampiran. Namun Anda tidak dapat mengakses lampiran karena belum terdaftar di kursus ini. Klik disini untuk mendaftar.

Selama ini kita selalu menggunakan tipe data boolean sebagai kondisi, baik pada if maupun pada perulangan for. Sebagai contoh disini kita menggunakan tipe data boolean true sebagai kondisi if, sehingga script akan menampilkan kata TRUE. Namun, kira-kira apa yang terjadi kalau kita menggunakan tipe data lain sebagai kondisi? Contohnya, pada percabangan kedua, kita menggunakan tipe data string dengan nilai 'abc' sebagai kondisi. Kira-kira apa yang akan ditulis oleh script?

Nah, apabila kita menggunakan tipe data lain sebagai kondisi, maka script akan mengubah nilainya menjadi nilai boolean setara true, atau boolean setara false. Apabila nilai dianggap setara dengan true, maka kita sebut dengan nama Truthy, sedangkan apabila nilai dianggap setara dengan false, maka kita sebut dengan nama Falsy.

Berikut adalah daftar dari Truthy dan Falsy dari tipe data selain bool. Untuk tipe data null, nilainya hanya null dan selalu dianggap sebagai falsy. Untuk tipe data int dan float, apabila nilainya adalah 0 maka menjadi falsy. Selain itu dianggap sebagai truthy. Untuk tipe data string, apabila nilainya adalah string kosong atau string '0', maka dianggap sebagai falsy. Selain itu dianggap sebagai truthy.

Untuk tipe data array, apabila array-nya kosong maka dianggap sebagai falsy. Namun apabila array memiliki isi, maka dianggap sebagai truthy. Dan tipe data terakhir yaitu object akan selalu dianggap sebagai truthy.

Agar lebih jelas, kita langsung coba praktek ya. Disini saya sudah menyediakan function testTruthyFalsy yang bisa menerima parameter menggunakan tipe data apapun. Kemudian parameter tersebut kita gunakan sebagai kondisi pada percabangan. Apabila nilai parameter dianggap setara true, maka kita tampilkan kata 'Truthy', sedangkan apabila nilai parameter dianggap setara false, maka kita tampilkan kata 'Falsy'.

Selanjutnya kita akan tes memanggil function tersebut menggunakan tipe data selain boolean. Untuk mempersingkat waktu, semua kode pada video ini sudah saya tuliskan terlebih dahulu. Jadi kita tinggal menjalankan saja.

Pertama kita tes menggunakan tipe data null dahulu ya. Nilai dari tipe data null hanya satu, yaitu null itu sendiri. Kita coba uncomment untuk menjalankan kode ini. Dan kita mendapatkan hasil falsy. Untuk tipe data null, nilainya selalu dianggap setara dengan false.

Kita coba tipe data kedua yaitu int. Kita mendapatkan hasil falsy, truthy, truthy. Jadi untuk tipe data integer, apabila nilainya adalah 0 maka dianggap setara dengan false. Semua nilai selain 0 dianggap setara dengan true. Termasuk nilai negatif pada contoh ketiga.

Kita lanjutkan ke tipe data ketiga yaitu float. Float masih mirip dengan int ya. Apabila nilainya adalah 0 maka dianggap setara dengan false. Selain itu dianggap setara dengan true. Termasuk nilai negatif, nilai pecahan kecil, maupun konstanta NAN yang berarti not a number.

Kita lanjutkan lagi ke tipe data keempat, yaitu string. Untuk string, nilai string kosong dan string yang isinya angka 0 dianggap sebagai falsy. Selain itu semuanya dianggap sebagai truthy. Termasuk string yang isinya tanda spasi, dan string yang isinya tulisan 'false'.

Lanjut ke tipe data array. Untuk tipe data array, yang dilihat adalah jumlah data di dalam array-nya. Kalau jumlah datanya 0, maka dianggap falsy. Sedangkan array yang memiliki data, dianggap sebagai truthy. Tidak peduli isi array-nya apa. Walaupun isinya adalah angka 0, maupun isinya adalah false. Array tetap dianggap sebagai truthy.

Nah, tipe data terakhir adalah object. Sebagai contoh, disini kita buat class MyClass yang isinya kosong ya. Setelah itu kita instantiate MyClass sebagai argument untuk function testTrutyFalsy. Dan kita mendapatkan nilai Truthy. Semua object dianggap sebagai truthy, walaupun object-nya tidak memiliki property dan method.

2 Jam 41 Menit

Dengan menggunakan fasilitas tanya jawab, maka Anda bisa bertanya dan akan dijawab langsung oleh instruktur kursus.

Anda belum terdaftar pada kursus ini sehingga tidak bisa mengajukan pertanyaan.