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.