Estimasi Waktu Baca: 4 menit

Tipe data String, List, Tuple, Set, dan Dictionary termasuk ke dalam tipe data rangkaian. Tipe data rangkaian di sini maksudnya adalah tipe data yang dapat menyimpan atau menampung lebih dari satu anggota di dalamnya yang mana setiap anggota tersebut masing-masing dapat kita akses.

Meskipun mereka bisa dibilang satu keluarga, tapi pada nyatanya mereka memiliki ciri khas atau perbedaan masing-masing, seperti perbedaan bagaimana membuatnya hingga bagaimana cara mengakses setiap isinya.

Pengertian dan Cara Mendeklarasikannya

  • String merupakan tipe data yang mewakili teks dan merupakan salah satu anggota tipe data berurut. Untuk membuat string diperlukan tanda kutip, baik kutip satu (‘….’) atau kutip dua (“….”).
>>> # String dengan kutip dua
... nama = "Budi Ganteng"
>>> nama
'Budi Ganteng'
>>> type(nama)
<class 'str'>

>>> # String dengan kutip satu 
... nama = 'Budi Ganteng'
>>> nama
'Budi Ganteng'
>>> type(nama)
<class 'str'>
  • List merupakan tipe data berurut yang anggotanya dapat berasal dari berbagai tipe data, cara membuatnya dengan diawali dan diakhiri tanda kurung siku. Selain itu list juga masuk dalam kategori struktur data.
>>> daftar = [1, 1.0, 1j, "1", True]
>>> daftar
[1, 1.0, 1j, '1', True]
>>> type(daftar)
<class 'list'>
  • Tuple sama seperti string dan list, merupakan anggota tipe data berurut, cara membuatnya dengan menggunakan kurung biasa atau tanpa tanda kurung.
>>> # Tupel dengan tanda kurung
... tupel = (1, 1.0, 1j, "1", True)
>>> tupel
(1, 1.0, 1j, '1', True)
>>> type(tupel)
<class 'tuple'>

>>> # Tupel tanpa tanda kurung
... tupel = 1, 1.0, 1j, "1", True
>>> tupel
(1, 1.0, 1j, '1', True)
>>> type(tupel)
<class 'tuple'>
  • Set. satu-satunya anggota tipe data tak berurut dikarenakan set tidak mengenal indeks, membuat posisi tiap anggotanya tak jelas. Selain itu set punya sifat anggota yang unik artinya anggota satu dan yang lain tidak akan ada yang sama. Jika ada yang sama (duplikasi) maka akan dihapus salah satu. Cara membuatnya dengan menggunakan kurung kurawal.
>>> himpunan = {1, 2, 3, 4, 5}
>>> himpunan
{1, 2, 3, 4, 5}
>>> type(himpunan)
<class 'set'>

>>> # Sifat unik pada set
... himpunan = {1, 2, 3, 4, 5, 1, 3, 2}
>>> himpunan
{1, 2, 3, 4, 5}
  • Dictionary. tipe data yang cara membuatnya sama seperti set membutuhkan tanda kurung kurawal, bedanya dalam dictionary anggotanya tersusun atas dua atribut key dan value yang keduanya ini dipisahkan denga tanda titik dua (key:value). Key dapat bertindak sebagai indeks jadi nilainya harus bersifat unik.
>>> kamus = {1:"A", 2:"B", 3:"C", 4:"D", 5:"E"}
>>> kamus
{1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'E'}
>>> type(kamus)
<class 'dict'>

Tentang Sifat

Berdasarkan sifat, terbagi atas dua, yaitu mutable yang berarti isi atau data di dalamnya bisa dirubah. Sedangkan lawannya adalah immutable yang berarti tidak bisa diubah.

List, Set dan Dictionary merupakan tipe data yang bersifat mutable. Khusus untuk set karena ia tidak mengenal indeks maka untuk mengubah isi di dalamnya membutuhkan sebuah fungsi. Contoh di sini perubahan seperti menambahkan data dalam set menggunakan fungsi add().

>>> # List 
... daftar = [1, 2, 3, 4, 5] 
>>> daftar[1] = 7 
>>> daftar 
[1, 7, 3, 4, 5] 

>>> # Dictionary
... kamus = {1:"A", 2:"B", 3:"C", 4:"D", 5:"E"} 
>>> kamus[1] = "Z" 
>>> kamus 
{1: 'Z', 2: 'B', 3: 'C', 4: 'D', 5: 'E'}

>>> # Set 
... himpunan = {1, 2, 3, 4, 5}
>>> himpunan.add(0)
>>> himpunan
{0, 1, 2, 3, 4, 5}

