Iterasi Array
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah halaman ini, kamu dapat memilih loop yang tepat (for, for...of, atau forEach) untuk mengunjungi semua elemen array satu per satu.
Pendahuluan
Section titled “Pendahuluan”Mengakses elemen satu per satu menggunakan nomor indeks secara manual sangat membosankan. Kita memerlukan loop untuk secara otomatis melakukan tindakan tertentu pada setiap elemen. Proses ini disebut iterasi atau penelusuran array.
Tiga Cara Iterasi Array
Section titled “Tiga Cara Iterasi Array”Di TypeScript, ada tiga cara umum untuk mengiterasi array:
1. Loop for Klasik (Dengan Indeks)
Section titled “1. Loop for Klasik (Dengan Indeks)”Gunakan jika kamu butuh indeks posisi elemen:
for (let i = 0; i < siswa.length; i++) { console.log(`${i}. ${siswa[i]}`)}2. Loop for...of (Hanya Nilai)
Section titled “2. Loop for...of (Hanya Nilai)”Gunakan jika kamu hanya butuh nilainya dan tidak butuh indeksnya:
for (const s of siswa) { console.log(s)}3. Method .forEach() (Modern)
Section titled “3. Method .forEach() (Modern)”Menggunakan callback arrow function untuk setiap elemen:
siswa.forEach((s, indeks) => { console.log(`${indeks}: ${s}`)})Analogi Kehidupan Sehari-hari
Section titled “Analogi Kehidupan Sehari-hari”Membaca Daftar Buku
Section titled “Membaca Daftar Buku”- for klasik seperti membuka halaman buku berdasarkan nomor halamannya satu per satu.
- for…of seperti membalik halaman buku satu per satu tanpa melihat nomor halaman di bawahnya.
- forEach seperti menyuruh asisten untuk membaca setiap halaman dan melaporkannya kepada kamu.
Mari Mencoba
Section titled “Mari Mencoba”Buat src/bab5/iterasi-array.ts:
const daftarSiswa: string[] = ["Andi", "Budi", "Citra"]const nilaiSiswa: number[] = [88, 75, 92]
// Cara 1: for klasikconsole.log("=== for Klasik ===")for (let i = 0; i < daftarSiswa.length; i++) { console.log(`Siswa ke-${i + 1}: ${daftarSiswa[i]} | Nilai: ${nilaiSiswa[i]}`)}
// Cara 2: for...ofconsole.log("\n=== for...of ===")for (const nama of daftarSiswa) { console.log(`Halo, ${nama}!`)}
// Cara 3: forEachconsole.log("\n=== forEach ===")daftarSiswa.forEach((nama, indeks) => { console.log(`Indeks ${indeks} berisi nama ${nama}`)})Jalankan:
tsx src/bab5/iterasi-array.tsOutput
Section titled “Output”=== for Klasik ===Siswa ke-1: Andi | Nilai: 88Siswa ke-2: Budi | Nilai: 75Siswa ke-3: Citra | Nilai: 92
=== for...of ===Halo, Andi!Halo, Budi!Halo, Citra!
=== forEach ===Indeks 0 berisi nama AndiIndeks 1 berisi nama BudiIndeks 2 berisi nama CitraPenjelasan Baris per Baris
Section titled “Penjelasan Baris per Baris”i < daftarSiswa.length— memastikan loopforklasik berhenti tepat sebelum melewati batas indeks array.for (const nama of daftarSiswa)— setiap putaran loop, variabelnamasecara otomatis diisi oleh elemen array berikutnya.daftarSiswa.forEach((nama, indeks) => { ... })— method bawaan array yang menerima fungsi dengan dua parameter: elemen saat ini dan indeksnya.
Kesalahan yang Sering Terjadi
Section titled “Kesalahan yang Sering Terjadi”// Salah: menggunakan <= bukannya <for (let i = 0; i <= siswa.length; i++) { console.log(siswa[i])}// Di putaran terakhir akan mencetak undefined!Latihan
Section titled “Latihan”Buat array berisi 5 angka. Gunakan loop for...of untuk menjumlahkan semua angka tersebut dan tampilkan total akhirnya.
Ringkasan
Section titled “Ringkasan”- Tiga cara iterasi:
forklasik,for...of, dan.forEach(). - Gunakan
forklasik atauforEachjika butuh nomor indeks. - Gunakan
for...ofjika hanya butuh nilai elemen. - Pastikan kondisi loop klasik menggunakan
<(bukan<=).