Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Array adalah struktur data untuk menyimpan beberapa nilai dalam satu variabel. Setiap nilai disebut elemen dan memiliki posisi yang disebut indeks. Dalam banyak bahasa pemrograman, indeks dimulai dari 0.

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

console.log(buah[0]); // apel
console.log(buah[2]); // jeruk

Array cocok untuk data yang memiliki urutan, seperti nama siswa, nilai ujian, harga produk, menu, koordinat, piksel gambar, dan data tabel.

Apa Itu Array?

Bayangkan array sebagai deretan loker. Satu rak dapat memiliki banyak loker, setiap loker menyimpan satu nilai, dan setiap loker memiliki nomor posisi. Dalam pemrograman, rak tersebut adalah array, isi loker adalah elemen, sedangkan nomor posisinya adalah indeks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Tanpa array, tiga nilai harus disimpan dalam variabel terpisah:

const nilai1 = 80;
const nilai2 = 75;
const nilai3 = 90;

Dengan array, data tersebut lebih mudah dikelola dan diulang:

const nilai = [80, 75, 90];

Array memudahkan program melakukan perulangan, pencarian, pengurutan, penyaringan, dan transformasi terhadap sekumpulan data. Penjelasan dasar tentang array dan penggunaannya juga tersedia dalam panduan array MDN.

Bagian-Bagian Penting Array

Perhatikan contoh berikut:

const skor = [72, 88, 91, 65];
  • Array: wadah koleksi data, yaitu skor.
  • Elemen: setiap nilai di dalam array, yaitu 72, 88, 91, dan 65.
  • Indeks: posisi elemen. skor[0] berisi 72.
  • Panjang: jumlah elemen. Array tersebut memiliki panjang 4.
  • Dimensi: jumlah tingkat indeks yang diperlukan untuk mengambil data.
  • Tipe elemen: aturan tentang jenis nilai yang dapat disimpan.

Untuk array dengan indeks berbasis nol, rumus sederhananya adalah:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

indeks terakhir = panjang array - 1

Indeks Nilai
0 72
1 88
2 91
3 65

Cara Membuat Array dalam Berbagai Bahasa

JavaScript

const angka = [10, 20, 30];
const kosong = [];

Array literal dengan tanda kurung siku biasanya merupakan pilihan paling jelas bagi pemula. Berhati-hatilah dengan konstruktor berikut:

const data = new Array(3);

Kode tersebut membuat array dengan tiga slot kosong, bukan array yang berisi angka 3 sebanyak tiga kali. Detail perilaku konstruktor dijelaskan dalam dokumentasi Array() MDN.

Python

Python biasanya menggunakan list untuk kebutuhan koleksi berurutan yang mirip array:

angka = [10, 20, 30]

Nama tipe resminya adalah list. Untuk komputasi numerik besar dan operasi vektor, ekosistem Python juga banyak menggunakan NumPy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Java

int[] angka = {10, 20, 30};
int[] data = new int[3];

Pada contoh kedua, ukuran array ditentukan saat dibuat dan array tidak dapat diperbesar secara langsung. Lihat dokumentasi array Java.

C

int angka[3] = {10, 20, 30};

Array C memiliki tipe elemen tertentu dan ukuran yang ditentukan saat deklarasi, atau dikelola melalui mekanisme alokasi dinamis yang terpisah. Referensi sintaks tersedia di cppreference.

Rank #2
Sale
Game Programming Patterns
  • Brand New in box. The product ships with all relevant accessories

Jenis-Jenis Array

Istilah “jenis array” dapat berbeda menurut bahasa dan konteks. Klasifikasi berikut menggambarkan bentuk dan perilaku yang umum.

Array Satu Dimensi

Array satu dimensi adalah deretan linear yang diakses dengan satu indeks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const kota = ["Jakarta", "Bandung", "Surabaya"];
console.log(kota[1]); // Bandung

Jenis ini cocok untuk daftar nama, angka, harga, atau data lain yang hanya memiliki satu urutan.

Array Dua Dimensi

Array dua dimensi berisi array lain dan biasanya dipakai untuk tabel, grid, atau matriks.

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

console.log(matriks[0][1]); // 2

Indeks pertama menunjuk baris dan indeks kedua menunjuk kolom. Dalam Java, bentuknya dapat ditulis sebagai int[][] matriks. Namun, array dua dimensi tidak selalu berupa matriks persegi panjang. Pada beberapa bahasa, ia dapat berupa array yang berisi referensi ke array lain sehingga panjang setiap baris berbeda.

Array Multidimensi

Array dengan tiga dimensi atau lebih dapat digunakan untuk data spasial, citra, video, simulasi, data ilmiah, atau tensor.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const kubus = [
  [[1, 2], [3, 4]],
  [[5, 6], [7, 8]]
];

console.log(kubus[1][0][1]); // 6

Jangan menyamakan semua array multidimensi dengan matriks. Matriks biasanya memiliki dua dimensi, sedangkan tensor dapat memiliki lebih banyak dimensi.

Array Statis atau Fixed-Size

Ukuran array fixed-size ditentukan ketika array dibuat dan tidak dapat diperbesar atau diperkecil secara langsung.

