Tipe Data Dictionary #BelajarPython - SukaCode
News Update
Loading...

Selasa, 22 September 2020

Tipe Data Dictionary #BelajarPython



Dalam Python, dictionary sering juga disebut sebagai mapping. Tipe ini memiliki cara kerja yang hampir mirip dengan asosiatif (hash table) di dalam bahasa pemrograman lain, yaitu array yang indeksnya berupa nama tertentu (biasanya bertipe string, bukan bertipe bilangan). Tipe data ini mendefinisikan relasi satu ke satu antara kunci (key) dan nilai (value).

Bentuk umum pendefinisian dictionary adalah:
variabel = {kuci1:nilai1, kunci2:nilai2,...}

Contoh: 
>>> d = {'dirut':'bimo', 'manager':'hapid'}
>>> d
{'dirut': 'bimo', 'manager': 'hapid'}
>>> d['dirut']
'bimo'
>>> 

Pada contoh diatas kita mendefinisikan dictionary d dengan dua buah elemen 'dirut' dan 'manager' desebut kunci atau kunci atau indeks elemen (key), sedangkan 'bimo' dan 'hapid' desebut nilai elemen(value).

Berikut ini contoh sederhana yang menunjukan tipe data dictionary:
def main():
   # membuat dan mengisi nilai ke dalam dictionary
   d = {'satu':10, 'dua':20, 'tiga':30}

   # menampilkan nilai dictionary
   print("d['satu']:", d['satu'])
   print("d['dua']:", d['dua'])
   print("d['tiga']:", d['tiga'])
   print("d['dua'] * d['tiga']:", (d['dua'] * d['tiga']))

if __name__ == "__main__":
   main()

Hasil Program:
d['satu']: 10
d['dua']: 20
d['tiga']: 30
d['dua'] * d['tiga']: 600

d['satu'] menunjukan elemen pertama dari dictionary d, d['dua'] elemen kedua, dan d'[tiga'] elemen ketiga. Pada kode di atas string dan elemen dictionary yang di tampilkan dengan fungsi print() di pisah dengan tanda koma. Ketika tanda koma digunakan sebagai pemisah, kita tidak perlu menggunakan sepasi untuk untuk memisahkan data karena fungsi print() otomatis akan membuat spasi pada masing masing data tersebut. Selain menggunakan tanda koma, Anda dapat menulis kode di atas menggunakan operator + untuk menyambung string dengan nilai yang di hasilkan. Karena elemen elemen di dalam dictionary pada kode di atas bertipe numerik maka ketika di tampilkan dengan fungsi print() kita perlu mengkonversi terlebih dahulu ke tipe str. Konversi diperlukan karena nilai tersebut akan di gabung dengan keterangan yang bertipe string. Dengan demikian, Anda dapat menulisnya seperti berikut:
   # menampilkan nilai dictionary
   print("d['satu']:", + str (d['satu']))
   print("d['dua']:", + str (d['dua']))
   print("d['tiga']:", + str (d['tiga']))
   print("d['dua'] * d['tiga']:", + str ((d['dua'] * d['tiga'])))

Jika anda lebih menyukai format string gaya bahasa C, anda dapat mengubah kode di atas menjadi seperti berikut:

Dalam Python, kita di izinkan juga untuk membuat dictionary yang nilainya tidak berasal dari tipe data sejenis, seperti ditunjukan oleh kode berikut:
def main():
    # nilai dictionary berbeda tipe data
    d = {'nama':"Arimbi", 'uts':95.25, 'uas':92.75, 'nilai':'A'}
 
    # menampilkan nilai dictionary
    print("Nama: ", d['nama'])
    print("Nilai UTS ", d['uts'])
    print("Nilai UAS: ", d['uas'])
    print("Nilai Indeks: ", d['nilai'])
 
 if __name__ == "__main__":
    main()

Hasil program:
Nama:  Arimbi
    Nilai UTS  95.25
    Nilai UAS:  92.75
    Nilai Indeks:  A

Pada contoh kode di atas dictionary d memiliki nilai gabungan antara tipe string, bilangan rill dan karakter.

Menambah Elemen ke dalam Dictionary


Jumlah elemen yang terdapat di dalam dictionary dapat di tambah sesuai kebutuhan. Caranya adalah dengan menuliskan perintah yang berisi kunci dan nilai baru kedalam nama dictionary bersangkutan.

Contoh:
>>> d = {'satu':10, 'dua':20, 'tiga':30}
    >>> d['empat'] = 40
    >>> d
    {'satu': 10, 'dua': 20, 'tiga': 30, 'empat': 40}

Perintah d['empat'] = 40 secara otomatis akan menambah elemen baru ke dalam dictionary d, dengan kunci empat dan nilai 40.
def main():
   d = {'satu':10, 'dua':20, 'tiga':30}

   # elemen dictionary sebelum ditambah
   print("Elemen dictionary sebelum ditambah: ")
   print(d)

   # menambah elemen baru ke dalam dictionary
   d['empat'] = 40
   d['lima'] = 50

   # elemen dictionary setelah ditambah
   print("\nElemen dictionary setelah ditambah: ")
   print(d)

if __name__ == "__main__":
   main()

