Algorithms and Programming JavaScript 4
Struktur Kendali II
Looping
Looping atau perulangan adalah sebuah program yang ketika dijalankan akan menimbulkan perulangan. Terdapat 2 tipe perulangan yaitu:
- Perulangan yang diketahui berapa kali jumlah perulangannya (For).
- Perulangan yang tidak diketahui berapa kali jumlah perulangannya (While)
For Loop
For Loop atau Perulangan for biasa digunakan ketika jumlah perulangannya dapat kita ketahui. Terdapat 2 tipe perulangan for pada Bahasa Pemrograman Javascript yaitu:
- For standard (Merupakan perulangan yang menggunakan jangkauan angka sebagai acuan berapa kali perulangannya terjadi)
- For in standard (Merupakan perulangan yang menggunakan tipe data list/array sebagai acuan berapa kali perulangannya terjadi)
Berikut ini adalah contoh implementasi perulangan For standard:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20// For
// Syntax Type 1:
for ( let i = 0; i < 5; i++ ) { // 5 itu nilai akhir | Ketika i ada dalam jangkauan 0~4
console.log("Ini Perulangan ke-" + i);
}
console.log("\n");
// Syntax Type 2:
for ( let i = 3; i < 10; i++ ) { // 3 itu nilai awal, 10 nilai akhir | Ketika i dalam jangkauan 3~9
console.log("Ini Perulangan ke-" + i);
}
console.log("\n");
// Syntax Type 3:
for ( let i = 20; i >= 5; i -= 5 ) { // 20 nilai awal, 5 nilai akhir, dan selisih -5 |
// Ketika i dalam jangkauan 20~4 maka kurangi 5 disetiap perulangan
console.log("Ini Perulangan ke-" + i);
}
Berikut ini adalah contoh implementasi perulangan For in Standard:1
2
3
4
5
6
7
8
9
10
11
12
13// For in Standard
// Digunakan ketika memiliki sebuah data yang berupa list/array
// List/Array
// Kumpulan sebuah daftar data (biasanya setipe, tetapi ada pula yang tidak setipe)
// Cara mendeklarasikan list menggunakan [] dan setiap data dipisah dengan koma (,)
let str_belanja = ["Sawi Putih", "Ayam", "Daging Sapi", "Shoyu", "Kecap Manis", "Indomie"]
for (let i in str_belanja) {
console.log(str_belanja[i]);
}
While Loop
While Loop atau perulangan while merupakan sebuah perulangan yang diaktifkan menggunakan boolean. Biasanya digunakan ketika jumlah perulangannya tidak kita ketahui. Terdapat 2 versi while yaitu
- Versi Conditional
- Versi Keyword/Kata Kunci
Versi kondisonal digunakan ketika kita ingin mengulangi perulangan dengan kondisi yang kita sesuaikan sendiri, cara penggunaannya tidak berbeda jauh dengan Conditional IF berikut contohnya:
1 | let i = 0; |
Versi Keyword atau kata kunci akan mengandalkan keyword untuk memberhentikan atau melanjutkan perulangan, hal ini cukup beresiko dan menyebabkan infinite loop atau perulangan yang tidak terbatas jika tidak menggunakannya secara hati-hati.
Terdapat 2 kata kunci yang digunakan di dalam while
- continue (melanjutkan perulangan)
- break (berhenti paksa)
Berikut ini adalah contoh penggunaannya:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29// Versi Tanpa Kata Kunci
let status = true;
let i = 0;
let a = parseInt(prompt("masukkan jumlah maksimal: "));
while(status) {
if (i < a) {
console.log("Ini Perulangan ke-" + i);
i += 1;
} else {
console.log("Program Berhenti");
status = false;
}
}
// Versi Dengan Kata Kunci
let i = 0
let a = parseInt(prompt("masukkan jumlah maksimal: "));
while(true) {
if (i < a){
console.log("Ini Perulangan ke-" + i);
i += 1;
continue;
} else {
console.log("Program Berhenti");
break;
}
}
Do While Loop
Sama seperti While loop hanya saja, Jika while harus mengaktifkan loopingnya terlebih dahulu baru mengeksekusi dan menjalankan kode blok program didalam while setelahnya, maka do while sebaliknya. Do While akan mengeksekusi dan menjalankan kode blok program di dalam do whilenya terlebih dahulu baru mengaktifkan loopingnya.
Berikut ini adalah contoh penggunaannya:
1 | let i = 0; |
Latihan
Kerjakan Latihan Berikut ini untuk mengetes pemahamanmu tentang Struktur Kendali II
Latihan Perulangan
Latihan Perulangan For
Latihan Perulangan For 1
Buatlah program piramida segitiga angka seperti pada contoh dibawah ini. (Estimasi 10 Menit)
OUTPUT1
2
3
4
5
6
7
8
9Input Nilai Max: 7 (Diinput oleh User)
7777777
666666
55555
4444
333
22
1
Latihan Perulangan For 2
Buatlah program piramida segitiga angka seperti pada contoh dibawah ini. (Estimasi 15 Menit)
OUTPUT1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Input Nilai Max: 7 (Diinput oleh User)
7777777
666666
55555
4444
333
22
1
22
333
4444
55555
666666
7777777
Latihan Perulangan While
Latihan Perulangan 1
Buatlah program filtering angka ganjil genap pada latihan sebelumnya menjadi sebuah perulangan. (estimasi 2 menit)
OUTPUT1
2
3
4
5
6
7
8
9
10Masukkan Angka Bebas: 5 (Diinput oleh User)
Angka 5 merupakan ganjil
Ingin mengulanginya lagi? Y (Diinput oleh User)
Masukkan Angka Bebas: 8 (Diinput oleh User)
Angka 6 merupakan genap
Ingin mengulanginya lagi? N (Diinput oleh User)
Program Berhenti
Terima kasih telah menggunakan program saya ^^
Latihan Perulangan 2
Buatlah program filtering segitiga pada latihan sebelumnya menjadi sebuah perulangan. (estimasi 3 menit)
OUTPUT1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18Masukkan Sisi A: 5 (Diinput oleh user)
Masukkan Sisi B: 5 (Diinput oleh user)
Masukkan Sisi C: 5 (Diinput oleh user)
Merupakan Segitga Sama Sisi
Ingin mengulanginya lagi? Y (Diinput oleh User)
Masukkan Sisi A: 5 (Diinput oleh user)
Masukkan Sisi B: 5 (Diinput oleh user)
Masukkan Sisi C: 7 (Diinput oleh user)
Merupakan Segitiga Sama Kaki
Ingin mengulanginya lagi? N (Diinput oleh User)
Program Berhenti
Terima kasih telah menggunakan program saya ^^
Latihan Perulangan 3
Buatlah program fungsi untuk merata-ratakan nilai sesuai dengan kategori huruf yang diinputkan dimana aturannya adalah sebagai berikut: (estimasi 20 menit)
- A = 4.00
- A- = 3.75
- B+ = 3.50
- B = 3.00
- B- = 2.75
- C+ = 2.50
- C = 2.00
- C- = 1.75
- D = 1.50
- E = 1.20
OUTPUT1
2
3
4
5
6Masukkan Kategori Nilai (Tekan Enter Untuk Berhenti): A //4
Masukkan Kategori Nilai (Tekan Enter Untuk Berhenti): B //3
Masukkan Kategori Nilai (Tekan Enter Untuk Berhenti): B //3
Masukkan Kategori Nilai (Tekan Enter Untuk Berhenti): C //2
Masukkan Kategori Nilai (Tekan Enter Untuk Berhenti): //(4 + 3 + 3 + 2)/4 = 3
Rata-rata nilainya adalah 3.00 dengan Predikat B