Pengkondisian atau pengambilan keputusan adalah proses evaluasi suatu kondisi atau nilai sebelum menjalankan suatu instruksi yang lain.
Di bawah ini terdapat tabel yang mengklasifikasikan pengkondisian dalam bahasa Dart.
No | Deskripsi |
---|---|
1 | If Pernyataan if terdiri dari expression bernilai boolean (true atau false) yang diikuti oleh satu atau lebih pernyataan. |
2 | If…Else Sebuah if dapat diikuti oleh blok else secara opsional. Blok else akan dieksekusi jika expression boolean yang diuji oleh blok if bernilai false. |
3 | Else…If Else … if berguna untuk menguji berbagai kondisi. |
4 | Switch…Case Pernyataan switch mengevaluasi sebuah expression, membandingkan nilai expression dengan setiap klausa case, dan mengeksekusi pernyataan yang terkait dengan klausa case yang sesuai dengan nilai expression tersebut. |
Pernyataan If
Pernyataan if…else mengevaluasi kondisi sebelum blok kode dieksekusi. Berikut adalah cara penulisannya:
if (boolean_expression) {
// pernyataan akan dijalankan jika boolean_expression adalah true.
}
Jika expression boolean bernilai true, maka blok kode yang terdapat dalam pernyataan if akan dieksekusi. Namun, jika ekspresi boolean bernilai false, maka blok kode yang terletak setelah pernyataan if (yaitu, blok kode yang berada di luar kurung kurawal) akan dieksekusi.
Ilustrasi berikut menunjukkan flowchart dari pernyataan if .
Contoh
Contoh berikut menunjukkan cara menggunakan pernyataan if di Dart.
void main() {
var angka=5;
if (angka>0) {
print("angka positif");
}
}
Pada contoh di atas, pesan “angka positif” akan muncul jika angka yang dimasukkan memenuhi kondisi yang ada di blok if.
angka positif
Pernyataan If-Else
Sebuah if dapat diikuti oleh blok else yang bersifat opsional. Blok else akan dieksekusi jika expression boolean yang diuji oleh blok if bernilai false.
Berikut cara penulisannya.
if (boolean_expression) {
// pernyataan akan dijalankan jika boolean_expression adalah true.
} else {
// pernyataan akan dijalankan jika boolean_expression adalah false.
}
Jika expression boolean memiliki nilai true, maka blok kode di dalam if akan dieksekusi. Jika memiliki nilai false maka blok kode di luar if akan dieksekusi.
Ilustrasi berikut menunjukkan flowchart dari pernyataan if…else .
Contoh if…else
Contoh di bawah ini mencetak apakah nilai dalam variabel tersebut adalah genap atau ganjil. Blok if memeriksa apakah nilai tersebut dapat dibagi dengan 2 untuk menentukan apakah itu genap atau ganjil.
void main() {
var num = 12;
if (num % 2==0) {
print("Genap");
} else {
print("Ganjil");
}
}
Output di bawah ini ditampilkan setelah berhasil mengeksekusi kode di atas.
Genap
Pernyataan Else-If
Else-if berguna untuk menguji berbagai kondisi. Berikut ini adalah cara penulisan dari pernyataan else-if
if (boolean_expression1) {
//pernyataan yang akan dijalankan jika boolean_expression1 bernilai true
}
else if (boolean_expression2) {
//pernyataan yang akan dijalankan jika boolean_expression2 bernilai true
}
else {
//pernyataan yang akan dijalankan jika boolean_expression1 dan boolean_expression2 bernilai false
}
Saat menggunakan pernyataan if…else ,ada beberapa hal yang perlu diingat.
- Satu pernyataan if dapat memiliki nol atau satu pernyataan else , dan harus muncul setelah pernyataan else…if jika ada.
- Sebuah pernyataan if dapat memiliki nol hingga banyak pernyataan else…if, dan semuanya harus ditempatkan sebelum pernyataan else.
- Setelah sebuah pernyataan else…if berhasil dijalankan, maka tidak ada pernyataan else…if lainnya yang akan dijalankan.
Contoh – Else-if
Kode program berikut memeriksa apakah nilai yang diberikan positif, negatif, atau nol.
void main() {
var num = 2;
if(num > 0) {
print("${num} adalah angka positif");
}
else if(num < 0) {
print("${num} adalah angka negatif");
} else {
print("${num} tidak angka positif ataupun angka negatif");
}
}
Berikut ini adalah hasil output dari kode diatas
2 adalah angka positif
Pernyataan Switch-case
Pernyataan switch mengevaluasi suatu expression, mencocokkan nilai expression dengan klausa case yang sesuai, dan mengeksekusi pernyataan yang terkait dengan case tersebut.
Berikut ini adalah cara penulisannya.
switch (variable_expression) {
case constant_expression1: {
// blok kode akan dijalankan apabila variable_expression bernilai sama dengan constant_expression1;
}
break;
case constant_expression2: {
// blok kode akan dijalankan apabila variable_expression bernilai sama dengan constant_expression2;
}
break;
default: {
// blok kode akan dijalankan apabila tidak ada constant_expression yang sama nilainya dengan variable_expression;
}
break;
}
Nilai dari variable_expression diuji terhadap semua case di dalam switch. Jika variabel cocok dengan salah satu case, blok kode yang sesuai akan dieksekusi. Jika tidak ada ekspresi case yang cocok dengan nilai variable_expression, maka kode di dalam blok default akan dieksekusi.
Aturan berikut berlaku untuk pernyataan switch :
- Terdapat beberapa pernyataan case yang mungkin ada dalam switch.
- Pernyataan case hanya dapat mencakup konstanta (nilai tetap) dan tidak dapat berupa variabel atau expression.
- Tipe data variable_expression dan konstanta dalam pertanyaan case harus cocok.
- Jika tidak ada perintah break setelah setiap blok kode case, maka eksekusi akan mengalir ke blok berikutnya.
- Setiap nilai konstanta dalam case harus unik.
- Blok default bersifat opsional.
Diagram alir dari pernyataan switch…case adalah sebagai berikut :
Contoh – Switch-case
void main() {
var nilai = "A";
switch (nilai) {
case "A": { print("Amat baik"); }
break;
case "B": { print("Baik"); }
break;
case "C": { print("Cukup"); }
break;
case "D": { print("Buruk"); }
break;
default: { print("Pilihan tidak valid"); }
break;
}
}
Pada contoh di atas variabel nilai dicocokkan terhadap himpunan konstanta (A, B, C, D, dan E), lalu eksekusi blok yang sesuai. Jika nilai dalam variabel nilai tidak cocok dengan konstanta mana pun yang disebutkan di atas, maka blok default akan dieksekusi.
Output di bawah ini ditampilkan setelah berhasil mengeksekusi kode di atas.
Amat baik
Tutorial sebelumnya : Perulangan Pada Dart
Tutorial setelahnya : Tipe Data Number Dengan Dart
Semua Tutorial Dart : Tutorial Dart