0% menganggap dokumen ini bermanfaat (0 suara)
65 tayangan16 halaman

Bab VI. Data Type Collections

Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
65 tayangan16 halaman

Bab VI. Data Type Collections

Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 16

BAB VI

Data Type Collections

Collections adalah kumpulan dari beberapa nilai baik itu angka, string, boolean,
bahkan variable dalam satu grup. Collection terbagi menjadi empat yaitu List, Dictionary,
Tuples, dan Set.

A. List
List digunakan untuk menyimpan beberapa item dalam satu variabel. List
adalah salah satu dari 4 tipe data bawaan dalam Python yang digunakan untuk
menyimpan kumpulan data.
1. Membuat List
Untuk membuat variabel berdata type list sangat mudah, list pada
Python dapat dibuat hanya dengan menempatkan urutan di dalam tanda
kurung siku ( [ ] ) dan memberi koma (,) di antara data-data nya. Berbeda
dengan Set, list tidak memerlukan fungsi bawaan (built-in) untuk membuat
list.
Contoh:

listExample = [1, 2, 3]
print(listExample)

Output:

[1, 2, 3]

Contoh blank list:

blankList = []
print(blankList)
Output:

[]
Contoh list dengan duplicate values:

duplicateList = [1, 2, 2, 3, 1, 2, 4]
print(duplicateList)
Output:

[1, 2, 2, 3, 1, 2, 4]

Contoh list dengan mixed values (number dan String):

mixedList = [1, 'Sistem', 'Informasi', 2023]


print(mixedList)
Output:

[1, 'Sistem', 'Informasi', 2023]

Contoh membuat list menggunakan range():

rangeList = list(range(1, 5))


print(rangeList)
Output:

[1, 2, 3, 4]
List memiliki size yang berupa jumlah data yang ada di dalam list kita bisa
mendapatkan nilai size pada list menggunakan built-in function len().

2. Mengakses Data List


Nilai dalam list dapat diakses dengan memanggil indeks list, indeks
pada list dimulai dari 0 (nol) untuk elemen pertama dan Size List - 1 untuk
nilai paling akhir.
Contoh:
● Mengambil elemen pertama

print(listExample[0])
Output:

1
● Mengambil elemen terakhir
print(listExample[len(listExample) - 1])

Output:

3
● Mengambil elemen mulai dari index terakhir

print(listExample[-1])

Output:

Nilai dalam list dapat diubah dengan cara menginisialisasi nilai list
pada indeks yang ingin diubah
Contoh:

listExample[1] = 10
print(listExample)
Output:

[1, 10, 3]

3. Slicing pada List


Kita bisa mendapatkan substring dan sublist menggunakan sebuah
slice. Dalam List pada Python, ada beberapa cara untuk mencetak seluruh list
dengan semua elemennya, tetapi untuk mencetak rentang elemen tertentu dari
list, dapat menggunakan operasi Slice. Operasi Slice dilakukan pada List
dengan menggunakan titik dua (:).
● Mengambil elemen dimulai dari awal hingga indeks tertentu

[:index]
● Mengambil elemen dimulai dari awal hingga indeks tertentu dari akhir

[:-index]
● Mengambil elemen dimulai dari indeks tertentu hingga akhir

[index:]
● Mengambil seluruh elemen dengan urutan terbalik

[::-1]
Agar lebih mudah memahami, operasi slice menggunakan format syntax
sebagai berikut

[index_awal:index_akhir]
Artinya kita akan mengambil elemen pada sebuah list dari index_awal hingga
index_akhir.

4. List Multi-Dimensi
List multi-dimensi adalah list yang memuat list di dalamnya hal ini
digunakan sebagai representasi matriks di dunia matematika.
Contoh:

multiDimensionalList = [[1, 2],[2, 3]]

Dari contoh diatas bisa kita melihat bahwa variabel multiDimensionalList


adalah matriks 2 ✕ 2, dan kita bisa melihatnya seperti berikut.

Untuk mengambil data pada matriks 1,1 kita bisa menggunakan:

print(multiDimensionalList[0][1])

Output:

5. Built-In Function pada List


