Dalam ekosistem pemrograman Python, struktur data adalah fondasi untuk mengelola informasi. Salah satu struktur data yang paling kuat dan sering digunakan adalah Dictionary (Kamus). Berbeda dengan List atau Tuple yang mengandalkan urutan indeks numerik (0, 1, 2, dst.), Dictionary Python menggunakan sistem key-value pair (pasangan kunci-nilai).
Secara konseptual, dictionary Python mirip dengan kamus fisik: Anda mencari sebuah kata (kunci) untuk menemukan definisinya (nilai). Dalam Python, kunci harus bersifat unik dan tidak dapat diubah (immutable), seperti string, angka, atau tuple. Sementara itu, nilai dapat berupa tipe data apa pun, bahkan struktur data lain seperti list atau dictionary lain.
Dictionary didefinisikan menggunakan kurung kurawal {}, dengan setiap pasangan kunci dan nilai dipisahkan oleh titik dua :.
Membuat dictionary sangatlah mudah. Berikut adalah contoh sintaks untuk membuat dictionary sederhana yang menyimpan informasi tentang seorang pengguna:
# Membuat dictionary
data_pengguna = {
"username": "AndiP",
"email": "[email protected]",
"aktif": True,
"level": 5
}
print(data_pengguna)
Output dari kode di atas akan menampilkan dictionary yang telah dibuat. Perlu diperhatikan bahwa urutan item dalam dictionary modern Python (3.7+) dijamin mengikuti urutan penyisipan, meskipun secara historis, dictionary dianggap tidak terurut.
Untuk mengambil nilai yang tersimpan, kita menggunakan kunci yang sesuai di dalam kurung siku [].
email = data_pengguna["email"]
print(f"Email pengguna adalah: {email}")
Jika Anda mencoba mengakses kunci yang tidak ada, Python akan memunculkan error KeyError. Untuk menghindari hal ini, metode .get() adalah pilihan yang lebih aman.
# Menggunakan .get()
telepon = data_pengguna.get("telepon", "Tidak Ada Data")
print(f"Telepon pengguna: {telepon}")
Metode .get() akan mengembalikan None (atau nilai default yang ditentukan, seperti "Tidak Ada Data") jika kunci tidak ditemukan, alih-alih menyebabkan program berhenti (crash).
Sifat mutable (dapat diubah) dictionary memungkinkan kita untuk menambah item baru atau mengubah nilai dari kunci yang sudah ada.
# Mengubah nilai yang sudah ada
data_pengguna["level"] = 6
print(f"Level baru: {data_pengguna['level']}")
# Menambahkan pasangan kunci-nilai baru
data_pengguna["kota"] = "Jakarta"
print(f"Setelah penambahan: {data_pengguna}")
Python menyediakan serangkaian metode bawaan yang sangat berguna untuk mengelola dictionary:
.keys(): Mengembalikan tampilan dari semua kunci dalam dictionary..values(): Mengembalikan tampilan dari semua nilai dalam dictionary..items(): Mengembalikan tampilan dari pasangan (kunci, nilai) sebagai tuple. Ini sangat sering digunakan dalam perulangan (looping)..pop(key): Menghapus pasangan kunci-nilai berdasarkan kunci yang diberikan dan mengembalikan nilainya.Contoh penggunaan .items() dalam loop:
for kunci, nilai in data_pengguna.items():
print(f"Kunci: {kunci} => Nilai: {nilai}")
Efisiensi adalah alasan utama mengapa dictionary begitu populer. Pencarian, penambahan, atau penghapusan item dalam dictionary memiliki kompleksitas waktu rata-rata O(1) (konstan), yang berarti performanya sangat cepat, tidak peduli seberapa besar ukuran datanya. Ini jauh lebih cepat dibandingkan mencari elemen berdasarkan urutan dalam List (O(n)). Oleh karena itu, dictionary adalah pilihan utama ketika Anda perlu memetakan data secara logis, seperti saat bekerja dengan konfigurasi file JSON, data dari database, atau saat membangun objek kustom dalam kode Anda.
Singkatnya, dictionary adalah alat wajib dalam repertoar programmer Python karena menawarkan cara yang cepat, fleksibel, dan intuitif untuk mengatur data yang saling berhubungan.