Cara menggunakan struktur data dictionary python

Penulis : Rismita Wahyu — Materi Pekan 1 Hari Ke-2 (sanberCode)

Cara menggunakan struktur data dictionary python

Pada materi pembelajaran kali ini, kita akan mempelajari struktur data untuk built in type yang digunakan ketika satu variabel bisa terdapat lebih dari satu nilai. Sekarang kita akan mempelajari struktur data List, Tuple, Set, dan Dictionary.

Cara menggunakan struktur data dictionary python

1. List

List adalah salah satu struktur data dalam bahasa pemrograman python yang mampu menyimpan kumpulan data (objek/nilai), yang disebut elemen list. Elemen pada list tersimpan menurut urutan (sequence) tertentu.

Cara menggunakan struktur data dictionary python

  • Bagaimana Cara Membuat List?

Dalam membuat List dengan menggunakan tanda kurung siku yang berisi setiap elemen dalam list dan dipisahkan dengan tanda koma seperti [.. , .. , .. ]

Contoh membuat list yang berisikan suhu tubuh anggota keluarga yang tersimpan pada masing-masing variabel, lalu digabungkan semua variabel di dalam list sebagai berikut:

# inisialisasi suhu anggota keluarga
suhu1 = 21
suhu2 = 20
suhu3 = 22

# simpan dalam list
suhu_keluarga = [suhu1, suhu2, suhu3]
  • Apa Sifat dari List?
  1. Fleksibilitas Tipe Data Elemen List

Fleksibilitas python dimana isi sebuah list tidak harus memiliki tipe data yang sama. List dapat diisi dengan tipe data apa saja, string, integer, float, boolean, object, dan sebagainya.

Contoh :

# membuat list Tipe Data Sama
buah = ["jeruk", "apel", "mangga", "duren"]
bilangan_prima = [2,3,5,7,11,13,17,19]
# membuat list Tipe Data Berbeda
suhu_keluarga_ucup = ['ayah ucup', 19, 'ucup', 19, 'ibu ucup', 20]
suhu_keluarga_boy = ['boy', 20, 'anak boy', 18, 'istri boy', 21]
# membuat list dalam list dan dicampur dengan data boolean
suhu_keluarga = [suhu_keluarga_ucup, suhu_keluarga_boy, True]

2. List Bersifat Mutable (Manipulasi)

Isi sebuah list dapat dimanipulasi sehingga dapat berubah (mutable) yang artinya elemen list dapat diganti nilai elemen dengan cara ditambah maupun dikurangi.

  • Mengakses Elemen dari List

Untuk mengakses elemen (nilai) dalam list menggunakan index. Index menunjukan posisi suatu elemen di dalam list yang dimulai dari 0. List memiliki nomer indeks untuk mengakses elemen isinya. Namun jika kita mengakses index minus (contoh index elemen ke-2), artinya kita mengakses elemen ke-2 dari kanan/belakang.

Cara menggunakan struktur data dictionary python

