
Belajar Python 3
Mengenal Apa Itu Tuple
oleh: Suryo Adhy Chandra, ST
Tuple adalah tempat menyimpan banyak data seperti list, tetapi isi tuple tidak bisa diubah setelah dibuat. Tuple cocok untuk data yang sifatnya tetap.
( ). Data di dalam tuple dipisahkan dengan koma.Ada data yang memang tidak boleh berubah. Nama hari dalam seminggu tidak akan tiba-tiba bertambah menjadi delapan, dan arah mata angin selalu utara, timur, selatan, dan barat. Kalau data seperti ini disimpan di dalam list, selalu ada risiko tak sengaja tertimpa oleh baris kode lain. Tuple hadir sebagai pengaman: sekali dibuat, isinya terkunci. Ibarat tulisan yang dipahat di prasasti, kamu boleh membacanya sesering apa pun, tetapi tidak bisa menghapus atau menggantinya.
Selain lebih aman, tuple juga sedikit lebih hemat memori dan lebih cepat diproses dibanding list, walaupun perbedaannya baru terasa pada data yang sangat besar. Di bab ini kamu akan mengenal cara membuat tuple, jebakan tuple berisi satu data, membongkar isi tuple ke beberapa variabel, mengubah tuple dari dan ke list, serta pesan kesalahan yang muncul ketika kita mencoba mengubah tuple.
1. Membuat tuple
2. Kenapa memakai tuple?
Tuple dipakai saat kita ingin menyimpan data yang tidak seharusnya berubah. Contohnya nama hari, arah mata angin, atau koordinat tempat.
3. Perbedaan list dan tuple
| List | Tuple |
|---|---|
Ditulis dengan [ ] | Ditulis dengan ( ) |
| Isinya bisa diubah | Isinya tidak bisa diubah |
| Cocok untuk data yang sering berubah | Cocok untuk data tetap |
| Contoh: daftar belanja | Contoh: nama hari |
4. Membaca data tuple
Cara membaca isi tuple persis sama dengan list. Index dimulai dari 0, index negatif menghitung dari belakang, dan slicing tetap bisa dipakai. Tuple juga mengenal fungsi len(), serta dua method yang tidak mengubah isi: count() untuk menghitung berapa kali suatu data muncul dan index() untuk mencari posisinya.
Baris pertama mencetak jumlah data (5), data terakhir (jumat), dan potongan index 1 sampai 2 (selasa dan rabu). Baris kedua menunjukkan rabu muncul satu kali, dan kamis berada di index 3.
5. Tuple berisi satu data
Ini jebakan yang sering menipu pemula. Tanda kurung saja tidak cukup untuk membuat tuple. Yang sebenarnya membuat tuple adalah tanda koma. Jadi tuple berisi satu data harus ditulis dengan koma di belakangnya.
Variabel satu adalah tuple, sedangkan bukan hanyalah teks biasa yang kebetulan dibungkus kurung, seperti kurung pada perhitungan matematika.
6. Membongkar tuple ke beberapa variabel
Salah satu kegunaan favorit tuple adalah unpacking, yaitu membagikan isi tuple ke beberapa variabel dalam satu baris. Koordinat tempat adalah contoh yang pas, karena selalu terdiri dari sepasang angka: lintang dan bujur.
Pada bagian pertama, nilai pertama masuk ke lintang dan nilai kedua masuk ke bujur. Pada bagian kedua, baris a, b = b, a adalah cara khas Python untuk menukar isi dua variabel tanpa variabel bantu. Fungsi juga sering mengembalikan beberapa nilai sekaligus dalam bentuk tuple, misalnya return min(data), max(data).
7. Mengubah tuple lewat list
Tuple memang tidak bisa diubah, tetapi kita bisa membuat tuple baru. Caranya ubah dulu menjadi list dengan list(), lakukan perubahan, lalu ubah kembali dengan tuple().
Perlu dipahami bahwa tuple hari yang asli tidak berubah sama sekali. Yang terjadi adalah kita menyalin isinya ke list, mengubah salinan itu, lalu membungkusnya lagi menjadi tuple yang baru.
8. Kesalahan yang sering terjadi
hari[0] = "minggu" menghasilkan TypeError: 'tuple' object does not support item assignment.hari.append("sabtu") menghasilkan AttributeError: 'tuple' object has no attribute 'append', karena tuple memang tidak punya method penambah.del hari[0] menghasilkan TypeError: 'tuple' object doesn't support item deletion.a, b = (1, 2, 3) menghasilkan ValueError: too many values to unpack (expected 2), sedangkan a, b, c = (1, 2) menghasilkan ValueError: not enough values to unpack (expected 3, got 2).9. Ringkasan
- Tuple ditulis dengan
( )dan isinya tidak bisa diubah setelah dibuat. - Pembacaan data (index, slicing,
len,count,index) sama seperti list. - Tuple satu data wajib memakai koma:
("apel",). - Unpacking membagi isi tuple ke beberapa variabel; jumlah variabel harus sama dengan jumlah data.
- Untuk "mengubah" tuple, buat tuple baru lewat list.
10. Latihan
- Buat tuple
warnaberisi "merah", "kuning", "hijau", lalu cetak jumlah datanya.Lihat jawaban
warna = ("merah", "kuning", "hijau") print(len(warna))Keluarannya3. - Buat tuple berisi satu data, yaitu angka 7. Cetak tipenya untuk membuktikan bahwa itu tuple.
Lihat jawaban
angka = (7,) print(type(angka))Keluarannya<class 'tuple'>. Tanpa koma, hasilnya malahint. - Dari tuple
titik = (3, 8), bongkar ke variabelxdany, lalu cetakx + y.Lihat jawaban
titik = (3, 8) x, y = titik print(x + y)Keluarannya11. - Tambahkan "minggu" ke tuple
("sabtu",)sehingga menjadi tuple baru berisi dua hari.Lihat jawaban
akhir_pekan = ("sabtu",) akhir_pekan = akhir_pekan + ("minggu",) print(akhir_pekan)Keluarannya('sabtu', 'minggu'). Penjumlahan dua tuple menghasilkan tuple baru.