Ringkasan BAB 3
Selamat!
Section titled “Selamat!”Kamu telah menyelesaikan BAB 3: Perulangan. Ini adalah bab yang mengubah cara kamu berpikir tentang program. Dengan loop, program tidak lagi terbatas pada data yang sudah diketahui — ia bisa memproses jumlah data berapapun secara otomatis.
Tabel Perbandingan Loop
Section titled “Tabel Perbandingan Loop”| Loop | Kondisi diperiksa | Kapan dipakai |
|---|---|---|
while |
Sebelum setiap putaran | Jumlah putaran tidak diketahui |
do...while |
Setelah setiap putaran | Harus jalan minimal sekali |
for |
Sebelum setiap putaran | Jumlah putaran sudah diketahui |
for...of |
Otomatis | Iterasi nilai array atau string |
for...in |
Otomatis | Iterasi key object |
Kapan Menggunakan Loop yang Mana?
Section titled “Kapan Menggunakan Loop yang Mana?”Ada array atau string yang ingin diiterasi? ├─ Butuh nilai → for...of ├─ Butuh indeks juga → for biasa └─ Iterasi key object → for...in
Jumlah pengulangan sudah diketahui? └─ Ya → for biasa
Harus jalan minimal satu kali? └─ Ya → do...while
Kondisi bergantung pada proses di dalam loop? └─ Ya → whileKontrol Loop
Section titled “Kontrol Loop”| Perintah | Efek | Analogi |
|---|---|---|
break |
Keluar dari loop | Bel sekolah berbunyi |
continue |
Lewati satu putaran | Siswa absen, lanjut |
Pola Iterasi Array yang Sering Dipakai
Section titled “Pola Iterasi Array yang Sering Dipakai”// Total semua nilailet total = 0for (const n of array) total += n
// Nilai maksimumlet max = array[0]for (const n of array) if (n > max) max = n
// Filter elemenconst lulus: number[] = []for (const n of array) { if (n >= 75) lulus.push(n)}Hal Penting yang Harus Diingat
Section titled “Hal Penting yang Harus Diingat”Tiga komponen loop wajib ada
Section titled “Tiga komponen loop wajib ada”while (kondisi) { // aksi // perubahan yang menuju false}Indeks array dimulai dari 0
Section titled “Indeks array dimulai dari 0”const arr = ["A", "B", "C"]// arr[0] = "A", arr[1] = "B", arr[2] = "C"// loop: i < arr.length (bukan <=)break vs continue
Section titled “break vs continue”break // keluar dari seluruh loopcontinue // lewati putaran ini, lanjut ke berikutnyaInfinite loop bisa terjadi jika
Section titled “Infinite loop bisa terjadi jika”- Lupa perubahan variabel.
- Perubahan ke arah yang salah.
- Kondisi
!==melewati nilai target.
Hentikan dengan Ctrl + C.
Checklist BAB 3
Section titled “Checklist BAB 3”- Memahami konsep loop: kondisi, aksi, perubahan
- Bisa membuat
whileloop - Bisa membuat
do...whileloop - Bisa membuat
forloop dengan tiga komponen - Bisa menggunakan
for...ofuntuk array - Bisa menggunakan
for...inuntuk object - Bisa menggunakan
breakuntuk menghentikan loop - Bisa menggunakan
continueuntuk melewati putaran - Memahami nested loop dan alur eksekusinya
- Bisa mendeteksi dan menghindari infinite loop
- Menyelesaikan studi kasus absensi
- Menyelesaikan mini project daftar nilai
- Sudah mencoba 10 challenge
- Mengerti error umum loop dan cara memperbaikinya
Perintah Berguna
Section titled “Perintah Berguna”tsx src/bab3/namafile.ts ← jalankan file TypeScriptCtrl + C ← hentikan program yang berjalanKonsep yang Menghubungkan BAB 1, 2, 3
Section titled “Konsep yang Menghubungkan BAB 1, 2, 3”BAB 1 (Variabel & Tipe Data) ↓ menyimpan data: string[], number[], objectBAB 2 (Operator & Percabangan) ↓ kondisi loop, grade, filter dataBAB 3 (Perulangan) ↓ memproses banyak data secara otomatisLatihan Penutup
Section titled “Latihan Penutup”Tanpa melihat contoh sebelumnya, buat src/bab3/review-bab3.ts:
- Buat array 6 siswa dengan nama dan nilai rata-rata.
- Tampilkan semua siswa dengan nomor urut.
- Hitung rata-rata kelas menggunakan loop.
- Tampilkan nama siswa dengan nilai tertinggi.
- Filter dan tampilkan siswa yang nilainya di bawah rata-rata kelas.
- Buat baris pemisah menggunakan
"=".repeat(40).
Jalankan dan pastikan output berubah jika data diubah.
Pesan untuk Kamu
Section titled “Pesan untuk Kamu”Loop adalah salah satu konsep yang paling sering dipakai oleh programmer. Setiap kali kamu melihat data yang banyak — nilai, nama, produk, transaksi — di situlah loop bekerja.
Kamu sudah menguasai alat yang dipakai di setiap program komputer yang pernah dibuat.