Langsung ke konten
Terkini
Terkini

Belajar Python Dictionary: Menyimpan Data dengan Nama yang Bermakna

September 9, 2026
0 1,019

Belajar Python Dictionary: Menyimpan Data dengan Nama yang Bermakna

Informatika Fase D – Kelas IX SMP Labschool Jakarta

 

Baca Juga: Dari Sertifikat Rumah Bu Betti hingga Air Mata Omjay: Kisah OTN 1 – OTN 8

Ketika belajar pemrograman Python, kita akan sering berhadapan dengan data. Data bisa berupa nama siswa, kelas, nilai ujian, alamat email, nomor telepon, daftar buku, data barang, dan berbagai informasi lainnya. Agar program dapat bekerja dengan baik, data tersebut harus disimpan dalam bentuk yang teratur.

Bayangkan kita mempunyai data seorang siswa bernama Andi. Ia berada di kelas 9A dan memperoleh nilai 88. Kita bisa saja menyimpan data tersebut menggunakan list seperti berikut:

siswa = [“Andi”, “9A”, 88]

Sekilas kode tersebut terlihat sederhana. Namun, muncul sebuah pertanyaan: angka 88 itu sebenarnya apa?

Apakah 88 adalah nilai ujian? Umur? Nomor absen? Atau mungkin berat badan?

Python tidak dapat menebak maksud kita. Begitu juga teman yang membaca program tersebut. Bahkan, kita sendiri mungkin akan lupa ketika melihat kode itu beberapa bulan kemudian.

Inilah masalah yang ingin kita selesaikan dengan dictionary.

Apa Itu Dictionary?

Dictionary adalah salah satu struktur data pada Python yang digunakan untuk menyimpan data dalam bentuk pasangan key dan value.

Sederhananya:

key = nama atau label data

value = isi dari data tersebut

Contohnya:

siswa = { “nama”: “Andi”, “kelas”: “9A”, “nilai”: 88 }

Sekarang kode tersebut jauh lebih mudah dipahami.

Kita tidak perlu menebak angka 88. Python sudah diberi tahu bahwa angka tersebut merupakan nilai.

Dictionary menggunakan kurung kurawal { }.

Perhatikan bagian berikut:

“nama”: “Andi”

“nama” adalah key, sedangkan “Andi” adalah value.

Tanda titik dua : memisahkan key dan value. Cara mudah membacanya adalah:

“nama”: “Andi” berarti nama adalah Andi.

Antarpasangan data dipisahkan dengan tanda koma.

Cara mudah mengingatnya adalah:

Kurawal untuk BERPASANGAN, siku untuk BERBARIS.

Dictionary menggunakan kurawal karena datanya berupa pasangan key-value, sedangkan list menggunakan kurung siku karena datanya berupa barisan.

Dictionary dan List, Apa Bedanya?

List dan dictionary sama-sama dapat digunakan untuk menyimpan banyak data. Namun, cara mengakses datanya berbeda.

Pada list:

siswa = [“Andi”, “9A”, 88]

print(siswa[0]) print(siswa[2])

Kita menggunakan nomor indeks.

siswa[0] → Andi siswa[1] → 9A siswa[2] → 88

Masalahnya, kita harus mengingat bahwa indeks ke-2 berisi nilai.

Sementara itu, pada dictionary kita dapat langsung menggunakan nama data:

siswa = { “nama”: “Andi”, “kelas”: “9A”, “nilai”: 88 }

print(siswa[“nama”]) print(siswa[“nilai”])

Hasilnya:

Andi 88

Kode tersebut lebih mudah dibaca karena “nama” dan “nilai” langsung menjelaskan maksud data.

Kapan menggunakan list?

Gunakan list ketika data berupa kumpulan yang sejenis dan urutannya penting.

Contohnya:

nilai = [88, 92, 79, 85] Kapan menggunakan dictionary?

Gunakan dictionary ketika kita menyimpan beberapa informasi yang berbeda tetapi semuanya berkaitan dengan satu objek.

