1. Array of Objects (Bentuk Standar Data API)
Hampir 90% pertukaran data antara backend server dan aplikasi frontend menggunakan format Array of Objects (kumpulan object berurutan). Mengetahui cara melakukan filter, pencarian, dan kalkulasi total pada data ini adalah keterampilan wajib software engineer.
Manipulasi Array of Objects
javascript
| 1 | const produkList = [ |
| 2 | { id: 1, nama: "Keyboard Mechanical", harga: 450000, stok: 12 }, |
| 3 | { id: 2, nama: "Mouse Wireless", harga: 150000, stok: 0 }, |
| 4 | { id: 3, nama: "Monitor 24 Inch", harga: 1800000, stok: 5 } |
| 5 | ]; |
| 6 | |
| 7 | // 1. Filter produk yang masih ada stok |
| 8 | const produkReady = produkList.filter((p) => p.stok > 0); |
| 9 | |
| 10 | // 2. Hitung total nilai inventaris dengan .reduce() |
| 11 | const totalNilaiInventaris = produkList.reduce( |
| 12 | (akumulator, p) => akumulator + p.harga * p.stok, |
| 13 | 0 |
| 14 | ); |
| 15 | |
| 16 | console.log("Total nilai gudang: Rp", totalNilaiInventaris); |
2. Matriks 2 Dimensi (Array di dalam Array)
Matriks 2D adalah array yang berisi array lain. Ini digunakan untuk merepresentasikan koordinat grid (baris dan kolom), seperti papan catur, pixel gambar, atau peta game.
Papan Tic-Tac-Toe dengan Matriks 2D
javascript
| 1 | const papan = [ |
| 2 | ["X", "O", "X"], // Baris 0 |
| 3 | [" ", "X", "O"], // Baris 1 |
| 4 | ["O", " ", "X"] // Baris 2 |
| 5 | ]; |
| 6 | |
| 7 | // Mengakses titik tengah: papan[baris][kolom] |
| 8 | console.log("Tengah:", papan[1][1]); // "X" |
| 9 | |
| 10 | // Menempatkan bidak di baris 1 kolom 0 |
| 11 | papan[1][0] = "O"; |
Kuis Pemahaman
+10 XP
Pada matriks `const grid = [[10, 20], [30, 40]];`, bagaimana cara mengakses nilai angka 40?