Memahami Struktur Data Dictionary pada Python

Pada pembahasan seblumnya, kita sudah mengenal stuktur data list yang mampu menyimpan berbagaimacam hal. List biasanya digunakan untuk menyimpan koleksi data.

Namun, list ternyata memiliki kekurangan.

Kekurangannya: ia tidak bisa menggunakan kata kunci untuk mengakses itemnya. Hanya bisa menggunakan nomer indeks saja.

Tapi tenang saja…

Kekurangn ini sudah ditutipi oleh Dictionary.

Nah, pada kesempatan ini, kita akan belajar 7 hal dasar yang harus diketahui tentang Dictionary.

Apa saja itu?

Mari kita simak…

1. Apa itu Dictionary pada Python?

Dictionary adalah stuktur data yang bentuknya seperti kamus. Ada kata kunci kemudian ada nilaninya. Kata kunci harus unik, sedangkan nilai boleh diisi denga apa saja.

Contoh:

aku = {
    "nama": "Petani Kode",
    "url:" "https://www.petanikode.com"
}

Pada contoh di atas kita membuat sebuah Dictionary bernama aku dengan isi data nama dan URL. nama dan url adalah kunci (key) yang akan kita gunakan untuk mengakses nilai di dalamnya.

Inilah perbedaanya dibandingkan list dan tuple. Dictionary memiliki kunci berupa teks—bisa juga angka—sedangkan list dan tuple menggunakan indeks berupa angka saja untuk mengakses nilainya.

Dalam bahasa pemrograman lain (seperti PHP), Dictionary juga dikenal dengan sebutan asosiatif array.

2. Membuat Dictionary

Hal yang wajib ada di dalam pembuatan Dictionary adalah:

  • nama dictionary,
  • key,
  • value,
  • buka dan tutupnya menggunakan kurung kurawal.

Antara key dan value dipisah dengan titik dua (:) dan apabila terdapat lebih dari satu item, maka dipisah dengan tanda koma (,).

Contoh satu item:

nama_dict = {
    "key": "value"
}

Contoh tiga item:

nama_dict = {
    "key1": "value",
    "key2": "value",
    "key3": "value"
}

Isi dari Dictionary dapat berupa:

  • String
  • Integer
  • Objek
  • List
  • Tuple
  • Dictionary
  • dsb.

Contoh:

pak_tani = {
    "nama": "Petani Kode",
    "umur": 22,
    "hobi": ["coding", "membaca", "cocok tanam"],
    "menikah": False,
    "sosmed": {
        "facebook": "petanikode",
        "twitter": "@petanikode"
    } 
}

Mari kita lihat isi dari Dictionary di atas:

  • nama berisi string "Petani Kode"
  • umur berisi integer 22
  • hobi berisi list dari string
  • menikah berisi boolean False
  • dan sosmed berisi Dictionary

Menggunakan Konstruktor

Selain menggunakan cara di atas, kita juga bisa membaut Dictionary dari constructor dict() dengan parameter key dan value.

Contoh:

warna_buah = dict(jeruk="orange", apel="merah", pisang="kuning")

Maka akan menghasilkan dictionary seperti ini:

{'jeruk': 'orange', 'pisang': 'kuning', 'apel': 'merah'}

3. Mengakses Nilai Item dari Dictionary

Kita sudah tahu cara membuat Dictionary, sekarang bagaimana cara mengaksesnya?

Cara mengaksesnya sama seperti list. Namaun kunci yang digunakan bukan angka, melainkan keyword yang sudah kita tentukan di dalam Dictionary-nya.

Contoh:

# Membuat Dictionary
pak_tani = {
    "nama": "Petani Kode",
    "umur": 22,
    "hobi": ["coding", "membaca", "cocok tanam"],
    "menikah": False,
    "sosmed": {
        "facebook": "petanikode",
        "twitter": "@petanikode"
    } 
}

# Mengakses isi dictionary
print("Nama saya adalah %s" % pak_tani["nama"])
print("Twitter: %s" % pak_tani["sosmed"]["twitter"])

