Fastcard
Published on

Conditional Statement

Looping adalah sebuah konsep untuk melakukan perulangan terhadap sebuah perintah kode sesuai sampai kondisi yang kita tentukan

Konsep Conditional Statement

Misalnya kita diundang menghadiri sebuah acara yang akan diadakan teman kita. Akan tetapi pada saat itu terlihat cuaca kurang mendukung dan mendung dan sepertinya akan turun hujan. Disisi lain kita juga belum ada cukup dana untuk membeli hadiah kepada teman kita. Lalu kemudian kita membuat sebuah pernyataan pada diri kita sendiri dengan syarat

Jika hujan dan tidak ada dana maka saya tidak datang,
Jika tidak hujan dan ada dana maka saya datang,
Selain itu tidak datang

Itu adalah contoh kecil conditional statement di kehidupan sehari-hari. Dan di dunia programming kita akan sering menemukan hal serupa.

Konsep Conditional Statement

Jika kita melihat pada card sebelumnya, ada beberapa kondisi yang menjadikan kita datang atau tidak ke acara teman kita. Jika dituliskan dalam bahasa pemrograman, kita nanti akan mengenal istilah if, dan else(Beberapa penulisan kondisi mirip di hampir semua bahasa pemrograman).

If ditulis diawal untuk mulai menyatakan suatu kondisi, dan jika benar maka akan ada kode yang dijalankan. Else akan dijalankan jika dan hanya jika semua kondisi if tidak terpenuhi. Kita bisa menambahkan sebanyak mungkin kondisi yang akan kita cek dengan menggunakan else if (beberapa bahasa kadang menulisnya elseif)

const weather = "rain"
const budget = 0

if (weather === "rain" && budget === 0) {
  notComming()
} else if (weather !== "rain" && budget !== 0) {
  comming()
} else {
  notComming()
}

Mengenal Sebuah Kondisi

Kondisi akan sangat berpegaruh dalam segment if else ini. Karena tanpa kondisi atau kondisi tidak diset dengan benar, bukan hanya error yang ditakutkan tapi juga kode bisa menjalankan perintah yang berbeda dari apa yang diharapkan. Beberapa contoh kondisi di dunia programming

Jika transaksi gagal lebih dari 3 maka stop prosesnya,
Jika harga sama dengan 0 maka item gratis,
Jika data email verifikasi si user null maka user harus verifikasi terlebih dahulu

Conditional Statement If Else

Pada card sebelumnya, dituliskan tentang penjelasan conditional statement if else. Pernyataan ini biasanya paling sering digunakan di dalam dunia pemrograman. Jadi kita harus paham konsep dasarnya.

Penulisan kondisi if-else (atau if-else if-else) merujuk pada kondisi yang ada di dalam () baik di if maupun else-if jika ada. Kondisi hanya boleh bernilai true (benar) dan false salah. Kondisi bisa didefinisikan di mana saja, yang jelas apa yang ada di dalam () haruslah bernilai true atau false.

if (condition) {
  // this code will be executed
} else if (anotherCondition) {
  // this code will be executed
} else {
  // this code will be executed if 
  // none of above executed
}

Conditional Statement Switch Case

Konsep dari switch-case sejatinya sama dengan konsep if-else if-else pada umumnya. Hanya saja menggunakan diksi yang berbeda. Diksi if kita ganti dengan switch, else-if kita ganti dengan case, dan else kita ganti dengan diksi default.

Begitu juga dengan cara penulisannya. Conditional statement If Else digunakan untuk kondisi yang paling tidak ada 3 kondisi, yakni kondisi benar, kondisi alternatif, dan kondisi jika semua kondisi tidak terpenuhi (lihat contoh card sebelumnya). Sedangkan switch case lebih fokus kepada kondisi yang lebih dari 3 kondisi tersebut. Kita bisa mengisi banyak kondisi (atau dalam hal ini case) dengan kode yang akan dijalankannya masing-masing.

switch(statement) {
  case condition:
    // this code will be executed
    break
  case anotherCondition:
    // this code will be executed
    break
  default:
    // this code will be executed if 
    // none of above executed
    break
}

Memahami Logika

Untuk mulai menggunakan konsep Conditional Statement ini, paling tidak kita harus memahami beberapa ekspresi operator logika. Konsep ini yang akan sering kita gunakan sebagai statament atau kondisi yang akan mengisi informasi pada conditional statement

== | Equals
!= | Not equals
<> | Not equals
>  | More than 
<  | Less than
>= | More then or equal to
<= | Less than or equal to

// Example
if (2 == 2)          // Output: true
if (2 > 2)          // Output: false
if (2 <= 2)          // Output: true

Memahami Operator Gate Logic

Selain dari beberapa operator logika di atas, kita perlu juga memahami tentang Gate Logic. Logic ini kita gunkana jika ingin menggabungkan lebih dari satu kondisi.

LogicDescription
andTrue if both of conditions are true
orTrue if one of conditions are true also if both of conditions are true
xorTrue if one of conditions are true but false if both of conditions are true
notInvert the condition. If true then became false
nandThe output is false if both conditons are true. Otherwise, the output is true
norTrue if both of conditions are false, otherwhise false
xnorTrue if both of conditions is in the same condition
// Example
if (2 == 2 and 3 == 3)      // Output: true  because 2 == 2 is true and 3 == 3 also true
if (2 == 2 or 3 > 3)        // Output: true  because on of condition is true