List memiliki banyak built-in function beberapa yang penting
diantaranya;
● Append
Elemen dapat dimasukkan ke dalam sebuah List melalui penggunaan
built-in function append(). Penggunaan metode append() memungkinkan
penambahan satu elemen per operasi, sedangkan jika ingin menambahkan
beberapa elemen, kita dapat menggunakan loop bersama metode
append(). Tambahannya, Tuple juga bisa dimasukkan ke dalam list
menggunakan metode append dikarenakan sifat tidak dapat diubahnya.
Namun, perlu diperhatikan bahwa berbeda dengan Set, List bisa pula
dimasukkan ke dalam list yang sudah ada melalui penggunaan metode
append().

print("Before:", listExample)
listExample.append(4)
print("After:", listExample)
Output:

Before: [1, 10, 3]


After: [1, 10, 3, 4]
● Insert
Fungsi dari metode append() terbatas pada penambahan elemen di ujung
List. Jika kita ingin menambahkan elemen pada lokasi yang spesifik,
metode insert() dapat digunakan. Perbedaannya dengan append() adalah,
metode insert() memerlukan dua argumen: posisi di mana elemen akan
dimasukkan, dan nilai elemen itu sendiri (insert(position, value)).

print("Before:", listExample)
listExample.insert(1, 2)
print("After:", listExample)
Output:

Before: [1, 10, 3, 4]


After: [1, 2, 10, 3, 4]
● Extend
Di samping append() dan insert(), terdapat sebuah metode tambahan yang
bisa digunakan untuk menambahkan elemen, yaitu extend(). Metode ini
berguna saat ingin menambahkan beberapa elemen sekaligus pada bagian
akhir dari list.

print("Before:", listExample)
listExample.extend([5, 6, 7])
print("After:", listExample)
Output:

Before: [1, 2, 10, 3, 4]


After: [1, 2, 10, 3, 4, 5, 6, 7]
● Remove
Elemen dalam List bisa dihapus menggunakan built-in function remove(),
namun akan muncul pesan kesalahan jika elemen tersebut tidak ada dalam
daftar. Metode remove() berlaku untuk satu elemen pada setiap
operasinya, sedangkan jika ingin menghapus sejumlah elemen,
penggunaan iterator diperlukan. Metode remove() berfungsi untuk
menghapus elemen yang ditentukan.

print("Before:", listExample)
listExample.remove(10)
print("After:", listExample)
Output:

Before: [1, 2, 10, 3, 4, 5, 6, 7]


After: [1, 2, 3, 4, 5, 6, 7]
● Pop
Fungsi pop() berguna untuk menghapus dan mengembalikan elemen dari
daftar. Secara default, fungsi ini hanya menghapus elemen yang terletak di
akhir daftar. Jika ingin menghapus elemen dari posisi khusus dalam List,
maka kita dapat memberikan indeks elemen sebagai argumen untuk
metode pop().

print("Before:", listExample)
popList = listExample.pop(6)
print("After:", listExample)
print("Pop Value:", popList)
Output:

Before: [1, 2, 3, 4, 5, 6, 7]
After: [1, 2, 3, 4, 5, 6]
Pop Value: 7
● Reverse
Fungsi reverse() adalah metode yang ada pada objek List di Python.
Metode ini digunakan untuk membalik urutan elemen dalam list secara
permanen. Ini berarti elemen-elemen dalam list akan diubah posisinya dari
urutan awal menjadi urutan akhir, dan sebaliknya.

print("Before:", listExample)
listExample.reverse()
print("After:", listExample)
Output:

Before: [1, 2, 3, 4, 5, 6]
After: [6, 5, 4, 3, 2, 1]

6. List Comprehension
List comprehension digunakan untuk membuat list baru dari iterable
lain seperti tuples, strings, arrays, lists, dll. List comprehension terdiri dari
tanda kurung berisi ekspresi, yang dieksekusi untuk setiap elemen bersama
dengan perulangan for untuk mengiterasi setiap elemen.
Syntax:

newList = [expression(element) for element in oldList


if condition]
Contoh:

evenSquare = [x**2 for x in range(1, 11) if x % 2 == 0]


print(evenSquare) # [4, 16, 36, 64, 100]
Untuk lebih memahaminya, kode diatas mirip dengan kode berikut:

evenSquare = []

for x in range (1, 11):


if x % 2 == 0:
evenSquare.append(x**2)

