📘 BAB: STRUKTUR DATA KOLEKSI DALAM PYTHON
Pendahuluan
Dalam pemrograman, struktur data merupakan bagian yang sangat penting karena menjadi fondasi dalam
menyimpan, mengatur, dan mengelola data. Python menyediakan berbagai jenis struktur data bawaan
yang disebut sebagai “koleksi” (collections). Di antaranya, empat yang paling sering digunakan adalah:
1. List – daftar elemen yang bisa diubah dan memiliki urutan.
2. Tuple – daftar elemen yang tetap dan memiliki urutan.
3. Set – kumpulan elemen unik tanpa urutan.
4. Dictionary – kumpulan pasangan kunci-nilai (key-value pair).
Bayangkan kamu memiliki sebuah kotak besar untuk menyimpan berbagai jenis benda. List seperti kotak
bersekat yang bisa kamu ubah isinya sesuka hati, tuple seperti kotak permanen yang tidak bisa dibuka, set
seperti kotak penyaring yang hanya menyimpan satu benda dari tiap jenis, dan dictionary seperti lemari
arsip dengan label pada tiap lacinya.
📌 1. LIST – Daftar Berurutan yang Dapat Diubah
Pengertian
List adalah struktur data yang digunakan untuk menyimpan beberapa item dalam satu variabel. List
bersifat ordered (berurutan) dan mutable (dapat diubah), artinya kita bisa menambah, menghapus, atau
mengubah item setelah list dibuat.
Analogi
List seperti rak buku bersekat. Setiap sekat memiliki nomor (indeks) dan kamu bisa mengganti isi setiap
sekat, menambahkan buku baru, atau menghapus buku yang sudah tidak dibutuhkan.
Deklarasi List
buah = ["apel", "jeruk", "mangga"]
angka = [1, 2, 3, 4]
campuran = [1, "dua", 3.0, True]
Akses Elemen
print(buah[0]) # Output: apel
print(buah[-1]) # Output: mangga
Modifikasi List
buah[1] = "pisang" # Mengubah elemen indeks ke-1
[Link]("melon") # Menambahkan elemen ke akhir list
[Link](1, "nanas") # Menyisipkan elemen di indeks tertentu
[Link]("apel") # Menghapus elemen berdasarkan nilai
Pengulangan List
for item in buah:
print(item)
Metode Lainnya
Metode Fungsi
.append(x) Menambahkan elemen ke akhir
.remove(x Menghapus elemen x
)
.pop() Menghapus elemen terakhir
.sort() Mengurutkan elemen
.reverse() Membalik urutan elemen
.index(x) Mengembalikan indeks elemen x
.count(x) Menghitung jumlah kemunculan x
📌 2. TUPLE – Daftar Tetap yang Berurutan
Pengertian
Tuple adalah struktur data seperti list, namun immutable — artinya tidak dapat diubah setelah dibuat.
Tuple cocok digunakan untuk menyimpan data yang bersifat konstan atau tidak boleh berubah.
Analogi
Tuple seperti kotak kaca yang tersegel. Kamu bisa melihat isinya dan tahu urutannya, tapi tidak bisa
mengubah apa pun di dalamnya.
Deklarasi Tuple
warna = ("merah", "hijau", "biru")
angka = (1, 2, 3)
satu = ("satu",) # Tuple dengan satu elemen harus diakhiri koma
Akses Tuple
print(warna[1]) # Output: hijau
Keunggulan Tuple
Lebih aman karena tidak bisa diubah.
Lebih cepat dari list karena bersifat tetap.
Dapat digunakan sebagai kunci (key) dalam dictionary atau elemen set.
Metode Tuple
Metode Fungsi
.count(x) Menghitung jumlah x
.index(x) Mendapatkan posisi elemen x
📌 3. SET – Kumpulan Elemen Unik Tanpa Urutan
Pengertian
Set adalah struktur data yang menyimpan elemen unik (tidak ada duplikasi) dan tidak berurutan. Set
berguna dalam operasi matematika seperti irisan, gabungan, dan selisih.
Analogi
Set seperti keranjang penyaring. Kamu bisa memasukkan banyak barang ke dalamnya, tapi hanya satu
dari setiap jenis yang akan disimpan. Duplikat akan diabaikan.
Deklarasi Set
angka = {1, 2, 3, 4}
buah = set(["apel", "jeruk", "apel"])
Operasi Set
A = {1, 2, 3}
B = {3, 4, 5}
print(A | B) # Union: {1, 2, 3, 4, 5}
print(A & B) # Intersection: {3}
print(A - B) # Difference: {1, 2}
print(A ^ B) # Symmetric Difference: {1, 2, 4, 5}
Metode Set
Metode Fungsi
.add(x) Menambahkan elemen x
.remove(x Menghapus elemen x
)
.discard(x) Menghapus x tanpa error
.clear() Menghapus semua elemen
.update() Menambahkan banyak elemen
📌 4. DICTIONARY – Struktur Data Key-Value
Pengertian
Dictionary adalah struktur data yang menyimpan pasangan kunci dan nilai. Ini sangat berguna untuk
data asosiatif, seperti menyimpan biodata, konfigurasi, atau objek kompleks.
Analogi
Dictionary seperti lemari arsip dengan laci berlabel. Kamu bisa menyimpan data di setiap laci, dan
cukup melihat label untuk menemukan apa yang kamu cari.
Deklarasi Dictionary
mahasiswa = {
"nama": "Rina",
"nim": "123456",
"jurusan": "TI"
}
Akses dan Manipulasi
print(mahasiswa["nama"]) # Akses nilai berdasarkan key
mahasiswa["nama"] = "Dina" # Mengubah nilai
mahasiswa["ipk"] = 3.75 # Menambahkan pasangan baru
del mahasiswa["nim"] # Menghapus pasangan berdasarkan key
Metode Dictionary
Metode Fungsi
.get(key) Mengambil nilai dari key, aman jika key tidak ada
.keys() Mengambil semua key
.values() Mengambil semua nilai
.items() Mengambil semua pasangan key-value
.pop(key) Menghapus pasangan berdasarkan key
.update(dict Menambahkan atau mengupdate pasangan
)
Pengulangan
for key, value in [Link]():
print(f"{key}: {value}")
📌 5. Nested Structures (Struktur Bersarang)
Python memungkinkan kombinasi dari list, tuple, set, dan dictionary. Contoh umum adalah dictionary
yang menyimpan list atau dictionary lainnya.
Contoh Dictionary Bersarang
data = {
"A01": {
"nama": "Ani",
"nilai": {"UTS": 85, "UAS": 90}
},
"A02": {
"nama": "Budi",
"nilai": {"UTS": 78, "UAS": 88}
}
}
print(data["A01"]["nilai"]["UTS"]) # Output: 85
📌 6. Perbandingan Umum
Struktur Ordered Mutable Duplikat Indexing Unik Key
List ✅ ✅ ✅ ✅ ❌
Tuple ✅ ❌ ✅ ✅ ❌
Set ❌ ✅ ❌ ❌ ❌
Dictionary ❌* ✅ ✅ (value) ❌ ✅
* Dictionary mempertahankan urutan sejak Python 3.7
Penutup
Struktur data koleksi seperti list, tuple, set, dan dictionary adalah pondasi dalam pengelolaan data di
Python. Dengan memahami perbedaan dan kegunaan masing-masing, seorang programmer dapat memilih
struktur data yang paling sesuai dengan kebutuhan algoritma atau aplikasi yang sedang dikembangkan.
Jika diibaratkan sebagai perlengkapan rumah tangga:
List = rak serbaguna yang bisa diatur ulang.
Tuple = pajangan kaca tetap di lemari.
Set = keranjang filter yang hanya menyimpan satu dari setiap jenis.
Dictionary = laci berlabel dengan isi yang bisa dicari cepat.
Memahami struktur ini akan sangat berguna dalam pemrograman sehari-hari, termasuk dalam pengolahan
data, web development, hingga artificial intelligence.