Pengenalan Dictionary
Dictionary merupakan tipe data yang setiap anggotanya tersusun atas dua atribut yaitu key dan value atau dalam bahasa indonesianya kunci dan nilai. Key bisa dikatakan bertindak sebagai indeks di dalam dictionary. Key ini bisa berupa berbagai tipe data kecuali list, set, dan dictionary. Sedangkan value mendefinisikan data yang bisa berisi semua macam tipe data termasuk dictionary sendiri.
Cara Membuat Dictionary
Untuk membuat dictionary kita butuh tanda kurung kurawal dengan setiap anggota di dalamnya dipisahkan dengan tanda koma. Sedangkan dua atribut key dan value tadi dipisah dengan tanda titik dua.
Untuk mengecek tipe datanya gunakan fungsi type().
Karena key pada dictionary bisa dikatakan mewakili indeks, yang mana salah satu sifat indeks yaitu nilainya harus bersifat unik. Maka tidak boleh ada lebih dari satu anggota dengan key yang bernilai sama.
Lantas bagaimana bila ada lebih dari satu anggota dengan key yang sama?
Maka dictionary akan menghapus salah satu anggota tersebut, kemudian bila valuenya berbeda, maka akan dipilih value dari anggota (yang key-nya sama) yang berada paling kanan atau terbaru.
Bermacam Anggota Dictionary
Sebelum masuk ke situ, saya ingin jelaskan sedikit bahwa penyebutan isi dalam dictionary bisa kalian sebut sebagai data, item, elemen, atau anggota. Kalau saya lebih suka menyebutnya anggota.
Lanjut, sudah dijelaskan di awal artikel bila anggota tipe data dictionary tersusun atas key dan value. Dijelaskan pula bahwa tidak semua tipe data bisa menjadi key, namun yang pasti semua tipe data mampu menjadi value.
Tipe Data yang Dapat Menjadi Key
Terhitung ada 4 tipe data antara lain tipe data numerik, string, boolean, dan tuple yang mampu menjadi key dalam dictionary.
Tipe Data Numerik
Terdapat tiga tipe yang termasuk ke dalam tipe data numerik, antara lain integer, float, dan complex. Ketiganya dapat menjadi entah itu key atau value dalam dictionary.
Tipe Data String
Tipe data string atau tipe data teks juga dapat menjadi key dan value sebuah dictionary, meskipun kita tahu bahwa tipe data ini juga termasuk ke dalam tipe data berurut.
Tipe Data Boolean
Tipe data boolean terdiri dari dua nilai, True dan False. Meskipun hanya terdiri dari dua nilai, tipe data ini juga dapat menjadi dua atribut (key dan value) tipe data dictionary.
Tipe Data Tuple
Selain string yang sudah disebutkan sebelumnya, key dictionary juga dapat terdiri dari tipe data berurut lain seperti tuple.
Tipe Data Yang Tidak Dapat Menjadi Key
Seperti sudah dijelaskan sebelumnya bahwa tidak semua tipe data bisa menjadi anggota dictionary, ada beberapa yang tidak diizinkan menjadi anggota dictionary seperti list, set, dan dictionary itu sendiri.
Tipe Data List
List dalam dictionary hanya bisa menjadi value, jika menjadi key ia akan error.
Tipe Data Set
Set juga begitu, dalam dictionary hanya mampu bertindak sebagai value.
Tipe Data Dictionary
Dictionary sendiri juga begitu hanya bisa berperan sebagai value saja.
Cara Mengakses Dictionary
Karena key bertindak sebagai indeks maka ada dua cara yang dapat digunakan untuk mengakses (value) dictionary.
Cara Manual
Cara manual di sini maksudnya, kita mengakses anggota dictionary secara individu atau satu persatu secara manual. Untuk menerapkan cara ini, kita memerlukan nama variabel yang bersangkutan diikuti dengan tanda kurung siku. Nah, di dalam kurung siku inilah key setiap anggota diletakkan. Lebih jelasnya lihat rumus berikut.
>>> nama_variabel[kunci]
Untuk penerapan kodenya sebagai berikut.
Menggunakan Perulangan
Tipe data dictionary termasuk salah satu objek iterasi. Objek iterasi sendiri merupakan objek yang dapat menghasilkan proses pengulangan, yang mana dari hal ini kita dapat menggunakan perulangan untuk mengakses anggotanya. Objek iterasi mencakup semua tipe data yang masuk ke dalam kategori struktur data, selain itu string juga termasuk objek iterasi.
Berikut salah satu program untuk menampilkan value dari anggota dictionary dengan menggunakan perulangan.
Kita juga bisa menampilkan key masing-masing anggota.
Dictionary Bersifat Mutable
Mutable artinya data di dalam dictionary dapat diubah, sama seperti list dan set.
Lawannya adalah immutable (tidak bisa diubah) seperti string dan tuple.
>>> # Immutable pada Tuple
... siswa = ("Ani", "Budi", "Cita", "Dika", "Ega")
>>> siswa[2] = "Fani"
Traceback (most recent call last):
File "", line 1, in
TypeError: 'tuple' object does not support item assignment
>>> # Immutable pada String
... angka = "012345"
>>> angka[2] = "9"
Traceback (most recent call last):
File "", line 1, in
TypeError: 'str' object does not support item assignment