Cover Python 3 - Inpows
Cover Python 3 - Inpows

Di Python, dictionary adalah salah satu struktur data yang sangat kuat dan serbaguna. Berbeda dengan struktur data lainnya seperti list atau tuple, dictionary menyimpan data dalam bentuk pasangan key-value (kunci-nilai). Setiap key dalam dictionary harus bersifat unik, dan Anda bisa mengakses nilainya dengan menggunakan key yang sesuai. Dalam artikel ini, kita akan membahas bagaimana cara menggunakan dictionary di Python, serta berbagai fitur dan operasi dasar yang tersedia.

Apa Itu Dictionary?

Dictionary adalah koleksi data yang terurut (sejak Python 3.7) dan tidak memiliki elemen dengan key yang duplikat. Dictionary menyimpan data dalam bentuk pasangan key-value, di mana:

  • Key adalah kunci yang digunakan untuk mengakses data.
  • Value adalah data yang terkait dengan key tersebut.

Sebagai contoh, dictionary memungkinkan Anda untuk menyimpan nama orang (key) dan usia mereka (value).

Ciri-ciri Dictionary:

  • Tidak Terurut (sebelum Python 3.7), tetapi terurut sejak Python 3.7.
  • Unik Key: Setiap key dalam dictionary harus unik. Jika Anda mencoba menambahkan key yang sudah ada, maka nilai yang lama akan diganti dengan nilai yang baru.
  • Mutable: Anda dapat menambah, mengubah, atau menghapus elemen-elemen dalam dictionary.
  • Dapat Menyimpan Tipe Data Apa Saja: Anda dapat menyimpan berbagai tipe data baik sebagai key maupun value (dengan beberapa batasan pada key).

Membuat Dictionary di Python

Dictionary dibuat dengan menggunakan tanda kurung kurawal {} dan pasangan key-value yang dipisahkan dengan tanda titik dua :. Setiap pasangan key-value dipisahkan dengan koma.

Contoh Membuat Dictionary:

# Membuat dictionary
person = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

print(person)

Output:

{'name': 'John', 'age': 30, 'city': 'New York'}

Di sini, "name", "age", dan "city" adalah key, sedangkan "John", 30, dan "New York" adalah nilai yang terkait dengan key tersebut.

Dictionary dengan Tipe Data Lain Sebagai Value

Dictionary bisa menyimpan nilai dengan berbagai tipe data, seperti angka, string, list, bahkan dictionary lain (nested dictionary).

# Dictionary dengan tipe data list sebagai value
student = {
    "name": "Alice",
    "subjects": ["Math", "Physics", "Chemistry"]
}

print(student)

Output:

{'name': 'Alice', 'subjects': ['Math', 'Physics', 'Chemistry']}

Operasi Dasar pada Dictionary

1. Mengakses Nilai dengan Key

Anda bisa mengakses nilai dalam dictionary dengan menggunakan key.

person = {"name": "John", "age": 30, "city": "New York"}

# Mengakses nilai berdasarkan key
print(person["name"])  # Output: John
print(person["age"])   # Output: 30

Jika Anda mencoba mengakses key yang tidak ada, Python akan menghasilkan error KeyError. Untuk menghindari hal ini, Anda bisa menggunakan metode get().

# Menggunakan get() untuk mengakses nilai
print(person.get("name"))  # Output: John
print(person.get("gender"))  # Output: None (karena key "gender" tidak ada)

Anda juga bisa menentukan nilai default jika key tidak ditemukan:

print(person.get("gender", "Not Available"))  # Output: Not Available

2. Menambah atau Memperbarui Elemen

Untuk menambah atau memperbarui pasangan key-value, Anda bisa menggunakan tanda = dengan key yang ingin Anda tambahkan atau perbarui.

person = {"name": "John", "age": 30}

# Menambah pasangan key-value baru
person["city"] = "New York"

# Memperbarui nilai yang sudah ada
person["age"] = 31

print(person)

Output:

{'name': 'John', 'age': 31, 'city': 'New York'}

3. Menghapus Elemen

Anda bisa menghapus elemen dalam dictionary menggunakan beberapa metode:

  • del: Menghapus elemen berdasarkan key.
  • pop(): Menghapus dan mengembalikan nilai berdasarkan key.
  • popitem(): Menghapus dan mengembalikan pasangan key-value terakhir (untuk dictionary yang terurut, Python 3.7+).
person = {"name": "John", "age": 31, "city": "New York"}

# Menghapus pasangan key-value dengan del
del person["age"]

# Menghapus pasangan key-value dan mendapatkan nilainya dengan pop()
city = person.pop("city")
print(f"Deleted city: {city}")  # Output: Deleted city: New York