Contohnya:

siswa = { “nama”: “Andi”, “kelas”: “9A”, “nilai”: 88 }

Jadi, list cocok untuk daftar, sedangkan dictionary cocok untuk profil atau informasi berlabel.

Cara Membuat Dictionary

Dictionary dapat dibuat dalam keadaan kosong:

siswa = {}

Kemudian kita dapat menambahkan data ke dalamnya.

Namun, kita juga dapat langsung membuat dictionary yang sudah berisi data:

siswa = { “nama”: “Andi”, “nilai”: 88 }

print(siswa)

Hasilnya kurang lebih:

{‘nama’: ‘Andi’, ‘nilai’: 88}

Dictionary sangat cocok digunakan ketika beberapa data saling berhubungan.

Misalnya data satu siswa:

siswa = { “nama”: “Andi”, “kelas”: “9A”, “nilai”: 88 }

Atau data sebuah buku:

buku = { “judul”: “Belajar Python”, “penulis”: “Om Jay”, “tahun”: 2026 }

Atau data sebuah produk:

produk = { “nama”: “Laptop”, “harga”: 7500000, “stok”: 10 }

Dengan dictionary, setiap data mempunyai nama yang jelas.

Cara Mengakses Data Dictionary

Setelah membuat dictionary, kita tentu ingin mengambil datanya.

Caranya menggunakan key di dalam kurung siku.

Contoh:

siswa = { “nama”: “Andi”, “kelas”: “9A”, “nilai”: 88 }

print(siswa[“nama”]) print(siswa[“nilai”])

Hasil:

Andi 88

Kita dapat membaca:

siswa[“nilai”]

sebagai:

Dari data siswa, ambil bagian yang berlabel “nilai”.

Ini berbeda dengan saat membuat dictionary.

Saat membuat:

siswa = {“nama”: “Andi”}

kita menggunakan kurung kurawal.

Saat mengambil data:

siswa[“nama”]

kita menggunakan kurung siku.

Ini adalah salah satu hal yang sering membuat siswa keliru.

Ingat:

Membuat dictionary → { }Mengambil data → [ ]Bagaimana Jika Key Tidak Ada?

Perhatikan kode berikut:

siswa = { “nama”: “Andi” }

print(siswa[“hp”])

Apa yang terjadi?

Python akan menghasilkan error:

KeyError: ‘hp’

Mengapa?

Karena dictionary tersebut tidak mempunyai key bernama “hp”.

Python sebenarnya tidak sedang marah. Python hanya memberi tahu:

“Saya mencari label hp, tetapi label tersebut tidak ada.”

Untuk menghindari masalah tersebut, kita dapat menggunakan .get().

siswa = { “nama”: “Andi” }

print(siswa.get(“hp”))

Hasilnya:

None

Kita juga dapat memberikan nilai cadangan:

print(siswa.get(“hp”, “Tidak ada”))

Hasil:

Tidak ada

Aturan praktisnya:

Kalau yakin key-nya ada, gunakan [ ]. Kalau ragu, gunakan .get().Menambah dan Mengubah Data

Dictionary dapat ditambah dan diubah dengan cara yang sangat sederhana.

Misalnya:

siswa = { “nama”: “Andi”, “nilai”: 88 }

Kita ingin menambahkan email:

siswa[“email”] = “andi@labschool.id”

Sekarang dictionary memiliki data email.

Kita juga ingin mengubah nilai dari 88 menjadi 90:

siswa[“nilai”] = 90

Jadi:

siswa = { “nama”: “Andi”, “nilai”: 88 }

siswa[“email”] = “andi@labschool.id” siswa[“nilai”] = 90

print(siswa)

Hasilnya:

{‘nama’: ‘Andi’, ‘nilai’: 90, ‘email’: ‘andi@labschool.id’}

Hal menariknya adalah menambah dan mengubah data menggunakan bentuk kode yang sama.

