# Metode string

String adalah jenis data yang paling populer di bahasa pemrograman. Kita bisa membuatnya hanya dengan melampirkan karakter dalam tanda kutip. Python memperlakukan tanda kutip tunggal (‘ ’) sama dengan tanda kutip ganda (“ “). Membuat string semudah memberi nilai pada sebuah variabel.       <br>

Metode adalah sebuah kumpulan code program yang digunakan untuk melakukan suatu perintah. Dan bedanya dengan baris code program biasa adalah, kita dapat melakukan hal yang sama cukup dengan memanggil nama metode nya saja. Tanpa harus menuliskan code program yang ingin kita ulang. yang akan memudahkan kita dalam proses atau kegiatan programing kita nantinya. 

Di dalam Python banyak sekali metode atau bisa juga disebut dengan fungsi, terdapat beberapa metode yang terdapat pada tipe data string. Semua metode string akan menampilkan nilai baru, tanpa mengubah nilai string aslinya. Method adalah fungsi atau prosedur yang dibuat didalam suatu Class.  Method dibagi dua kategori yaitu fungsi dan prosedur. 

***

#### **1. `capitalize()`**

Mengubah huruf pertama menjadi huruf besar.

```python
text = "python programming"
print(text.capitalize())  # Output: "Python programming"
```

***

#### **2. `casefold()`**

Mengubah semua huruf menjadi kecil, lebih kuat dari `lower()`.

```python
text = "Straße"
print(text.casefold())  # Output: "strasse"
```

***

#### **3. `center(width, fillchar)`**

Menempatkan string di tengah dengan panjang `width`, menggunakan karakter tambahan di sisi kiri dan kanan jika diisi.

```python
text = "Python"
print(text.center(10, "-"))  # Output: "--Python--"
```

***

#### **4. `count(substring)`**

Menghitung jumlah kemunculan substring dalam string.

```python
text = "banana banana apple"
print(text.count("banana"))  # Output: 2
```

***

#### **5. `encode(encoding='utf-8')`**

Mengubah string menjadi format bytes dengan encoding tertentu.

```python
text = "Python"
print(text.encode())  # Output: b'Python'
```

***

#### **6. `endswith(suffix)`**

Mengecek apakah string berakhir dengan substring tertentu.

```python
text = "hello world"
print(text.endswith("world"))  # Output: True
```

***

#### **7. `find(substring)`**

Mencari posisi pertama substring dalam string, jika tidak ada akan mengembalikan `-1`.

```python
text = "hello world"
print(text.find("world"))  # Output: 6
print(text.find("Python"))  # Output: -1
```

***

#### **8. `index(substring)`**

Mirip `find()`, tapi jika substring tidak ditemukan, akan menghasilkan error.

```python
text = "hello world"
print(text.index("world"))  # Output: 6
# print(text.index("Python"))  # Akan menyebabkan ValueError
```

***

#### **9. `isalnum()`**

Mengecek apakah string hanya berisi huruf dan angka (tanpa spasi atau simbol lain).

```python
text = "Python123"
print(text.isalnum())  # Output: True
```

***

#### **10. `isalpha()`**

Mengecek apakah string hanya berisi huruf tanpa angka atau simbol.

```python
text = "Python"
print(text.isalpha())  # Output: True
```

***

#### **11. `isdecimal()`**

Mengecek apakah string hanya berisi angka desimal (0-9).

```python
text = "12345"
print(text.isdecimal())  # Output: True
```

***

#### **12. `isdigit()`**

Mengecek apakah string hanya berisi angka, termasuk angka Unicode seperti `²`.

```python
text = "12345"
print(text.isdigit())  # Output: True
```

***

#### **13. `isidentifier()`**

Mengecek apakah string bisa digunakan sebagai nama variabel dalam Python.

```python
print("my_var".isidentifier())  # Output: True
print("123var".isidentifier())  # Output: False
```

***

#### **14. `islower()`**

