Apa itu Struktur Data? — Struktur Data

Struktur data adalah cara menyimpan dan mengorganisasi data agar bisa diakses dan dimodifikasi secara efisien. Mengapa penting? Memilih struktur data yang…

Struktur data adalah cara menyimpan dan menyusun data di dalam program, supaya data itu gampang dan cepat diambil, ditambah, atau dihapus. Kamu sebenarnya sudah kenal dua: array dan object. Mirip barang di rumah: buku dijajarkan di rak, piring ditumpuk, dan kaos kaki disimpan di laci berlabel, karena tiap barang diambil dengan cara yang beda.

🧪 Tebakan cepat: array buah berisi empat buah. Buat mengambil buah ketiga, apakah komputer harus melewati buah pertama dan kedua dulu? Tebak dulu, jawabannya ada di bagian "Satu data, dua cara simpan".

Satu data, dua cara simpan

// Array: berjajar, diambil lewat nomor urut
const buah = ["Apel", "Pisang", "Jeruk", "Anggur"];
console.log(buah[1]); // Pisang

// Map: pasangan kunci dan nilai, diambil lewat nama
const stok = new Map([
  ["apel", 5],
  ["pisang", 12],
  ["jeruk", 8],
]);
console.log(stok.get("apel")); // 5

Dua-duanya menyimpan data, tapi cara ambilnya beda. Array pas kalau kamu sering mengambil berdasarkan urutan. Map pas kalau kamu sering mencari berdasarkan nama.

Kenapa pilihannya penting

Misalnya kamu mau tahu ada jeruk atau gak. Di array, cara paling sederhana adalah mengecek isinya satu per satu. Di Map, kamu langsung tanya kuncinya:

Langkah Array buah: cari "Jeruk" Map stok: get("jeruk")
1 cek "Apel": bukan langsung ke kunci "jeruk": 8
2 cek "Pisang": bukan sudah selesai
3 cek "Jeruk": ketemu

Dengan empat isi, bedanya cuma dua langkah. Dengan sejuta isi, array bisa butuh sejuta pengecekan, sedangkan Map biasanya tetap langsung ketemu. Jadi struktur data menentukan dua hal: berapa langkah (waktu) yang dibutuhkan tiap operasi, dan berapa banyak memori yang dipakai. Map yang cepat mencari itu juga makan memori lebih banyak daripada array berisi data yang sama.

Struktur data yang akan kamu pelajari

Struktur Gambarannya Cocok untuk
Array buku berjajar di rak ambil lewat nomor urut
Stack tumpukan piring: yang terakhir ditaruh, pertama diambil undo, tombol Back
Queue antrean: yang datang duluan, dilayani duluan antrean tugas
Linked list rantai: tiap isi menunjuk ke isi berikutnya sisip dan hapus di depan
Hash map laci berlabel cari lewat nama
Tree folder di dalam folder data bertingkat
Graph peta: kota dan jalan jaringan, rute, pertemanan

Array, stack, queue, dan linked list disebut struktur linear: isinya berbaris, satu di belakang yang lain. Tree dan graph non-linear: satu isi bisa terhubung ke banyak isi lain. Hash map diakses lewat kunci, bukan lewat urutan.

⚠️ Jebakan yang sering ketemu

🎯 Cara memilih

Tanya empat hal ini dulu:

  1. Operasi apa yang paling sering? Ambil lewat urutan, cari lewat nama, tambah, atau hapus.
  2. Urutan penting gak? Antrean butuh urutan datang, laci berlabel gak.
  3. Boleh ada isi kembar? Array boleh. Nanti ada Set, yang menolak isi kembar.
  4. Seberapa banyak datanya? Seratus isi dan sejuta isi bisa butuh pilihan yang beda.

TL;DR: Struktur data adalah cara menyimpan dan menyusun data supaya cepat diambil, ditambah, atau dihapus. Array menyimpan isi berjajar dan mengambilnya lewat index, misalnya buah[1], langsung tanpa melewati isi lain. Map menyimpan pasangan kunci dan nilai dan mengambilnya lewat nama, misalnya stok.get("apel"). Pilihan struktur menentukan berapa langkah dan berapa memori yang dipakai tiap operasi, dan bedanya makin besar kalau datanya makin banyak. Array, stack, queue, dan linked list itu linear, sedangkan tree dan graph non-linear.

Yang akan kamu pelajari