15%

Mengenal Tipe Data Dictionary pada Python

30-Mar-2020

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.

Topik : python

Artikel yang mungkin Anda suka