Nested Dictionary Python adalah struktur data yang sangat berguna untuk menyimpan data kompleks secara hierarkis. Dengan konsep dictionary di dalam dictionary, kamu dapat membuat representasi data yang lebih rapi, terstruktur, dan mudah diakses. Dalam artikel ini, kita akan membahas secara detail apa itu nested dictionary, cara membuatnya, cara mengakses, mengubah, menambah, dan menghapus data di dalamnya. Disertai contoh kode dan studi kasus nyata agar kamu memahami dengan baik penggunaannya.
Apa Itu Nested Dictionary?
Nested dictionary adalah dictionary yang memiliki dictionary lain sebagai nilainya. Artinya, setiap key bisa menyimpan dictionary lagi di dalamnya. Struktur ini mirip dengan JSON (JavaScript Object Notation) yang umum digunakan dalam pertukaran data antar aplikasi.
# Contoh nested dictionary sederhana
mahasiswa = {
"mhs1": {"nama": "Rina", "umur": 20, "jurusan": "Informatika"},
"mhs2": {"nama": "Budi", "umur": 22, "jurusan": "Sistem Informasi"},
"mhs3": {"nama": "Siti", "umur": 21, "jurusan": "Teknik Komputer"}
}
print(mahasiswa)
Pada contoh di atas, dictionary mahasiswa memiliki tiga elemen utama, yaitu mhs1, mhs2, dan mhs3. Setiap elemen memiliki dictionary lain sebagai nilainya yang berisi detail mahasiswa.
Cara Mengakses Data Dalam Nested Dictionary
Untuk mengakses nilai tertentu dalam nested dictionary, kamu cukup menuliskan key secara berurutan.
# Mengakses nilai 'nama' dari mahasiswa mhs1 print(mahasiswa["mhs1"]["nama"]) # Output: Rina # Mengakses jurusan mahasiswa mhs3 print(mahasiswa["mhs3"]["jurusan"]) # Output: Teknik Komputer
Jika kamu mencoba mengakses key yang tidak ada, Python akan menghasilkan error KeyError. Oleh karena itu, lebih aman menggunakan metode get().
print(mahasiswa.get("mhs2", {}).get("umur", "Data tidak ditemukan"))
Menambah Data ke Nested Dictionary
Kamu dapat menambah dictionary baru atau menambahkan elemen baru pada dictionary yang sudah ada.
# Menambahkan mahasiswa baru
mahasiswa["mhs4"] = {"nama": "Andi", "umur": 23, "jurusan": "Data Science"}
# Menambahkan atribut baru ke mahasiswa mhs1
mahasiswa["mhs1"]["alamat"] = "Jakarta"
print(mahasiswa["mhs1"])
Mengubah Nilai Dalam Nested Dictionary
Untuk mengubah nilai di dalam nested dictionary, cukup akses key yang diinginkan dan ganti nilainya seperti biasa.
# Mengubah umur mahasiswa mhs2 mahasiswa["mhs2"]["umur"] = 24 # Mengubah jurusan mahasiswa mhs3 mahasiswa["mhs3"]["jurusan"] = "Cyber Security" print(mahasiswa["mhs2"]) print(mahasiswa["mhs3"])
Menghapus Data Dalam Nested Dictionary
Pada Python, kamu bisa menghapus elemen dalam nested dictionary dengan menggunakan perintah del.
# Menghapus key tertentu del mahasiswa["mhs1"]["alamat"] # Menghapus seluruh dictionary mhs4 del mahasiswa["mhs4"] print(mahasiswa)
Iterasi pada Nested Dictionary
Kamu dapat melakukan loop melalui nested dictionary untuk membaca semua data di dalamnya. Biasanya digunakan untuk menampilkan data dalam bentuk tabel atau daftar.
for key, value in mahasiswa.items():
print(f"ID: {key}")
for detail_key, detail_value in value.items():
print(f" {detail_key}: {detail_value}")
print("-" * 20)
Output:
ID: mhs1 nama: Rina umur: 20 jurusan: Informatika -------------------- ID: mhs2 nama: Budi umur: 24 jurusan: Sistem Informasi -------------------- ID: mhs3 nama: Siti umur: 21 jurusan: Cyber Security --------------------
Studi Kasus: Data Siswa dan Nilai
Berikut contoh penerapan nested dictionary untuk menyimpan data siswa beserta nilai mata pelajarannya.
siswa = {
"001": {"nama": "Tono", "nilai": {"Matematika": 85, "Bahasa": 90, "IPA": 88}},
"002": {"nama": "Ani", "nilai": {"Matematika": 92, "Bahasa": 89, "IPA": 95}},
"003": {"nama": "Dewi", "nilai": {"Matematika": 78, "Bahasa": 80, "IPA": 82}}
}
# Menampilkan nilai setiap siswa
for id_siswa, data in siswa.items():
print(f"ID: {id_siswa} - Nama: {data['nama']}")
for pelajaran, nilai in data["nilai"].items():
print(f" {pelajaran}: {nilai}")
Dengan struktur seperti ini, kamu dapat dengan mudah memanipulasi data, seperti menambah nilai, menghitung rata-rata, atau mencari nilai tertinggi per mata pelajaran.
Manfaat Menggunakan Nested Dictionary
- Struktur Data Kompleks: Cocok untuk menyimpan data bersarang (nested) seperti JSON.
- Mudah Dikelola: Setiap elemen dapat diakses secara individual menggunakan key unik.
- Efisien: Cocok untuk data dinamis seperti konfigurasi, hasil API, atau data pengguna aplikasi.
Kesimpulan
Nested Dictionary Python merupakan konsep penting yang perlu kamu kuasai, terutama jika sering bekerja dengan data terstruktur. Dengan pemahaman yang baik, kamu bisa membangun aplikasi berbasis data yang efisien dan mudah dikembangkan. Gunakan nested dictionary ketika kamu perlu menyimpan informasi yang memiliki hierarki atau relasi antar data yang jelas.
Semoga artikel ini membantu kamu memahami cara kerja nested dictionary Python dengan lebih mendalam. Jangan lupa praktikkan langsung di Python agar lebih cepat menguasainya!