Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesSome 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.
Tanpa array, tiga nilai harus disimpan dalam variabel terpisah:
#1 Best Overall
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, dan65. - Indeks: posisi elemen.
skor[0]berisi72. - 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:
Recommended Free Tools
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.
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
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.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteconst 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.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →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.
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.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →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.
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.
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.
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.
Best Value
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.
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.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallMengabaikan 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.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →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.

