Visualisasikan perbedaan antara struktur data statis dan dinamis!
Array memiliki ukuran yang **tetap**. Cocok untuk data yang jumlahnya sudah pasti.
List memiliki ukuran yang **fleksibel**. Bisa menambah atau menghapus data kapan saja.
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 |
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']