Tipe data "array" Python terakhir yang akan kita bahas adalah tipe data Dictionary. Tipe data dictionary ini juga memiliki perbedaan mendasar dengan tipe data lain di dalam bahasa Python.
Pengertian Tipe Data Dictionary Python
Tipe data dictionary adalah tipe data array dimana key atau index dari array bisa berbentuk string, tidak hanya number saja. Dalam bahasa pemrograman lain (seperti PHP) dictionary ini dikenal juga dengan sebutan associative array.
Berikut format dasar penulisan dictionary dalam bahasa Python:
nama_variabel = { "key1": "value1", "key2": "value2", "key3": "value3" }
Tipe data dictionary ini cocok dipakai untuk kelompok data yang kompleks (terdiri dari banyak element).
Cara Pembuatan Tipe Data Dictionary Python
Dalam pembuatan dictionary, kita menggunakan tanda kurung kurawal { dan } . Selain itu setiap element merupakan pasangan dari key dan value. Antar satu element dengan element lain dipisah dengan tanda koma seperti contoh berikut:
foo = { 1: "Belajar", 2: "Python", 3: "di Duniailkom" } bar = { "mengapa": "Belajar", "apa": "Python", "dimana": "di Duniailkom" } baz = { 1: "Belajar", "apa": "Python", "dimana": "di Duniailkom" } print(type(foo)) print(type(bar)) print(type(baz)) print(foo) print(bar) print(baz)
Hasil kode program:
<class 'dict'> <class 'dict'> <class 'dict'> {1: 'Belajar', 2: 'Python', 3: 'di Duniailkom'} {'mengapa': 'Belajar', 'apa': 'Python', 'dimana': 'di Duniailkom'} {1: 'Belajar', 'apa': 'Python', 'dimana': 'di Duniailkom'}
Di sini saya membuat 3 buah variabel: foo, bar dan baz yang masing-masingnya diisi dengan tipe data dictionary. Untuk variabel foo saya isi dengan dictionary dimana semua key-nya berupa angka (1, 2 dan 3). Jika ditulis seperti ini, foo mirip seperti tipe data list.
Untuk variabel bar saya isi dengan semua key berbentuk string ("mengapa", "apa", dan "dimana"). Terakhir untuk variabel baz mengkombinasikan penulisan key antara number dan string (1, "apa", dan "dimana").
Perintah di baris 5 – 7 membuktikan bahwa ketiga variabel bertipe dict (singkatan dari dictionary). Untuk menampilkan seluruh isi dictionary, kita bisa memakai perintah print seperti di baris 9 – 11.
Nilai atau value dari setiap element dictionary bisa terdiri dari berbagai tipe data:
foo = { 1: "Belajar", 2: ["Pascal", "C", "Python"], "website": "Duniailkom", "menyerah" : False, "target": 2020, "riwayat_sekolah": { "SD": "SDN 3 Hijau Daun", "SMP": "SMP 7 Hijau Lumut", "SMA": "SMA 8 Hijau Rumput"} } print(foo)
Hasil kode program:
{ 1: 'Belajar', 2: ['Pascal', 'C', 'Python'], 'website': 'Duniailkom', 'menyerah': False, 'target': 2020, 'riwayat_sekolah': {'SD': 'SDN 3 Hijau Daun', 'SMP': 'SMP 7 Hijau Lumut', 'SMA': 'SMA 8 Hijau Rumput'} }
Sekarang variabel foo saya isi dengan 6 element dictionary dengan tipe data yang berbeda-beda, mulai dari string, boolean, number, list, hingga dictionary lain.
Cara Mengakses Element Dictionary Python
Untuk menampilkan satu element yang ada di dalam dictionary, tulis key atau index yang ingin diakses dalam kurung siku:
foo = { "kegiatan": "Belajar Python", "website": "Duniailkom", "hasil": "Yakin bisa!" } print(foo["website"])
Hasil kode program:
Duniailkom
Cara Mengubah Element Dictionary Python
Setelah di deklarasikan, kita bisa mengubah nilai dari sebuah element dictionary. Caranya mirip seperti tipe data list, yakni mengisi nilai ke dalam key atau index dictionary:
foo = { "kegiatan": "Belajar Python", "website": "Duniailkom", "hasil": "Yakin bisa!" } foo["kegiatan"] = "Belajar Bahasa Pemrograman" print(foo)
Hasil kode program:
{'kegiatan': 'Belajar Bahasa Pemrograman', 'website': 'Duniailkom', 'hasil': 'Yakin bisa!'}
Cara Menambah Element Dictionary Python
Untuk menambah element baru ke dalam dictionary, bisa dilakukan dengan cara mengisi nilai ke sebuah key baru:
foo = { "kegiatan": "Belajar Python", "website": "Duniailkom", "hasil": "Yakin bisa!" } foo["target"] = 2020 print(foo)
Hasil kode program:
{'kegiatan': 'Belajar Python', 'website': 'Duniailkom', 'hasil': 'Yakin bisa!', 'target': 2020}
Cara Menghapus Element Dictionary Python
Untuk menghapus element dari sebuah dictionary, bsia menggunakan perintah del. Berikut contohnya:
foo = { "kegiatan": "Belajar Python", "website": "Duniailkom", "hasil": "Yakin bisa!" } del foo["kegiatan"] print(foo)
Hasil kode program:
{'website': 'Duniailkom', 'hasil': 'Yakin bisa!'}
Pembuatan Dictionary dengan constructor dict()
Selain menggunakan tanda kurung kurawal, proses pembuatan dictionary di dalam bahasa Python juga bisa dilakukan menggunakan "constructor" dict():
foo = dict ( kegiatan = "Belajar Python", website = "Duniailkom", hasil = "Yakin bisa!" ) print(foo)
Hasil kode program:
{'kegiatan': 'Belajar Python', 'website': 'Duniailkom', 'hasil': 'Yakin bisa!'}
Dengan menggunakan perintah dict(), kita tidak lagi memakai tanda kurung kurawal, tapi cukup tanda kurung biasa. Selain itu key element juga tidak perlu menggunakan tanda kutip, dan tanda sama dengan '='Â dipakai untuk menginput nilai ke dalam element dictionary.
Ini hanya alternatif penulisan, anda bebas ingin menggunakan cara biasa dengan tanda kurung kurawal, atau menggunakan constructor dict() untuk membuat tipe data dictionary.
Dalam tutorial kali ini kita telah membahas tipe data dictionary dalam bahasa pemrograman Python. Tutorial ini juga menutup pembahasan kita tentang tipe data Python. Berikutnya akan dibahas tentang Operator dalam bahasa pemrograman Python.
Excellent Pak..background saya bukan IT,Developer,backend,frontend,etc..tapi setelah saya dapat artikel ini, 15 tutorial Phyton saya baca and praktek langsung !!! Thank God bisa mengikuti and saya terus akan ikuti sampai bisa jadi expertnya…!!!
Appreciate it Pak !!
Hehe, lanjut mas… 15 artikel python ini memang baru perkenalan awal saja. Mudah2an nanti akan saya lanjutkan dengan part berikutnya.
lanjutkan bang untuk tingkatan seterusnya…. enakan di ajarin abang daripada sama dosen di kampus
Siap, kalau udah ada waktu senggang tutorial python-nya akan di lanjutkan…
plis, artikelnya ditambah lagi om
Siap, mudah2an kalau ada waktu luang tutorial Python nya akan dilengkapi lagi..
Lanjutin dong gan tutorial python nya, cuma di web duniailkom saya bisa mengerti bahasa pemrograman sampe detail banget kaya gini.
Kebetulan akhir2 ini ada beberapa kesibukan. Mudah2an dalam waktu dekat bisa dilanjutkan lagi tutorial Python-nya…
Penjelasannya ringkas tapi jelas. sippp thanks pak. semoga bisa berkarya terus. ditunggu tutorial2 Python selanjutnya pak.
Siip, mudah2an dalam waktu dekat tutorial Python-nya bisa dilanjutkan lagi
Tolong lanjutin lagi dong tutorial pythonnya mas, saya suka dengan penyampaian materinya yang komunikatif. Oiya kalo bisa buat juga dong 'eBook python uncover' hehehe biar makin mantap
Dalam waktu dekat materi tutorial python akan dilanjutkan lagi. Untuk eBook Python, requestnya di tampung… mudah2an bisa menyusul.
Selamat siang mas, kalau struktur type data dictionary seperti ini dibenarkan atau tidak?
dic = {1 : "Hallo",
"Nest" : {1 : "Ini index 1", "Nest" : "Ini index Nest didalam element Nest"}}
print (dic["Nest"]["Nest"])
A few question
1. Apakah element dic["Nest"] dibenarkan secara penamaan, walaupun didalam element dic["Nest"] tsb mengandung tipe data dictionary bercabang yang memiliki element yang sama yaitu "Nest" ?
2. Sampe berapa maksimalnya percabangan dict didalam dict ini mas?
Terima kasih :)
1. Jika tidak error dan hasilnya sesuai dengan yang diharapkan, maka tidak ada masalah. Penamaan dan struktur variabel lebih ke kebutuhan kita saja, kadang memang terlihat rumit tapi kalau itu memang diperlukan, silahkan lanjut.
2. Biasanya tidak ada batasan jumlah element di dalam sebuah array (kalau di Python termasuk dictionary, list, tuple, dst). Batasan maksimum lebih ke ukuran fisik memory komputer yang dipakai.
Penggunaan key berupa integer pada constructor dict() kok error ya mas?
foo = { 1: "Belajar",
2: ["Pascal", "C", "Python"],
"website": "Duniailkom",
"menyerah" : False,
"target": 2020,
"riwayat_sekolah": {
"SD": "SDN 3 Hijau Daun",
"SMP": "SMP 7 Hijau Lumut",
"SMA": "SMA 8 Hijau Rumput"}
}
mau tanya,
kalau mau mengambil pasccal (didalam foo bagian ke2 dan didalam list) cara nya bagaimana ya? apakah bisa?
dan kalau diantara pascal c dan python ingin menggunakan logika (true or false) caranya bagaimana ya?
1. Untuk mengakses string "Pascal", bisa dari print(foo[2][0]).
2. Saya kurang paham maksudnya… Dalam dictionary foo, "Pascal", "C" dan "Python" adalah string. Jika maksudnya ingin memakai salah satu nilai ini untuk operasi logika, bisa seperti ini:
if foo[2][0] == "Pascal":
print("Yay!")