print(evenSquare) # [4, 16, 36, 64, 100]

B. Tuples
Tuple adalah salah satu collection pada objek Python seperti list. Urutan nilai
yang disimpan dalam tuple bisa bertipe apa saja, dan diindeks dengan bilangan bulat.
Nilai-nilai yang ada pada tuple tidak dapat diubah atau bersifat immuatble.
1. Membuat Tuple
Penulisan tuple dimulai dan ditutup dengan tanda kurung. Nilai tuple
dipisahkan secara sintaksis dengan 'koma'. Meskipun tidak diperlukan, lebih
umum untuk mendefinisikan tuple dengan menutup urutan nilai dalam tanda
kurung. Pembuatan tuple pada Python tanpa menggunakan tanda kurung
dikenal sebagai Tuple Packing.
Contoh:

tupleExample = ("Python", True, 1)


Output:

('Python', True, 1)

2. Mengakses Nilai pada Tuple


Nilai pada tuple tidak dapat diubah (immutable), dan biasanya, berisi
rangkaian elemen heterogen yang diakses melalui unpacking atau
pengindeksan (atau bahkan dengan atribut dalam kasus tuple bernama). List
dapat berubah (mutable), dan elemen-elemennya biasanya homogen dan dapat
diakses dengan melakukan iterasi pada list.

programmingLang = ("Python", "Java", "Kotlin")

# with indexing
print("With Indexing:")
print(programmingLang[0])

# with unpacking
a, b, c = programmingLang
print("\nWith Unpacking:")
print(a)
print(b)
print(c)

Output:

With Indexing:
Python

With Unpacking:
Python
Java
Kotlin

3. Manipulasi Tuple
Tuple kumpulan beberapa item dan tidak dapat diubah lagi. Tetapi kita
bisa melakukan manipulasi tuple tersebut, dengan cara melakukan konversi
tipe data tuple ke list, lalu data list yang kita ubah, setelah diubah, dilakukan
kembali konversi data dari list ke tuple.
Contoh:

tupleExample = ("Python", True, 1)


print("Before:", tupleExample)
tupleToList = list(tupleExample)
tupleToList[1] = False
tupleExample = tuple(tupleToList)
print("After:", tupleExample)
Output:

Before: ('Python', True, 1)


After: ('Python', False, 1)

Tuple tidak dapat diubah dan oleh karena itu tidak dapat dilakukan
penghapusan sebagian dari nilainya. Seluruh tuple harus dihapus dengan
menggunakan metode del().

del tupleExample
Mencetak (print) tuple setelah dilakukan penghapusan akan menghasilkan
error.

C. Sets
Set adalah kumpulan data yang tidak berurutan, tidak dapat diubah
(immutable), dan tidak terindeks dan tidak ada anggota yang terduplikat. Sama halnya
dengan tuple, set juga bisa memiliki item yang berbeda tipe datanya serta juga dapat
diketahui panjangnya atau banyaknya item di dalam set dengan menggunakan fungsi
len().
1. Membuat Set
Di Python, kita membuat set dengan menempatkan semua elemen di
dalam kurung kurawal ({...}), dipisahkan dengan koma. Suatu set dapat
memiliki sejumlah item dengan tipe data yang berbeda (integer, float, tuple,
string, dan lain-lain). Namun suatu set tidak boleh memiliki elemen yang
dapat diubah seperti list, set, atau dictionary sebagai elemennya.

setExample = {"Python", 1, 2, "Java"}


print(setExample)
Output:

{'Java', 1, 2, 'Python'}
Saat kamu menjalankan kode diatas, kamu mungkin mendapatkan keluaran
dalam urutan berbeda. Hal ini disebabkan karena set tidak mempunyai urutan
tertentu.
Lalu apa yang terjadi ketika kita membuat sebuah set yang didalamnya
terdapat item duplikat.

duplicateSet = {1, 3, 2, 3, 2, 3, 4}
print(setExample)
Output:

{1, 2, 3, 4}
Di sini, kita dapat melihat tidak ada item duplikat dalam set karena set tidak
boleh berisi item duplikat.

