# Nakafa Framework: LLM
URL: /id/subject/university/bachelor/ai-ds/ai-programming/string-method
Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/subject/university/bachelor/ai-ds/ai-programming/string-method/id.mdx
Output docs content for large language models.
---
export const metadata = {
    title: "Metode String",
    description: "Pelajari metode string Python untuk manipulasi teks. Kuasai transformasi, pencarian, validasi karakter, dan operasi string lanjutan.",
    authors: [{ name: "Nabil Akbarazzima Fatih" }],
    date: "09/17/2025",
    subject: "Pemrograman AI",
};
## Sifat Immutable String
String dalam Python memiliki sifat khusus yang disebut immutable, artinya setelah string dibuat, isinya tidak dapat diubah secara langsung. Bayangkan string seperti buku yang sudah dicetak, kamu tidak bisa mengubah kata di dalamnya tanpa mencetak ulang seluruh halaman.
Ketika kamu mencoba mengubah karakter dalam string secara langsung, Python akan menampilkan TypeError. Ini berbeda dengan list yang bisa dimodifikasi elemen per elemen.
Meskipun string tidak dapat diubah secara langsung, kamu dapat membuat string baru berdasarkan string lama. Operasi seperti concatenation (penggabungan) dengan operator `+` akan menghasilkan string baru, bukan mengubah string yang sudah ada.
## Mengukur Panjang String
Fungsi `len()` digunakan untuk mengetahui jumlah karakter dalam string. Setiap karakter, termasuk spasi dan tanda baca, dihitung sebagai satu unit.
Penting untuk memahami bahwa escape sequence seperti `\n` dan `\t` dihitung sebagai satu karakter meskipun ditulis dengan dua simbol.
## Metode Transformasi String
### Mengubah Case Huruf
Python menyediakan beberapa metode untuk mengubah format huruf dalam string. Setiap metode menghasilkan string baru dengan format yang diinginkan.
Metode `title()` sangat berguna untuk memformat nama atau judul, di mana setiap kata dimulai dengan huruf kapital.
### Menghapus Karakter di Awal dan Akhir
Metode strip berguna untuk membersihkan string dari karakter yang tidak diinginkan di awal atau akhir string.
Metode strip sangat berguna dalam pemrosesan data, terutama ketika membaca input dari pengguna atau file yang mungkin mengandung spasi ekstra.
## Metode Pencarian dan Validasi
### Mencari Posisi Substring
Metode `index()` dan `find()` digunakan untuk mencari posisi substring dalam string. Perbedaannya terletak pada cara menangani kasus ketika substring tidak ditemukan.
Gunakan `find()` ketika kamu tidak yakin apakah substring ada dalam string, dan gunakan `index()` ketika kamu yakin substring pasti ada.
### Validasi Karakter String
Python menyediakan beberapa metode untuk memvalidasi jenis karakter dalam string.
Metode validasi ini sangat berguna untuk memverifikasi format input pengguna, seperti nomor telepon, kode pos, atau username.
## Metode Pencarian Awalan dan Akhiran
Metode `startswith()` dan `endswith()` memungkinkan kamu memeriksa apakah string dimulai atau diakhiri dengan substring tertentu.
Kedua metode ini mendukung tuple sebagai parameter, memungkinkan pengecekan multiple prefix atau suffix sekaligus.
## Metode Replace dan Split
### Mengganti Substring
Metode `replace()` digunakan untuk mengganti semua kemunculan substring dengan string baru.
Metode `replace()` bersifat case-sensitive dan mengganti semua kemunculan kecuali jika dibatasi dengan parameter ketiga.
### Memisahkan String
Metode `split()` memecah string menjadi list berdasarkan delimiter yang ditentukan.
Metode `split()` sangat berguna untuk memproses data terstruktur seperti CSV, parsing input pengguna, atau memecah path file.
## Chaining Metode String
Karena setiap metode string mengembalikan string baru, kamu dapat menggabungkan beberapa metode dalam satu ekspresi. Ini disebut method chaining.
 '{processed}'")`
    }
  ]}