int nilai[5];       // C
int[] nilai = new int[5]; // Java

Kelebihannya adalah ukuran dan strukturnya mudah diprediksi. Kekurangannya, data yang melebihi kapasitas memerlukan array baru, sedangkan kapasitas yang terlalu besar dapat membuang ruang.

Array Dinamis

Array dinamis dapat tumbuh atau berkurang melalui operasi tertentu.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const antrian = ["A", "B"];
antrian.push("C");
console.log(antrian); // ["A", "B", "C"]

antrian.pop();
console.log(antrian); // ["A", "B"]

Implementasi array dinamis biasanya memiliki kapasitas internal. Ketika kapasitas penuh, struktur dapat mengalokasikan ruang baru yang lebih besar dan menyalin elemen lama.

Array Homogen dan Heterogen

Array homogen hanya menyimpan elemen dengan tipe yang sama atau kompatibel. Contohnya adalah int[] di Java:

int[] nilai = {80, 90, 75};

Array heterogen dapat memuat berbagai tipe. JavaScript mengizinkan bentuk seperti ini:

const data = [42, "aktif", true, { id: 1 }];

Walaupun sah, data dengan tipe yang seragam biasanya lebih mudah divalidasi dan diproses.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Jagged atau Ragged Array

Jagged array memiliki baris dengan panjang berbeda:

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

Struktur ini bukan matriks persegi panjang. Saat menggunakannya, kode harus memeriksa panjang setiap baris secara individual.

Typed Array

Dalam JavaScript, typed array digunakan untuk data biner bertipe tertentu, misalnya byte:

const bytes = new Uint8Array([10, 20, 30]);

Typed array berbeda dari Array biasa dan berguna untuk audio, grafik, protokol jaringan, WebAssembly, serta manipulasi ArrayBuffer. Lihat panduan typed array MDN.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Operasi Dasar Array dengan JavaScript

Contoh berikut menggunakan satu array agar perubahan datanya mudah diikuti.

Mengakses dan Mengubah Elemen

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

console.log(buah[0]); // apel

buah[1] = "pisang";
console.log(buah); // ["apel", "pisang", "jeruk"]

Mengetahui Panjang Array

console.log(buah.length); // 3

Dalam JavaScript, length berkaitan dengan indeks tertinggi yang digunakan. Karena itu, array dapat memiliki slot kosong:

const data = [];
data[5] = "x";

console.log(data.length); // 6

Array tersebut sparse: panjangnya enam, tetapi tidak semua posisi berisi elemen. Penjelasan mengenai length dan sparse array tersedia dalam panduan bahasa JavaScript MDN.

Menambah dan Menghapus Elemen

buah.push("anggur"); // menambah di akhir
buah.pop();           // menghapus dari akhir

buah.unshift("durian"); // menambah di awal
buah.shift();            // menghapus dari awal

Operasi di awal umumnya lebih mahal daripada operasi di akhir karena posisi elemen lain perlu disesuaikan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Melakukan Perulangan

for (const item of buah) {
  console.log(item);
}

buah.forEach((item) => {
  console.log(item);
});

Mencari, Memetakan, dan Menyaring

const angka = [1, 2, 3];
const kuadrat = angka.map((nilai) => nilai * nilai);
console.log(kuadrat); // [1, 4, 9]

const nilai = [55, 72, 90, 64];
const lulus = nilai.filter((angka) => angka >= 70);
console.log(lulus); // [72, 90]

Untuk pencarian sederhana, metode seperti includes() atau find() dapat digunakan. Jika pencarian berdasarkan kunci menjadi kebutuhan utama, Map atau object biasanya lebih sesuai.

Mengambil Sebagian Array

const hewan = ["kucing", "anjing", "kelinci", "burung"];
const sebagian = hewan.slice(1, 3);

console.log(sebagian); // ["anjing", "kelinci"]

slice() menggunakan batas akhir eksklusif, tidak mengubah array asli, dan menghasilkan shallow copy. Artinya, object atau array bersarang di dalamnya masih dapat dirujuk bersama. Lihat dokumentasi slice().

Kompleksitas Waktu Operasi Array

Tabel ini merupakan gambaran umum untuk array berbasis indeks, bukan jaminan setiap bahasa atau implementasi.

Operasi Kompleksitas umum Alasan
Akses berdasarkan indeks O(1) Posisi dapat dihitung langsung.
Mengubah berdasarkan indeks O(1) Tidak perlu mencari elemen lain.
Mencari nilai O(n) Program mungkin harus memeriksa semua elemen.
Menambah di akhir array dinamis Amortisasi O(1) Sesekali dapat terjadi realokasi.
Menambah di tengah O(n) Elemen setelahnya perlu digeser.
Menghapus dari tengah O(n) Elemen setelahnya perlu dirapatkan.
Menghapus dari awal O(n) Posisi elemen lain berubah.

O(1) berarti waktu relatif konstan terhadap ukuran input, bukan berarti selalu instan. Runtime, compiler, ukuran data, sparse array, dan konsistensi tipe dapat memengaruhi performa nyata.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Kelebihan dan Kekurangan Array