Mengecek apakah semua huruf dalam string adalah huruf kecil.

```python
text = "python"
print(text.islower())  # Output: True
```

***

#### **15. `isnumeric()`**

Mengecek apakah string hanya berisi karakter numerik (termasuk angka Unicode seperti pecahan).

```python
text = "123"
print(text.isnumeric())  # Output: True
```

***

#### **16. `isspace()`**

Mengecek apakah string hanya berisi spasi.

```python
text = "   "
print(text.isspace())  # Output: True
```

***

#### **17. `istitle()`**

Mengecek apakah string memiliki format judul (setiap kata diawali huruf besar).

```python
text = "Hello World"
print(text.istitle())  # Output: True
```

***

#### **18. `isupper()`**

Mengecek apakah semua huruf dalam string adalah huruf besar.

```python
text = "HELLO"
print(text.isupper())  # Output: True
```

***

#### **19. `join(iterable)`**

Menggabungkan elemen dalam iterable menjadi satu string dengan separator.

```python
words = ["Hello", "World"]
print(" ".join(words))  # Output: "Hello World"
```

***

#### **20. `lower()`**

Mengubah semua huruf menjadi huruf kecil.

```python
text = "PYTHON"
print(text.lower())  # Output: "python"
```

***

#### **21. `lstrip()`**

Menghapus spasi di awal string.

```python
text = "   hello"
print(text.lstrip())  # Output: "hello"
```

***

#### **22. `partition(separator)`**

Memisahkan string menjadi tiga bagian: sebelum separator, separator, dan setelahnya.

```python
text = "hello world"
print(text.partition(" "))  # Output: ('hello', ' ', 'world')
```

***

#### **23. `replace(old, new)`**

Mengganti substring dengan substring lain.

```python
text = "I love Java"
print(text.replace("Java", "Python"))  # Output: "I love Python"
```

***

#### **24. `rstrip()`**

Menghapus spasi di akhir string.

```python
text = "hello   "
print(text.rstrip())  # Output: "hello"
```

***

#### **25. `split(separator)`**

Memisahkan string berdasarkan separator menjadi list.

```python
text = "apple,banana,orange"
print(text.split(","))  # Output: ['apple', 'banana', 'orange']
```

***

#### **26. `strip()`**

Menghapus spasi di awal dan akhir string.

```python
text = "   hello   "
print(text.strip())  # Output: "hello"
```

***

#### **27. `swapcase()`**

Menukar huruf besar menjadi kecil dan sebaliknya.

```python
text = "Hello World"
print(text.swapcase())  # Output: "hELLO wORLD"
```

***

#### **28. `title()`**

Mengubah setiap kata dalam string agar huruf pertamanya besar.

```python
text = "hello world"
print(text.title())  # Output: "Hello World"
```

***

#### **29. `upper()`**

Mengubah semua huruf menjadi huruf besar.

```python
text = "python"
print(text.upper())  # Output: "PYTHON"
```

***

### **Kesimpulan**

| **Fungsi**          | **Deskripsi Singkat**      | **Contoh Output**      |
| ------------------- | -------------------------- | ---------------------- |
| `capitalize()`      | Huruf pertama besar        | `"Python programming"` |
| `casefold()`        | Huruf kecil semua (kuat)   | `"straße" → "strasse"` |
| `center(10, '-')`   | Pusatkan teks              | `"--Python--"`         |
| `count("banana")`   | Hitung substring           | `2`                    |
| `endswith("world")` | Cek akhir string           | `True`                 |
| `find("world")`     | Cari posisi substring      | `6`                    |
| `isalpha()`         | Hanya huruf?               | `True`                 |
| `isdigit()`         | Hanya angka?               | `True`                 |
| `join(["A", "B"])`  | Gabungkan dengan separator | `"A B"`                |
| `split(",")`        | Pisahkan string            | `["apple", "banana"]`  |
| `title()`           | Format judul               | `"Hello World"`        |
