Simulasi Interaktif: Array vs. List

Visualisasikan perbedaan antara struktur data statis dan dinamis!

Skenario 1: Jadwal Piket (Array Statis)

Array memiliki ukuran yang **tetap**. Cocok untuk data yang jumlahnya sudah pasti.

Visualisasi Array `jadwal_piket` (Ukuran: 5)

Hasil operasi akan muncul di sini...

Skenario 2: Daftar Belanja (List Dinamis)

List memiliki ukuran yang **fleksibel**. Bisa menambah atau menghapus data kapan saja.

Visualisasi List `daftar_belanja`

Hasil operasi akan muncul di sini...

Materi Pelengkap Array dan List

Analisis Kapan Memilih Array vs. List

Pilihan yang tepat sangat penting untuk membuat program yang efisien.

Karakteristik Array (Statis) List (Dinamis)
Ukuran Tetap Fleksibel
Kecepatan Akses Sangat Cepat
(langsung via indeks)
Cepat
(namun bisa lambat saat menambah/menghapus)
Memori Efisien Butuh lebih
(untuk fleksibilitas)
Contoh Kasus Jadwal pelajaran, data bulan, kursi bioskop Keranjang belanja, daftar teman, riwayat chat

Implementasi di Dunia Nyata (Python & Pseudocode)

Di Python, `list` adalah Array Dinamis yang menggabungkan kehebatan keduanya. Mari kita lihat perbandingan kode dan pseudocode untuk setiap operasi.

# --- MEMBUAT ---
# Pseudocode: DECLARE regu: LIST = ["Padi", "Jagung"]
regu_pramuka = ["Padi", "Jagung"]

# --- MENAMBAH DATA ---
# Pseudocode: APPEND(regu, "Singkong")
regu_pramuka.append("Singkong")

# --- MENGAKSES DATA (Indeks ke-2) ---
# Pseudocode: PRINT regu[2]
ketua_kedua = regu_pramuka[1] # Ingat, indeks Python mulai dari 0
print(f"Ketua regu ke-2 adalah: {ketua_kedua}")
# Output: Ketua regu ke-2 adalah: Jagung

# --- MENGGANTI DATA (Indeks ke-1) ---
# Pseudocode: regu[1] = "Kapas"
regu_pramuka[0] = "Kapas"
print(f"Setelah diganti: {regu_pramuka}")
# Output: Setelah diganti: ['Kapas', 'Jagung', 'Singkong']

# --- MELIHAT JUMLAH DATA ---
# Pseudocode: GET_LENGTH(regu)
jumlah_regu = len(regu_pramuka)
print(f"Jumlah regu sekarang: {jumlah_regu}")
# Output: Jumlah regu sekarang: 3

# --- MENGHAPUS DATA ---
# Pseudocode: REMOVE(regu, "Jagung")
regu_pramuka.remove("Jagung")
print(f"Setelah dihapus: {regu_pramuka}")
# Output: Setelah dihapus: ['Kapas', 'Singkong']