Operator Ternary dan Nilai Boolean

Di blog ini pernah dibahas mengenai operator ternary untuk menyingkat kode. Contohnya ada sepotong kode seperti berikut:

if ($nilai > 90)
  echo "Keren";

else
  echo "Lumayan";

Kode di atas dapat ditulis ulang menggunakan operator ternary menjadi seperti berikut:

echo ($var > 90) ? "Keren" : "Lumayan";

Seorang programer berpengalaman pasti lebih suka menggunakan operator ternary bahkan untuk yang melibatkan lebih dari dua buah pernyataan. Namun tidak direkomendasikan untuk para pemula karena bisa membingungkan.

Saya sendiri pernah melakukan hal konyol pada tulisan yang lalu, yaitu penggunaan operator ternary dengan nilai boolean yang tidak semestinya.

$cek = ($var > 5) ? true : false;

Padahal seharusnya cukup ditulis seperti ini:

$cek = $var > 5;

Variable $cek otomatis bernilai true jika kondisi $var > 5 terpenuhi. Sebaliknya bernilai false jika kondisi tidak terpenuhi. Contoh kasus lain penggunaan operator ternary yang tidak semestinya adalah:

$cek = ($var == true) ? 1 : 0;

Secara tidak sadar mungkin kita sering melakukan hal semacam ini dalam pengkodean sehari-hari. Pada contoh di atas juga terdapat kondisi yang tidak perlu dan seharusnya dihilangkan sehingga menjadi seperti berikut:

$cek = $var ? 1 : 0;

Catatan ini juga sebagai koreksi untuk tulisan yang lalu.

About Sibudi

Ubuntu user | Loves books | Blogger | Web Developer | Learn PHP, JavaScript, Ruby & Python the hard way

10. September 2012 by Sibudi
Categories: PHP | Tags: , , | Leave a comment

Leave a Reply

Required fields are marked *