Skip to main content

Dictionary vs List

Dalam Python, list dan dict sama-sama digunakan untuk menyimpan kumpulan data. Namun, keduanya memiliki tujuan dan karakteristik yang berbeda.

Memahami kapan harus menggunakan list atau dict merupakan salah satu kemampuan dasar yang penting dalam menulis program yang baik.


1. Kapan Menggunakan Dictionary?

Dictionary cocok digunakan ketika data memiliki hubungan key-value atau memiliki atribut yang jelas.

Contohnya adalah data seorang pengguna:

user_profile = {
"age": 22,
"username": "superman",
"weapons": ["shield", "laser"],
"is_active": True
}

Data tersebut memiliki beberapa atribut:

age
username
weapons
is_active

Setiap data memiliki nama atau key yang menjelaskan maknanya.


2. Karakteristik Dictionary

Dictionary cocok digunakan ketika:

  • Data memiliki beberapa atribut.
  • Setiap nilai memiliki nama atau label.
  • Data merepresentasikan suatu objek atau entitas.
  • Kita ingin mengakses data berdasarkan nama atau key.
  • Struktur data lebih penting daripada posisi elemen.

Contohnya:

product = {
"name": "Laptop",
"price": 10000000,
"stock": 10,
"is_available": True
}

Untuk mendapatkan harga:

print(product["price"])

Kita tidak perlu mengingat bahwa harga berada di posisi tertentu.

Kita cukup menggunakan key:

"price"

3. Contoh Data yang Cocok Menggunakan Dictionary

Beberapa contoh data yang biasanya cocok direpresentasikan menggunakan dictionary:

Data Pengguna

user = {
"name": "Andi",
"age": 25,
"email": "andi@example.com"
}

Data Produk

product = {
"name": "Laptop",
"price": 10000000,
"stock": 5
}

Data Mahasiswa

student = {
"name": "Budi",
"nim": "20260001",
"major": "Informatics"
}

Dalam contoh tersebut, setiap data memiliki atribut yang jelas.


4. Kapan Menggunakan List?

List cocok digunakan ketika kita ingin menyimpan sekumpulan data dalam sebuah urutan tertentu.

Contohnya:

shopping_cart = [
"apples",
"milk",
"bread"
]

Setiap item memiliki posisi:

index 0 → apples
index 1 → milk
index 2 → bread

Kita dapat mengakses item berdasarkan index:

print(shopping_cart[0])

Hasil:

apples

5. Karakteristik List

List cocok digunakan ketika:

  • Urutan data penting.
  • Data diakses berdasarkan posisi atau index.
  • Kita memiliki kumpulan data.
  • Data akan diproses secara berurutan.
  • Kita sering melakukan iterasi terhadap kumpulan data.

Contohnya:

high_scores = [98, 95, 87, 80]

Urutan nilai tersebut penting karena menunjukkan ranking:

98 → peringkat 1
95 → peringkat 2
87 → peringkat 3
80 → peringkat 4

6. Contoh Data yang Cocok Menggunakan List

Daftar Belanja

shopping_cart = [
"apples",
"milk",
"bread"
]

Daftar Nilai

scores = [90, 85, 78, 95]

Daftar Nama

names = [
"Andi",
"Budi",
"Citra"
]

Urutan Proses

steps = [
"login",
"select product",
"checkout",
"payment"
]

Dalam contoh tersebut, posisi atau urutan data memiliki arti.


7. Perbandingan Sederhana

Bayangkan kita ingin menyimpan data seseorang.

Jika menggunakan list:

user = [
"Andi",
25,
"Palu"
]

Kita harus mengetahui arti setiap posisi:

index 0 → nama
index 1 → umur
index 2 → kota

Sedangkan menggunakan dictionary:

user = {
"name": "Andi",
"age": 25,
"city": "Palu"
}

Strukturnya jauh lebih jelas:

name → Andi
age → 25
city → Palu

Untuk data seperti ini, dictionary lebih sesuai.


8. List untuk Sekumpulan Data

Misalnya kita hanya ingin menyimpan daftar nama:

users = [
"Andi",
"Budi",
"Citra"
]

Tidak ada atribut tambahan yang perlu disimpan.

Kita hanya membutuhkan sekumpulan nama yang terurut.

Dalam kasus ini, list lebih tepat.


9. Dictionary untuk Data dengan Atribut

Jika setiap pengguna memiliki beberapa informasi:

users = {
"name": "Andi",
"age": 25,
"city": "Palu",
"is_active": True
}

Dictionary lebih sesuai karena setiap nilai memiliki atribut atau label.


10. List dan Dictionary Dapat Digabungkan

