Learn
← Previous Next →

Hari 3: Array & Method Array

65 min Last updated 09 Apr 2026

Array Dasar

const buah = ["apel", "mangga", "pisang", "jeruk"];

console.log(buah[0]);         // "apel"
console.log(buah.length);     // 4
console.log(buah.at(-1));     // "jeruk" (index dari belakang)

buah.push("durian");          // tambah di akhir → [..."durian"]
buah.pop();                   // hapus dari akhir → return "durian"
buah.unshift("nanas");        // tambah di awal
buah.shift();                 // hapus dari awal

Array Methods Penting

const angka = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3];

// Slice — ambil sebagian (tidak mengubah original)
angka.slice(2, 5);     // [4, 1, 5]

// Splice — hapus/sisipkan (mengubah original!)
angka.splice(1, 2);    // hapus 2 elemen dari index 1

// Sorting
[...angka].sort((a, b) => a - b);  // ascending: [1,1,2,3,3,4,5,5,6,9]
[...angka].sort((a, b) => b - a);  // descending

// Find
angka.includes(9);     // true
angka.indexOf(5);      // index pertama 5
angka.find(n => n > 5);     // 9 (elemen pertama > 5)
angka.findIndex(n => n > 5); // index elemen pertama > 5

Spread & Destructuring

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const gabung = [...arr1, ...arr2]; // [1,2,3,4,5,6]

// Destructuring
const [pertama, kedua, ...sisanya] = [10, 20, 30, 40, 50];
console.log(pertama); // 10
console.log(sisanya); // [30, 40, 50]

💡 Notice: Math.max(...arr) menggunakan spread operator untuk menyebarkan array sebagai argument. reduce() mengakumulasikan nilai.

Assignment

Diberikan nilai = [85, 72, 91, 68, 95, 78]. Tampilkan: (1) nilai tertinggi, (2) nilai terendah, (3) rata-rata (2 desimal), (4) jumlah nilai di atas 80.

Expected output:

Tertinggi: 95
Terendah: 68
Rata-rata: 81.50
Di atas 80: 3
JS script.js
Solution
Output