Python akan memutuskan berdasarkan key-nya.

Jika key belum ada:

Python menambahkan data baru.

Jika key sudah ada:

Python mengganti value yang lama.Hati-Hati Salah Ketik!

Kesalahan kecil dalam menulis key bisa menjadi masalah.

Misalnya:

siswa[“nilia”] = 90

Kita bermaksud menulis “nilai”, tetapi ternyata mengetik “nilia”.

Python tidak selalu memberikan error.

Python justru menganggap “nilia” sebagai key baru.

Akibatnya, kita mungkin mempunyai:

{ “nama”: “Andi”, “nilai”: 88, “nilia”: 90 }

Nilai asli masih 88.

Karena itu, programmer harus teliti ketika menulis nama key.

Menghapus Data Dictionary

Bagaimana jika sebuah data sudah tidak diperlukan?

Kita dapat menggunakan perintah del.

Contoh:

siswa = { “nama”: “Andi”, “nilai”: 88, “email”: “andi@labschool.id” }

del siswa[“email”]

print(siswa)

Hasilnya:

{‘nama’: ‘Andi’, ‘nilai’: 88}

Yang dihapus bukan hanya value-nya, tetapi pasangan key dan value sekaligus.

Kita juga dapat menghitung jumlah key menggunakan len():

print(len(siswa))

Hasil:

2

Karena sekarang dictionary hanya mempunyai “nama” dan “nilai”.

Melihat Semua Key, Value, dan Pasangan Data

Python menyediakan beberapa method yang sangat berguna.

1. keys()

Digunakan untuk melihat seluruh key.

print(siswa.keys()) 2. values()

Digunakan untuk melihat seluruh value.

print(siswa.values()) 3. items()

Digunakan untuk melihat pasangan key dan value.

for k, v in siswa.items(): print(k, “=”, v)

Jika datanya:

siswa = { “nama”: “Andi”, “kelas”: “9A”, “nilai”: 88 }

hasilnya:

nama = Andi kelas = 9A nilai = 88

Cara mudah mengingatnya:

  • keys() → apa saja labelnya?
  • values() → apa saja datanya?
  • items() → label apa berisi apa?

Dalam praktik, items() sering digunakan karena kita membutuhkan key sekaligus value.

Nested Dictionary: Dictionary di Dalam Dictionary

Sekarang kita menghadapi masalah baru.

Misalnya Andi mempunyai beberapa nilai:

Matematika = 88 IPA = 92 Bahasa = 79

Bagaimana cara menyimpannya?

Kita dapat membuat banyak variabel:

andi_mtk = 88 andi_ipa = 92 andi_bahasa = 79

Tetapi jika ada 30 siswa, jumlah variabel akan sangat banyak.

Kita juga dapat membuat:

andi = { “nama”: “Andi”, “nilai”: [88, 92, 79] }

Namun muncul masalah baru.

Angka 92 itu nilai mata pelajaran apa?

Kita kembali harus mengingat posisi data.

Solusinya adalah menggunakan nested dictionary, yaitu dictionary yang berada di dalam dictionary.

Contohnya:

andi = { “nama”: “Andi Pratama”, “kelas”: “9A”, “nilai”: { “Matematika”: 88, “IPA”: 92, “Bahasa”: 79 }, “aktif”: True }

Sekarang setiap nilai mempunyai label sendiri.

Kita tahu bahwa:

Matematika → 88 IPA → 92 Bahasa → 79 Cara Membaca Nested Dictionary

Bagaimana cara mengambil nilai Matematika?

print(andi[“nilai”][“Matematika”])

Hasilnya:

88

Jangan takut melihat dua kurung siku.

Kita dapat membacanya dari kiri ke kanan.

Langkah pertamaandi

Kita membuka data milik Andi.

Langkah keduaandi[“nilai”]

Kita masuk ke bagian “nilai”.

Hasil sementara:

{ “Matematika”: 88, “IPA”: 92, “Bahasa”: 79 } Langkah ketigaandi[“nilai”][“Matematika”]

