Tuple
Sekuens tetap yang tidak bisa diubah setelah dibuat.
Pahami konsepnya
Tuple adalah list yang TIDAK BISA diubah (immutable): koordinat = (3, 7). Setelah dibuat, isinya terkunci — tidak ada append, remove, atau assignment indeks. Kekurangan itu justru kelebihannya: tuple aman dari modifikasi tak sengaja, bisa jadi kunci dictionary (list tidak bisa), dan lebih hemat memori.
Deklarasi dengan kurung: t = (1, 2, 3) atau tanpa kurung t = 1, 2, 3. Tuple satu elemen WAJIB koma: t = (5,) — tanpa koma itu bukan tuple, hanya bilangan dalam kurung. Tuple bisa di-unpack: x, y = koordinat memberi x=3, y=7.
Fungsi Python sering mengembalikan tuple: divmod(17, 5) memberi (3, 2). Method-nya hanya dua: count(x) dan index(x) — karena isinya memang tak bisa diubah.
Coba contoh kode
koordinat = (3, 7)
x, y = koordinat
print(f"x={x}, y={y}")
# swap tanpa variabel bantu
a, b = 1, 2
a, b = b, a
print(a, b) # 2 1
# tuple dari fungsi
hasil = divmod(17, 5) # (bagi, sisa)
print(f"17 bagi 5 = {hasil[0]} sisa {hasil[1]}")
# tuple sebagai kunci dict (list tidak bisa)
harga = {(3, 7): "mahal", (1, 2): "murah"}
print(harga[(3, 7)]) # mahalUnpacking adalah fitur bintang tuple: x, y = koordinat membongkar isinya langsung ke dua variabel. divmod() mengembalikan tuple (hasil bagi, sisa). Tuple bisa jadi kunci dictionary karena isinya tetap — list yang bisa berubah tidak boleh.
Latihan singkat
Uji: tukar a=10, b=20 via unpack — harus `20 10`.