Dalam program nyata, kita tidak selalu harus memilih salah satu.

list dan dict sering digunakan secara bersamaan.

Contohnya, daftar pengguna:

users = [
{
"name": "Andi",
"age": 25
},
{
"name": "Budi",
"age": 30
},
{
"name": "Citra",
"age": 27
}
]

Strukturnya:

List

├── Dictionary
│ ├── name
│ └── age

├── Dictionary
│ ├── name
│ └── age

└── Dictionary
├── name
└── age

List digunakan untuk menyimpan kumpulan pengguna, sedangkan dictionary digunakan untuk menyimpan atribut masing-masing pengguna.


11. Contoh Penggunaan List + Dictionary

Misalnya data produk:

products = [
{
"name": "Laptop",
"price": 10000000
},
{
"name": "Mouse",
"price": 500000
},
{
"name": "Keyboard",
"price": 750000
}
]

Di sini:

List
→ menyimpan kumpulan produk

Dictionary
→ menyimpan informasi setiap produk

Kombinasi seperti ini sangat umum digunakan dalam aplikasi.


12. Perbandingan List dan Dictionary

KarakteristikListDictionary
Sintaks[]{}
StrukturKumpulan elemenKey-value
AksesIndexKey
Contoh aksesdata[0]data["name"]
FokusUrutan dataHubungan data
Cocok untukSekumpulan dataData dengan atribut
UrutanPentingInsertion order dipertahankan pada Python modern
ContohDaftar namaProfil pengguna

13. Pertanyaan Sederhana untuk Menentukan Pilihan

Ketika bingung memilih list atau dict, tanyakan:

Apakah saya memiliki sekumpulan data yang memiliki urutan?

Jika ya, gunakan:

list

Contoh:

scores = [90, 85, 80, 75]

Apakah setiap data memiliki atribut atau nama yang berbeda?

Jika ya, gunakan:

dict

Contoh:

user = {
"name": "Andi",
"age": 25,
"city": "Palu"
}

14. Analogi Sederhana

Bayangkan sebuah daftar belanja:

Apel
Susu
Roti

Kita hanya membutuhkan urutan item.

Ini cocok menggunakan:

shopping_cart = [
"Apel",
"Susu",
"Roti"
]

Sekarang bayangkan informasi sebuah produk:

Nama   : Laptop
Harga : 10.000.000
Stok : 10
Merek : Lenovo

Produk memiliki banyak atribut.

Ini lebih cocok menggunakan:

product = {
"name": "Laptop",
"price": 10000000,
"stock": 10,
"brand": "Lenovo"
}

15. Kesalahan yang Sering Terjadi

Jangan memilih list hanya karena ingin menyimpan banyak data.

Pertimbangkan bagaimana data tersebut akan digunakan.

Misalnya:

user = [
"Andi",
25,
"Palu",
True
]

Kode tersebut memang valid, tetapi kurang jelas.

Kita harus mengingat:

index 0 → nama
index 1 → umur
index 2 → kota
index 3 → status

Dengan dictionary:

user = {
"name": "Andi",
"age": 25,
"city": "Palu",
"is_active": True
}

Informasi menjadi lebih mudah dipahami.


16. Prinsip Utama

Gunakan List ketika fokus utama adalah:

"Kumpulan data"
+
"Urutan"

Contoh:

scores = [98, 95, 87, 80]

Gunakan Dictionary ketika fokus utama adalah:

"Data"
+
"Atribut / Key"

Contoh:

user = {
"name": "Andi",
"age": 25
}

Kesimpulan

list dan dict memiliki tujuan yang berbeda.

Gunakan List

Jika:

  • Data merupakan sekumpulan item.
  • Urutan data penting.
  • Data diakses berdasarkan posisi.
  • Data akan diproses secara berurutan.

Contoh:

shopping_cart = [
"apples",
"milk",
"bread"
]

Gunakan Dictionary

Jika:

  • Data memiliki atribut.
  • Setiap nilai memiliki nama atau key.
  • Data merepresentasikan suatu objek atau entitas.
  • Kita ingin mengakses data berdasarkan key.

Contoh:

user = {
"name": "Andi",
"age": 25,
"city": "Palu"
}

Kombinasikan Keduanya

Dalam aplikasi nyata, list dan dict sering digunakan bersama:

users = [
{
"name": "Andi",
"age": 25
},
{
"name": "Budi",
"age": 30
}
]
tip

Intinya: jangan memilih struktur data hanya berdasarkan jumlah data yang ingin disimpan. Pertimbangkan bagaimana data tersebut akan diakses, diorganisasi, dan digunakan oleh program.