2. Memanipulasi Set
Sama halnya dengan tuple, set juga kumpulan beberapa item dan tidak
dapat diubah lagi. Tetapi kita bisa melakukan manipulasi set tersebut, dengan
cara melakukan konversi tipe data set ke list, lalu data list yang kita ubah,
setelah diubah, dilakukan kembali konversi data dari list ke set.

print("Before:", setExample)
setToList = list(setExample)
setToList[0] = "C++"
setExample = set(setToList)
print("After:", setExample)
Output:

Before: {'Java', 1, 2, 'Python'}


After: {1, 2, 'Python', 'C++'}

3. Mengambil Data dari Set


Untuk mengambil data dari set kita bisa memanggil fungsi pop(), yang
akan menghapus dan mengembalikan data terakhir dari set, jika kita tidak mau
menghapus datanya ketika ingin mengambil datanya maka, kita harus
meng-iterasinya atau kita bisa mengubahnya ke dalam bentuk list, karena kita
tidak bisa mengambil data dari set langsung dari indeksnya seperti list karena
hal itu akan menghasilkan error.
Contoh:
SALAH

numberSet = {1, 2, 3, 4, 5}
print(numberSet[1])

BENAR

numberSet = {1, 2, 3, 4, 5}
print(list(numberSet[1])

Atau untuk mengambil semua data dalam set bisa juga

numberSet = {1, 2, 3, 4, 5}
for i in numberSet:
print(i)

4. Built-In Function di Set


a. Add
Di Python, kita menggunakan metode add() untuk menambahkan item
ke suatu set.

setExample.add("Kotlin")

b. Pop
Untuk menghapus dan return data pada set, data yang di pop pertama
kali adalah integer pertama, setelah itu string pertama.

setExample.pop()

c. Remove
Untuk menghapus nilai yang sama yang terdapat pada set jika tidak
terdapat nilai yang sama maka program akan error.

setExample.remove(1)

d. Discard
Untuk menghapus nilai yang sama yang terdapat pada set, jika tidak
terdapat nilai yang sama maka program tidak melakukan apapun.

setExample.discard("Tes")

5. Frozen Set
Frozen set di Python adalah objek yang tidak dapat diubah yang hanya
mendukung metode dan operator yang menghasilkan hasil tanpa
mempengaruhi frozen set atau set tempat mereka diterapkan. Itu bisa
dilakukan dengan metode frozenset() dengan Python. Meskipun elemen suatu
set dapat dimodifikasi kapan saja, elemen frozen set tetap sama setelah
pembuatan. Jika tidak ada parameter yang diteruskan, akan mengembalikan
frozen set yang kosong.

frozenSet = frozenset(["Thomas", "Shelby"])


frozenSet.add("sheesh") # Error

6. Set Operations
Set Python menyediakan built-in methods untuk melakukan operasi
himpunan matematika seperti union (gabungan), intersection (irisan),
difference (selisih), dan symmetric difference (selisih simetris).
a. Union (⋃)
Union adalah gabungan dua set (himpunan) A dan B memuat
semua anggota himpunan A dan B. Dua set dapat digabungkan
menggunakan fungsi union() atau operator |. Kedua nilai set diakses
dan dilintasi dengan operasi penggabungan yang dilakukan pada
keduanya untuk menggabungkan elemen, pada saat yang sama
duplikatnya dihapus.

a = {1, 2, 3}
b = {3, 2, 1}

# menggunakan |
print(a | b) # {1, 2, 3}

# menggunakan union()
print(a.union(b)) # {1, 2, 3}
a | b dan union() ekuivalen dengan operasi a ⋃ b di matematika.
b. Intersection (⋂)
Intersection adalah perpotongan/irisan dua set (himpunan) A
dan B memuat unsur-unsur persekutuan antara himpunan A dan B.
Dua set dapat didapatkan hasil irisannya menggunakan intersection()
atau operator &.

a = {1, 2, 3}
b = {3, 5, 1}

# menggunakan &
print(a & b) # {1, 3}

# menggunakan intersection()
print(a.intersection(b)) # {1, 3}
a & b dan intersection() ekuivalen dengan operasi a ⋂ b di matematika.

c. Difference (-)
Difference adalah Selisih antara dua set (himpunan) A dan B
mencakup elemen himpunan A yang tidak terdapat pada himpunan B.
Kita menggunakan difference() atau operator - untuk mendapatkan
selisih antara dua himpunan.

a = {1, 2, 5}
b = {3, 4, 1}

# menggunakan -
print(a - b) # {2, 5}

# menggunakan difference()
print(a.difference(b)) # {2, 5}
a - b dan difference() ekuivalen dengan operasi a - b di matematika.

d. Symmetric Difference (^)


Symmetric difference adalah selisih simetris antara dua set
(himpunan) A dan B mencakup semua anggota A dan B tanpa
unsur-unsur persekutuannya. Kita menggunakan
symmetric_difference() atau operator ^ atau untuk melakukan selisih
simetris antara dua himpunan.
a = {1, 2, 5}
b = {3, 4, 1}

# menggunakan ^
print(a ^ b) # {2, 3, 4, 5}

# menggunakan symmetric_difference()
print(a.symmetric_difference(b)) # {2, 3, 4, 5}

D. Dictionary
Dictionary adalah kumpulan nilai, yang digunakan untuk menyimpan nilai
data key dan value, tidak seperti list yang hanya menyimpan satu nilai sebagai elemen.
1. Membuat Dictionary
Dalam Python, dictionary bisa dibuat dengan menempatkan rangkaian
elemen di dalam kurung kurawal ({...}), dipisahkan dengan 'koma'. Dictionary
menampung pasangan nilai, yaitu key dan value yang dipisahkan oleh ‘titik
dua’ (key:value). Value dalam dictionary dapat berupa tipe data apa pun dan
dapat diduplikasi, sedangkan key tidak dapat diulang (tidak boleh memiliki
nilai key yang sama) dan tidak dapat diubah (immutable).
Contoh:

dictExample = {
"name": "Riofuad",
"age": 21,
"hobby": "Playing Genshin"
}
print(dictExample)
Output:

{'name': 'Riofuad', 'age': 21, 'hobby': 'Playing Genshin'}

2. Nested Dictionary
Nested dictionary merupakan dictionary bersarang yang artinya di
dalam sebuah dictionary terdapat dictionary lainnya.
Contoh:

nestedDict = {
"Fakultas": "MIPA",
"Program Studi": {
1: "Sistem Informasi",
2: "Matematika",
3: "Aktuaria"
}
}
print(nestedDict)
Output:

{'Fakultas': 'MIPA', 'Program Studi': {1: 'Sistem


Informasi', 2: 'Matematika', 3: 'Aktuaria'}}

3. Melakukan Operasi pada Dictionary


Untuk mengakses elemen pada dictionary, harus merujuk pada nama
key-nya. Key dapat digunakan di dalam tanda kurung siku. Atau kita bisa
menggunakan built-in function get() untuk mengakses elemen pada dictionary.

print(dictExample["name"])
# dictExample.get("name")
Output:

Riofuad

Kemudian untuk mengakses elemen yang ada pada nested dictionary harus
merujuk pada nama key yang diluar hingga key yang paling dalam pada nested
dictionary tersebut.

print(nestedDict["Program Studi"][1])
# nestedDict.get("Program Studi").get(1)
Output:

Sistem Informasi
Untuk mengupdate elemen pada dictionary kita hanya perlu mengintansinya
kembali atau menggunakan built-in function update().

print("Before:", dictExample["hobby"])
dictExample["hobby"] = "Playing Minecraft"
# dictExample.update("hobby": "Playing Minecraft")
print("After:", dictExample["hobby"])
Output:

Before: Playing Genshin


After: Playing Minecraft
Begitu pula untuk menambah elemen pada dictionary kita hanya perlu
menginisialisasinya.

dictExample["graduationYear"] = 2023
print(dictExample)
Output:

{'name': 'Riofuad', 'age': 21, 'hobby': 'Playing


Minecraft', 'graduationYear': 2023}
Untuk menghapus elemen pada key yang spesifik dapat menggunakan built-in
function pop(), kemudian jika ingin menghapus elemen yang terakhir
dimasukkan menggunakan built-in function popitems(), dan jika ingin
menghapus seluruh elemen pada dictionary dapat menggunakan built-in
function clear().

dictExample.pop("graduationYear")
print(dictExample)
Output:

{'name': 'Riofuad', 'age': 21, 'hobby': 'Playing Minecraft'}

Anda mungkin juga menyukai