# Metode List

Berikut penjelasan lengkap mengenai metode yang sering digunakan pada tipe data **list** dalam Python:

#### **1. `list.append(obj)`**

* Menambahkan objek (`obj`) ke akhir list.
* **Contoh:**

  ```python
  my_list = [1, 2, 3]
  my_list.append(4)
  print(my_list)
  ```

  **Output:**

  ```
  [1, 2, 3, 4]
  ```

***

#### **2. `list.count(obj)`**

* Mengembalikan jumlah berapa kali objek (`obj`) muncul dalam list.
* **Contoh:**

  ```python
  my_list = [1, 2, 2, 3, 2]
  print(my_list.count(2))
  ```

  **Output:**

  ```
  3
  ```

***

#### **3. `list.extend(seq)`**

* Menambahkan elemen-elemen dari sequence (`seq`, bisa list, tuple, dll) ke dalam list yang sudah ada.
* **Contoh:**

  ```python
  my_list = [1, 2]
  my_list.extend([3, 4])
  print(my_list)
  ```

  **Output:**

  ```
  [1, 2, 3, 4]
  ```

***

#### **4. `list.index(obj)`**

* Mengembalikan indeks terendah di mana objek (`obj`) ditemukan dalam list.
* Jika objek tidak ada, akan menghasilkan error `ValueError`.
* **Contoh:**

  ```python
  my_list = [1, 2, 3, 4]
  print(my_list.index(3))
  ```

  **Output:**

  ```
  2
  ```

***

#### **5. `list.insert(index, obj)`**

* Menyisipkan objek (`obj`) pada indeks tertentu (`index`) dalam list.
* **Contoh:**

  ```python
  my_list = [1, 2, 3]
  my_list.insert(1, 4)
  print(my_list)
  ```

  **Output:**

  ```
  [1, 4, 2, 3]
  ```

***

#### **6. `list.pop([index])`**

* Menghapus dan mengembalikan objek di indeks yang diberikan. Jika indeks tidak diberikan, elemen terakhir yang dihapus dan dikembalikan.
* **Contoh:**

  ```python
  my_list = [1, 2, 3, 4]
  removed_item = my_list.pop(2)
  print(removed_item)  # Mengembalikan nilai yang dihapus
  print(my_list)  # List setelah penghapusan
  ```

  **Output:**

  ```
  3
  [1, 2, 4]
  ```

***

#### **7. `list.remove(obj)`**

* Menghapus objek (`obj`) pertama yang ditemukan dalam list. Jika objek tidak ditemukan, menghasilkan error `ValueError`.
* **Contoh:**

  ```python
  my_list = [1, 2, 3, 4]
  my_list.remove(3)
  print(my_list)
  ```

  **Output:**

  ```
  [1, 2, 4]
  ```

***

#### **8. `list.reverse()`**

* Membalik urutan elemen dalam list **secara langsung** (in-place), tanpa mengembalikan nilai baru.
* **Contoh:**

  ```python
  my_list = [1, 2, 3, 4]
  my_list.reverse()
  print(my_list)
  ```

  **Output:**

  ```
  [4, 3, 2, 1]
  ```

***

#### **9. `list.sort([func])`**

* Mengurutkan elemen dalam list. Jika diberikan, argumen `func` adalah fungsi untuk digunakan dalam perbandingan. Secara default, `sort()` akan mengurutkan secara ascending.
* **Contoh:**

  ```python
  my_list = [3, 1, 4, 2]
  my_list.sort()
  print(my_list)
  ```

  **Output:**

  ```
  [1, 2, 3, 4]
  ```
* **Contoh dengan `func`:**

  ```python
  my_list = ["apple", "banana", "cherry"]
  my_list.sort(key=lambda x: len(x))
  print(my_list)
  ```

  **Output:**

  ```
  ['apple', 'banana', 'cherry']
  ```

  (Urutan berdasarkan panjang string)

***

#### **Ringkasan**

* **`append()`**: Menambah elemen ke akhir list.
* **`count()`**: Menghitung frekuensi elemen dalam list.
* **`extend()`**: Menambah elemen dari list atau sequence lain.
* **`index()`**: Menemukan indeks pertama dari elemen.
* **`insert()`**: Menyisipkan elemen pada posisi tertentu.
* **`pop()`**: Menghapus dan mengembalikan elemen dari indeks tertentu.
* **`remove()`**: Menghapus elemen pertama yang ditemukan.
* **`reverse()`**: Membalikkan urutan elemen dalam list.
* **`sort()`**: Mengurutkan elemen dalam list.