# Membuat data listtinggi_badan = 
[162, # index 0
177, # index 1
182, # index 2
150, # index 3
166, # index 4]

Misal kita ingin mengambil tinggi badan pertama yaitu 162, maka memanggilnya dengan index 0, maka cara mengakses elemen pada list sebagai berikut:

Cara menggunakan struktur data dictionary python

  • Slicing (Memotong) Elemen dari List

Cara menggunakan struktur data dictionary python

Contoh latihan :

# Kita punya list warna
warna = ["merah", "hijau", "kuning", "biru", "pink", "ungu"]

# Kita potong dari indeks ke-1 sampai ke-5
print(warna[1:5])

Maka hasil slicing index sebagai berikut:

Cara menggunakan struktur data dictionary python

Perlu diperhatikan bahwa slicing dalam python, urutan terakhir tidak dibaca oleh bahasa python itu sendiri. Maka penulisan [1:5] memberikan perintah slicing mulai index 1 sampai index 5 sebagai batas akhir (di mana index 5 ini tidak termasuk ke dalamnya). Sehingga yang dieksekusi adalah index ke 1 sampai 4.

Jika ingin mengambil data dengan index terakhir tidak ikut dapat menggunakan perintah berikut:

Cara menggunakan struktur data dictionary python

#data listtinggi_badan = 
[162, # index 0
177, # index 1
182, # index 2
150, # index 3
166, # index 4]
print(tinggi_badan[:4])

Hasil output sebagai berikut:

Cara menggunakan struktur data dictionary python

Jika ingin hanya mengambil data dengan index tengah-tengah (contoh index 2 sampai index 4) bisa menggunakan perintah berikut:

#data listtinggi_badan = 
[162, # index 0
177, # index 1
182, # index 2
150, # index 3
166, # index 4]
# Mengambil data dengan index 2, 3, 4
print(tinggi_badan[2:5])

Hasil output sebagai berikut:

Cara menggunakan struktur data dictionary python

Salah satu cara untuk mengubah daftar adalah dengan menetapkan indeks atau ekspresi irisan. Misalnya, jika kita ingin mengubah suhu ucup:

#data
suhu_keluarga_ucup = ['ayah ucup', 19, 'ucup', 19, 'ibu ucup', 20]
# mengubah suhu
suhu_keluarga_ucup[3] = [22]
print(suhu_keluarga_ucup)
#kita ingin mengganti nama 'ibu ucup' dengan 'mamah ucup', dan mengubah suhu ibu ucup menjadi 22 suhu_keluarga_ucup[-2:] = ['mamah ucup', 22]
print(suhu_keluarga_ucup)
#kita juga bisa menambahkan elemen baru menggunakan ‘+’ operator. Jika kita ingin menambahkan adik ucup beserta suhunya sebagai berikut:suhu_keluarga_ucup = suhu_keluarga_ucup + ['adik ucup', 20]
print(suhu_keluarga_ucup)

Maka hasil outputnya sebagai berikut:

Cara menggunakan struktur data dictionary python

Cara menggunakan struktur data dictionary python

Cara menggunakan struktur data dictionary python

  • Jumlah Elemen pada List

Untuk mendapatkan jumlah elemen pada sebuah list dapat menggunakan fungsi len().

tinggi_badan = 
[162, # index 0
177, # index 1
182, # index 2
150, # index 3
166, # index 4]
len(tinggi_badan)

Cara menggunakan struktur data dictionary python

  • Menambahkan Elemen List

Dalam menambahkan elemen dalam list, kita bisa menggunakan metode .append() ataupun .insert() seperti contoh berikut:

  1. prepend(item) menambahkan item dari depan dan append(item) menambahkan item dari belakang

list.append(x) Tambahkan item ke akhir daftar list. Setara dengan a[len(a):] = [x].

murid = ['Ayu', 'Bagus', 'Fajar', 'Cahyo', 'Ani']murid.append('Rizky')
murid
.prepend('Rizky')
#result1:
['Ayu', 'Bagus', 'Fajar', 'Cahyo', 'Ani', 'Rizky']
#result2:
['Rizky', 'Ayu', 'Bagus', 'Fajar', 'Cahyo', 'Ani']

2. insert() untuk menambahkan item pada indeks tertentu.

list.insert(i,x)

Memasukkan item pada posisi tertentu. Argumen pertama adalah indeks elemen sebelum memasukkan, jadi a.insert(0, x) memasukkan di bagian depan daftar list, dan a.insert(len(a), x) sama dengan a.append(x).

murid = ['Ayu', 'Bagus', 'Fajar', 'Cahyo', 'Ani']

murid.insert(2, 'Ahmad')

#result:
['Ayu', 'Bagus', 'Ahmad', 'Fajar', 'Cahyo', 'Ani', 'Rizky']

  • Menghapus Elemen List

Untuk mengurangi elemen sebuah list, kita dapat menggunakan remove(), del, dan pop().

list.remove(x)

Hapus item pertama dari daftar list yang nilainya sama dengan x. Ini memunculkan ValueError jika tidak ada item seperti itu. Method remove() dengan paramter item yang akan dihapus.

list.pop([i])

Hapus item pada posisi yang diberikan dalam daftar, dan kembalikan. Jika tidak ada indeks yang ditentukan, a.pop() menghapus dan mengembalikan item terakhir dalam daftar.

# murid = ['Ayu', 'Bagus', 'Fajar', 'Cahyo', 'Ani']
del murid[2] #artinya menghapus index ke-2 (Fajar)
#result:
['Ayu', 'Bagus', 'Cahyo', 'Ani']
# murid = ['Ayu', 'Bagus', 'Fajar', 'Cahyo', 'Ani']
murid.pop(2)
#result:
['Ayu', 'Bagus', 'Cahyo', 'Ani']

# murid = ['Ayu', 'Bagus', 'Fajar', 'Cahyo', 'Ani']
murid.remove('Cahyo')
#result:
['Ayu', 'Bagus', 'Fajar', 'Ani']

  • Sort dan Reverse

‘sorted’ mengurutkan elemen list:

list.sort(*, key=None, reverse=False). Urutkan item daftar di tempat (argumen dapat digunakan untuk mengurutkan ubahsuaian customization, lihat sorted() untuk penjelasannya).Elemen pada list dapat diurutkan dengan menggunakan fungsi sort(). Perintah sort akan mengurutkan dari nilai terkecil ke nilai terbesar.

list.reverse() Balikkan elemen daftar list di tempatnyafungsi reverse(), membalikkan urutan elemen pada list.

fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi']fruits.reverse()#membalikan posisi dari belakang ke depan
['kiwi', 'banana', 'pear', 'apple', 'orange']
fruits.sort() #urutan alphabet
['apple', 'banana', 'kiwi', 'orange', 'pear']

‘sum’, tentu fungsi ini untuk menjumlahkan:

primes = [2, 3, 5, 7]
print(sum(primes))
>>>17

list.copy()

Kembalikan salinan daftar list yang dangkal. Setara dengan a[:]. ‘.copy()’, metode ini digunakan untuk men-copy suatu list ke dalam suatu list baru yang memiliki nilai yang sama. Dengan metode ini kita bisa melakukan manipulasi terhadap list baru tanpa mengubah nilai list aslinya.

a = [1,2,3,4,5]
b = a.copy()
print(a)
print(b)
#lakukan manipulasi terhadap list b
b.append(6)
print(a)
print(b)

#result1:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]

#result2:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]

  • List Comprehension

List comperehension merupakan cara elegan untuk membuat list berdasarkan list yang ada. List comperehension membantu men-generate list menggunakan ekspresi tertentu. Fasilitas ini sangat bermanfaat saat kita ingin membuat list dengan n elemen yang langsung terisi berdasarkan pola tertentu.

number = [1,5,10,6,7,8,12]
result = [i for i in number if i>7]
result:
[10, 8, 12]
m = [x for x in range(10,101,10) ] # membuat list m berisi bilangan kelipatan 10 < 100
print(m)
output:
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
n = [j*j for j in range(10)] # membuat list n berisi bilangan kuadrat 0–9
print(n)
output:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

2. Tuple

Tuple juga merupakan struktur data yang digunakan untuk menyimpan satu atau lebih data di dalamnya. Perbedaanya terletak pada kemampuan untuk melakukan perubahan anggota. Anggota pada tuple tidak dapat diubah sebagian, akan tetapi dapat diubah keseluruhan dengan memanfaatkan melakukan inisiasi variabel dengan nilai yang baru. Inisiasi variabel tuple dilakukan dengan menggunakan tanda kurung ‘()’.

tuple_01 = (1,2,3,4)
  • Mengakses Elemen Tuple

Untuk mengakses elemen tuple dapat menggunakan index positif dan negatif, sebagai contoh:

tuple_01 = (1,2,3,4)#mengakses index positif (dari depan)
print(tuple_01[1])
output :
2
#mengakses index negatif (dari belakang)
print(tuple_01[-1])
output:
4
  • Tidak Dapat Mengubah dan Menambah Elemen Tuple

Tidak seperti list dimana tidak dapat mengubah atau menambah tuple. Pembuktian sebagai berikut:

tuple_01[1] = 2TypeError: 'tuple' object does not support item assignment

Hal yang sama terjadi jika kita menggunakan metode append() untuk menambahkan anggota.

tuple_01.append(2)AttributeError: 'tuple' object has no attribute 'append'
  • Memotong dan Menduplikasi Tuple

Kita dapat slice tuple seperti list dan juga melakukan duplikasi

tuple_01 = (1,2,3,4)tuple_03 = tuple_01[0:2] #memotong
tuple_04 = tuple_01[:] #menduplikat
print(tuple_03)
(1, 2)
print(tuple_04)
(1, 2, 3, 4)
  • Menginisiasi Multi-Variabel Menggunakan Tuple

Walau kita tidak dapat melakukan perubahan pada tuple, tapi kita bisa menginisiasikan anggota tuple ke dalam variabel-variabel. Hanya saja variabel yang diinisiasikan harus berjumlah sama dengan anggota tuple tersebut.

tuple_01 = (1,2,3,4)#sekarang akan kita masukkan kedalam 4 variabel dikarenakan tuple tersebut memiliki 4 anggota
a, b, c, d = tuple_01
print(a, b, c, d)
print(type(a), type(b), type(c), type(d))
output:
1 2 3 4
<class 'int'> <class 'int'> <class 'int'> <class 'int'>

Kelebihan Menggunakan Tuple?

Apa yang membedakan Tuple dengan List? Ada tiga poin utama antara lain:

  1. Karena strukturnya lebih sederhana, struktur data tuple memakan memori lebih sedikit dibandingkan dengan list. Untuk data yang berukuran besar ini akan sangat menguntungkan.
  2. Memori yang lebih sedikit juga mempengaruhi waktu proses dari tuple. Tuple memiliki waktu proses yang relatif lebih singkat daripada list.
  3. Anggota yang tidak dapat diubah membuat tuple menjadi pilihan saat kita ingin menggunakannya untuk menyimpan suatu parameter yang tidak boleh berubah nilainya.

3. Set

Set dalam bahasa Indonesia adalah “himpunan”, merupakan struktur data yang dapat memiliki satu atau lebih anggota didalamnya.

  • Perbedan Set dengan List/Tuple

Terdapat 2 perbedaan utama antara set dengan list atau tuple yaitu:

  1. Set tidak memiliki koordinat/index tiap anggotanya, jadi untuk set posisi anggota dianggap tidak penting.
  2. Set tidak dapat memiliki lebih dari satu anggota dengan nilai yang sama
  • Membuat/Inisiasi Set

Untuk menginisiasi suatu variabel set ada dua cara yang dapat digunakan. Pertama dengan menggunakan tanda kurung kurawal “{}” atau dengan menggunakan metode set(). Metode set() biasanya digunakan untuk inisiasi set kosong atau untuk mengubah list/tuple menjadi set.

#Inisiasi Set
set_01 = {4,5,6,2}
print(set_01)
{2, 4, 5, 6} #output default telah berurutan
#inisiasi mengubah list menjadi set
set_02 = set()
set_03 = set([2,1,4,3])
print(type(set_02))
<class 'set'>
print(set_03)
{1, 2, 3, 4}
  • Mengakses Anggota Set

Set merupakan struktur data yang tidak memiliki urutan atau index. Sehingga tidak dapat mengakses anggota dengan menggunakan index seperti pada list atau tuple.

set_01 = {4,5,6,2}
print(set_03[1])
TypeError: 'set' object does not support indexing
  • Menghapus Anggota Set

Karena tidak dapat memiliki index, maka untuk menghapus anggota set menggunakan dua metode yaitu discard() dan remove()

set_01 = {4,5,6,2}#menggunakan discard()
set_01.discard(4) #Menghapus nilai 4 pada set
print(set_01)
{2, 5, 6}
#menggunakan remove()
set_01.remove(2)#Menghapus nilai 2 pada set dari hasil discard
print(set_01)
{5, 6}
  • Menambah Anggota Set

Menambah anggota set dapat dilakukan dengan menggunakan metode add() yang digunakan untuk menambahkan hanya satu anggota pada set.

set_04 = {2,3,4,5,6}
set_04.add(1)
print(set_04)
{1, 2, 3, 4, 5, 6}

Untuk menambahkan lebih dari satu anggota pada set dapat menggunakan metode update(). Dengan metode update ini juga bisa memasukan list atau tuple sebagai bahan kita.

#Menambahkan/memasukan list
set_04 = {1, 2, 3, 4, 5, 6}
set_04.update([4,7,8])
print(set_04)
{1, 2, 3, 4, 5, 6, 7, 8}#nilai 4 tidak bisa double maka hanya sekali
  • Mengubah Anggota Set

Dikarenakan set adalah struktur data yang tidak memiliki index sehingga tidak dapat mengubah secara langsung, namun dengan cara menghapus lalu menambahkan anggota yang diinginkan. Contoh mengganti nilai 4 menjadi 10 sebagai berikut:

set_04= {1, 2, 3, 4, 5, 6, 7, 8}
set_04.discard(4)#hapus nilai 4
print(set_01)
{1, 2, 3, 5, 6, 7, 8}

Lalu menambahkan 10 sebagai anggota set_04

set_04.add(10) #menambahkan nilai 10print(set_04)
{1, 2, 3, 5, 6, 7, 8, 10}
  • Operasi pada Set

Sset adalah himpunan, artinya semua operasi yang bisa kita lakukan pada sebuah himpunan dapat kita lakukan pada set python.

Ada empat operasi yang dapat dilakukan pada set:

  1. Union
  2. Intersection
  3. Difference
  4. Symmetric Difference

Pembahasan satu persatu operasi sebagai berikut:

1. Union

Union adalah saat kita menggabungkan semua anggota set. Mempersiapkan dua set yaitu Set A dan Set B sebagai berikut:

Set_A = {1,2,3,4}
set_B = {3,4,5,6}

Cara menggunakan struktur data dictionary python

Union dapat dilakukan dengan menggunakan tanda “|” atau metode union()

print(set_A|set_B)
print(set_A.union(set_B))
output:
{1, 2, 3, 4, 5, 6}

2. Intersection

Intersection adalah irisan, dimana kita mencari nilai irisan dari dua buah set.

Cara menggunakan struktur data dictionary python

Intersection dapat dilakukan dengan menggunakan tanda “&” atau menggunakan metode intersection()

print(set_A & set_B)
print(set_A.intersection(set_B))
output:
{3, 4}

3. Difference

Difference adalah operasi saat kita mencari perbedaan anggota dari dua buah set atau lebih.

Cara menggunakan struktur data dictionary python

Difference dapat dilakukan dengan menggunakan tanda “-” atau menggunakan metode difference().

  • A — B
print(set_A - set_B)
print(set_A.difference(set_B))
output:
{1, 2}
  • B — A
print(set_B - set_A)
print(set_B.difference(set_A))
output:
{5, 6}

4. Symmetric Difference

Symmetric Difference adalah semua anggota pada set A dan B dikurangi dengan anggota yang berada pada dua set tersebut.

Cara menggunakan struktur data dictionary python

symmetric difference dapat dilakukan dengan menggunakan tanda “^” atau menggunakan metode symmetric_difference().

print(set_A ^ set_B)
print(set_A.symmetric_difference(set_B))
output:
{1, 2, 5, 6}

Apa yang dimaksud dengan dictionary dalam struktur data?

Pengertian Dictionary 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.

Apa itu tipe data dictionary pada python?

Dictionary merupakan tipe data pada Python yang berfungsi untuk menyimpan kumpulan data atau nilai, yang setiap urutanya berisi key dan value. Jika biasanya kita ingin mengakses nilai pada list menggunakan indeks, di dictionary ini kita perlu kata kunci (key) untuk mengakses nilainya.

Struktur data Python apa saja?

Sekarang kita akan mempelajari struktur data List, Tuple, Set, dan Dictionary..
1. List. List adalah salah satu struktur data dalam bahasa pemrograman python yang mampu menyimpan kumpulan data (objek/nilai), yang disebut elemen list. Elemen pada list tersimpan menurut urutan (sequence) tertentu. ... .
2. Tuple. ... .
3. Set..

Struktur data yang bentuknya seperti kamus ada kata kunci kemudian ada nilainya kata kunci harus unik sedangkan nilai boleh diisi denga apa saja adalah tipe data?

Dictionary adalah stuktur data yang bentuknya seperti kamus. Ada kata kunci kemudian ada nilaninya. Kata kunci harus unik, sedangkan nilai boleh diisi denga apa saja. Pada contoh di atas kita membuat sebuah Dictionary bernama aku dengan isi data nama dan URL.