Menu
CoddyTech

Apa Itu Array?

Array adalah struktur data yang menyimpan sekumpulan nilai dengan tipe yang sama dalam satu blok memori yang berurutan. Setiap nilai, yang disebut elemen, diakses lewat nomor posisinya, yang disebut index, dan di sebagian besar bahasa index dimulai dari 0.

Oleh Kevin Spektor, Co-founder & CTO

Diperbarui 24 September 2026

Aplikasi cuaca yang menampilkan suhu selama seminggu butuh tujuh angka. Aplikasi itu bisa saja memakai tujuh variabel terpisah, monday, tuesday, dan seterusnya, tetapi dengan begitu tidak ada loop yang bisa menelusurinya, dan menambahkan hari kedelapan berarti harus menulis kode baru. Array menyimpan ketujuh angka itu di bawah satu nama, temperatures, dalam slot bernomor dari 0 sampai 6.

Cara kerja array

Array menyimpan elemen-elemennya bersebelahan dalam satu blok memori, dan setiap elemen memakai jumlah byte yang sama. Susunan itu membuat komputer bisa menemukan elemen mana pun dengan satu perhitungan:

address of element i = start address + i × element size

Misalkan sebuah array berisi integer 32-bit (masing-masing 4 byte) dimulai di alamat memori 1000. Elemen 0 ada di 1000, elemen 1 di 1004, elemen 2 di 1008, dan elemen 3 di 1012. Mencapai elemen 3 atau elemen 3.000.000 sama-sama butuh satu langkah, itulah sebabnya membaca array lewat index disebut constant time, ditulis O(1).

Modul array di Python menyimpan angka mentah dengan cara ini, jadi kamu bisa memeriksa aritmetikanya:

4 bytes per element
16 bytes in total
scores[0] = 90 at address 1000
scores[1] = 75 at address 1004
scores[2] = 88 at address 1008
scores[3] = 62 at address 1012

Rumus ini juga menjelaskan kenapa sebagian besar bahasa menghitung dari 0. Index adalah offset: berapa elemen yang dilewati dari awal. Elemen pertama berjarak 0 elemen dari awal, jadi index-nya 0, dan elemen terakhir dari array sepanjang n punya index n − 1. Beberapa bahasa, seperti Lua, MATLAB, R, dan Fortran, justru mulai dari 1.

Memakai array di Python

Sebagian besar kode Python memakai list bawaan sebagai array-nya. Kamu membuatnya dengan kurung siku, membaca dan mengubah elemen lewat index, dan menanyakan panjangnya dengan len():

18
25
19
5
[18, 22, 25, 23, 19, 20]

Index negatif menghitung dari belakang, jadi temperatures[-1] adalah elemen terakhir. Jalan pintas itu milik Python; C dan Java tidak punya index negatif.

Biaya operasi array

Susunan yang berurutan membuat sebagian operasi cepat dan sebagian lain lambat. Biayanya bertambah seiring n, yaitu jumlah elemen:

OperasiContoh PythonBiaya
Membaca atau mengubah elemen lewat indexa[3] = 7O(1), satu langkah
Menambah elemen di akhira.append(7)O(1) secara rata-rata
Menyisipkan atau menghapus di depana.insert(0, 7)O(n), setiap elemen bergeser
Mencari nilai di array yang tidak terurut7 in aO(n), diperiksa satu per satu
Mencari nilai di array yang terurutbinary searchO(log n)

Menyisipkan di depan lambat karena setiap elemen harus pindah satu slot untuk memberi tempat. Mencari di array yang tidak terurut berarti melakukan linear search ke setiap elemen secara bergantian, sedangkan array yang terurut memungkinkan binary search, yang membagi dua rentang yang tersisa di setiap langkah.

Menelusuri array dengan loop

Array dan loop selalu berjalan bersama: loop mengunjungi setiap elemen secara bergantian, yang disebut iterasi. Beberapa baris yang sama bisa menangani array berisi 5 elemen ataupun 5 juta.

Total: 28.5
Most expensive: 12.0

Array di bahasa lain

Di C, array punya ukuran tetap yang ditentukan saat dideklarasikan, dan menyimpan nilai mentah dengan satu tipe. sizeof melaporkan ukurannya dalam byte:

int scores[5] = {90, 75, 88, 62, 100};   /* 5 × 4 bytes = 20 bytes */