/>
Method chaining membuat kode lebih ringkas dan mudah dibaca, terutama ketika kamu perlu melakukan beberapa transformasi berturut-turut pada string.
## Aplikasi Praktis Metode String
Metode string sering digunakan dalam skenario pemrograman nyata untuk memproses dan memvalidasi data teks.
 '{formatted}'")
# 2. Ekstrak informasi dari nama file
def analyze_filename(filename):
    # Pisahkan nama dan ekstensi
    if "." in filename:
        name, ext = filename.rsplit(".", 1)
        ext = ext.lower()
    else:
        name, ext = filename, ""
    
    # Analisis jenis file
    image_exts = ["jpg", "jpeg", "png", "gif", "bmp"]
    doc_exts = ["pdf", "doc", "docx", "txt"]
    code_exts = ["py", "js", "html", "css", "java"]
    
    if ext in image_exts:
        file_type = "Image"
    elif ext in doc_exts:
        file_type = "Document"
    elif ext in code_exts:
        file_type = "Code"
    else:
        file_type = "Unknown"
    
    return {
        "name": name,
        "extension": ext,
        "type": file_type,
        "length": len(filename)
    }
files = ["photo.jpg", "report.pdf", "script.py", "data", "image.PNG"]
for file in files:
    info = analyze_filename(file)
    print(f"{file}: {info}")
# 3. Parser sederhana untuk log file
def parse_log_entry(log_line):
    # Format: [TIMESTAMP] LEVEL: MESSAGE
    if not log_line.strip():
        return None
    
    # Ekstrak timestamp
    if log_line.startswith("[") and "]" in log_line:
        end_bracket = log_line.index("]")
        timestamp = log_line[1:end_bracket]
        rest = log_line[end_bracket + 1:].strip()
    else:
        timestamp = "Unknown"
        rest = log_line.strip()
    
    # Ekstrak level
    if ":" in rest:
        level, message = rest.split(":", 1)
        level = level.strip()
        message = message.strip()
    else:
        level = "INFO"
        message = rest
    
    return {
        "timestamp": timestamp,
        "level": level,
        "message": message
    }
log_entries = [
    "[2023-09-17 10:30:15] ERROR: Database connection failed",
    "[2023-09-17 10:30:16] INFO: Retrying connection",
    "WARNING: Low disk space",
    ""
]
print("\\nLog parsing results:")
for entry in log_entries:
    parsed = parse_log_entry(entry)
    if parsed:
        print(f"Time: {parsed['timestamp']}, Level: {parsed['level']}, Message: {parsed['message']}")
# 4. Pembuat slug URL dari judul
def create_slug(title):
    # Konversi ke lowercase dan ganti spasi dengan dash
    slug = title.lower()
    
    # Ganti karakter non-alphanumeric dengan dash
    clean_slug = ""
    for char in slug:
        if char.isalnum():
            clean_slug += char
        elif char == " " or not char.isalnum():
            if clean_slug and clean_slug[-1] != "-":
                clean_slug += "-"
    
    # Hapus dash di awal dan akhir
    return clean_slug.strip("-")
titles = [
    "Belajar Python untuk Pemula",
    "Tips & Trik Programming",
    "Data Science: Panduan Lengkap",
    "Machine Learning 101"
]
print("\\nSlug generation:")
for title in titles:
    slug = create_slug(title)
    print(f"'{title}' -> '{slug}'")`
    }
  ]}
/>
Keempat contoh aplikasi ini menunjukkan kekuatan kombinasi metode string untuk menyelesaikan masalah real-world. Method chaining memungkinkan transformasi string yang kompleks dalam satu baris kode, sementara sifat immutable string memastikan operasi yang aman dan predictable.
Dengan menguasai metode-metode ini, kamu dapat membangun aplikasi yang menangani validasi input, parsing data, dan transformasi teks dengan efisien.