Kursus IT Dasar JavaScript 042_Perulangan while, for
Pernyataan perulangan adalah metode untuk mengeksekusi blok kode secara berulang. JavaScript menyediakan berbagai jenis pernyataan perulangan seperti while, do-while, for, dll.
Tubuh perulangan yang lengkap mencakup: ekspresi inisialisasi, kondisi perulangan, dan iterator.
Perulangan while
Perulangan while digunakan untuk mengeksekusi segmen kode secara berulang selama kondisi adalah true.
Eksekusi tunggal dari tubuh perulangan disebut satu iterasi.
Setiap ekspresi atau variabel dapat menjadi kondisi perulangan, kondisi perulangan akan dievaluasi dan hasilnya akan dikonversi menjadi nilai boolean.
Mirip dengan if, jika tubuh perulangan hanya memiliki satu pernyataan, kurung kurawal {…} juga dapat dihilangkan, tetapi ini tidak disarankan.
Sebelum setiap iterasi, kondisi akan diperiksa.
Contoh:
let i = 0; // Ekspresi inisialisasi, biasanya digunakan untuk mendeklarasikan variabel penghitung, jika tidak ada akan melaporkan undefinedwhile (i < 5) { // Kondisi perulangan, jika `true`, perulangan akan terus dieksekusi console.log(i); i++; // Iterator, biasanya digunakan untuk memperbarui variabel penghitung dan mencocokkan kondisi perulangan}Contoh perulangan tak terbatas:
let i = 0; while (1) { // Kondisi selalu true akan masuk ke perulangan tak terbatas console.log(i); i++; // Biasanya berlaku untuk bentuk pembaruan penghitung ini pada kondisi perulangan if (i >= 5) break; // Komentari ini untuk masuk ke mode perulangan tak terbatas}Perulangan do-while
Perulangan do-while mirip dengan perulangan while, tetapi ia mengeksekusi tubuh perulangan sekali terlebih dahulu, kemudian memeriksa apakah kondisi adalah true. Jika kondisi benar, ia melanjutkan mengeksekusi tubuh perulangan.
Perhatikan skenario penggunaan: gunakan do-while hanya ketika tubuh perulangan harus dieksekusi setidaknya sekali, terlepas dari apakah kondisi benar atau tidak. Untuk skenario lain, perulangan while direkomendasikan.
Setelah setiap iterasi, kondisi akan diperiksa.
Contoh:
let i = 0;do { console.log(i); i++;} while (i < 5);Perulangan for
Perulangan for adalah struktur perulangan yang lebih kompleks tetapi juga paling umum diterapkan, digunakan untuk mengeksekusi segmen kode secara berulang.
Perulangan for mencakup tiga bagian: ekspresi inisialisasi, kondisi perulangan, dan iterator. Berikut adalah sintaks dasar perulangan for:
Sebelum setiap iterasi, kondisi akan diperiksa, pengaturan lain dapat digunakan.
Contoh:
for (let i = 0; i < 5; i++) { console.log(i);}Contoh perulangan tak terbatas:
let i = 0; for ( ; ; ) { // Ketika semua kondisi dihilangkan, akan masuk ke perulangan tak terbatas console.log(i); i++; // Biasanya berlaku untuk bentuk pembaruan penghitung ini pada kondisi perulangan if (i >= 5) break; // Komentari ini untuk masuk ke mode perulangan tak terbatas}Menghilangkan segmen pernyataan
Dalam perulangan for, ekspresi inisialisasi, kondisi perulangan, atau iterator dapat dihilangkan, satu atau beberapa, tetapi titik koma ; harus dipertahankan. Titik koma digunakan untuk memisahkan setiap bagian, ketika menghilangkan satu bagian, titik koma yang sesuai masih perlu dipertahankan.
Contoh:
let x = 0;for (; x < 5; x++) { console.log(x);}// Ekspresi inisialisasi dihilangkan dan dipindahkan ke luar perulangan, perulangan tetap valid
let y = 0;for (;; y++) { if (y >= 5) { break; } console.log(y);}// Kondisi perulangan dihilangkan, perulangan diakhiri melalui pernyataan `if` dan `break`
let z = 0;for (; z < 5;) { console.log(z); z++;}// Iterator dihilangkan dan dipindahkan ke tubuh perulangan, perulangan tetap validPerulangan bersarang
Perulangan bersarang berarti di dalam tubuh perulangan terdapat struktur perulangan lengkap lainnya. Setiap kali perulangan luar dieksekusi, perulangan dalam akan dieksekusi sekali secara lengkap.
Contoh segitiga siku-siku:
// Contoh Afor (let i = 1; i <= 5; i++) { // Perulangan luar, mengontrol jumlah baris, dari 1 hingga 5. let row = ''; // Setiap kali perulangan luar dieksekusi, string kosong `row` dibuat untuk menyimpan bintang dari baris saat ini. for (let j = 1; j <= i; j++) { // Perulangan dalam, mengontrol jumlah bintang per baris, dari 1 hingga nomor baris saat ini `i`. row += '⭐ '; // Menambahkan bintang ke `row`, membentuk string bintang dari baris saat ini. } console.log(row); // Menampilkan string bintang dari baris saat ini.}// Contoh Bfor (let i = 1; i <= 5; i++) { // Perulangan luar mewakili jumlah baris for (let j = 1; j <= i; j++) { // Perulangan dalam mewakili kolom document.write('⭐'); // Menggunakan bintang sebagai elemen grafis } document.write('</br>'); // Baris baru}Contoh segitiga terbalik:
// Contoh Afor (let i = 5; i >= 1; i--) { // Perulangan luar, mengontrol jumlah baris, dari 1 hingga 5. let row = ''; // Setiap kali perulangan luar dieksekusi, string kosong `row` dibuat untuk menyimpan bintang dari baris saat ini. for (let j = 1; j <= i; j++) { // Perulangan dalam, mengontrol jumlah bintang per baris, dari 1 hingga nomor baris saat ini `i`. row += '* '; // Menambahkan bintang ke `row`, membentuk string bintang dari baris saat ini. } console.log(row); // Menampilkan string bintang dari baris saat ini.}// Contoh Bfor (let i = 1; i <= 5; i++) { // Perulangan luar mewakili jumlah baris for (let j = 0; j <= 5 - i; j++) { // Perulangan dalam mewakili kolom document.write('⭐'); // Menggunakan bintang sebagai elemen grafis } document.write('</br>'); // Baris baru}break mengakhiri (menghentikan, keluar) perulangan
break digunakan untuk mengakhiri (menghentikan, keluar dari) perulangan saat ini atau pernyataan switch. Jika tidak ada break, ia akan melanjutkan mengeksekusi case berikutnya (yaitu terjadi fenomena “penetrasi”).
Kombinasi “perulangan tak terbatas + break” cocok untuk situasi di mana tidak perlu memeriksa kondisi di awal/akhir perulangan, tetapi perlu memeriksa kondisi di tengah atau bahkan di beberapa posisi dalam tubuh.
Contoh:
let count = 0;while (true) { console.log("Dalam perulangan..."); // Mensimulasikan kondisi tertentu, ketika terpenuhi keluar dari perulangan if (count === 5) { console.log("Kondisi terpenuhi, keluar dari perulangan"); break; } count++;}continue melanjutkan ke iterasi berikutnya (melewati yang sekarang)
continue digunakan untuk mengakhiri iterasi saat ini secara prematur dalam perulangan dan melanjutkan ke iterasi berikutnya.
continue adalah “versi ringan” dari break. Ia tidak menghentikan seluruh perulangan, tetapi hanya menghentikan iterasi saat ini dan memaksa memulai iterasi baru (jika kondisi memungkinkan).
Contoh:
for (let i = 0; i < 8; i++) { if (i % 2 === 0) { continue; // Ketika i modulo 2 sama dengan 0, melewati iterasi saat ini dan melanjutkan ke iterasi berikutnya } console.log(i);}