Array di Java juga punya panjang tetap, dan elemen baru dimulai dengan nilai default seperti 0 untuk angka. Kalau kamu butuh array Java yang bisa membesar, kamu memakai ArrayList:

int[] scores = new int[5];   // five elements, all 0
scores[0] = 90;

Array di JavaScript bisa membesar dan mengecil dengan bebas serta bisa mencampur tipe, seperti [1, "two", true].

Array yang bisa membesar, seperti list di Python, ArrayList di Java, dan std::vector di C++, disebut dynamic array. Array jenis ini menyediakan ruang ekstra di akhir. Saat ruang itu habis, ia mengalokasikan blok yang lebih besar, menyalin setiap elemen ke sana, lalu melanjutkan. Penyalinan itu cukup jarang sehingga menambahkan elemen tetap cepat secara rata-rata.

Array juga bisa berisi array lain. grid[row][col] membaca satu sel dari array dua dimensi, susunan yang dipakai untuk papan permainan, spreadsheet, dan gambar. Panduan C tentang array multidimensi menunjukkan bagaimana array itu tersusun di memori.

Kesalahan yang umum

Kelebihan atau kekurangan satu (off by one). Array berisi 3 elemen punya index 0, 1, dan 2, jadi index 3 sudah melewati batas akhir. Python berhenti dengan error:

IndexError: list index out of range

Java melempar ArrayIndexOutOfBoundsException, dan JavaScript diam-diam mengembalikan undefined. C sama sekali tidak memeriksanya: membaca melewati batas akhir adalah undefined behavior, yang bisa mengembalikan data sampah atau membuat program crash dengan segmentation fault.

Menyalin lewat assignment. Di Python, Java, dan JavaScript, b = a tidak menyalin array; kedua nama merujuk ke array yang sama, jadi mengubah b juga mengubah a. Pakai a.copy() di Python atau [...a] di JavaScript untuk salinan yang sebenarnya. Halaman variabel menjelaskan alasannya.

Lanjut ke mana

Array baru berguna dengan loop untuk menelusurinya, jadi baca apa itu iterasi berikutnya, dan apa itu byte untuk satuan di balik ukuran elemen di atas. Panduan list Python membahas slicing, pengurutan, dan method list, dan visualisasi linked list menunjukkan struktur yang menukar index yang cepat dengan penyisipan yang cepat.

Pertanyaan yang sering diajukan

Apa itu array dalam matematika?

Dalam matematika dasar, array adalah sekumpulan benda yang disusun dalam baris dan kolom yang sama banyak, seperti 3 baris berisi 4 titik. Susunan ini dipakai untuk menunjukkan perkalian: menghitung titiknya menghasilkan 3 × 4 = 12. Array dua dimensi dalam program adalah gambaran yang sama, dengan setiap posisi menyimpan sebuah nilai.

Apa contoh array?
Daftar suhu selama seminggu, [18, 21, 25, 23, 19, 17, 20], adalah array berisi tujuh angka, dengan temperatures[0] sebagai nilai hari Senin. Contoh sehari-hari lainnya adalah piksel dalam satu baris gambar, karakter dalam sebuah string, dan skor di papan peringkat sebuah game.
Bagaimana menjelaskan array kepada anak-anak?

Bandingkan dengan wadah telur. Wadah itu punya satu nama, punya jumlah cekungan yang tetap dalam satu baris, dan setiap cekungan berisi satu telur. Kamu menemukan sebuah telur lewat nomor cekungannya, dan programmer mulai menghitung cekungannya dari 0.

Apa isi sebuah array?
Array berisi elemen, yaitu nilai-nilai yang disimpan di dalamnya, masing-masing di index-nya sendiri. Di C dan Java, semua elemen punya tipe yang sama, misalnya semuanya int atau semuanya double. List di Python dan array di JavaScript bisa mencampur tipe, karena keduanya menyimpan referensi ke nilai, bukan nilainya sendiri.
Apa bedanya array dan list?
Array menyimpan elemen-elemennya bersebelahan di memori, jadi elemen mana pun bisa diakses langsung lewat index. Linked list menyimpan setiap elemen secara terpisah dengan pointer ke elemen berikutnya, jadi untuk mencapai elemen ke-1.000 kamu harus melewati 999 elemen pertama. list bawaan Python bukan linked list: itu dynamic array yang terus membesar saat kamu menambahkan elemen.
Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai