Pada seri ke #6 kita sudah mengenal struktur data list yang mampu menyimpan berbagai macam hal. List biasanya digunakan untuk menyimpan koleksi data.
Namun, list di sisi lain memiliki kekurangan. yaitu list tidak bisa menggunakan kata kunci untuk mengakses itemnya. Hanya bisa menggunakan indeks saja.
Tapi tenang, ada solusi lain untuk menanganinya yaitu menggunakan Dictionary.
Lalu apa saja, mari kita simak...
Apa itu Dictionary
Dictionary adalah struktur data yang bentuknya seperti kamus. Ada kata kunci kemudian ada nilainya. Kata kunci harus bersifat unik, sedangkan nilai boleh diisi apa saja.
Kita buat contoh programnya terlebih dahulu,
"judul": "Belajar Dictionary Pada Python 3",
"tanggal": "01 Februari 2021",
"kategori": [
"Python", "Python Dasar"
],
"page_views": 10,
"published": True,
"share_count": {
"facebook": 0,
"twitter": 2
}
}
Pasti sebagian besar kalian bisa memahami secara garis besar apa tugas dan isi dari variabel pertemuan_hari_ini. Jika belum, silahkan kunjungi seri belajar python untuk pemula sebelumnya.
Variabel tersebut menyimpan beebrapa informasi sekaligus seperti judul, tanggal, kategori (yang berupa list), page_views dan sebagainya.
Sifat Dictionary Items
Dictionary item memiliki 3 sifat, yaitu:
- Unordered, tidak berurutan
- Changeable, bisa diubah
- Unique, tidak bisa menerima keys yang sama
Unordered artinya ia tidak berurutan, sehingga key/atribut yang pertama kali didefinisikan, tidak berarti ia menjadi yang pertama dibandingkan dengan key yang lalinnnya. Juga unordered berarti tidak bisa diakses menggunakan indeks seperti list.
Sedangkan changeable artinya kita bisa mengubah value yang kita masukan ke dalam sebuah dictionary. Hal ini berbeda dengan tipe data set maupun tuple yang mana keduanya bersifat immutable alias tidak bisa diubah.
Dan yang terakhir, dictionary tidak bisa memiliki lebih dari satu key yang sama karna ia bersifat unique. Sehingga jika ada 2 buah key yang sama, key yag didefinisikan paling terakhir akan menimpa nilaidari key yang didefinisikan sebelumnya.
Perhatikan contoh berikut:
var_buah = { "apel": "berwarna merah", "apel": "berbentuk bulat" } print(var_buah.get("apel"))
Kita bisa perhatikan bahwa pada dictionary var_buah diatas, terdapat dua buah item dengan nama "apel", akan tetapi ketika kita cetak hasilnya hanya nilai yang terakhir kita masukan, dan keetika kita sorot pada blok pycharm pun memeberi informasi "Dictionary contains duplicate keys 'apel'".
Tipe Data pada Items Dictionary
Selain 3 sifat yang telah disebutkan, item pada dictionary juga bisa menerima berbagai macam tipe data, mulai dari tipe data asli maupun tipe data terusan seperti object.
Yang artinya, dictionary juga bisa memiliki value berupa dictionary juga.
Dan ini telah kita contohkan langsung pada variabel pertemuan_hari_ini di kode program diatas.
Cara Membuat Dictionary
Berikut adalah bagaimana cara membuat dictonary padas python.
Ada 2 cara, yaitu:
- Dengan menggunakan tanda kurung kurawal {}
- Dengan menggunakan fungsiatau konstruktor dict()
perhatikan contoh berikut:
# cara pertama buku = { "judul": "Daun Yang Jatuh Tidak Pernah Membenci Angin", "penulis": "Tere Liye" } # cara kedua buku = dict( judul="Daun Yang Jatuh Tidak Pernah Membenci Angin", penulis="Tere Liye" )
Cara Mengakses Item Pada Dictionary
Kita bisa mengakses item pada dictionary dengan dua cara:
- Menggunakan kurung siku []
- Menggunakan fungsi get()
Kita contohkan saja:
pertemuan_hari_ini = { "judul": "Belajar Dictionary Pada Python 3", "tanggal": "01 Februari 2021", "kategori": [ "Python", "Python Dasar" ], "page_views": 10, "published": True, "share_count": { "facebook": 0, "twitter": 2 } }
Kita bisa mengaksesnya dengan:
print('Judul:', pertemuan_hari_ini.get('judul')) # atau print('Tanggal:', pertemuan_hari_ini['tanggal']) # bisa menggunakan fungsi berantai untuk dictionary bertingkat print('Facebook share:', pertemuan_hari_ini.get('share_count').get('facebook')) # bisa juga dengan kurung siku dua-duanya print('Twitter share:', pertemuan_hari_ini['share_count']['twitter'])
Maka hasilnya:
Hanya saja diantara keunggulan menggunakan fungsi get() adalah:
Kita bisa mengatur nilai default jika key pada dictionary yang kita panggil tidak ditemukan. Hal itu akan mencegah sistem untuk menampilkan error.
Kita perhatikan contoh berikut:
share_count = pertemuan_hari_ini.get('share_count') # ini error print('Instagram share:', share_count['instagram'])
Dan ketika kita jalankan maka:
Lalu coba perhatikan menggukan fungsi get():
share_count = pertemuan_hari_ini.get('share_count') # sedangkan ini tidak error print('Instagram share:', share_count.get('instagram', 0))
Dan hasilnya:
Perulangan Dictionary
Kita juga bisa menampilkan semua isi dari dictionary dengan memanfaatkan perulangan.
Perhatikan contoh berikut:
buku = { 'judul': 'Hafalan Sholat Delisa', 'penulis': 'Tere Liye' } for key in buku: print(key, '->', buku[key])
Jika dijalankan, maka hasilnya:
Atau kita juga bisa memanggil fungsi dictionary.items() untuk perulangan yang lebih simpel.
for nama_atribut, nilai in buku.items(): print(nama_atribut, '->', nilai)
Kode diatas akan menghasilkan output yang sama.
Mengubah Nilai Item
Seperti yang telah kita singgung diatas bahwasannya item pada dictionary bersifat changeble alias bisa diubah.
Untuk mengubah nilai item pada suatu dictionary,, caranya simpel seperti mengubah variabel pada umumnya.
Contoh:
mahasiswa = { 'nama': 'Lendis Fabri', 'asal': 'Indonesia' } # mengubah data print('Nama awal:', mahasiswa.get('nama')) mahasiswa['nama'] = 'Andi Mukhlish' print('Setelah diubah:', mahasiswa.get('nama'))
Output:
Menambahkan Item
Untuk menambahkan item key dan item baru, caranya seperti mengedit item.
Jadi:
- Kalau key yang kita definisikan ternyata sudah ada, sistem akan me-replace item yang lama dengan item baru, alias mengedit
- Tapi, jika key yang kita definisikan belum ada, maka sistem akan meng-create sebagai item baru
Contoh:
mahasiswa = { 'nama': 'Novia Anggraeni', 'asal': 'Indonesia', } # output None print('Hobi:', mahasiswa.get('hobi')) # tambah data mahasiswa['hobi'] = 'membaca' # print ulang print('Hobi dari {} adalah {}'.format( mahasiswa.get('nama'), mahasiswa.get('hobi') ))
Kita akan mendapatkan output:
Menghapus Item
Untuk menghapus item,terdapat dua cara:
- Menggunakan statement del <dict[key]>
- Atau menggunakan fungsi dictionary.pop()
Perhatikan contoh berikut:
mahasiswa = {
'nama': 'Novia Anggraeni',
'usia': 18,
'asal': 'Indonesia'
}
del mahasiswa['nama']
mahasiswa.pop('usia')
mahasiswa.pop('asal')
Apa bedanya cara pertama dan cara kedua?
Bedanya kalau fungsi pop(), kita bisa mendapatkan nilai kembalian dari data yang kita hapus.
Contoh:
pesan_singkat = { "isi": "ISI PESAN INI HANYA BISA DIBACA SEKALI SAJA!!" } isi_pesan = pesan_singkat.pop('isi') # akses langsung dari dictionary # ouput: None print('isi pesan:', pesan_singkat.get('isi')) # akses dari hasil kembalian yang telah disimpan print('isi pesan:', isi_pesan)
Output:
Operator Keanggotaan
Kita bisa memanfaatkan operator keanggotaan untuk tipe data dictionary pada python.
Perhatikan contoh berikut:
mahasiswa = { 'nama': 'Novia Anggraeni' } print('Apakah variabel mahasiswa memiliki key nama?')
print('nama' in mahasiswa)
print('\nApakah variabel mahasiswa TIDAK memiliki key usia?')
print('usia' not in mahasiswa)
Output:
Panjang atau Banyak Key pada Dictionary
Terakhir tapi bukan yang terakhir, kita bisa juga menghitung jumlah key yang terdapat pada sebuah dicioinary dengan fungsi len().
Contoh:
sekolah = { 'nama': 'Sekolah Dasar Negeri Jakarta 1', 'jenjang': 'Sekolah Dasar', 'akreditasi': 'A' } print( "Jumlah atribut variabel sekolah adalah:", len(sekolah) )
Output:
Oke untuk seri dictionary ini saya akhiri sekian dulu.
Terimakasih sudah membaca, dan jangan lupa praktek!
0 Komentar