{tocify} $title={Daftar Isi}
Pendahuluan:
Pada sebuah program/aplikasi mungkin pernah kita jumpai terdapat pertanyaan dalam bentuk pilihan ganda yang nantinya menentukan hasil dari jawaban anda, di dalam pemrograman kita dapat menggunakan suatu teknik untuk membuat pertanyaan dalam bentuk pilihan ganda dan hasil jawaban anda akan ditentukan oleh program berdasarkan kondisi yang paling relevan, teknik tersebut dinamakan kondisi atau percabangan karena hasil jawaban anda akan dievaluasi oleh program untuk menentukan instruksi mana yang relevan dengan jawaban anda maka instruksi tersebut yang akan dieksekusi untuk dikembalikan sebagai hasilnya.
Percabangan:
Percabangan di dalam sebuah pemrograman komputer adalah instruksi yang akan mengeksekusi instruksi lainnya yang paling relevan bergantung pada boolean yang didefinisikan oleh pemrogram dalam mengevaluasi kondisi yang benar atau salah dari suatu nilai/ekspresi. Sebagai contoh, anda memiliki nilai/angka 1 dan terdapat beberapa kondisi berikut:
- Jika nilai/angka yang anda miliki adalah >0 (lebih besar dari nol) maka hasilnya "Positif"
- Jika nilai/angka yang anda miliki adalah <0 (lebih kecil dari nol) maka hasilnya "Negatif"
- Selain dari dua kondisi diatas, maka hasilnya adalah "Nol"
Dari contoh kondisi di atas asumsikan anda memiliki angka/nilai satu, lalu pada kondisi nomor berapakah yang paling relevan dari angka/nilai yang anda miliki? Maka tentu saja pilihan nomor satu di mana angka yang anda miliki lebih besar dari nol sehingga hasilnya adalah "Positif", begitulah suatu "kondisi" bekerja dan karena di sana terdapat lebih dari satu kondisi maka disebut sebagai "Percabangan".
Di bahasa pemrograman Dart sendiri terdapat beberapa bentuk percabangan, diantaranya:
- if
- if-else
- if-else if
- if-else if-else
- switch case
Percabangan if
if :
Percabangan if hanya memiliki satu kondisi dan hanya nilai/ekspresi yang relevan dengan kondisi yang akan dieksekusi, jika tidak ada nilai/ekspresi yang relevan dengan kondisi maka tidak ada kode lain yang dieksekusi, format dan contohnya sebagai berikut:
Dari contoh diatas karena hanya memiliki satu kondisi di mana kondisi yang dinyatakan benar adalah hanya "jika" nilai variabel a sama dengan satu, namun disana nilai variabel a adalah sepuluh maka ketika code dieksekusi tidak akan menampilkan apapun bukan karena syntax error melainkan karena tidak ada kondisi yang relevan dengan variabel a dan tidak ada kondisi lain yang tersedia.
if-else
Percabangan if-else memiliki dua kondisi di mana jika tidak ada nilai/ekspresi yang relevan dengan kondisi pertama maka kondisi "else" yang akan di eksekusi, format dan contohnya sebagai berikut:
if-else if
Percabangan if-else if pada dasarnya terdapat dua kondisi di mana jika kondisi pertama tidak relevan maka akan mengevaluasi kondisi kedua namun jika kondisi kedua juga tidak relevan maka tidak ada kondisi yang dapat dieksekusi, format dan contohnya sebagai berikut:
if-else if-else
Pada percabangan if-else if-else pada dsarnya terdapat tiga kondisi, dua kondisi jika hasil evaluasi nilai/ekspresi dinyatakan relevan, dan else jika tidak ada nilai/ekspresi yang relevan dengan kondisi yang ada, format dan contohnya sebagai berikut:
Switch Case
Percabangan switch case tidak seperti dengan percabangan/kondisi if sebelumnya di mana pada switch case akan mengevaluasi nilai/ekspresi berdasarkan nilai/ekspresi yang digunakan hanya berupa karakter/integer kemudian hanya blok program yang sesuai dengan nilai/karakter yang akan dieksekusi, dalam kata lain switch case sama seperti sebuah menu yang berurutan dari 1-10 atau a-z dan hanya menu yang anda pilih yang akan dieksekusi. Setiap blok program akan dipisah dengan keyword "case" dan perlu diakhiri dengan keyword "break", format dan contohnya sebagai berikut:
Dari contoh di atas program hanya akan mengeksekusi blok program yang sesuai dengan masukan (input), dalam contoh di atas adalah 1 dan "satu".
If Bersarang (Nested If)
Suatu percabangan juga bisa dikatakan sebagai bersarang jika di dalam sebuah kondisi terdapat kondisi yang lain, contohnya sebagai berikut:
Nested-if
Nested if dan switch case
Best Practice
Pada sebuah program/aplikasi biasanya sangat umum jika memiliki banyak kondisi dalam sebuah percabangan namun anda perlu mengikuti prinsip berdasarkan best practicenya jika membuat banyak kondisi, contohnya sebagai berikut:
Dari contoh di atas, walaupun anda dapat membuat banyak kondisi dengan menggunakan if atau if-else if saja namun pada best practicenya anda lebih disarankan menggunakan if-else if-else karena, tanpa ada kondisi "else" maka anda perlu membuat banyak "kemungkinan" kondisi yang dapat dihasilkan dari suatu nilai / ekspresi dan jika ada kemungkinan nilai/ekspresi tidak dapat menemukan kondisi yang relevan maka program tidak akan menampilkan / memproses apapun dan tentu hal tersebut bukanlah hal yang baik bagi program/aplikasi.