Struktur data dictionary Python: pasangan Kunci-Nilai.
Dictionary (kamus) adalah salah satu tipe data fundamental dan paling penting dalam bahasa pemrograman Python. Tidak seperti list atau tuple yang menyimpan data secara berurutan berdasarkan indeks numerik, dictionary menyimpan data dalam bentuk pasangan Kunci-Nilai (Key-Value pairs).
Struktur ini memungkinkan kita mengakses data dengan cepat menggunakan kunci yang unik, bukan lagi posisi indeks. Memahami cara membuat dictionary di Python adalah langkah krusial bagi setiap pengembang.
Secara teknis, dictionary di Python adalah koleksi data yang tidak terurut (sebelum Python 3.7) dan dapat berubah (mutable). Setiap kunci harus unik dan bertipe data yang tidak dapat diubah (immutable), seperti string, angka, atau tuple. Nilai (value) bisa berupa tipe data apapun, termasuk list, bahkan dictionary lain.
Tanda kurung kurawal { } digunakan untuk mendefinisikan dictionary, dan pasangan kunci-nilai dipisahkan oleh titik dua :.
Anda bisa memulai dengan membuat dictionary yang belum memiliki isi. Ini berguna jika Anda berencana mengisinya secara dinamis nanti dalam program.
# Menggunakan kurung kurawal kosong
data_mahasiswa = {}
print(type(data_mahasiswa))
# Output:
# Menggunakan konstruktor dict()
pengaturan = dict()
print(pengaturan)
# Output: {}
Ini adalah cara paling umum, yaitu langsung mendefinisikan kunci dan nilainya saat deklarasi.
# Dictionary berisi informasi tentang sebuah buku
buku = {
"judul": "Pemrograman Python",
"penulis": "Guido van Rossum",
"tahun_terbit": 1991,
"tersedia": True
}
print(buku)
dict() dengan Argumen Kata KunciJika semua kunci Anda adalah string sederhana yang valid sebagai nama variabel Python, Anda bisa menggunakan konstruktor dict() tanpa tanda kutip untuk kunci.
# Kunci 'nama' dan 'umur' diperlakukan sebagai argumen kata kunci
profil = dict(nama="Budi", umur=25, kota="Jakarta")
print(profil)
# Output: {'nama': 'Budi', 'umur': 25, 'kota': 'Jakarta'}
Catatan: Metode ini hanya berfungsi jika semua kunci adalah string dan tidak mengandung spasi atau karakter khusus lainnya.
Jika Anda memiliki data dalam format list di mana setiap elemen adalah tuple yang berisi (kunci, nilai), Anda bisa mengubahnya menjadi dictionary menggunakan konstruktor dict().
data_list = [('apel', 5000), ('pisang', 3000), ('jeruk', 7500)]
harga_buah = dict(data_list)
print(harga_buah)
# Output: {'apel': 5000, 'pisang': 3000, 'jeruk': 7500}
zip())Salah satu teknik yang sangat berguna adalah menggabungkan dua list terpisah—satu untuk kunci dan satu untuk nilai—menggunakan fungsi bawaan zip(), kemudian memasukkannya ke konstruktor dict().
kunci_data = ['NIM', 'jurusan', 'angkatan']
nilai_data = ['10245', 'Informatika', 2022]
data_mahasiswa_baru = dict(zip(kunci_data, nilai_data))
print(data_mahasiswa_baru)
# Output: {'NIM': '10245', 'jurusan': 'Informatika', 'angkatan': 2022}
Sama seperti list comprehension, dictionary comprehension menawarkan sintaks ringkas dan efisien untuk membuat dictionary di Python berdasarkan iterasi atau kondisi tertentu.
angka = [1, 2, 3, 4, 5]
kuadrat = {n: n**2 for n in angka}
print(kuadrat)
# Output: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
kata = ["apel", "mangga", "anggur", "kiwi"]
panjang_kata = {k: len(k) for k in kata if len(k) > 4}
print(panjang_kata)
# Output: {'mangga': 6, 'anggur': 6}
Setelah dictionary dibuat, Anda dapat mengakses nilai menggunakan kunci:
print(buku["judul"]) # Output: Pemrograman Python
Untuk menambahkan atau mengubah entri:
# Menambahkan entri baru
buku["penerbit"] = "Tech Press"
# Mengubah nilai yang sudah ada
buku["tahun_terbit"] = 2001
print(buku)
Dictionary adalah alat yang sangat serbaguna. Penguasaan terhadap berbagai metode untuk membuat dictionary di Python akan sangat meningkatkan efisiensi dan keterbacaan kode Anda, terutama saat berhadapan dengan data yang terstruktur dan memerlukan pencarian cepat berdasarkan label atau nama, bukan sekadar urutan.