Maka akan menghasilkan:

Nama saya adalah Petani Kode
Twitter: @petanikode

Selain dengan cara di atas, kita juga bisa mengambil nilai Dictionary dengan method get().

Contoh:

print(pak_tani.get("nama"))

Hasilnya:

Petani Kode

Menggunakan Perulangan

Untuk mencetak semua isi Dictionary, kita bisa menggunakan perulangan seperti ini:

# Membuat dictionary
web = {
    "name": "petanikode",
    "url": "https://www.petanikode.com",
    "rank": "5"
}

# Mencetak isi dictionary dengan perulangan
for key in web:
    print(web[key])

Hasilnya:

petanikode
5
https://www.petanikode.com

Kita juga bisa melakukannya seperti ini:

web = {
    "name": "petanikode",
    "url": "https://www.petanikode.com",
    "rank": "5"
}

for key, val in web.items():
    print("%s : %s" % (key, val))

Hasilnya:

name : petanikode
rank : 5
url : https://www.petanikode.com

4. Mengubah Nilai Item Dictionary

Dictionary bersifat mutable, artinya nilainya dapat kita ubah-ubah. Untuk mengubah nilai Dictionary, kita bisa lakukan seperti ini:

nama_dic["kunci"] = "Nilai Baru"

Contoh:

# membuat dictioanary
skill = {
    "utama": "Python",
    "lainnya": ["PHP","Java", "HTML"]
}

# Mencetak isi skill utama
print(skill["utama"])

# mengubah isi skill utama
skill["utama"] = "Rust"

# Mencetak isi skill utama
print(skill["utama"])

Maka akan menghasilkan:

Python
Rust

5. Menghapus Item dari Dictionary

Untuk menghapus nilai Dictionary, kita bisa menggunakan perintah del dan method pop().

Method pop() adalah method yang berfungsi untuk mengeluarkan item dari dictionary sedangak fungsi del adalah fungsi untuk menghapus suatu variabel dari memori.

Contoh menghapus dengan del:

>>> del skill["utama"]
>>> skill
{'lainnya': ['PHP', 'Java', 'HTML']}

Contoh menghapus dengan method pop():

>>> skill.pop("utama")
'Rust'
>>> skill
{'lainnya': ['PHP', 'Java', 'HTML']}

…atau bila kita ingin menghapus semuanya sekaligus, kita bisa menggunakan method clear().

Contoh:

skill.clear()

6. Menambahkan Item ke Dictionary

Kita bisa menggunakan method update() untuk menambahkan isi ke Dictionary. Parameternya berupa Dictionary.

Selain berfungsi untuk menambahkan, method ini juga berfungsi untuk mengubah nilai dictionary apabila kunci yang dimasukkan sudah ada di dalamnya.

Contoh:

# membuat dictionary user
user = {
    "name": "petanikode"
}

# menambahkan password
user.update({"password": "akucintakamu123"})

print(user)

# update name
user.update({"name": "peternaklinux"})

print(user)

Hasilnya:

{'name': 'petanikode', 'password': 'akucintakamu123'}
{'name': 'peternaklinux', 'password': 'akucintakamu123'}

7. Mengambil Panjang Dictionary

Untuk mengambil jumlah data atau panjang Dictionary, kita bisa menggunakan fungsi len().

Contoh:

# membuat dictonary
books = {
    "python": "Menguasai Python dalam 2028 jam",
    "java": "Tutorial Belajar untuk Pemula",
    "php": "Membuat aplikasi web dengan PHP"
}

# mencetak jumlah data yang ada di dalam dictionary
print("total buku: %d" % len(books))

Hasilnya:

total buku: 3

Apa Selanjutnya?

Dengan mengetahui 7 hal ini, kita sudah bisa melakukan apapun terhadap dictionary. Sebenarnya masih banyak yang belum dibahas. Selebihnya kamu bisa membaca di dokumentasi.

Semoga bermanfaat…