Struktur Kendali II

Looping

Looping atau perulangan adalah sebuah program yang ketika dijalankan akan menimbulkan perulangan. Terdapat 2 tipe perulangan yaitu:

  1. Perulangan yang diketahui berapa kali jumlah perulangannya (For).
  2. 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:

  1. For standard (Merupakan perulangan yang menggunakan jangkauan angka sebagai acuan berapa kali perulangannya terjadi)
  2. 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

  1. Versi Conditional
  2. 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
2
3
4
5
6
7
let i = 0;

while(i < 5){
console.log("Ini Perulangan ke-" + i);
i = i + 1
//i += 1
}

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

  1. continue (melanjutkan perulangan)
  2. 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
2
3
4
5
6
7
let i = 0;

do {
console.log("Ini Perulangan ke-" + i);
i++;
}
while (i < 5);

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)

OUTPUT

1
2
3
4
5
6
7
8
9
Input 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)

OUTPUT

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Input 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)

OUTPUT

1
2
3
4
5
6
7
8
9
10
Masukkan 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)

OUTPUT

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Masukkan 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

OUTPUT

1
2
3
4
5
6
Masukkan 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