Pada pertemuan kali ini kita akan membahas salah satu dari 4 tipe data kolektif pada python yaitu: dictionary.
Apa itu dictionary? Sebelum kita membahas pengertiannya, silakan teman-teman perhatikan kode program berikut ini:
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
}
}
Apakah kalian memahami fungsi-fungsinya?
Saya yakin sebagian besar dari kalian langsung bisa memahami secara garis besar apa tugas dan isi dari variabel pertemuan_hari_ini
.
Variabel tersebut menyimpan beberapa informasi sekaligus seperti judul
, tanggal
, kategori
(yang berupa list), page_views
, dan sebagainya.
Pengertian Dictionary
Lalu, apa sebenarnya dictionary itu?
Dictionary adalah tipe data pada python yang berfungsi untuk menyimpan kumpulan data/nilai dengan pendekatan “key-value”.
Perhatikan contoh di atas, variabel pertemuan_hari_ini
adalah dictionary.
Ia memiliki 6 buah “key” atau “atribut”, yaitu:
judul
tanggal
kategori
page_views
published
- dan
share_count
(bahkan value darishare_count
sendiri adalah sebuah dictionary ๐)
Yang mana masing-masing atribut di atas memiliki informasi/nilai sendiri-sendiri sesuai dengan namanya.
Dictionary sendiri memiliki dua buah komponen inti:
- Yang pertama adalah key, ia merupakan nama atribut suatu item pada dictionary.
- Yang kedua adalah value, ia adalah nilai yang disimpan pada suatu atribut.
Sifat Dictionary Items
Dictionary items memiliki 3 sifat, yaitu:
Unordered
- tidak berurutanChangeable
- bisa diubahUnique
- alias tidak bisa menerima dua keys yang sama
Unordered artinya ia tidak berurutan, sehingga key/atribut yang pertama kali kita definisikan, tidak berarti dia akan benar-benar menjadi yang “pertama” dibandingkan dengan key yang lainnya. Juga, unordered berarti tidak bisa diakses menggunakan index (integer) sebagaimana halnya list.
Sedangkan changeable artinya kita bisa kita mengubah value yang telah kita masukkan ke dalam sebuah dictionary. Hal ini berbeda dengan tipe data set mau pun tuple yang mana keduanya bersifat immutable alias tidak bisa diubah.
Dan yang terakhir, dictionary tidak bisa memiliki lebih dari satu key yang sama karena ia bersifat unique. Sehingga jika ada dua buah key yang sama, key yang didefinisikan terakhir akan menimpa nilai dari key yang didefinisikan lebih awal.
Perhatikan contoh berikut:
artikel = {
"judul": "Menu Masakan Enak",
"judul": "Menu Masakan Enak Tradisional"
}
print(artikel.get("judul"))
Kode program di atas akan menghasilkan output:
Menu Masakan Enak Tradisional
Kita bisa perhatikan bahwa pada dictionary artikel
di atas, terdapat dua buah item dengan nama “judul”, akan tetapi ketika kita tampilkan hasilnya hanya nilai yang terakhir kita masukkan.
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 mau pun tipe data terusan seperti objek.
Yang artinya, dictionary juga bisa memiliki value berupa dictionary juga.
Dan ini telah kita lihat langsung contohnya pada variabel pertemuan_hari_ini
di kode program yang paling atas.
Cara Membuat Dictionary
Berikutnya adalah bagaimana cara membuat dictionary pada python.
Untuk membuatnya, terdapat 2 cara:
- Yang pertama dengan tanda kurung kurawal
{}
. - Dan yang kedua bisa menggunakan fungsi atau 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:
- dengan menggunakan kurung siku (
[]
) - atau dengan menggunakan fungsi
get()
Perhatikan contoh berikut:
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'])
Output program:
Judul: Belajar Dictionary Pada Python 3
Tanggal: 01 Februari 2021
Facebook share: 0
Twitter share: 2
Hanya saja, di antara 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.
Perhatikan contoh berikut, perintah yang pertama akan menimbulkan error\ sedangkan perintah yang kedua tidak:
share_count = pertemuan_hari_ini.get('share_count')
# ini error
print('Instagram share:', share_count['instagram'])
# sedangkan ini tidak error
print('Instagram share:', share_count.get('instagram', 0))
Coba jalankan lagi dengan menghapus perintah yang pertama.
Perulangan Untuk Dictionary
Kita juga bisa menampilkan semua isi dari sebuah 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, kita akan mendapatkan output:
judul -> Hafalan Sholat Delisa
penulis -> Tere Liye
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 di atas akan menghasilkan output yang sama.
Mengubah Nilai Item
Seperti yang telah kita singgung di atas bahwasanya item pada dictionary bersifat changeable 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'))
Jika dieksekusi, sistem akan memberikan kita output seperti ini:
Nama awal: Lendis Fabri
Setelah diubah: Andi Mukhlish
Menambahkan Item
Untuk menambahkan 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 yang baru, alias meng-edit
- Tapi jika key yang kita definisikan ternyata tidak ada, maka sistem akan menambahkannya sebagai item baru.
Contoh:
mahasiswa = {
'nama': 'Lendis Fabri',
'asal': 'Indonesia',
}
# output None
print('Hobi:', mahasiswa.get('hobi'))
# tambah data
mahasiswa['hobi'] = 'Memancing'
# print ulang
print('Hobi dari {} adalah {}'.format(
mahasiswa.get('nama'),
mahasiswa.get('hobi')
))
Kita akan mendapatkan output:
Hobi: None
Hobi dari Lendis Fabri adalah Memancing
Menghapus Item
Untuk menghapus item, terdapat dua cara:
- Menggunakan statement
del <dict[key]>
. - Atau menggunakan fungsi
dictionary.pop()
Perhatikan contoh berikut:
mahasiswa = {
'nama': 'Wahid Abdullah',
'usia': 18,
'asal': 'Indonesia'
}
del mahasiswa['nama']
mahasiswa.pop('usia')
mahasiswa.pop('asal')
Apa bedanya memakai cara pertama dan cara kedua?
Bedanya, kalau menggunakan fungsi pop()
, kita bisa mendapatkan nilai kembalian dari data yang telah dihapus.
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 dari program di atas:
isi pesan: None
isi pesan: ISI PESAN INI HANYA BISA DIBACA SEKALI SAJA!! ๐ฑ
Operator Keanggotaan
Kita bisa memanfaatkan operator keanggotaan untuk tipe data dictionary pada python.
Perhatikan contoh berikut:
siswa = {
'nama': 'Renza Ilhami'
}
print('Apakah variabel siswa memiliki key nama?')
print('nama' in siswa)
print('\nApakah variabel siswa TIDAK memiliki key usia?')
print('usia' not in siswa)
Output:
Apakah variabel siswa memiliki key nama?
True
Apakah variabel siswa TIDAK memiliki key usia?
True
Panjang atau Banyak Key Pada Dictionary
Terakhir tapi bukan yang paling akhir, kita bisa juga menghitung jumlah key yang terdapat pada sebuah dictionary dengan fungsi len()
.
Contoh:
sekolah = {
'nama': 'Sekolah Dasar Negeri Surabaya 1',
'jenjang': 'Sekolah Dasar',
'akreditasi': 'A'
}
print(
"Jumlah atribut variabel sekolah adalah:",
len(sekolah)
)
Output:
Jumlah atribut variabel sekolah adalah: 3
Kode program lengkap
Oke, sampai sini dulu pertemuan kita kali ini.
Seperti biasa, untuk kode program lengkap bisa kalian dapatkan pada repository github python-dasar.
Nah, jangan lupa kasih star ya!โญ๐
Pertemuan Selanjutnya
Terus…
Insyaallah pada pertemuan berikutnya kita akan datang dengan pembahasan tentang fungsi (def) pada python.
Jangan lupa share, dan komen jika ada yang kurang jelas!
Terima kasih banyak!