Truly wonderful, the mind of a child is. 

To a dark place this line of thought will carry us. Great care we must take. 

Kita biasa menggunakan operator perbandingan dalam membuat sebuah conditional if untuk memperoleh nilau true atau false dari suatu kondisi. Kesalahan yang sangat sering terjadi -baik dilakukan oleh pemula maupun mereka yang sudah ahli- adalah kesalahan dalam memasukkan kondisi yang seharusnya berupa perbandingan menjadi penugasan, sehingga kondisi if akan selalu bernilai true.

Macam-Macam Operator

Secara garis besar dalam bahasa pemrograman operator dapat dibagi menjadi 4 yaitu operator penugasan, operator aritmatika, operator logika, dan operator perbandingan. 

Operator Penugasan

Operator penugasan digunakan untuk memberi nilai pada sebuah variabel. Karena fungsinya memberi nilai maka operator ini akan selalu memberikan nilai true apabila dimasukkan dalam kondisi IF.

Operator Aritmatika

Seperti namanya, operator aritmatika berfungsi untuk melaksanakan operasi matematis seperti perkalian, penjumlahan, pengurangan dan pembagian, dan satu tambahan yang juga umum digunakan adalah modulus (sisa pembagian). Seperti operator penugasan, operator aritmatika juga akan selalu memberikan nilai true apabila dimasukkan dalam kondisi IF.

Operator Logika

Operator logika digunakan untuk melakukan pengambilan kesimpulan atas suatu kondisi. Operator ini dapat memberikan nilai true atau false apabila digunakan dalam kondisi IF. 

Operator Perbandingan

Operator perbandingan digunakan untuk membandingkan nilai dari variabel/konstanta/operand apakah perbandingan tersebut menghasilkan nilai true atau false dalam kondisi IF.

Operator
Nama
Deskripsi
Contoh
f == k
Sama Dengan
Benar jika f sama dengan k
5 == 8 returns false
f ===  k
Identik
Benar jika f sama dengan k, dan mereka adalah dari jenis yang sama
5 === "5"returns true
f! = k
Tidak sama
Benar jika f tidak sama dengan k
5! = 8 returns true
f <> k
Tidak sama
Benar jika f tidak sama dengan k, atau mereka bukan dari jenis kang sama
5<>8 returns true
f> k
Lebih besar dari
Benar jika f lebih besar dari k
5> 8 returns false
f <k
Kurang dari
Benar jika f kurang dari k
5<8 returns true
f> = k
Lebih besar dari atau sama dengan
Benar jika f lebih besar dari atau sama dengan k
5> = 8 returns false
f <= k
Kurang dari atau sama dengan
Benar jika f kurang dari atau sama dengan k
5<=8 returns true
f! == k
Tidak identik
Benar jika f tidak sama dengan k, atau mereka bukan dari jenis kang sama
5!=="5"returns false

Yoda Condition dalam Operator Perbandingan

Operator di atas dapat sedikit berbeda antar bahasa pemrograman, namun sebagian besar memiliki operator yang sama atau mirip. Nah dari penjelasan di atas ada perbedaan antara bagaimana kita menggunakan "=" dalam kehidupan sehari-hari dengan operator pemrograman. Dalam kehidupan sehari-hari kita sering menggunakan "=" sebagai operator perbandingan, karena sangat jarang dalam kehidupan sehari-hari kita mengenal operator penugasan (walaupun dalam matematika sesungguhnya sering kita praktikkan). Akibatnya kita sering salah menggunakan kode seperti dibawah ini.

[code]IF($c = 4) echo "Ini benar";[/code]

Kode di atas akan selalu bernilai true berapapun nilai $c. Karena operator yang digunakan adalah operator penugasan. Padahal maksud yang kita inginkan adalah kondisi seperti dibawah ini.

[code]IF($c == 4) echo "Ini Benar";[/code]

Yoda condition sering digunakan untuk mengatasi kesalahan tersebut. Yoda condition, seperti quote di awal adalah meletakkan posisi syntax secara terbalik. Jika biasanya kita membandingkan variable sebagai operand pertama dan konstanta sebagai operand kedua, dalam Yoda Condtion kita meletakkan konstanta terlebih dahulu.

[code]IF(4 == $c) echo "Ini Benar";[/code]

Kode di atas dapat berjalan di banyak bahasa pemrograman dan bernilai true, walaupun beberapa bahasa pemrograman tidak memberikan celah untuk kode seperti ini. Sedangkan apabila kita salah menggunakan operator, sehingga kita menggunakan operator penugasan.

[code]IF(4 = $c) echo "Ini Benar";[/code]

Maka akan menghasilkan error, karena kita tidak dapat menugaskan sebuah konstanta.

Yoda Condition digunakan oleh wordpress dan laravel dalam membuat core code mereka. Sehingga jika kita masih sering salah dalam menerapkan equal dan assignment, maka tidak buruk jika kita menggunakan Yoda Condition.

Baiklah, itu saja tulisan kali ini, semoga bermanfaat buat teman-teman semua. Keep posting and Selamat Blogwalking kawan.