Skip to main content

Dictionary

Dictionary adalah salah satu struktur data bawaan Python yang digunakan untuk menyimpan data dalam bentuk pasangan key dan value.

Berbeda dengan list yang menggunakan index untuk mengakses data, dictionary menggunakan key sebagai identitas setiap data.


1. Apa Itu Dictionary?​

Dictionary menyimpan data dalam bentuk:

key → value

Contohnya:

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

Dictionary tersebut memiliki tiga pasangan data:

name → Andi
age → 25
country → Indonesia

Dictionary menggunakan tanda kurung kurawal:

{}

2. Struktur Dictionary​

Bentuk dasar dictionary:

dictionary = {
"key1": value1,
"key2": value2
}

Contohnya:

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

Setiap pasangan terdiri dari:

key : value

Contohnya:

"name" : "Andi"

di mana:

key → "name"
value → "Andi"

3. Mengakses Value Menggunakan Key​

Untuk mengambil value dari dictionary, gunakan key di dalam tanda kurung siku.

Contohnya:

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

print(user["name"])

Hasil:

Andi

Contoh lainnya:

print(user["age"])

Hasil:

25

Berbeda dengan list:

user[0]

Dictionary tidak menggunakan index numerik untuk mengakses data.


4. Dictionary Tidak Menggunakan Index Seperti List​

Pada list:

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

print(users[0])

Data diakses berdasarkan posisi:

index 0 → Andi
index 1 → Budi
index 2 → Citra

Sedangkan dictionary menggunakan key:

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

print(user["name"])

Data diakses berdasarkan nama key:

"name" → "Andi"
"age" → 25

5. Key dan Value​

Dalam dictionary, key berfungsi sebagai identitas data, sedangkan value merupakan data yang disimpan.

Contohnya:

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

Strukturnya:

Key Value
────────── ─────────
"name" "Andi"
"age" 25
"is_active" True

6. Tipe Data pada Value​

Value dalam dictionary sangat fleksibel.

Value dapat berupa berbagai tipe data seperti:

  • str
  • int
  • float
  • bool
  • list
  • tuple
  • set
  • dictionary lainnya

Contohnya:

user = {
"name": "Andi",
"age": 25,
"height": 170.5,
"is_active": True,
"hobbies": ["coding", "reading", "gaming"]
}

Setiap key dapat memiliki value dengan tipe data yang berbeda.


7. List di Dalam Dictionary​

Dictionary dapat menyimpan list sebagai value.

Contohnya:

user = {
"name": "Andi",
"hobbies": ["coding", "reading", "gaming"]
}

Untuk mengambil seluruh list:

print(user["hobbies"])

Hasil:

['coding', 'reading', 'gaming']

8. Mengakses Elemen List di Dalam Dictionary​

Karena value hobbies merupakan list, kita dapat menggunakan index setelah mengambil value tersebut.

Contohnya:

print(user["hobbies"][0])

Hasil:

coding

Prosesnya:

user["hobbies"]
↓
["coding", "reading", "gaming"]
↓
[0]
↓
"coding"

9. Dictionary di Dalam Dictionary​

Dictionary juga dapat menyimpan dictionary lainnya.

Struktur seperti ini disebut nested dictionary.

Contohnya:

user = {
"name": "Andi",
"address": {
"city": "Palu",
"country": "Indonesia"
}
}

Untuk mengambil city:

print(user["address"]["city"])

Hasil:

Palu

Prosesnya:

user
↓
address
↓
city
↓
Palu

10. Nested Dictionary​

Nested dictionary berguna ketika data memiliki struktur yang lebih kompleks.

Contohnya:

product = {
"name": "Laptop",
"price": 10000000,
"seller": {
"name": "Andi",
"city": "Palu"
}
}

Untuk mengambil nama penjual:

print(product["seller"]["name"])

Hasil:

Andi

11. List Berisi Dictionary​

List dan dictionary sering digunakan bersama.

Contohnya:

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

Struktur tersebut dapat dibayangkan:

users
│
├── Dictionary 1
│ ├── name → Andi
│ └── age → 25
│
└── Dictionary 2
├── name → Budi
└── age → 30

12. Mengakses Dictionary di Dalam List​

Karena users merupakan list, kita menggunakan index terlebih dahulu.

Contohnya:

print(users[0])

Hasil:

{'name': 'Andi', 'age': 25}

Kemudian kita dapat mengambil value tertentu menggunakan key:

print(users[0]["name"])

Hasil:

Andi

Prosesnya:

users
↓
[0]
↓
Dictionary pertama
↓
["name"]
↓
"Andi"

13. Mengakses Data yang Lebih Kompleks​

List dan dictionary dapat dikombinasikan beberapa tingkat.

Contohnya:

data = [
{
"name": "Andi",
"hobbies": ["coding", "reading"]
},
{
"name": "Budi",
"hobbies": ["gaming", "music"]
}
]

Untuk mengambil "coding":

print(data[0]["hobbies"][0])

Hasil:

coding

Kita menggunakan:

[0]

untuk mengambil dictionary pertama,

kemudian:

["hobbies"]