Sedangkan yang termasuk anggota imutable adalah string dan tuple.

>>> teks = "12345"
>>> teks[1] = 7
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'str' object does not support item assignment

>>> tupel = (1, 2, 3, 4, 5)
>>> tupel[1] = 7
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'tuple' object does not support item assignment

Cara Mengakses Anggota

Ada tiga cara umum untuk mengakses isi dari kelima tipe data rangkaian, antara lain

  • Pengindeksan secara manual
  • Teknik Slicing atau pemotongan
  • Menggunakan perulangan

Namun tidak semua tipe data rangkaian bisa diakses dengan semua ketiga cara di atas, karena ada yang hanya bisa menggunakan perulangan.

Pengindeksan

Pengindeksan merupakan cara kita mengakses secara individu anggota dari suatu tipe data rangkaian dengan menggunakan indeks tiap anggota. Rumus praktiknya dalam kode seperti berikut.

>>> nama_variabel[indeks]

Jadi tipe data yang dapat diakses dengan cara ini adalah tipe data yang mengenal indeks seperti string, list, dan tuple.

>>> # String
... teks = "12345"
>>> teks[1]
'2'

>>> # List 
... daftar = [1, 2, 3, 4, 5]
>>> daftar[2]
3

>>> # Tuple 
... tupel = (1, 2, 3, 4, 5)
>>> tupel[3]
4

Selain itu tipe data dictionary juga dapat diakses dengan cara ini, karena tipe data dictionary memiliki key yang dapat berperan sebagai indeks.

>>> kamus = {1:"A", 2:"B", 3:"C", 4:"D", 5:"E"}
>>> kamus[5]
'E'

Sedangkan untuk set karena tidak mengenal indeks maka tidak dapat menggunakan cara ini.

>>> himpunan = {1, 2, 3, 4, 5}
>>> himpunan[5]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'set' object does not support indexing

Teknik Slicing Atau Pemotongan

Merupakan teknik atau cara untuk menampilkan anggota dengan rentang yang kita tentukan sendiri. Dengan cara ini memungkinkan kita untuk menampilkan seluruh isi atau hanya beberapa potongan deret anggota suatu tipe data rangkaian. Makanya disebut teknik slicing atau pemotongan.

Sama seperti sebelumnya teknik ini hanya dapat digunakan oleh tipe data berurut atau tipe data rangkaian yang mengenal indeks.


>>> # Slicing di String 
... teks = "12345"
>>> teks[1:3]
'23'

>>> # Slicing di List
... daftar = [1, 2, 3, 4, 5]
>>> daftar[:3]
[1, 2, 3]

>>> # Slicing di Tuple
... tupel = (1, 2, 3, 4, 5)
>>> tupel[1:]
(2, 3, 4, 5)

Namun meskipun dictionary memiliki key yang dapat bertindak sebagai indeks, nyatanya ketika diterapkan teknik slicing hal itu menyebabkan error, jadi teknik ini tidak dapat dipakai pada dictionary.

>>> kamus = {1:"A", 2:"B", 3:"C", 4:"D", 5:"E"}
>>> kamus[2:]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: unhashable type: 'slice'

Set masih tetap tidak bisa menggunakan cara ini.

>>> himpunan = {1, 2, 3, 4, 5}
>>> himpunan[1:3]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'set' object is not subscriptable

Perulangan

Terakhir dengan menggunakan perulangan. Perulangan merupakan cara yang terbaik untuk mengakses suatu tipe data rangkaian. Karena dengan menggunakan perulangan semua tipe data rangkaian tak terkecuali set dapat diakses dengan cara ini.

>>> # Perulangan pada String
... teks = "12345"
>>> for i in teks:
...  print(i)
... 
1
2
3
4
5

>>> # Perulangan pada List
... daftar = [1, 2, 3, 4, 5]
>>> for i in daftar:
...  print(i)
... 
1
2
3
4
5

>>> # Perulangan pada Tuple
... tupel = (1, 2, 3, 4, 5)
>>> for i in tupel:
...  print(i)
... 
1
2
3
4
5

>>> # Perulangan pada Set
... himpunan = {1, 2, 3, 4, 5}
>>> for i in himpunan:
...  print(i)
... 
1
2
3
4
5

>>> # Perulangan pada Dictionary
... kamus = {1:"A", 2:"B", 3:"C", 4:"D", 5:"E"}
>>> for i in kamus:
...  print(kamus[i])
... 
A
B
C
D
E