Pada pertemuan sebelumnya kita telah mempelajari salah satu tipe data koleksi pada Python, yaitu tipe data list.
Sedikit muroja’ah, tipe data koleksi adalah suatu jenis atau 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.
Tipe Data Tuple
Tipe data tuple adalah tipe data koleksi yang bersifat ordered (terurut) dan juga bersifat unchangable (tidak bisa diubah). Tipe data ini bisa kita definisikan dengan tanda kurung ()
di dalam Python.
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 anda sebelum kita mulai menulis kode π¨π»βπ».
Ada 4 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:
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)))
print(type((10,)))
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])
print(tuple_jenis_kelamin[0])
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.
Tulis dan coba kode program 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. 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 data pada list, bisa kita ubah. Akan tetapi, berbeda dengan Tuple. Jika kita 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 anda 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 dari salah satu contoh di atas.
Sequence Unpacking
Fitur selanjutnya dari Tuple adalah: sequence unpacking. Fitur ini berfungsi untuk mengekstrak isi dari tuple ke dalam variabel-variabel tunggal secara berurutan.
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, anda bisa coba bolak-balikkan urutan variabelnya lalu lihat hasilnya seperti apa π¨π»βπ».
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 ππΌπ