Kita mengambil bagian “Matematika”.

Hasil akhirnya:

88

Cara mudah membayangkannya seperti mencari barang di rumah.

Kita tidak hanya berkata:

“Ambilkan kaos.”

Kita mungkin mengatakan:

“Masuk kamar, buka lemari, ambil kaos.”

Begitu juga dengan Python.

andi[“nilai”][“Matematika”]

berarti:

Buka data Andi → masuk ke bagian nilai → ambil data Matematika.

Jadi, setiap kurung siku berarti kita masuk satu tingkat lebih dalam.

Menghitung Rata-Rata Nilai

Sekarang kita mempunyai data:

“nilai”: { “Matematika”: 88, “IPA”: 92, “Bahasa”: 79 }

Kita ingin menghitung rata-ratanya.

Sebelum menulis kode, jangan langsung mengetik.

Mari berpikir seperti programmer.

Langkah pertama:

Ambil semua nilai.

Kita menggunakan:

.values()

Hasilnya:

88, 92, 79

Langkah kedua:

Jumlahkan semua nilai.

sum(…)

Hasil:

259

Langkah ketiga:

Hitung jumlah mata pelajaran.

Kita menggunakan:

len(…)

Jumlahnya adalah 3.

Langkah keempat:

Bagi jumlah nilai dengan jumlah mata pelajaran.

259 / 3

Hasilnya:

86.33

Perhatikan bahwa kita tidak sebaiknya menulis:

259 / 3

secara permanen.

Lebih baik menggunakan len() agar program tetap dapat digunakan ketika jumlah mata pelajaran berubah.

Misalnya nanti ada lima mata pelajaran. Program tetap dapat bekerja.

Inilah perbedaan antara menghafal kode dan berpikir secara algoritmik.

Membuat Fungsi untuk Menghitung Rata-Rata

Setelah memahami langkahnya, barulah kita menerjemahkannya ke Python:

def rata_nilai(siswa_dict): semua = list(siswa_dict[“nilai”].values()) return sum(semua) / len(semua)

Kemudian:

print(rata_nilai(andi))

Hasil:

86.33333333333333

Jika ingin hasilnya lebih rapi, kita dapat menggunakan round():

print(round(rata_nilai(andi), 1))

Hasil:

86.3

Perhatikan bahwa kode tersebut hanya terdiri dari beberapa baris. Namun, di balik kode sederhana itu terdapat proses berpikir:

  1. Masuk ke bagian nilai.
  2. Ambil semua value.
  3. Jumlahkan.
  4. Hitung jumlah data.
  5. Bagi untuk mendapatkan rata-rata.

Jadi, kode yang baik bukanlah kode yang paling panjang, tetapi kode yang mampu menyelesaikan masalah dengan benar meskipun datanya berubah.

List of Dictionaries: Menyimpan Data Satu Kelas

Satu dictionary dapat menyimpan satu siswa.

Lalu bagaimana jika kita ingin menyimpan seluruh siswa dalam satu kelas?

Misalnya:

andi = { “nama”: “Andi”, “nilai”: 88 }

budi = { “nama”: “Budi”, “nilai”: 72 }

citra = { “nama”: “Citra”, “nilai”: 95 }

Cara tersebut masih bisa digunakan, tetapi menjadi tidak praktis jika ada 30 siswa.

Solusinya adalah membuat list yang berisi banyak dictionary.

Bentuknya:

database = [ {“nama”: “Andi”, “nilai”: 88}, {“nama”: “Budi”, “nilai”: 72}, {“nama”: “Citra”, “nilai”: 95} ]

Struktur ini disebut:

list of dictionaries

Cara mudah membayangkannya adalah seperti tabel.

NamaNilaiAndi88Budi72Citra95

Setiap baris tabel dapat dianggap sebagai satu dictionary.

Seluruh tabelnya dapat dianggap sebagai satu list.

Jadi:

Satu baris tabel = satu dictionary.Seluruh tabel = satu list.Menampilkan Data Seluruh Siswa

Kita dapat menggunakan perulangan for:

for s in database: print(s[“nama”], “=”, s[“nilai”])

Hasil:

Andi = 88 Budi = 72 Citra = 95

Bagaimana cara Python bekerja?

Pada setiap putaran, variabel s berisi satu dictionary siswa.

Putaran pertama:

s = {“nama”: “Andi”, “nilai”: 88}

Putaran kedua:

s = {“nama”: “Budi”, “nilai”: 72}

Putaran ketiga:

s = {“nama”: “Citra”, “nilai”: 95}

Karena s adalah dictionary, kita dapat mengambil datanya menggunakan key:

s[“nama”]

dan:

s[“nilai”] Mencari Siswa dengan Nilai Tertinggi

Kita juga dapat mencari siswa dengan nilai tertinggi.

Gunakan:

terbaik = max(database, key=lambda s: s[“nilai”])

Kemudian:

print(terbaik[“nama”], terbaik[“nilai”])

Hasil:

Citra 95

Apa yang dilakukan kode tersebut?

max() digunakan untuk mencari nilai terbesar.

Kemudian:

key=lambda s: s[“nilai”]

memberi tahu Python bahwa yang harus dibandingkan adalah bagian “nilai” dari setiap dictionary.

Jadi Python membandingkan:

88 72 95

Nilai terbesar adalah:

95

Maka siswa terbaik adalah:

Citra Mengapa Dictionary Penting?

Mungkin kamu bertanya:

“Untuk apa saya belajar dictionary? Apakah nanti akan digunakan di dunia nyata?”

Jawabannya: sangat banyak.

Konsep dictionary digunakan dalam berbagai bentuk sistem penyimpanan data modern.

Misalnya dalam aplikasi, kita sering mempunyai data seperti:

nama → Andi kelas → 9A nilai → 88

Konsep pasangan key-value seperti ini dapat ditemukan dalam berbagai sistem dan format data.

Dictionary juga sangat dekat dengan konsep JSON, yang banyak digunakan untuk pertukaran data dalam aplikasi dan internet.

Bahkan data berbentuk tabel dapat kita bayangkan sebagai kumpulan dictionary.

Contohnya:

database = [ {“nama”: “Andi”, “nilai”: 88}, {“nama”: “Budi”, “nilai”: 72}, {“nama”: “Citra”, “nilai”: 95} ]

Struktur seperti ini dapat menjadi dasar untuk memahami bagaimana aplikasi menyimpan dan mengolah data.

Jadi, belajar dictionary bukan hanya untuk mendapatkan nilai bagus dalam pelajaran Informatika.

Kamu sedang belajar cara berpikir yang digunakan dalam pengolahan data di dunia nyata.

Contoh Penerapan di Sekolah

Mari kita buat contoh sederhana data siswa SMP Labschool Jakarta.

siswa = { “nama”: “Andi Pratama”, “kelas”: “9A”, “nilai”: { “Matematika”: 88, “IPA”: 92, “Bahasa Indonesia”: 90 }, “aktif”: True }

Kita dapat mengambil nama:

print(siswa[“nama”])

Mengambil kelas:

print(siswa[“kelas”])

Mengambil nilai IPA:

print(siswa[“nilai”][“IPA”])

Hasil:

Andi Pratama 9A 92

Dengan struktur seperti ini, data menjadi lebih mudah dibaca dan dikembangkan.

Ringkasan Operasi Dictionary

Berikut beberapa operasi penting yang perlu kamu kenali saat praktik.

# Membuat dictionary siswa = {“nama”: “Andi”, “nilai”: 88}

# Mengambil data print(siswa[“nama”])

# Menambah data siswa[“email”] = “andi@labschool.id”

# Mengubah data siswa[“nilai”] = 90

# Menghapus data del siswa[“email”]

# Mengecek key print(“nama” in siswa)