untuk mengambil list hobbies,

dan:

[0]

untuk mengambil elemen pertama dari list tersebut.


14. Dictionary dan Data Terstruktur​

Dictionary sangat cocok digunakan untuk merepresentasikan data yang memiliki berbagai atribut.

Contohnya data pengguna:

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

Setiap informasi memiliki nama yang jelas:

id
name
email
age
is_active

Hal ini membuat data lebih mudah dipahami dibandingkan menggunakan list berdasarkan posisi.


15. Dictionary dan JSON​

Struktur dictionary sangat mirip dengan format data JSON (JavaScript Object Notation) yang banyak digunakan dalam pengembangan aplikasi web dan REST API.

Contoh dictionary Python:

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

Secara konsep sangat mirip dengan JSON:

{
"name": "Andi",
"age": 25,
"is_active": true
}

Namun perlu diingat bahwa dictionary Python dan JSON bukan hal yang sama.

Dictionary adalah struktur data Python, sedangkan JSON adalah format pertukaran data.


16. Dictionary Bersifat Mutable​

Dictionary dapat diubah setelah dibuat.

Contohnya:

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

user["age"] = 26

print(user)

Hasil:

{'name': 'Andi', 'age': 26}

Value pada key "age" berhasil diubah.


17. Menambahkan Data ke Dictionary​

Kita juga dapat menambahkan pasangan key dan value baru.

Contohnya:

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

user["city"] = "Palu"

print(user)

Hasil:

{'name': 'Andi', 'age': 25, 'city': 'Palu'}

Key "city" sebelumnya belum ada, sehingga Python menambahkannya ke dictionary.


18. Mengubah Value​

Jika key sudah ada, assignment akan mengubah value.

Contohnya:

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

user["name"] = "Budi"

print(user)

Hasil:

{'name': 'Budi', 'age': 25}

Jadi assignment pada dictionary dapat digunakan untuk:

Key belum ada
↓
Menambahkan data

Key sudah ada
↓
Mengubah data

19. Key Harus Bersifat Hashable​

Key pada dictionary harus menggunakan tipe data yang dapat digunakan sebagai hashable object.

Dalam pembelajaran dasar, tipe yang umum digunakan sebagai key adalah:

str
int
float
bool
tuple

Contohnya:

user = {
"name": "Andi",
1: "Admin",
2: "User"
}

Namun tipe data seperti list tidak dapat digunakan sebagai key karena bersifat mutable.

Untuk tahap dasar, yang paling umum dan mudah digunakan adalah string:

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

20. Perbedaan List dan Dictionary​

KarakteristikListDictionary
Sintaks[]{}
StrukturKumpulan elemenKey-value
Akses dataIndexKey
Contoh aksesdata[0]data["name"]
MutableYaYa
Cocok untukData berdasarkan urutanData berdasarkan atribut

Contoh list:

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

Kita harus mengetahui posisi setiap data:

[0] → nama
[1] → umur
[2] → kota

Sedangkan dictionary:

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

Nama key menjelaskan data secara langsung.


21. Dictionary pada Python Modern​

Pada Python modern, dictionary mempertahankan urutan item berdasarkan urutan saat item tersebut dimasukkan.

Contohnya:

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

Urutan data akan dipertahankan sebagai:

name
age
city

Namun, dictionary tetap berbeda dari list karena cara utama mengakses datanya adalah menggunakan key, bukan index.


22. Contoh Dictionary Sederhana​

student = {
"name": "Andi",
"age": 22,
"major": "Informatics"
}

print(student["name"])
print(student["age"])
print(student["major"])

Hasil:

Andi
22
Informatics

23. Contoh Data Produk​

Dictionary juga cocok digunakan untuk merepresentasikan produk.

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

Mengakses harga:

print(product["price"])

Hasil:

10000000

Mengakses status produk:

print(product["is_available"])

Hasil:

True

24. Ringkasan Struktur Dictionary​

Bentuk dasar:

dictionary = {
"key": "value"
}

Mengakses value:

dictionary["key"]

Mengubah value:

dictionary["key"] = "new value"

Menambahkan data:

dictionary["new_key"] = "new value"

Nested dictionary:

dictionary = {
"user": {
"name": "Andi"
}
}

List berisi dictionary:

users = [
{"name": "Andi"},
{"name": "Budi"}
]

Kesimpulan​

Dictionary adalah struktur data Python yang menyimpan informasi dalam bentuk pasangan:

key → value

Contohnya:

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

Data diakses menggunakan key:

user["name"]

Dictionary sangat cocok untuk menyimpan data yang memiliki atribut atau informasi yang terstruktur, seperti:

  • Data pengguna.
  • Data produk.
  • Data mahasiswa.
  • Konfigurasi aplikasi.
  • Data API.
  • Data JSON.

Dictionary juga dapat dikombinasikan dengan list dan dictionary lainnya sehingga dapat membentuk struktur data yang kompleks.

tip

Gunakan list ketika data terutama diakses berdasarkan urutan atau posisi, dan gunakan dictionary ketika data lebih mudah dipahami berdasarkan nama atau atributnya.