Apa itu dictionary ? dan apa pengertiannya ?. Sebelum kita membahas lebih jauh dictionary dalam pemrograman python ada baiknya kita memahami dictionary secara etimologi.
Dictionary dalam bahasa Indonesia adalah kamus, jika kita perhatikan isi dari kamus maka akan terlihat setiap kata akan mempunyai arti atau penjelasan. Sehingga kata juga bisa disebut sebagai kunci (key) dan penjelasannya disebut nilai (value).
Berdasarkan analogi tersebut maka dapat didefinisikan dictionary adalah kumpulan data yang mempunyai penanda (kunci/key) singular (unique).
Dictionary dalam Bahasa Pemrograman Python
Dictionary dalam Python adalah salah satu dari sekian tipe data yang ada dalam python itu sendiri. Ada banyak tipe data dalam python salah satunya yang sudah dibahas adalah list. Tipe data list dapat menyimpan banyak nilai, akan tetapi tidak memiliki penanda disetiap nilainya. Perhatikan kode ini:
list_saya = [1, 2, 'jeruk', 'mangga'] dict_saya = {'nama': 'dhani', 'agama': 'islam'}
Didalam tipe data list kita juga dapat menulis tipe data dictionary:
list_saya = [1, 2, 'jeruk', 'mangga', {'buah_1': 'jeruk', 'buah_2': 'mangga'}]
Begitu juga sebaliknya, kita dapat menulis tipe data list didalam dictionary
dict_saya = {'buah_1': 'jeruk', 'buah_2': 'mangga', 'list_saya': [1, 2, 'jeruk', 'mangga']}
Membuat dictionary dengan gaya konstrukror atau form
data = dict(nama='dhani', agama='islam')
Mengakses Dictionary
Setelah kita memiliki data berupa dictionary, lantas bagaimana cara kita agar bisa mengoperasikan nilai didalam dictionary tersebut?
dict_saya = {'nama': 'dhani', 'agama': 'islam'} print(dict_saya['nama']) dhani #output print(dict_saya) {'nama': 'dhani', 'agama': 'islam'} #output
dict_saya = { "nama": "dhani", "agama": "islam", "istri": [ "tini" ], "anak": [ "ariqa", "khalid", "humaira" ], "pendidikan": { "sd": "sekolah dasar negeri aceh", "smp": "sekolah dasar negeri medan", "sma": "sekolah menengah atas medan" }, "pemarah": False } print(f"Perkenalkan nama saya {dict_saya['nama']}, Saya memiliki istri {len(dict_saya['istri'])} yang bernama {dict_saya['istri'][0]}") Perkenalkan nama saya dhani, Saya memiliki istri 1 yang bernama tini #output
Output diatas menggunakan f string Anda dapat membaca disini. Fungsi len adalah menghitung banyaknya nilai (value) dalam hal ini menghitung banyaknya isi didalam list.
Untuk mengambil kunci (key) dictionary mempunyai methods yaitu keys()
untuk menampilkan key kita cukup menulis nama_dictionary.key()
dan hasilnya masih berupa objeck dari dictionary yang harus dimasukkan kedalam fungsi list.
dict_saya = { "nama": "dhani", "agama": "islam", "istri": [ "tini" ], "anak": [ "ariqa", "khalid", "humaira" ], "pendidikan": { "sd": "sekolah dasar negeri aceh", "smp": "sekolah dasar negeri medan", "sma": "sekolah menengah atas medan" }, "pemarah": False } print(dict_saya.keys()) dict_keys(['nama', 'agama', 'istri', 'anak', 'pendidikan', 'pemarah']) #output kunci = dict_saya.keys() print(type(kunci)) <class 'dict_keys'> #output list_kunci = list(kunci) print(list_kunci) ['nama', 'agama', 'istri', 'anak', 'pendidikan', 'pemarah'] #output
Mengganti Dictionaries
Setelah kita membuat dictionary terkadang untuk kasus tertentu kita harus mengganti nilainya sesuai keperluan kita. Bagaimana cara kita mengganti nilai (value) didalam dictionary? Berikut contohnya:
dict_saya = { "nama": "dhani", "agama": "islam", "istri": [ "tini" ], "anak": [ "ariqa", "khalid", "humaira" ], "pendidikan": { "sd": "sekolah dasar negeri aceh", "smp": "sekolah dasar negeri medan", "sma": "sekolah menengah atas medan" }, "pemarah": False } dict_saya['nama'] = 'Ramadhani' dict_saya['istri'][0] = 'Martini' dict_saya['anak'][1] = 'Khalid Albardani' print(dict_saya) { "nama": "Ramadhani", "agama": "islam", "istri": [ "Martini" ], "anak": [ "ariqa", "Khalid Albardani", "humaira" ], "pendidikan": { "sd": "sekolah dasar negeri aceh", "smp": "sekolah dasar negeri medan", "sma": "sekolah menengah atas medan" }, "pemarah": False } #output
Menghapus Dictionaries
Kita sudah membuat dan mengganti dictionary, bagaimana jika kita ingin menghapusnya?
dict_saya = { "nama": "dhani", "agama": "islam", "istri": [ "tini" ], "anak": [ "ariqa", "khalid", "humaira" ], "pendidikan": { "sd": "sekolah dasar negeri aceh", "smp": "sekolah dasar negeri medan", "sma": "sekolah menengah atas medan" }, "pemarah": False } del dict_saya['pendidikan'] print(dict_saya) { "nama": "dhani", "agama": "islam", "istri": [ "tini" ], "anak": [ "ariqa", "khalid", "humaira" ], "pemarah": False } #output
Methods pada Dictionary
Kelebihan Python adalah kemudahan dalam penulisan syntaks. Pada tipe data dictionary kita dapat menggunakan fungsi yang ada didalam class dictionary.
print(dir(dict)) ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
Anda dapat melihat isi didalam class dictionary dan menggunakannya sesuai kebutuhan Anda. Perhatikan contoh dibawah ini
dict_saya = { "nama": "dhani", "agama": "islam", "istri": [ "tini" ], "anak": [ "ariqa", "khalid", "humaira" ], "pendidikan": { "sd": "sekolah dasar negeri aceh", "smp": "sekolah dasar negeri medan", "sma": "sekolah menengah atas medan" }, "pemarah": False } print(dict_saya.get('nama')) dhani #output print(dict_saya.items()) dict_items([('nama', 'dhani'), ('agama', 'islam'), ('istri', ['tini']), ('anak', ['ariqa', 'khalid', 'humaira']), ('pemarah', False)]) #output print(list(dict_saya.items())) [('nama', 'dhani'), ('agama', 'islam'), ('istri', ['tini']), ('anak', ['ariqa', 'khalid', 'humaira']), ('pemarah', False)] print(dict_saya.get('teman')) None media = {'media': {'web': 'https://blog.dhanipro.com', 'facebook': 'dhanipro.com'}} dict_saya.update(media) { "nama": "dhani", "agama": "islam", "istri": [ "tini" ], "anak": [ "ariqa", "khalid", "humaira" ], "pendidikan": { "sd": "sekolah dasar negeri aceh", "smp": "sekolah dasar negeri medan", "sma": "sekolah menengah atas medan" }, "pemarah": False, "media": { "web": "https://blog.dhanipro.com", "facebook": "dhanipro.com" } } print(len(dict_saya)) 7
Jika ingin menjadi programmer Python maka dictionary ini adalah suatu kewajiban untuk dipahami. Untuk aplikasi yang dibutuhkan industri tentu penggunaan dictionary lebih rumit dari contoh diatas.