Pada pertemuan sebelumnya kita telah mempelajari salah satu tipe data kolektif pada Python, yaitu tipe data list.
Sedikit muroja’ah, tipe data koleksi adalah jenis tipe data yang digunakan untuk menghimpun kumpulan data (atau data yang berjumlah lebih dari satu).
Secara umum, terdapat 4 tipe data koleksi pada python, yaitu:
Masing-masing dari 4 tipe data di atas memiliki sifat dan kegunaan sendiri-sendiri. Agar kita tahu kapan kita membutuhkan tipe data a dan kapan kita membutuhkan tipe data b, maka kita harus mempelajari semuanya dengan baik.
Dan pada pertemuan ini, kita akan coba berkenalan dengan tipe data Tuple
pada python.
Apa itu Tuple
Tuple adalah 1 dari 4 tipe data kolektif pada python yang berguna untuk menyimpan lebih dari satu nilai dalam satu variabel secara sekaligus [1].
Tuple bersifat ordered (terurut) dan juga bersifat unchangable (tidak bisa diubah). Ordered berarti datanya bisa kita akses menggunakan indeks, dan unchangeable berarti datanya tidak akan pernah bisa diubah setelah pertama kali definisikan.
Dalam python, tipe data tuple didefinisikan dengan tanda kurung ()
.
Apa bedanya Tuple dengan List?
Tuple sama saja dengan list. Dia sama-sama digunakan untuk menyimpan data himpunan. Sama-sama bisa menampung berbagai macam tipe data dalam satu himpunan. Hanya saja setelah diberi nilai, tuple tidak bisa diubah lagi. Hal ini berbeda dengan list.
Dari segi penulisan, list menggunakan kurung siku []
sedangkan tuple menggunakan kurung biasa ()
.
Bagaimana cara membuat tuple?
Cara membuat tuple sangat mudah dan simpel. Pertama, siapkan dulu secangkir kopi β, lalu buka text editor favorit kalian sebelum kita mulai menulis kode π¨π»βπ».
Ada 3 cara untuk membuat tuple. Perhatikan contoh berikut:
# cara standar
tuple_jenis_kelamin = ('laki-laki', 'perempuan')
# tanpa kurung
tuple_status_perkawinan = 'menikah', 'lajang'
# menggunakan fungsi tuple()
tuple_lulus = tuple(['lulus', 'tidak lulus'])
Keterangan
- Cara yang pertama adalah cara standar dan paling dasar
- Cara yang kedua tanpa tanda kurung. Ini mungkin kelihatan agak aneh, tapi yang seperti ini normal di python π
- Cara yang ketiga adalah dengan menggunakan fungsi
tuple()
dan melemparkanlist
sebagai parameternya.
Tuple kosong
Untuk membuat tuple kosong, kita cukup dengan menuliskan dua tanda kurung seperti berikut:
tuple_kosong = ()
Tuple yang hanya berisi satu item
Untuk mendefinisikan tuple yang hanya berisi satu item, kita tetap diharuskan menulis tanda koma.
tuple_tunggal = (10,)
Kalau tidak, maka python akan menggap tanda kurungnya tidak ada, seperti contoh berikut:
print(type((10))) # yang ini dianggap integer biasa
print(type((10,))) # yang ini dianggap tuple
Output:
<class 'int'>
<class 'tuple'>
Cara mengakses nilai tuple
Mengakses data pada tuple tidak jauh berbeda dengan cara mengakses data pada list, bahkan bisa kita bilang sama persis dalam keumumannya.
Kita bisa mengakses nilai pada tuple dengan langsung mendefinisikan indeks-nya seperti berikut:
# cara standar
tuple_jenis_kelamin = ('laki-laki', 'perempuan')
print(tuple_jenis_kelamin[1]) # indeks satu
print(tuple_jenis_kelamin[0]) # indeks nol
Output:
perempuan
laki-laki
Kita juga bisa mengakses nilai pada tuple dengan negatif indeks:
print(tuple_jenis_kelamin[-2])
print(tuple_jenis_kelamin[-1])
laki-laki
perempuan
Slicing tuple
Slicing adalah teknik memotong nilai dari sebuah tuple. Sintaksnya sama saja dengan teknis slicing di list. Tidak berbeda.
Untuk melakukan slicing, kita perlu mendefinisikan range indeks dengan pemisah tanda titik dua (:
).
Perhatikan kode berikut:
tuple_buah = ('Pisang', 'Nanas', 'Melon', 'Durian')
print(tuple_buah[0:1])
print(tuple_buah[0:2])
print(tuple_buah[1:3])
print(tuple_buah[0:-1])
print(tuple_buah[-1:-3])
print(tuple_buah[-1:3])
print(tuple_buah[-3:-1])
Output:
('Pisang',)
('Pisang', 'Nanas')
('Nanas', 'Melon')
('Pisang', 'Nanas', 'Melon')
()
()
('Nanas', 'Melon')
Slicing tanpa batas
Slicing pada tuple juga bisa dilakukan tanpa harus mendefinisikan batas sebelah kanan mau pun sebelah kiri. Sebagaimana contoh berikut:
tuple_buah = ('Pisang', 'Nanas', 'Melon', 'Durian')
print(tuple_buah[0:])
print(tuple_buah[1:])
print(tuple_buah[2:])
print(tuple_buah[3:])
print(tuple_buah[:0])
print(tuple_buah[:1])
print(tuple_buah[:2])
print(tuple_buah[:3])
print(tuple_buah[:4])
Jika dijalankan, kode program di atas akan menghasilkan output:
('Pisang', 'Nanas', 'Melon', 'Durian')
('Nanas', 'Melon', 'Durian')
('Melon', 'Durian')
('Durian',)
()
('Pisang',)
('Pisang', 'Nanas')
('Pisang', 'Nanas', 'Melon')
('Pisang', 'Nanas', 'Melon', 'Durian')
Mengubah data pada tuple
Kita telah mempelajari pada pertemuan sebelumnya bahwa kita bisa mengubah data pada list. Akan tetapi, berbeda dengan Tuple. Kita tidak bisa mengubah data pada tuple. Dan jika kita kekeuh berusaha mengubah data tertentu dari tuple, kita hanya akan mendapatkan error.
Perhatikan contoh berikut:
# mencoba edit data list
list_siswa = ['Andi', 'Budi']
list_siswa[0] = 'Ardi'
# mencoba edit data tuple
tuple_siswa = ('Andi', 'Budi')
tuple_siswa[0] = 'Ardi'
Jika saya jalankan melalui python mode interaktif, berikut ini error yang saya dapatkan:
Jika kalian benar-benar ingin mengubah data yang ada pada tuple. Maka gunakanlah list! π
Tuple memang difungsikan untuk kasus-kasus tertentu di mana nilai data bersifat tetap, tidak akan berubah selama runtime. Seperti misalnya data jenis kelamin.
Sequence Unpacking
Fitur selanjutnya dari Tuple adalah: sequence unpacking. Fitur ini berfungsi untuk mengekstrak isi dari tuple ke dalam variabel-variabel tunggal secara berurutan. Kita hanya perlu menggunakan operator assignment standar (simbol sama dengan =
) dan mendefinisikan nama variabel dengan koma [2].
Contohnya adalah seperti ini:
siswa = ('Nurul Huda', 'Bangkalan', 24)
# ekstrak data atau juga dinamakan sequence unpacking
nama, asal, usia = siswa
# setiap variabel di atas akan memiliki nilai dari tiap isi tuple
# secara berurutan
print('Nama:', nama)
print('Asal:', asal)
print('Usia:', usia)
Jika kita jalankan, kita akan mendapatkan output seperti berikut:
Nama: Nurul Huda
Asal: Bangkalan
Usia: 24
Penjelasan
Jika kita perhatikan kode program dan output di atas, kita bisa simpulkan bahwa:
- Variabel
nama
memiliki nilai darisiswa[0]
- Variabel
asal
memiliki nilai darisiswa[1]
- Variabel
usia
memiliki nilai darisiswa[2]
Dan pengekstrakan nilai tersebut terjadi sesuai dengan urutan penulisan variabel, teman-teman bisa coba bolak-balikkan urutan variabelnya lalu lihat hasilnya seperti apa π¨π»βπ».
Menggabungkan dua buah tuple atau lebih
Hal lain yang bisa kita lakukan dengan tuple adalah: menggabungkan beberapa tuple menjadi satu tuple baru.
Kita bisa melakukan hal tersebut menggunakan operator penjumlahan +
seperti contoh berikut:
>>> a = (1, 2, 3)
>>> b = (50, 60, 70)
>>>
>>> c = a + b
>>> c
(1, 2, 3, 50, 60, 70)
>>>
Fungsi-fungsi bawaan tuple
Sama seperti list, tuple juga memiliki fungsi-fungsi bawaan yang bisa kita gunakan seperti berikut:
Nama | Keterangan |
---|---|
len() |
Menghitung jumlah item pada tuple |
max() |
Mencari nilai paling besar dari sebuah tuple |
min() |
Mencari nilai paling kecil dari sebuah tuple |
Contoh penggunaan:
>>> nilai_semester_1 = (80, 90, 100, 88, 60)
>>> max(nilai_semester_1)
100
>>> min(nilai_semester_1)
60
>>> len(nilai_semester_1)
5
Pertemuan Selanjutnya
Setelah 2 pertemuan ini kita membahas data koleksi pada Python yaitu List dan Tuple. Pada pertemuan yang akan datang insyaallah kita akan membahas hal yang lain yang tidak kalah penting, yaitu Operator!
Nantikan terus tutorial-tutorial di Jago Ngoding, jangan lupa komentar, share, dan like fanspage kami, ya! π€πΌ
Terima kasih banyak ππΌπ
Referensi
[1] https://www.w3schools.com/python/python_tuples.asp - diakses tanggal 15 Februari 2021
[2] https://www.pythoncontent.com/unpacking-sequence-in-python - diakses tanggal 15 Mei 2021