Belajar Python List Tuple Set Dictionary

| | Python
Belajar Python List Tuple Set Dictionary

python punya empat struktur data bawaan (built-in) buat nyimpen kumpulan data: list, tuple, set, dan dictionary. masing-masing punya karakteristik dan kegunaan yang beda-beda. struktur data ini sebenernya lanjutan dari perulangan for dan while karena sering dipakai bareng loop.

memilih struktur data yang tepat itu keputusan kecil tapi efeknya besar. di project nyata, saya hampir selalu pakai list buat data berurutan dan dictionary buat data berlabel, sementara tuple dan set muncul di situasi yang lebih spesifik. bagian kapan menggunakan apa di artikel ini adalah aturan yang saya pegang sendiri sehari-hari.

1. List (Koleksi Berubah, Mutable)

list adalah struktur data berurutan yang bisa diubah (mutable). paling fleksibel dan paling sering dipakai.

# Membuat list
buah = ["apel", "mangga", "jeruk"]
angka = [1, 2, 3, 4, 5]
campur = [1, "teks", True, 3.14]

# Akses elemen
print(buah[0])    # apel — index mulai 0
print(buah[-1])   # jeruk — index negatif dari belakang
print(buah[1:3])  # ["mangga", "jeruk"] — slicing

# Ubah list (mutable)
buah[1] = "anggur"
buah.append("pisang")     # Tambah di akhir
buah.insert(1, "durian")  # Tambah di index 1
buah.remove("apel")       # Hapus berdasarkan nilai
buah.pop()                # Hapus elemen terakhir
buah.sort()               # Urutkan

# Method penting
len(buah)                  # Panjang list
"apel" in buah            # Cek apakah ada (True/False)
buah.index("anggur")      # Cari index
buah.count("apel")        # Hitung kemunculan

List Comprehension

kuadrat = [x**2 for x in range(10)]
genap = [x for x in range(20) if x % 2 == 0]

2. Tuple (Koleksi Tetap, Immutable)

tuple ini mirip list tapi tidak bisa diubah (immutable) setelah dibuat. dan lebih cepat dari list.

# Membuat tuple
warna = ("merah", "hijau", "biru")
koordinat = (10, 20)
tuple_satu = ("satu",)  # Koma wajib untuk 1 elemen!

# Akses (sama seperti list)
print(warna[0])    # merah
print(warna[-1])   # biru

# Tidak bisa diubah!
# warna[1] = "kuning"  ❌ Error!

# Method
print(warna.count("merah"))  # 1
print(warna.index("hijau"))  # 1

# Unpacking
x, y = koordinat
print(x, y)  # 10 20

kapan pakai tuple?

  • data yang tidak boleh berubah (konstanta, koordinat)
  • dictionary key, karena cuma yang immutable yang bisa jadi key
  • return value fungsi yang multiple

set adalah “senjata rahasia” favorit saya buat ngilangin duplikat. cukup set(daftar) dan duplikat langsung hilang, jauh lebih sederhana daripada nulis loop manual. trik kecil ini sering nghemat banyak baris kode 🙂.

3. Set (Koleksi Unik Tak Berurut)

set adalah kumpulan unik (nggak ada duplikat) dan nggak berurutan (unordered). cocok buat operasi himpunan.

# Membuat set
angka = {1, 2, 3, 4, 5}
campur = {1, "teks", True}
set_kosong = set()  # Bukan {} — itu dictionary kosong!

print({1, 2, 2, 3, 3, 3})  # {1, 2, 3} — duplikat dihapus

# Operasi set
a = {1, 2, 3, 4, 5}
b = {4, 5, 6, 7, 8}

print(a | b)  # Union: {1,2,3,4,5,6,7,8}
print(a & b)  # Intersection: {4,5}
print(a - b)  # Difference: {1,2,3}
print(a ^ b)  # Symmetric diff: {1,2,3,6,7,8}

# Method
angka.add(6)        # Tambah 1 elemen
angka.remove(3)     # Hapus (error jika tidak ada)
angka.discard(10)   # Hapus (tidak error)

