While and do-while

 Metode lain untuk melakukan perulangan adalah dengan while. Sama seperti for, instruksi while mengevaluasi ekspresi boolean dan menjalankan kode di dalam blok while ketika bernilai true.

Untuk menampilkan angka 1 sampai 100 dengan while kita bisa menulis kode seperti berikut:

Bisa dilihat pada kode di atas bahwa perulangan dengan while tidak memiliki ketergantungan dengan variabel index seperti pada for loop. Karena itu, meskipun while dapat melakukan perulangan yang sama dengan forwhile lebih cocok digunakan pada kasus di mana kita tidak tahu pasti berapa banyak perulangan yang diperlukan.

Bentuk lain dari while adalah perulangan do-while.

Kondisi pada while akan dievaluasi sebelum blok kode di dalamnya dijalankan, sedangkan do-while akan mengevaluasi boolean expression setelah blok kodenya dijalankan. Ini artinya kode di dalam do-while akan dijalankan setidaknya satu kali.


Infinite loops

Ketika menerapkan perulangan pada program kita, ada satu kondisi yang perlu kita hindari yaitu infinite loopInfinite loop atau endless loop adalah kondisi di mana program kita stucked di dalam perulangan. Ia akan berjalan terus hingga menyebabkan crash pada aplikasi dan komputer kecuali ada intervensi secara eksternal, seperti mematikan aplikasi.

Kode berikut ini adalah contoh di mana kondisi infinite loop dapat terjadi:

Dapatkah Anda mencari apa yang salah dari kode di atas sehingga terjadi infinite loop?

Jawabannya adalah karena variabel i selalu bernilai 1. Alhasil kondisi i < 5 akan selalu bernilai true dan akibatnya aplikasi akan terus mencetak 1 ke konsol sehingga mengalami crash.

Challenge

Melihat challenge sebelumnya, bisakah Anda membuat program Dart yang menampilkan output seperti di bawah ini menggunakan perulangan while atau do-while?

  1. **********
  2. *********
  3. ********
  4. *******
  5. ******
  6. *****
  7. ****
  8. ***
  9. **
  10. *

void main() {

  // variabel [i] akan berulang untuk menampilkan teks tiap baris

  int i = 10;

  while (i > 0) {

    // variabel [j] akan berulang untuk menampilkan teks tiap kolom

    int j = i;

    String text = "";

    while (j > 0) {

      text = text + "*";

      j--;

    }

    print(text);

    i--;

  }

}

Jika ingin melihat sumber keseluruhan interactive code di atas, Anda dapat mengunjungi tautan berikut.

Info lebih lanjut terkait perulangan while dan do-while dapat Anda lihat pada dokumentasi berikut.

Popular posts from this blog

Build APK

Web Deployment

Generic