Hasil program:
Elemen dictionary sebelum ditambah: 
    {'satu': 10, 'dua': 20, 'tiga': 30}
    
    Elemen dictionary setelah ditambah: 
    {'satu': 10, 'dua': 20, 'tiga': 30, 'empat': 40, 'lima': 50}

Mengubah Elemen dalam Dictionary 


Nilai elemen yang sudah didefinisikan di dalam dictionary dapat diubah sesuai kebutuhan, yaitu dengan menggunakan bentuk umum berikut:
nama_dictionary[kunci] = nilai baru

Contoh:
>>> d = {'satu':10, 'dua':20, 'tiga':30}
    >>> d['satu'] = 60
    >>> d['tiga'] = 90
    >>> d
    {'satu': 60, 'dua': 20, 'tiga': 90}

Pada contoh di atas nilai dari elemen d['satu'] akan di ubah nilainya dari 10 menjadi 60 dan d ['tiga'] nilainya akan di ubah dari 30 menjadi 90.
def main():
    d = {'satu':10, 'dua':20, 'tiga':30}
 
    # elemen dictionary sebelum diubah
    print("Elemen dictionary sebelum diubah: ")
    print(d)
 
    # mengubah nilai elemen d['satu'] dan d['tiga']
    d['satu'] = 60
    d['tiga'] = 90
 
    # elemen dictionary setelah diubah
    print("\nElemen dictionary setelah diubah: ")
    print(d)
 
 if __name__ == "__main__":
    main()

Hasil program:
Elemen dictionary sebelum diubah: 
    {'satu': 10, 'dua': 20, 'tiga': 30}
    
    Elemen dictionary setelah diubah: 
    {'satu': 60, 'dua': 20, 'tiga': 90}

Ada satu hal yang sangat penting untuk di perhatikan dalam melakukan perubahan dalam dictionary, yaitu penulisan kunci. Kunci dalam dictionary bersifat case-sensitive. Ini berarti bahwa d['satu'] tidak akan sama dengan d['Satu']. Jika penulisan kunci berbeda dengan yang sudah di definisikan di dalam dictionary maka akan di anggap menambah elemen baru, bukan mengubahnya.

Contoh:
>>> d = {'satu':10, 'dua':20, 'tiga':30}
    >>> #mengubah d['satu'] mejadi 60
    >>> d['satu'] = 60
    >>> d['Satu'] = 60
    >>> d
    {'satu': 60, 'dua': 20, 'tiga': 30, 'Satu': 60}

Pada contoh di atas, kunci pada baris kedua di tulis dengan 'satu' (huruf s di tulis dalam huruf kecil) sedangkan pada baris ketiga kunci di tulis dengan 'Satu' (huruf S ditulis dalam huruf besar/kapital).
def main():
    d = {'satu':10, 'dua':20, 'tiga':30}
 
    # elemen dictionary sebelum diubah
    print("Elemen dictionary sebelum diubah: ")
    print(d)
 
    # mengubah nilai elemen d['satu']
    d['satu'] = 60
 
    # menambah elemen d['Satu']
    d['Satu'] = 130
 
    # elemen dictionary setelah diubah
    print("\nElemen dictionary setelah diubah: ")
    print(d)
 
 if __name__ == "__main__":
    main()

Hasil Program:
Elemen dictionary sebelum diubah: 
    {'satu': 10, 'dua': 20, 'tiga': 30}
    
    Elemen dictionary setelah diubah: 
    {'satu': 60, 'dua': 20, 'tiga': 30, 'Satu': 130}

Seperti yang anda lihat di atas sekarang dictionary d memiliki empat elemen. Ini disebabkan karena kunci 'Satu' belum terdapat di dalam dictionary d. Jadi jika ingin mengubah elemen di dictionary perhatikan baik baik penulisan kuncinya.

Menghapus Elemen dari Dictionary 


Selain ditambah dan diubah, Python juga mengizinkan kita untuk menghapus elemen dari suatu dictionary. Caranya adalah dengan perintah del seperti berikut:
del nama_dictionary[kunci]

Contoh:
def main():
    d = {'satu':10, 'dua':20, 'tiga':30}
    
    # elemen dictionary sebelum dihapus
    print("Elemen dictionary sebelum dihapus: ")
    print(d)
 
    # menghapus nilai elemen d['satu'] dan d['tiga']
    del d['satu']
    del d['tiga']
 
    # elemen dictionary setelah dihapus
    print("\nElemen dictionary setelah dihapus: ")
    print(d)
 
 if __name__ == "__main__":
    main()

Hasil Program
Elemen dictionary sebelum dihapus: 
    {'satu': 10, 'dua': 20, 'tiga': 30}
    
    Elemen dictionary setelah dihapus: 
    {'dua': 20}

Setelah di hapus elemen dictionary menjadi satu

Sama halnya seperti pada saat Anda mengubah elemen dictionary pada saat menghapus anda juga perlu memperhatikan penulisan kunci elemenya. Penulisan yang salah akan mengakibatkan kesalah fatal pada saat kode di eksekusi.

Share with your friends

Give us your opinion

Notification
This is just an example, you can fill it later with your own note.
Done