4. Dictionary (Pasangan Key-Value)

dictionary nyimpen data dalam bentuk pasangan key-value, dan setiap key-nya unik.

# Membuat dictionary
siswa = {
    "nama": "Andi",
    "umur": 20,
    "jurusan": "Informatika"
}

# Akses
print(siswa["nama"])          # Andi
print(siswa.get("alamat", "Tidak ada"))  # Aman — Tidak ada
print(siswa.keys())           # dict_keys(['nama', 'umur', 'jurusan'])
print(siswa.values())         # dict_values(['Andi', 20, 'Informatika'])

# Ubah
siswa["umur"] = 21
siswa["alamat"] = "Jakarta"  # Auto tambah jika key baru

# Method penting
siswa.update({"ipk": 3.5, "semester": 4})
siswa.pop("alamat")           # Hapus key
"nama" in siswa              # Cek apakah key ada

Dictionary Comprehension

kuadrat = {x: x**2 for x in range(5)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

5. Tabel Perbandingan

AspekListTupleSetDict
Mutable✅❌✅✅
Ordered✅✅❌✅ (3.7+)
Duplikat✅✅❌❌ (key)
Index✅✅❌❌
Key0..N0..N-Bebas
KecepatanSedangCepatCepatCepat
[]✅✅❌❌
{}❌❌✅✅

6. Kapan Menggunakan Apa?

# List — data berurutan yang bisa berubah
daftar_belanja = ["apel", "roti", "susu"]
nilai_siswa = [85, 90, 78, 92]

# Tuple — data tetap, cepat
hari = ("senin", "selasa", "rabu")
warna_dasar = ("merah", "kuning", "biru")

# Set — menghilangkan duplikat, operasi himpunan
id_unik = set([1, 2, 2, 3, 3])  # {1, 2, 3}
pengunjung_hari_ini = {"Andi", "Budi", "Cici"}

# Dict — data terstruktur dengan label
mahasiswa = {
    "nama": "Andi",
    "ipk": 3.5,
    "matkul": ["Algo", "Database"]
}

7. Konversi Antar Tipe Data

kadang kita butuh ubah dari satu tipe ke tipe lain, gampang banget di python:

list([1, 2, 3])  # [1, 2, 3]
tuple([1, 2, 3]) # (1, 2, 3)
set([1, 2, 2, 3]) # {1, 2, 3}
list({1, 2, 3})   # [1, 2, 3]

Kesimpulan

pilih struktur data berdasarkan kebutuhan:

  • list: default buat koleksi berurutan yang bisa berubah
  • tuple: data tetap yang nggak boleh berubah
  • set: butuh keunikan, operasi himpunan
  • dict: data berlabel key-value

di praktik, saya paling sering pakai list buat data berurutan dan dict buat data berlabel — misalnya nyimpen profil pengguna dengan key-value. tuple muncul pas butuh konstanta koordinat, dan set yang selalu dapat pujian pas ngajarin “hapus duplikat” itu justru satu baris set(daftar). 🙂


Pertanyaan yang Sering Diajukan

Apa bedanya list dan tuple di Python?

list bisa diubah setelah dibuat (mutable), sedangkan tuple tidak bisa diubah (immutable). tuple juga lebih cepat dan bisa dipakai sebagai dictionary key.

Kapan harus pakai set di Python?

set dipakai saat kalian butuh kumpulan data unik tanpa duplikat atau mau operasi himpunan seperti union, intersection, dan difference.

Bagaimana cara mengakses dictionary di Python?

akses pakai key, contohnya siswa["nama"]. Kalau mau aman sewaktu key belum tentu ada, pakai method get() dengan nilai default.

Apa itu mutable dan immutable di Python?

mutable artinya data bisa diubah setelah dibuat, contohnya list dan dictionary. immutable artinya tidak bisa diubah, contohnya tuple dan string.

Sigit Nurhanafi avatar
Full-stack developer & technical writer. Berpengalaman di PHP, Laravel, NodeJS, MySQL, dan Python. Aktif menulis tutorial pemrograman dan maintaining open-source projects di PemburuKode sejak 2021.