Daftar Isi
Pembukaan
Bayangkan jikalau kita mencetak 100 dokumen lalu kita cetak dengan menggunakan statement print satu persatu dokumennya dengan mengetik 100 kali. Tentunya cara ini tidak praktis dengan mengetik program komputer seperti dibawah ini :
print(1);
print(2);
....
print(100);
Jauh lebih efisien dan lebih mudah untuk memberikan perintah pada program kita untuk mencetak 100 salinan dengan sekali perintah melakukan cetak dokumen berulang kali dalam satu putaran hingga mencapai tujuannya 100 salinan. Dalam pemrograman komputer, terkadang kita menemukan skenario seperti yang telah di uraikan sebelumnya dimana blok kode perlu dieksekusi beberapa kali. Bahasa Pemrorgaman Dart menyediakan loop For untuk menjadi pilihan yang tepat. For digunakan pada kondisi perulangan, dimana kita membutuhkan variabel indeks dan berapa kali perulangan yang ingin kita butuhkan.
Control Flow
Perulangan For memungkinkan kita untuk menentukan kisaran angka yang kita inginkan untuk menjalankan perulangan kita.
Iterator bertanggung jawab untuk melacak iterasi. Awalnya, nilainya adalah awal dari rentang loop dan berubah dengan setiap iterasi.
Cara Menulis Sintaks
Untuk menulis perulangan for ini ada lebih dari satu cara pada bahasa pemrograman dart , kita akan mencoba mengeneralisasi sintak di bawah ini :

Pada mulanya dimulai dengan kata kunci for lalu diikuti oleh iterator. Tapi pertanyaannya adalah bagaimana mendefinisikan iterator tersebut ? (simak penjelasan berikutnya).
Iterator yang akan kita gunakan adalah variabel yang diberi kisaran angka. nah kita perlu menentukan tiga hal, nilai awal atau tempat rentang dimulai, dan nilai akhir, di mana tempat berakhirnya. Lalu kita kemudian juga perlu menentukan bagaimana iterator akan bergerak melalui rentang di setiap iterasi perulangan for. Misalnya, bisa ditambah 1 ataupun dikurangi 1. Ketiga hal tersebut ditentukan dalam tanda kurung dan dipisahkan oleh titik koma (;). Mungkin dengan menggunakan studi kasus segalanya pasti akan menjadi jauh lebih jelas.
For loop in Action
Misalkan saja kita ingin mencetak sebuah perulangan sebanyak lima kali. Kita harus menentukan tiga hal :
- Menentukan awal iterator var i = 0; (Nilai awalnya adalah 0 (Nol)) / Awal perulangan.
- Nilai akhir dari iterator i < 5; / pada saat perulangan.
- Kondisi yang harus dipenuhi agar perulangan berhenti / bagaimana iterator melalui rentang yang telah ditentukan : i++ (kenaikan sebesar 1).
Kita coba dengan menggunakan contoh :

void main(List<String> arguments) {
for(var i =0; i < 5; i ++){
print(i);
}
}
//Output
0
1
2
3
4
Statement print mencetak variabel i sebanyak 5 kali, dengan nilai awalnya adalah 0 nol, secara berurutan diberi nilai antara 0 dan 4 di setiap iterasi dan ekspresi for berjalan untuk lima iterasi.
Iterasi Melalui Koleksi
Pada studi kasus berikutnya kita juga bisa menggunakan pengulangan for untuk melakukan beberapa operasi pada setiap item yang terdapat di dalam koleksi.
Mari kita terapkan pada studi kasus berikut ini :

void main(List<String> arguments) {
//membuat variabel foodList
var foodList = ['Gado gado', 'Rendang', 'Ketoprak', 'Rujak'];
for(var i =0; i < foodList.length; i ++){
print(foodList[i]);
}
}
//Output
Gado gado
Rendang
Ketoprak
Rujak
Pada contoh di atas terdapat variabel foodList berupa List lalu untuk menampilkan foodList ini kita menggunakan properti length. Iterator akan menghentikan pengulangan dari length yang terdapat di daftar tersebut. Ini karena indeks terakhir dari sebuah daftar kurang dari length -nya karena indeks di mulai dengan angka 0 dan length di mulai dari 1. Ini lah sebabnya kita menulis i < foodList.length daripada menggunakan <= foodList.length.
For – in
Masih menggunakan contoh sebelumnya yang kita taruh di dalam list, untuk studi kasus menggunakan List dan Set kita bisa menggunakan bentuk pengulangan for-in dari iterasi.
Perulangan For yang menggunakan for – in memiliki sintaks berikut

Kita akan menggunakan kode sebelumnya lalu diubah menggunakan format for- in :

void main(List<String> arguments) {
//membuat variabel foodList
var foodList = ['Gado gado', 'Rendang', 'Ketoprak', 'Rujak'];
for(var i in foodList){
print(i);
}
}
//Output
Gado gado
Rendang
Ketoprak
Rujak
Kode yang telah kita buat tidak ada bedanya dengan cara sebelumnya. Namun kali ini kita mengeksekusi dalam setiap iterasi, satu properti dari objek ditetapkan ke nama variabel dan perulangan ini berlanjut hingga semua properti objek habis.
Menggunakan Kondisi Pada Perulangan For
Pada tahap kali ini kita telah mencoba perulangan dengan berbagai studi kasus yang sederhana, Namun masih banyak lagi yang dapat kita buat dengan menggunakan loop ini. Kita akan coba menggunakan loop lalu digabungkan dengan kondisi sederhana.
Dalam contoh kali ini kita akan membuat List bilangan bulat dan kita akan menampilkan bilangan genap dari list tersebut.

void main(List<String> arguments) {
//membuat variabel angka
var angka = [6,7,3,9,2,5,4];
for(var i in angka){
if(i % 2 == 0){
print(i);
}
}
}
//Output
6
2
4
Pada baris ke 4 kita mengakses setiap item dalam list angka satu persatu, lalu pada baris 5 kita memberikan sebuah kondisi dimana variabel angka jika dibagi 2 akan menghasilkan nilai nol atau habis, sehingga jika kondisi tersebut bernilai true akan menampilkan pada statement print adalah angka bilangan genap saja.