Beberapa waktu lalu saya pernah ngikutin tutorial Java di Kelas Terbuka, dan saya baru tersadar bahwa cara nge-loop itu penting. Seperti kapan harus pake for, kapan harus pake while.

Oiya, kenapa saya ngikutin tutorial java waktu itu? Pengen gaya aja. Tapi sekarang saya mau bikin contohnya pake javascript.

The (brief) Definition

Looping atau dalam Bahasa Indonesia disebut pengulangan, adalah suatu program untuk mengulang suatu aksi ketika memenuhi suatu kondisi.

while (true) {
  console.log("helo mantan!");
}

Program di atas akan mencetak helo mantan! terus menerus (infinite loop) karena kondisinya selalu terpenuhi (true). Maka, jika suatu pengulangan ingin dihentikan, kondisinya harus tidak terpenuhi.

for (let jmlMantan = 0; jmlMantan <= 10; jmlMantan++){
  console.log("mantanmu baru " + jmlMantan + ", cari mantan lagi!");
}

Pada program di atas, jmlMantan akan terus ditambahkan sampai kondisinya <= 10. Ketika jmlMantan == 11, pengulangan akan dihentikan karena sudah tidak memenuhi kondisi <= 10 .

Maka, looping ada dua jenis:

  1. Counted loop
  2. Uncounted loop

Counted Loop

Counted Loop adalah pengulangan yang dapat dihitung. Dengan kata lain, kita tahu kapan pengulangannya akan berhenti.

Kamu bisa nemuin counted loop di:

  • For
  • For Each / Foreach

Dua pengulangan di atas mewajibkan kita untuk menentukan “batas” pengulangannya.

For

for (let a = 10; a > 0; a--) {
  console.log(a);
}

Dalam For, kita harus melakukan deklarasi variabel terlebih dahulu (let a = 10), lalu kita menentukan kondisi pengulangannya (a > 0), terakhir kita tentukan aksinya (a--). Kita tahu bahwa ketika nilai a sudah tidak lebih dari 0, pengulangan akan dihentikan.

For Each

Nah, untuk for each di javascript, ada yang namanya for..of, yang dimana itu teh biasanya untuk array.

const daftarMantan = ["Yoona", "Wendy", "Irene", "Taeyon"];

for (let mantan of daftarMantan) {
  console.log(mantan);
}

Kasarnya begini, kita sudah tau apa yang akan di-for, dalam program di atas adalah sebuah array daftarMantan yang berisi daftar nama mantan. Maka, kita tahu pengulangannya akan berakhir ketika semua nama mantan telah dicetak di console.

Uncounted Loop

Ketika sebuah looping tidak atau belum diketahui kapan akan berakhir atau malah terjadi infinite loop, maka itu disebut uncounted loop.

Uncounted loop dapat ditemukan di:

  • While
  • Do While

While

Seperti contoh pertama di tulisan ini. Itu yang di atas sana. While bisa membuat perulangan yang tidak akan pernah berhenti. Maka, harus dikasih kondisi agar berhenti.

let a = 0;

while(a < 10) {
  console.log(a);
  a++;
}

Program di atas akan berhenti ketika variabel a bernilai lebih dari 10. Nilai a dapat terus bertambah seiring dengan perulangan karena ada increment a++.

Do While

Mari kita buat infinite loop terlebih dahulu,

do {
  console.log("mantan brengsek!");
} while (true);

Lalu kita kondisikan biar berhenti,

let x = 10;

do {
  console.log("mantan brengsek!");
  x--;
} while (x > 0);
// program mencetak "mantan brengsek!" 10 kali

Bandingkan dengan ini,

let x = 10;

do {
  console.log("mantan brengsek!");
} while (x < 0);
// program akan mencetak "mantan brengsek!" 1 kali

Loh kok bisa nyetak satu kali? Padahal kan kondisinya false.

Itu terjadi karena do while akan melakukan apa yang ada dalam block code do terlebih dahulu, baru mengecek kondisinya. Apabila kondisinya ternyata false, pengulangan akan segera dihentikan. Maka, do while minimal melakukan pengulangan satu kali.

Conclusion

YA GITU DEH!