Looping merupakan pengulangan. Alasan dari penggunaan looping dapat diilustrasikan dengan kode program di bawah.
// Cetak "Hello" pada terminal sebanyak 117 kali
console.log("Hello"); // line 1
console.log("Hello"); // line 2
console.log("Hello"); // line 3
·
·
·
console.log("Hello"); // line 117Kode program di atas rawan untuk error dengan alasan sebagai berikut:
- Kita harus benar-benar memperhatikan bahwa ada tepat 117
console.log("Hello"). - Apabila requirement berubah menjadi 275 kali, maka kita harus melakukan copy-paste dengan teliti hingga benar-benar ada 275 line
console.log("Hello").
Maka dari itu, bahasa pemrograman pada umumnya menyediakan fitur looping. Pada JavaScript terdapat tiga jenis looping, yaitu for, while dan do...while.
DRY (Don't Repeat Yourself). Pekerjaan manual yang sama dan dilakukan berkali-kali akan memperbesar kemungkinan terjadinya human error.
Syntax for memiliki empat bagian:
- Inisialisasi
- Kondisional
- Increment/decrement
- Kode program yang dieksekusi
Syntax
for (1. Inisialisasi; 2. Kondisional; 3. Increment/decrement) { 4. Kode program yang dieksekusi }Pseudocode
FOR i FROM 0 TO 9 INCREMENT BY 1 DISPLAY 'Hello' END FORExample
for (var i = 0; i < 10; i++) { console.log("Hello"); }
Apabila diterjemahkan ke Bahasa Indonesia, for adalah LAKUKAN X SEBANYAK Y KALI. Dengan pengertian tersebut, maka for tepat untuk digunakan pada pengulangan yang kita tahu persis berapa kali akan dilakukan.
Syntax while memiliki dua bagian:
- Kondisional
- Kode program yang dieksekusi
Syntax
while(1. Kondisional) { 2. Kode program yang dieksekusi }Pseudocode
STORE i WITH 0 WHILE i LESS THAN 10 DISPLAY 'Hello' SET i WITH i PLUS 1 END WHILEExample
var i = 0; while(i < 10) { console.log("Hello"); i++; }
Apabila diterjemahkan ke Bahasa Indonesia, while adalah SELAMA TRUE LAKUKAN X. Dengan pengertian tersebut, maka while tepat untuk digunakan pada pengulangan di mana kita hanya tahu kondisi berhentinya saja, tanpa mengetahui berapa banyak pengulangan akan dilakukan.
Syntax do...while memiliki dua bagian:
- Kondisional
- Kode program yang dieksekusi
Syntax
do { 2. Kode program yang dieksekusi } while (1. Kondisional)Pseudocode
STORE i WITH 0 DO DISPLAY 'Hello' SET i WITH i PLUS 1 WHILE i LESS THAN 10Example
var i = 0; do { console.log("Hello"); i++; } while(i < 10);
Apabila diterjemahkan ke Bahasa Indonesia, do...while adalah LAKUKAN X SELAMA TRUE. Dengan pengertian tersebut, maka do...while tepat untuk digunakan pada pengulangan di mana kita hanya tahu kondisi berhentinya saja, tanpa mengetahui berapa banyak pengulangan akan dilakukan.
Perbedaan antara while dengan do...while adalah:
- Pada
whilepengecekan kondisi akan dilakukan terlebih dahulu. - Pada
do...whilepengecekan kondisi akan dilakukan belakangan.
break merupakan statement yang dapat digunakan untuk mengakhiri looping. Sebagai contoh, perhatikan kode program di bawah:
for (var i = 0; i < 10; i++) {
console.log('Hello');
break;
}Hasil yang didapatkan dari mengeksekusi kode program tersebut hanyalah sebuah text 'Hello'. Setelah 'Hello' ditampilkan, komputer akan mengeksekusi statement break, sehingga proses looping terhenti.
// Salah kondisi atau variable yang di-increment
var j = 0;
for (var i = 0; i < 10; j++) {
console.log(j);
}
// Salah menentukan decrement/increment
for (var i = 10; i > 0; i++) {
console.log(i);
}/**
* Diberikan sebuah string input. Tampilkan semua karakter pada string tersebut ke bawah pada terminal.
* Buatlah pseudocode beserta kode programnya.
*/
/**
* PSEUDOCODE
*/
var input = 'Hello World';
// Your code here/**
* Diberikan sebuah string input. Tampilkan per-dua karakter dari string tersebut ke bawah pada terminal.
* Buatlah pseudocode beserta kode programnya.
*
* Contoh:
* Input : 'Hello World'
* Output : 'He'
* 'll'
* 'o '
* 'Wo'
* 'rl'
* 'd'
*/
/**
* PSEUDOCODE
*/
var input = 'Hello World';
// Your code here/**
* Buatlah sebuah pseudocode dan kode program yang akan menjumlahkan semua angka genap dari 1 hingga input.
*/
/**
* PSEUDOCODE
*/
var input = 10;
// Your code here/**
* Buatlah sebuah program yang akan menghitung berapa kali seseorang harus melempar dadu sehingga mendapatkan angka 6.
* Tampilkan hasil perhitungan tersebut pada terminal.
*/
/**
* PSEUDOCODE
*/
var hasilLempar = 0;
var totalLempar = 0;
// Your code here