Belajar Python : Struktur Data Tuple Pada Python

Apa sih itu tuple?…

Tuple merupakan struktur data yang biasanya digunakan untuk menyimpan sekumpulan data. Tuple mirip dengan list, tetapi tuple bersifat immutable, artinya anggota atau item di dalam tuple tidak dapat diubah. Lah cuma itu aja bedanya? trus kenapa harus ada tuple???

Eitss tunggu dulu…

Kita menggunakan tuple tergantung kebutuhan, tuple memiliki beberapa kelebihan dibandingkan list:

  • Tuple bersifat immutable, sehingga iterasi pada tuple lebih cepat dibandingkan list.
  • Karena item tuple tidak dapat diubah-ubah maka anggota tuple dapat digunakan sebagai key untuk dictionary, sedangkan list tidak bisa.
  • Tuple menjamin bahwa data yang ada di dalamnya akan write-protected.

Hehe kurang lebih begitu ya kira kira gambarannya…

Oke, kali ini kita akan belajar tentang:

  1. Membuat Tuple
  2. Mengakses Anggota Tuple
  3. Memotong Anggota Tuple
  4. Nested Tuple
  5. Sequence Unpacking
  6. Fungsi Bawaan Tuple

Yuk kita mulai belajar…

Membuat Tuple

Tuple biasanya dibuat dengan memasukkan semua anggota tuple ke dalam tanda kurung () dengan masing-masing anggota dipisahkan oleh tanda koma ,. Harus pakai tanda kurung () ya???

Enggak kok…

Menggunakan tanda kurung () bukanlah sebuah kewajiban hehe, tuple juga bisa dibuat tanpa tanda kurung tetapi setiap anggotanya tetap dipisahkan oleh tanda koma.

Contoh:

# Membuat tuple dengan tanda kurung
hari = ("senin", "selasa", "rabu")

# Membuat tuple tanpa tanda kurung
hari = "senin", "selasa", "rabu"

Kita juga dapat membuat tuple kosong dan singleton (berisi satu anggota) loh…

Contoh:

# Membuat tuple kosong
libur = ()

Untuk membuat tuple yang hanya ada satu anggota kita tetap harus menambahkan tanda koma setelahnya ya.

# Tuple dengan tanda kurung
hariIni = ("jumat",)

# Tuple tanpa tanda kurung
hariIni = "jumat",

Lah kenapa harus ada tanda koma???

Karena kalau tanpa koma maka akan dianggap data biasa, alias bukan tuple hehe

Contoh:

hariIni = ("jumat") # <-- bukan tuple, cuma string biasa
hariIni = "jumat" # <-- ini string juga
nomor = 10 # <-- cuma integer biasa
nomor = 10, # <-- ini baru tuple

Mengakses Anggota Tuple

Sama seperti list, tuple juga memerlukan indeks untuk mengakses anggotanya, indeks tuple juga dimulai dari 0. Selain itu, indeks negatif juga bisa digunakan untuk mengakses anggota tuple dari belakang.

Contoh:

hari = ('senin', 'selasa', 'rabu')

# Mengakses anggota tuple
print hari[0]

# Mengakses anggota tuple
# Dengan indeks negatif
print hari[-1]

Outputnya seperti berikut:

"senin"
"rabu"

Bagaimana jika kita mengubah anggota tuple??

Contoh:

hari = ('senin', 'selasa', 'rabu','jumat')

# Mengubah nilai "jumat" jadi "kamis"
hari[3] = 'kamis'

Output dari program di atas adalah TypeError: 'tuple' object does not support item assignment. Hal ini dikarenakan tuple bersifat immutable.

Memotong Anggota Tuple

Anggota tuple juga dapat dipotong (slicing) seperti pada list, logikan pemotongannya juga sama persis seperti pada list.

Contoh:

hari = ('senin', 'selasa', 'rabu', 'kamis', 'jumat')

# Memotong anggot tuple
# Mengambil nilai 'rabu' dan 'kamis'
print hari[2:4] 

Outputnya adalah:

("rabu","kamis")

Nested Tuple

Didalam tuple dapat berisi tuple lainnya, awazing hehe…

Bukan hanya itu loh…

Tuple juga bisa diisi dengan objek apapun didalamnya seperti list, dictionary, dan lain-lain.

Contoh:

hariAwal = "senin", "selasa", "rabu"
hariAkhir = "kamis", "jumat", "sabtu"

# Nested tuple
# hari akan berisi hariAwal dan hariAkhir
hari = (hariAwal, hariAkhir)
print hari

Outputnya adalah:

(('senin', 'selasa', 'rabu'), ('kamis', 'jumat', 'sabtu'))

Contoh tuple yang berisi beragam data:

acak = (True, {'name' : 'depotkode','status': 'alive'}, [1,2,3])

Tuple acak berisi nilai boolean, dictionary dan list.

Sequence Unpacking

Proses pembuatan tuple disebut dengan packing, sedangkan untuk mengambil semua anggota tuple disebut unpacking.

Dengan melakukan unpacking, anggota tuple akan di-copy ke suatu variable, kemudian dengan variabel tersebut kita dapat melakukan apapun, termasuk mengubah isinya, karena sifar variabel adalah mutable.

Contoh:

hari = 1, "minggu", "libur"

# Unpacking tuple
nomorHari, namaHari, status = hari

# variable nomorHari, namaHari dan status
# akan berisi nilai sesuai dengan yang ada di dalam tuple

print nomorHari
print namaHari
print status

Outputnya adalah:

1
"minggu"
"libur"

Fungsi Bawaan Tuple

Python memiliki beberapa fungsi bawaan yang berguna untuk melalukan operasi pada tuple. Berikut beberapa fungsinya:

FungsiDeskripsi
all()Mengembalikan True jika semua anggota tuple tidak ada yang kosong
any()Mengembalikan True jika salah satu atau semua bernilai benar. Jika tuple kosong maka akan mengembalikan False
enumerate()Mengembalikan objek enumerasi. Objek enumerasi adalah objek yang terdiri dari pasangan indeks dan nilainya
len()Mengembalikan panjang atau jumlah anggota dari tuple
max()Mengembalikan anggota terbesar di dalam tuple
min()Mengembalikan anggota terkecil di dalam tuple
sorted()Mengembalikan anggota tuple baru yang sudah di urutkan
sum()Mengembalikan jumlah semua dari semua anggota tuple
tuple()Mengubah sequence (list, string, dictionary, dll) menjadi tuple

Langkah Selanjutnya

Kita sudah belajar tuple, Tuple merupakan salah satu struktur data di python yang dapat menampung beberapa nilai dalam satu variabel. Ternyata masih ada loh struktur data yang mirip dengan tuple, yaitu Set.

Selanjutnya mari kita belajar mengenal Set pada python.