# Paham List pada Python

Pada python ada beberapa jenis collection diantaranya:
- List
- Tupple
- Set
- Dictionary

Dan secara sederhana telah dibahas pada artikel sebelumnya, silahkan lihat kembali  [tulisan ini ](https://asrul.dev/tipe-sequence-set-dan-map).

List ditulis diantara kurung siku (`[]`) yang dibatasi oleh tanda koma (`,`) sebagai pemisah elemen. List bisa menampung tipe data yang beragam.  List dapat diakses dengan memanggil posisi indeks yang dimilikinya yang dimulai dari 0 jika diakses dari data pertama, dan dimulai dari -1 jika diakses dimulai data terakhir. Perhatikan contoh.

```python
alfabet = ["A", "B", "C", "D"]
print(alfabet[-1])
print(alfabet[-2])

print(alfabet[0])
print(alfabet[1])

# Hasil: 
# D
# C
# A
# B
```

### Slice
List pada python dapat diambil elemen menjadi potongan-potongan yang dikehendaki, sehingga ada juga yang mengakatakn subset dari list.

Mulai index ke 0, sebanyak 2 elemen
```python
alfabet = ["A", "B", "C", "D"]
print(alfabet[0:2])

# Hasil: ["A", "B"]
```

Mulai dari index awal sebanyak 3 elemen
```python
alfabet = ["A", "B", "C", "D"]
print(alfabet[:3])

# Hasil: ["A", "B", "C"]
``` 

Mulai dari index ke 2 hingga akhir
```python
alfabet = ["A", "B", "C", "D"]
print(alfabet[2:])

# Hasil: ["C", "D"]
```
 
### Append
Append digunakan untuk menambahkan data sebagai elemen dari list tersebut pada posisi terakhir. Contoh.

```python
keluarga = ["Asrul", "Anis"]
keluarga.append("Tisha")
print(keluarga)
# Hasil: ['Asrul', 'Anis', 'Tisha']
```

### Clear
Method clear digunakan untuk menghapus seluruh elemen yang ada pada list. Perhatikan contoh.

```python
buah = ["Apel", "Pisang"]
buah.clear()
print(buah)
# Hasil: []
```

### Copy
Method copy akan mengembalikan data cloning dari setiap elemen pada list. Contohnya.

```python
buah = ["Apel", "Pisang"]
buah2 = buah.copy()
print(buah2)
# Hasil: ["Apel", "Pisang"]
```

### 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
```

### Extend
Sama halnya dengan operator `+` saat menggabungkan 2 atau lebih list. Contonya.

```python
daftar_makanan = ["Pecel Lele", "Pecel Ayam", "Rendang", "Paru Goreng"]
daftar_minuman = ["Jus Apel", "Jus Mangga"]
daftar_makanan.extend(daftar_minuman)
print(daftar_makanan)
# Hasil: ['Pecel Lele', 'Pecel Ayam', 'Rendang', 'Paru Goreng', 'Jus Apel', 'Jus Mangga']
```

### 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
```

### Insert
Method insert digunakan untuk menyisipkan elemen pada index yang diinginkan dan akan menggeser elemen ke sebelah kanan dari index tersebut. Perhatikan contoh berikut.

```python
beli_makanan = ["Pecel Lele", "Pecel Ayam", "Rendang", "Paru Goreng", "Pecel Ayam"]
beli_makanan.insert(1, "Nasi Padang")
print(beli_makanan)
# Hasil: ['Pecel Lele', 'Nasi Padang', 'Pecel Ayam', 'Rendang', 'Paru Goreng', 'Pecel Ayam']
```

### Pop
Pop digunakan untuk menghapus elemen pada posisi yang ditentukan, tetapi jika tidak ditentukan posisi atau indeksnya maka akan menghapus posisi terakhir. Perhatikan contoh berikut.

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

### Remove
Method ini digunakan untuk menghilangkan elemen sesuai nilai yang diberikan, jika nilai tersebut lebih dari 1 maka akan menghapus nilai yang paling awal ditemukan. Perhatikan contoh berikut.

```python
beli_makanan = ["Pecel Lele", "Pecel Ayam", "Rendang", "Paru Goreng", "Pecel Ayam"]
beli_makanan.remove("Pecel Ayam")
print(beli_makanan)
# Hasil: ['Pecel Lele', 'Rendang', 'Paru Goreng', 'Pecel Ayam']
```

### Reverse
Method ini digunakan untuk membalik posisi elemen dari yang paling depan menjadi paling akhir, seperti abc menjadi cba. Perhatikan contoh berikut.

```python
beli_makanan = ["Pecel Lele", "Pecel Ayam", "Rendang", "Paru Goreng", "Pecel Ayam"]
beli_makanan.reverse()
print(beli_makanan)
# Hasil: ['Pecel Ayam', 'Paru Goreng', 'Rendang', 'Pecel Ayam', 'Pecel Lele']
```

### Sort
Method sort digunakan untuk mengurutkan elemen tang ada pada list, bisa mengurutkan secara ascending maupun descending. Perhatikan contoh.

```python
uang = [100, 1000, 500, 200]
uang.sort()
print(uang)
# Hasil: [100, 200, 500, 1000]

pecahan = [100, 1000, 500, 200]
pecahan.sort(reverse=True)
print(pecahan)
# Hasil: [1000, 500, 200, 100]
```

Semoga bermanfaat... <3

