# Mengerti Tuple pada Python

Tuple adalah urutan item yang berurutan, seperti halnya daftar. Perbedaan utama antara tupel dan daftar adalah bahwa tupel tidak dapat diubah (tidak dapat diubah) tidak seperti daftar yang dapat (dapat diubah).

### Initialisasi tupple
Ada dua cara untuk menginisialisasi tuple. Bisa menginisialisasi tuple kosong dengan memiliki `()` tanpa nilai di dalamnya. Perhatikan contoh berikut. 

```python
tuple_kosong = ()
```
Selain itu, bisa juga dapat menginisialisasi tupel kosong dengan menggunakan fuction tuple. Pehatikan contoh berikut

```python 
tuple_kosong = Tuple()
```

Nilai pada tuple dengan tanda koma untuk memisalhan elemen satu dengan lainnya. Seperti contoh berikut. 

```python
nilai = (5, 9, 7, 2)
```

Perlu diingat jika tuple hanya memiliki 1 nilai, maka berikan tanda koma diakhirnya. Perhatikan contoh berikut.

```python
tuple_name = ('Asrul',)
bukan_tuple = ('Asrul')
```

### Mengakses nilai pada tuple
Setiap nilai dalam tuple memiliki nilai indeks yang telah ditetapkan yang dimulai dari indeks 0. Perhatikan contoh berikut.

```python
nilai = (5, 9, 7, 2)
print(nilai[0])
# hasil: 5
```
Pada tuple juga bisa diakses melalui indeks negatif yaitu dimulai dari indeks -1 artinya indeks terakhir. Perhatikan contoh berikut.

```python
nilai = (5, 9, 7, 2)
print(nilai[-2])
# hasil: 7
```

### Slice pada tuple
Operasi slice pada tuple sama caranya dengan list, baca kembali  [materi list disini](https://asrul.dev/paham-list-pada-python) 

### Tuple adalah immutable
Tuple merupakan immutable maksudnya nilai yang dimilikinya tidak dapat diubah setelah inisialisasi tuple dilakukan. Pada contoh dibawah ini akan mendapatkan kesalahan atau error karena tidak bisa diubah nilainya lagi.

```python
kartu_keluarga = ("Asrul Harahap", "Anis Fikriyyah")
kartu_keluarga[0] = "Antonio"
```

Meskipun tupel tidak dapat diubah, tetapi bisa untuk mengambil bagian dari nilai tupel yang ada untuk membuat tupel baru seperti yang ditunjukkan contoh berikut.

``` python
kartu_keluarga= ('Asrul Harahap', 'Anis Fikriyyah')
anggota_keluarga_baru = ('Ghazala Tisha Harahap',)
kartu_keluarga_baru = kartu_keluarga + anggota_keluarga_baru; 
print(kartu_keluarga_baru)
```

### Index
Metod index berguna untuk menemukan indeks elemen yang dicari pada urutan pertama ditemukan. Perhatikan contoh.

```python
beli_makanan = ("Pecel Lele", "Pecel Ayam", "Rendang", "Paru Goreng", "Pecel Ayam")
print(beli_makanan.index("Pecel Ayam"))
# Hasil: 1
```

### Count
Count digunakan untuk mendapatkan jumlah berapa kali munculnya sebuah elemen pada sebuah list. Perhatikan contoh berikut.

```python
buah = ("Apel", "Pisang", "Apel", "Apel")
jumlah_apel = buah.count("Apel")
print(jumlah_apel)
# Hasil: 3
```