# Melihat semua key print(siswa.keys())

# Melihat semua value print(siswa.values())

# Melihat semua pasangan print(siswa.items())

# Menghitung jumlah key print(len(siswa))

# Mengambil data dengan aman print(siswa.get(“hp”, “Tidak ada”))

Tidak perlu menghafalkan semuanya sekaligus.

Yang terpenting adalah memahami masalah apa yang ingin diselesaikan.

Tantangan untuk Siswa Kelas 9

Sekarang saatnya kamu mencoba sendiri.

Buat sebuah dictionary bernama siswa yang berisi:

  • nama
  • kelas
  • nomor absen
  • nilai Matematika
  • nilai IPA
  • nilai Informatika

Contohnya:

siswa = { “nama”: “Nama Kamu”, “kelas”: “9A”, “absen”: 10, “nilai”: { “Matematika”: 90, “IPA”: 88, “Informatika”: 95 } }

Kemudian kerjakan beberapa tantangan berikut.

Tantangan 1

Tampilkan nama siswa.

print(siswa[“nama”]) Tantangan 2

Tampilkan nilai Informatika.

print(siswa[“nilai”][“Informatika”]) Tantangan 3

Tambahkan nilai Bahasa Indonesia.

siswa[“nilai”][“Bahasa Indonesia”] = 92 Tantangan 4

Ubah nilai Matematika menjadi 95.

siswa[“nilai”][“Matematika”] = 95 Tantangan 5

Gunakan .get() untuk mencari data “alamat”.

print(siswa.get(“alamat”, “Alamat belum tersedia”)) Tantangan 6

Buat list yang berisi minimal tiga dictionary siswa.

database = [ {“nama”: “Andi”, “nilai”: 88}, {“nama”: “Budi”, “nilai”: 72}, {“nama”: “Citra”, “nilai”: 95} ]

Kemudian tampilkan semua nama dan nilai menggunakan for.

Kesimpulan

Hari ini kita belajar bahwa pemrograman bukan sekadar menghafalkan sintaks. Pemrograman dimulai dari masalah, kemudian kita mencari cara terbaik untuk menyelesaikannya.

List memang berguna, tetapi kita harus mengakses datanya berdasarkan posisi atau indeks. Ketika data memiliki makna dan label masing-masing, dictionary sering menjadi pilihan yang lebih mudah dipahami.

Dictionary menyimpan data dalam pasangan:

key → value

Contohnya:

“nama” → “Andi” “kelas” → “9A” “nilai” → 88

Untuk membuat dictionary digunakan:

{ }

Untuk mengambil data digunakan:

[ ]

Jika key belum ada, kita dapat menggunakan:

.get()

Dictionary juga dapat berisi dictionary lain. Inilah yang disebut nested dictionary.

Contohnya:

andi[“nilai”][“Matematika”]

Kita juga dapat menggabungkan list dan dictionary menjadi:

list of dictionaries

Struktur tersebut sangat berguna untuk menyimpan banyak data yang mempunyai bentuk serupa.

Hal terpenting yang harus kamu bawa pulang adalah:

Jangan hanya menghafal kode. Pahami masalahnya, susun langkah penyelesaiannya, kemudian terjemahkan langkah tersebut ke dalam Python.

Ketika kamu sudah mampu membuat data siswa dengan key yang bermakna, mengubah dan menghapus datanya, membaca nested dictionary, serta menggunakan list of dictionaries untuk menyimpan banyak siswa, berarti kamu sudah mulai memahami cara kerja struktur data dalam pemrograman.

Dan ingat, kemampuan menjadi programmer tidak dibangun dalam satu malam. Mulailah dari masalah kecil, tuliskan langkahnya, kemudian coba pecahkan dengan kode.

Selamat belajar Python, siswa kelas 9 SMP Labschool Jakarta.

Menulislah setiap hari dan buktikan apa yang terjadi.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Kolom bertanda * wajib diisi.

Berita Berikutnya