Artikel ini bagian dari seri Belajar Python Level Basic di hanifmu.com. Di artikel sebelumnya kita sudah membahas Operasi Dasar String. Sekarang kita pakai method bawaan Python untuk mengolah teks.
Teks dari pengguna jarang rapi. Ada spasi berlebih, huruf besar-kecil yang campur, atau format yang perlu diseragamkan. String methods menyediakan alat untuk membereskannya.
Cara Memanggil String Method
String method dipanggil dengan tanda titik setelah string:
nama = "budi"
print(nama.upper()) # BUDI
Perhatikan bahwa method tidak mengubah string aslinya. Karena string imutabel, method mengembalikan string baru:
nama = "budi"
nama.upper()
print(nama) # budi, tidak berubah
Supaya hasilnya tersimpan, tugaskan ke variabel:
nama = "budi"
nama = nama.upper()
print(nama) # BUDI
Mengubah Besar-Kecil Huruf
Tiga method untuk mengatur huruf:
teks = "halo dunia"
print(teks.upper()) # HALO DUNIA
print(teks.lower()) # halo dunia
print(teks.title()) # Halo Dunia
print(teks.capitalize()) # Halo dunia
Perbedaannya:
upper()membuat semua huruf kapital.lower()membuat semua huruf kecil.title()mengkapitalkan huruf pertama setiap kata.capitalize()hanya mengkapitalkan huruf pertama kalimat.
Method ini sering dipakai untuk menyeragamkan input sebelum dibandingkan:
jawaban = input("Lanjut? (ya/tidak): ")
if jawaban.lower() == "ya":
print("Melanjutkan")
Membersihkan Spasi
strip() membuang spasi di awal dan akhir string:
teks = " halo "
print(teks.strip()) # halo
print(teks.lstrip()) # "halo "
print(teks.rstrip()) # " halo"
strip()membuang dari kedua sisi.lstrip()membuang dari kiri.rstrip()membuang dari kanan.
Method ini sangat berguna untuk membersihkan hasil input() yang mungkin mengandung spasi tak sengaja.
Memecah dan Menggabungkan
split() memecah string menjadi list, sedangkan join() menggabungkan list menjadi string:
kalimat = "apel jeruk mangga"
buah = kalimat.split()
print(buah) # ['apel', 'jeruk', 'mangga']
split() memakai spasi sebagai pemisah secara default. Kamu bisa menentukan pemisah lain:
data = "Budi,25,Jakarta"
bagian = data.split(",")
print(bagian) # ['Budi', '25', 'Jakarta']
join() melakukan kebalikannya. Method ini dipanggil pada pemisah, lalu list sebagai argumen:
buah = ["apel", "jeruk", "mangga"]
print(", ".join(buah)) # apel, jeruk, mangga
print("-".join(buah)) # apel-jeruk-mangga
Urutan join() sering membingungkan pemula: pemisahnya di depan, bukan list-nya.
Mengganti Teks
replace() mengganti semua kemunculan teks lama dengan teks baru:
teks = "Saya suka apel, apel itu enak"
print(teks.replace("apel", "jeruk"))
Output:
Saya suka jeruk, jeruk itu enak
Kalau hanya ingin mengganti sejumlah kemunculan, tambahkan argumen ketiga:
print(teks.replace("apel", "jeruk", 1))
Output: Saya suka jeruk, apel itu enak.
Mencari Teks
Beberapa method untuk mencari posisi atau keberadaan teks:
teks = "Belajar Python itu menyenangkan"
print(teks.find("Python")) # 8
print(teks.find("Java")) # -1
print(teks.count("a")) # 4
print("Python" in teks) # True
find() mengembalikan indeks kemunculan pertama, atau -1 kalau tidak ketemu. count() menghitung jumlah kemunculan. Operator in lebih ringkas kalau hanya ingin tahu ada atau tidak.
Mengecek Awal dan Akhir
startswith() dan endswith() mengecek awalan dan akhiran string:
berkas = "laporan.pdf"
print(berkas.endswith(".pdf")) # True
print(berkas.startswith("lap")) # True
Keduanya berguna untuk memvalidasi input, misalnya memastikan pengguna memasukkan alamat email atau nomor telepon dengan format tertentu.
Method String Umum
| Method | Kegunaan |
|---|---|
upper() | Semua huruf kapital |
lower() | Semua huruf kecil |
title() | Kapital di awal setiap kata |
strip() | Membuang spasi di kedua ujung |
split() | Memecah string menjadi list |
join() | Menggabungkan list menjadi string |
replace() | Mengganti teks |
find() | Mencari posisi teks |
count() | Menghitung kemunculan |
startswith() | Mengecek awalan |
endswith() | Mengecek akhiran |
Contoh Program: Membersihkan Data Input
Mari bersihkan data yang dimasukkan dengan format tidak rapi:
# bersihkan_data.py
data = input("Masukkan nama dan kota (pisah dengan koma): ")
nama, kota = data.split(",")
nama = nama.strip().title()
kota = kota.strip().title()
print(f"Nama: {nama}")
print(f"Kota: {kota}")
Kalau pengguna mengetik budi , jakarta :
Nama: Budi
Kota: Jakarta
Rantai strip().title() bekerja karena setiap method mengembalikan string baru yang langsung bisa dipanggil method berikutnya.
Kesalahan Umum Pemula
- Mengira method mengubah string asli — string imutabel, tugaskan hasilnya ke variabel.
- Tertukar
split()danjoin()—split()memecah,join()menggabungkan. - Salah urutan
join()— pemisah dulu, baru list:", ".join(list). - Mengira
find()mengembalikanFalse— ia mengembalikan-1kalau tidak ketemu. - Lupa bahwa
split()menghasilkan list — itemnya string, konversi dulu bila butuh angka.
Ringkasan
- String method dipanggil dengan tanda titik dan tidak mengubah string asli
upper(),lower(),title()mengatur besar-kecil hurufstrip()membersihkan spasi di ujung stringsplit()memecah string,join()menggabungkannyareplace()mengganti teks,find()dancount()mencarinya- Method bisa dirantai, misalnya
nama.strip().title()
Langkah Selanjutnya
Sekarang kamu bisa membersihkan dan mengolah teks. Langkah terakhir adalah menampilkannya dengan rapi, lengkap dengan angka yang diformat dan teks yang sejajar.
Artikel selanjutnya membahas String Formatting dengan f-string, cara menyusun output yang enak dibaca.
