
Belajar Python 4
Mengenal Apa Itu Dict
oleh: Suryo Adhy Chandra, ST
Dict atau dictionary adalah tipe data Python untuk menyimpan data dalam bentuk pasangan key dan value. Bayangkan seperti kartu identitas: ada label "nama", lalu isinya "Sinta".
Coba bayangkan buku telepon atau kamus. Kalau ingin mencari nomor Budi, kamu tidak membuka halaman ke-17 lalu berharap nomornya ada di sana; kamu mencari nama "Budi", dan nomornya langsung ketemu. Cara mencari berdasarkan label seperti itulah yang dikerjakan dict. Pada list, kita mengambil data lewat nomor urut. Pada dict, kita mengambil data lewat nama yang bermakna, sehingga kode lebih mudah dibaca: siswa["kelas"] jelas lebih informatif daripada data[1].
Dict dipakai di mana-mana: data profil pengguna, isi keranjang belanja, hasil dari layanan internet (API), sampai pengaturan aplikasi. Di bab ini kamu akan belajar cara membaca data dengan aman, menghapus dan memperbarui isi, memeriksa keberadaan key, membuat dict di dalam list, serta mengenali pesan kesalahan khas dict seperti KeyError.
1. Membuat dict
2. Mengambil value memakai key
Pada contoh di atas, "nama" adalah key, sedangkan "Sinta" adalah value. Jika kita tahu key-nya, kita bisa mengambil value-nya.
3. Mengubah dan menambah data dict
Dict cocok untuk data yang memiliki keterangan jelas, seperti data siswa, data buku, data produk, atau data nilai.
4. Membaca dengan aman memakai get()
Kalau kita memanggil key yang tidak ada dengan kurung siku, program langsung berhenti karena error. Method get() lebih ramah: bila key tidak ditemukan, ia mengembalikan None atau nilai cadangan yang kita tentukan sendiri sebagai argumen kedua.
Baris kedua tidak error walaupun key "alamat" tidak ada. Baris ketiga mengganti hasil kosong dengan teks cadangan. Operator in pada dict memeriksa key, bukan value, dan len() menghitung jumlah pasangan.
5. Menghapus dan memperbarui data
Untuk menghapus pasangan, gunakan del atau pop(). Method pop() sekaligus mengembalikan value yang dibuang. Untuk menambah atau mengganti banyak pasangan sekaligus, pakai update(). Jika key sudah ada, value lamanya ditimpa; jika belum ada, pasangan baru ditambahkan.
Setelah del, pasangan umur hilang. Lalu pop("kelas") mengeluarkan "7A" yang kita simpan ke variabel hapus. Terakhir, update() menambahkan hobi dan memasang kelas baru "8B". Pasangan tersusun menurut urutan pertama kali dimasukkan.
6. Dict di dalam list
Dalam program sungguhan, kita sering punya banyak data bertipe sama, misalnya banyak siswa. Susunan yang paling lazim adalah sebuah list yang setiap anggotanya adalah dict. Untuk membaca, sebut dulu index list-nya, lalu key dict-nya.
data[1] mengambil dict kedua (milik Sinta), kemudian ["nama"] mengambil value-nya. Pada contoh produk, value harga adalah angka sehingga langsung bisa dihitung: empat pensil seharga 2500 menjadi 10000.
7. Kesalahan yang sering terjadi
siswa["alamat"] ketika key itu belum ada menghasilkan KeyError: 'alamat'. Solusinya, periksa dengan in atau pakai get().siswa[0] menghasilkan KeyError: 0, karena dict mencari key bernama 0, bukan elemen pertama.{["x"]: 1} menghasilkan TypeError: unhashable type: 'list'. Gunakan teks, angka, atau tuple sebagai key.siswa.pop("hobi") tanpa key tersebut juga menghasilkan KeyError: 'hobi', kecuali kita beri nilai cadangan, misalnya siswa.pop("hobi", None).8. Ringkasan
- Dict menyimpan pasangan key dan value dalam tanda
{ }; data dicari lewat key, bukan nomor urut. - Gunakan
get()untuk membaca tanpa risiko error, daninuntuk memeriksa key. - Gunakan
del,pop(), danupdate()untuk menghapus dan memperbarui. - Kombinasi list berisi dict cocok untuk kumpulan data bertipe sama.
9. Latihan
- Buat dict
bukudengan key "judul" dan "tahun", lalu cetak tahunnya.Lihat jawaban
buku = {"judul": "Belajar Python", "tahun": 2024} print(buku["tahun"])Keluarannya2024. - Dari dict tadi, cetak value key "penulis" yang belum ada, dan tampilkan "tidak diketahui" sebagai cadangan.
Lihat jawaban
print(buku.get("penulis", "tidak diketahui"))Keluarannyatidak diketahui. - Tambahkan key "halaman" bernilai 150 lalu hapus key "tahun". Cetak dict-nya.
Lihat jawaban
buku["halaman"] = 150 del buku["tahun"] print(buku)Keluarannya{'judul': 'Belajar Python', 'halaman': 150}. - Periksa apakah key "judul" ada di dict
buku.Lihat jawaban
print("judul" in buku)KeluarannyaTrue.