Dalam dunia pemrograman PHP, efisiensi kode sering menjadi tujuan utama. Developer selalu mencari cara agar baris kode tetap ringkas tetapi tetap mudah dibaca. Salah satu fitur yang banyak digunakan adalah operator ternary. Meskipun bentuknya sederhana, operator ini menyimpan kekuatan besar dalam membuat kode lebih bersih dan praktis.
Mengenal Operator Ternary
Sebelum memahami penggunaannya, penting untuk mengenal konsep dasar operator ternary. Operator ini merupakan bentuk singkat dari pernyataan if else. Alih alih menulis beberapa baris kode untuk memeriksa kondisi, developer bisa menggunakan satu baris saja. Ternary operator di PHP ditulis dengan tanda tanya dan titik dua, yang membagi antara kondisi, hasil jika benar, dan hasil jika salah.
Contoh sederhana:
$hasil = ($nilai >= 70) ? "Lulus" : "Tidak Lulus";
Kode di atas berarti jika variabel $nilai lebih besar atau sama dengan 70 maka hasilnya adalah Lulus, jika tidak maka hasilnya adalah Tidak Lulus.
Sejarah dan Alasan Popularitasnya
Operator ternary bukan hanya milik PHP, melainkan juga hadir di banyak bahasa pemrograman lain seperti JavaScript, C, dan Java. Popularitasnya di PHP meningkat karena bahasa ini banyak digunakan untuk membangun aplikasi web yang membutuhkan efisiensi dalam menangani logika sederhana. Framework PHP populer seperti Laravel atau CodeIgniter pun banyak memanfaatkan gaya penulisan ini di bagian view maupun controller.
Keunggulan Operator Ternary
Banyak developer lebih memilih ternary dibandingkan if else konvensional. Salah satu alasannya adalah ringkas. Dengan satu baris kode, sebuah kondisi bisa langsung ditangani tanpa harus membuka blok baru. Keunggulan lain adalah keterbacaan. Jika digunakan dengan tepat, ternary membuat alur logika terlihat jelas tanpa harus menggulir kode terlalu jauh.
Selain itu, operator ternary sangat fleksibel. Ia bisa ditempatkan langsung di dalam echo, di assignment variabel, bahkan dalam array. Hal ini membuatnya menjadi senjata andalan ketika menulis template dinamis atau form yang membutuhkan nilai default.
Contoh Penggunaan di Dunia Nyata
Bayangkan sebuah form pendaftaran pengguna. Developer ingin memastikan jika pengguna tidak mengisi jenis kelamin, maka sistem menampilkan default “Tidak Diketahui”. Dengan ternary, penulisannya bisa seperti ini:
$gender = isset($_POST['gender']) ? $_POST['gender'] : "Tidak Diketahui";
Contoh lain adalah pada tampilan website ketika ingin menampilkan pesan selamat datang. Jika pengguna sudah login, pesan akan menampilkan nama pengguna. Jika belum, akan menampilkan teks “Tamu”.
echo isset($_SESSION['user']) ? "Halo, " . $_SESSION['user'] : "Halo, Tamu";
Variasi Null Coalescing Operator
PHP 7 memperkenalkan null coalescing operator ?? yang sebenarnya mirip dengan ternary. Bedanya, operator ini lebih sederhana ketika memeriksa apakah sebuah variabel ada atau bernilai null. Banyak developer menggunakannya sebagai pengganti ternary dalam kasus tertentu karena lebih bersih.
Contoh:
$gender = $_POST['gender'] ?? "Tidak Diketahui";
Namun, operator ternary tetap relevan karena menawarkan fleksibilitas lebih dalam memeriksa kondisi kompleks yang melibatkan perbandingan.
Ternary Bersarang: Efektif atau Berbahaya?
Salah satu praktik yang sering muncul adalah penggunaan ternary bersarang. Artinya, hasil dari satu ternary bisa digabungkan dengan ternary lain. Sekilas terlihat ringkas, tetapi jika terlalu kompleks justru bisa membuat kode sulit dibaca.
Contoh:
$status = ($nilai >= 90) ? "Sangat Baik" : (($nilai >= 70) ? "Baik" : "Kurang");
Kode ini efektif jika kondisinya sederhana. Namun, jika ada lebih banyak kondisi, sebaiknya gunakan switch atau if else biasa agar tidak membingungkan pembaca kode.
Dampak terhadap Kinerja
Pertanyaan yang sering muncul adalah apakah operator ternary lebih cepat dibandingkan if else. Secara teknis, perbedaan kinerja antara keduanya sangat kecil dan hampir tidak terlihat dalam aplikasi sehari hari. Namun, keuntungan utama bukan pada performa, melainkan pada keterbacaan dan efisiensi penulisan.
Praktik Terbaik dalam Menggunakan Ternary
Ada beberapa hal yang perlu diperhatikan agar penggunaan operator ternary tetap sehat. Pertama, gunakan hanya ketika logika yang diperiksa sederhana. Jika kondisi sudah terlalu panjang, lebih baik kembali ke if else. Kedua, perhatikan keterbacaan. Jangan sampai ingin terlihat ringkas tetapi justru membuat rekan kerja kesulitan memahami kode. Ketiga, selalu kombinasikan dengan indentasi dan pemformatan kode yang rapi agar tetap jelas meskipun satu baris.
Operator Ternary di dalam Template
Penggunaan ternary sering terlihat di dalam template engine atau file view. Misalnya, dalam framework Laravel, Blade template sering menggunakan pendekatan ini untuk menampilkan nilai default pada input form. Contohnya:
<input type="text" name="username" value="{{ $user->name ? $user->name : 'Guest' }}">
Dengan cara ini, tampilan tetap dinamis tanpa harus menulis logika panjang di dalam controller. Pendekatan ini membuat kode di bagian view tetap bersih dan efisien.
Alternatif yang Bisa Dipertimbangkan
Selain operator ternary, developer juga memiliki opsi menggunakan fungsi bawaan PHP seperti isset, empty, atau filter_var untuk menangani kondisi tertentu. Meskipun begitu, tidak ada yang seefisien ternary dalam menulis logika sederhana satu baris. Karena itu, operator ini tetap menjadi favorit banyak programmer.






