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:
- Membuat Tuple
- Mengakses Anggota Tuple
- Memotong Anggota Tuple
- Nested Tuple
- Sequence Unpacking
- Fungsi Bawaan Tuple
Yuk kita mulai belajar...
1. 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
2. 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.
3. 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")
4. 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.
5. 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"
6. Fungsi Bawaan Tuple
Python memiliki beberapa fungsi bawaan yang berguna untuk melalukan operasi pada tuple. Berikut beberapa fungsinya:
Fungsi | Deskripsi |
---|---|
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 |
Kesimpulan
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.