# Menghapus pasangan key-value terakhir dengan popitem()
item = person.popitem()
print(f"Deleted item: {item}")  # Output: Deleted item: ('name', 'John')

print(person)  # Output: {}

4. Mengecek Keberadaan Key

Untuk mengecek apakah sebuah key ada dalam dictionary, Anda bisa menggunakan operator in.

person = {"name": "John", "age": 31, "city": "New York"}

print("name" in person)  # Output: True
print("gender" in person)  # Output: False

5. Menyalin Dictionary

Untuk menyalin dictionary, Anda bisa menggunakan metode copy().

person = {"name": "John", "age": 31}
person_copy = person.copy()
print(person_copy)  # Output: {'name': 'John', 'age': 31}

Jika Anda ingin membuat salinan yang lebih dalam (deep copy) dari dictionary yang berisi dictionary atau objek lain sebagai value, Anda bisa menggunakan modul copy dengan fungsi deepcopy().

import copy
person = {"name": "John", "address": {"city": "New York", "zip": "10001"}}
person_copy = copy.deepcopy(person)

6. Mengambil Semua Key, Value, dan Key-Value

  • keys(): Mengembalikan semua key dalam dictionary.
  • values(): Mengembalikan semua value dalam dictionary.
  • items(): Mengembalikan semua pasangan key-value dalam bentuk tuple.
person = {"name": "John", "age": 31, "city": "New York"}

# Mengambil semua keys
print(person.keys())  # Output: dict_keys(['name', 'age', 'city'])

# Mengambil semua values
print(person.values())  # Output: dict_values(['John', 31, 'New York'])

# Mengambil semua key-value pairs
print(person.items())  # Output: dict_items([('name', 'John'), ('age', 31), ('city', 'New York')])

7. Dictionary Comprehension

Python mendukung penggunaan dictionary comprehension untuk membuat dictionary baru dengan cara yang lebih ringkas.

# Membuat dictionary baru dengan key adalah angka dan value adalah kuadratnya
squares = {x: x**2 for x in range(5)}
print(squares)  # Output: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

Keuntungan Menggunakan Dictionary

  1. Akses Cepat
    Dictionary memungkinkan pencarian nilai yang sangat cepat menggunakan key. Waktu akses rata-rata adalah O(1), sehingga sangat efisien untuk mencari atau memperbarui data.
  2. Flexible dalam Menyimpan Data
    Anda bisa menggunakan berbagai tipe data untuk key dan value, memungkinkan Anda untuk menyimpan data yang lebih kompleks.
  3. Mudah diubah dan Dikelola
    Dictionary bersifat mutable, yang berarti Anda bisa menambah, mengubah, atau menghapus elemen sesuai kebutuhan.
  4. Cocok untuk Menyimpan Data Relasional
    Dictionary sangat berguna untuk menyimpan data yang bersifat relasional, seperti nama dan alamat, ID dan deskripsi, atau kategori dan item.

Kapan Harus Menggunakan Dictionary?

Gunakan dictionary jika:

  • Anda perlu menyimpan data yang berhubungan dengan key dan value.
  • Anda membutuhkan akses cepat ke nilai berdasarkan key.
  • Anda ingin menyimpan data yang tidak terurut, tetapi dengan kemampuan untuk mengaksesnya dengan cara yang lebih fleksibel dibandingkan dengan list.

Jika Anda hanya membutuhkan koleksi data terurut yang memungkinkan duplikasi elemen, Anda mungkin lebih baik menggunakan list atau set.

Contoh Kasus Penggunaan Dictionary

  • Menyimpan Data Mahasiswa:
students = {
    "Alice": {"age": 21, "major": "Physics"},
    "Bob": {"age": 22, "major": "Computer Science"}
}

# Mengakses data mahasiswa
print(students["Alice"]["age"])  # Output: 21
  • Menggunakan Dictionary untuk Frekuensi Elemen:
words = ["apple", "banana", "apple", "orange", "banana", "apple"]
word_count = {}

for word in words:
    if word in word_count:
        word_count[word] += 1
    else:
        word_count[word] = 1

print(word_count)  # Output: {'apple': 3, 'banana': 2, 'orange': 1}

Kesimpulan

Dictionary adalah struktur data yang sangat berguna di Python untuk menyimpan data dalam bentuk pasangan key-value. Dengan akses cepat ke nilai menggunakan key, kemampuan untuk menyimpan berbagai tipe data, dan kemudahan dalam manipulasi data, dictionary menjadi pilihan utama ketika Anda perlu bekerja dengan data yang berhubungan secara langsung. Menggunakan dictionary memungkinkan Anda untuk menulis kode yang lebih efisien dan mudah dipahami!

source: chatgpt