Kelebihan Kekurangan
Akses berdasarkan indeks cepat. Penyisipan atau penghapusan di tengah dapat mahal.
Mudah diiterasi. Array fixed-size tidak fleksibel.
Representasinya sederhana dan umum. Array homogen membatasi tipe data.
Cocok untuk data berurutan dan numerik. Bukan pilihan terbaik untuk pencarian berdasarkan kunci.
Dapat menjadi dasar stack, queue, tabel, dan buffer. Array multidimensi serta indeks yang salah dapat membingungkan.

Untuk komputasi numerik dan operasi vektor, array programming sering digunakan melalui library seperti NumPy. Penjelasan mengenai array programming dan NumPy dapat dibaca di makalah tentang array programming.

Array, List, Object, Map, dan Set

Array tidak selalu berarti hal yang sama di setiap bahasa, dan istilah list juga memiliki arti yang berbeda. Secara praktis:

Kebutuhan Struktur yang mungkin sesuai
Data berurutan dan diakses berdasarkan posisi Array
Koleksi berurutan yang fleksibel List atau dynamic array
Pasangan kunci-nilai Object, dictionary, atau Map
Nilai unik tanpa duplikasi Set
Penambahan dan penghapusan di kedua ujung Deque
Data numerik besar NumPy array atau typed array

JavaScript memiliki Array sebagai koleksi berindeks numerik. Python menggunakan list untuk kebutuhan umum yang sering menyerupai array; lihat dokumentasi struktur data Python. Di Java, array berukuran tetap berbeda dari ArrayList yang bersifat dinamis. Dalam C++, C-style array, std::array, dan std::vector juga merupakan struktur yang berbeda; referensinya tersedia untuk std::array dan std::vector.

Kesalahan Umum Saat Menggunakan Array

Mengira Indeks Dimulai dari Satu

const warna = ["merah", "hijau", "biru"];
console.log(warna[1]); // hijau, bukan merah

Mengakses Indeks di Luar Batas

console.log(warna[10]); // undefined dalam JavaScript

Bahasa lain dapat menghasilkan null, exception, panic, atau error yang berbeda. Jangan menggeneralisasi perilaku JavaScript ke semua bahasa.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Menyamakan Panjang dengan Indeks Terakhir

Array dengan lima elemen memiliki length = 5, tetapi indeks terakhirnya adalah 4.

Menghapus Elemen Saat Iterasi

Menghapus elemen ketika loop berjalan dapat mengubah indeks dan membuat elemen terlewati. Untuk banyak kasus, buat array baru menggunakan filter() agar logikanya lebih mudah diprediksi.

Menggunakan Array sebagai Dictionary

const data = [];
data["nama"] = "Dina";

Properti "nama" bukan elemen array biasa yang diakses melalui indeks numerik. Untuk pasangan kunci-nilai, gunakan object atau Map. JavaScript Array bukan associative array; lihat referensi Array MDN.

Mengira Salinan Array Selalu Independen

const a = [[1, 2]];
const b = [...a];

b[0][0] = 99;
console.log(a[0][0]); // 99

Spread hanya membuat shallow copy. Array bersarang di dalamnya masih menunjuk ke array yang sama. Pilih strategi deep copy yang sesuai jika data bersarang harus benar-benar terpisah.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Mengabaikan Sparse Array

const angka = [];
angka[3] = 10;

console.log(angka); // [empty × 3, 10]

Slot kosong tidak selalu sama dengan elemen yang secara eksplisit berisi undefined. Perbedaan ini dapat memengaruhi iterasi dan pemeriksaan data.

Kapan Sebaiknya Menggunakan Array?

Pilih array jika sebagian besar jawaban berikut adalah “ya”:

  • Data memiliki urutan.
  • Program sering membaca elemen berdasarkan posisi.
  • Jumlah data diketahui atau pertumbuhannya dapat dikelola.
  • Elemen memiliki bentuk yang serupa.
  • Iterasi berurutan lebih penting daripada pencarian berdasarkan nama.

Pertimbangkan struktur lain jika data perlu dicari berdasarkan kunci, sering disisipkan atau dihapus di tengah, harus bebas duplikasi, memiliki relasi antarobjek yang kompleks, atau setiap item memiliki atribut yang sangat berbeda.

Kesimpulan

Array adalah struktur data untuk menyimpan koleksi nilai yang tersusun berdasarkan indeks. Konsep dasarnya sederhana: satu array memiliki elemen, setiap elemen memiliki posisi, dan panjang array menunjukkan jumlah atau batas logis koleksi.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Array sangat sesuai untuk data berurutan dan akses berbasis posisi. Namun, implementasinya berbeda-beda: array C dan Java umumnya bertipe serta berukuran lebih ketat, JavaScript memiliki Array dinamis yang dapat memuat berbagai tipe, sedangkan Python menggunakan list untuk kebutuhan umum yang serupa. Jika kebutuhan utama adalah pasangan kunci-nilai, nilai unik, atau penyisipan di kedua ujung, object, Map, Set, atau deque dapat menjadi pilihan yang lebih tepat.

Quick Recap

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.