Langsung ke konten

Operasi Dasar String di Python: Membuat, Mengakses, dan Menggabungkan

String adalah tipe data teks di Python. Artikel ini membahas cara membuat string, mengakses karakter, melakukan slicing, menggabungkan, dan escape character.

Belajar Python Level Basic
Belajar Python Level Basic
Advertisement

Artikel ini bagian dari seri Belajar Python Level Basic di hanifmu.com. Di artikel sebelumnya kita sudah membahas List Comprehension. Sekarang kita kembali ke teks dan mengolahnya lebih jauh.

Program hampir selalu berurusan dengan teks: nama pengguna, alamat, pesan, atau kalimat. Semuanya disimpan sebagai string. Kamu sudah memakai string sejak artikel pertama, sekarang saatnya memahami apa yang sebenarnya bisa dilakukan padanya.

Membuat String

String dibuat dengan tanda kutip. Python menerima kutip satu maupun kutip dua, dan hasilnya sama:

nama = "Budi"
sapaan = 'Halo'

Pilihan kutip berguna saat string berisi kutip di dalamnya:

kutip_dua = "Dia berkata 'halo'"
kutip_satu = 'Dia berkata "halo"'

Untuk string lebih dari satu baris, gunakan tiga kutip:

pesan = """Ini baris pertama
Ini baris kedua
Ini baris ketiga"""

print(pesan)

Tanda kutip satu dan dua bisa dipakai bergantian sesuai kenyamanan. Yang penting konsisten dalam satu proyek.

String Bersifat Imutabel

Berbeda dari list, string tidak bisa diubah setelah dibuat. Kamu tidak bisa mengganti satu karakternya:

nama = "Budi"
nama[0] = "b"   # TypeError: 'str' object does not support item assignment

Kalau ingin mengubahnya, buat string baru dari string lama:

nama = "Budi"
nama = "b" + nama[1:]
print(nama)   # budi

Mengakses Karakter dengan Indeks

Setiap karakter punya posisi yang disebut indeks, dimulai dari 0:

kata = "Python"

print(kata[0])   # P
print(kata[1])   # y
print(kata[5])   # n

Indeks negatif dihitung dari belakang:

print(kata[-1])   # n
print(kata[-2])   # o

Jumlah karakter dicek dengan len():

print(len(kata))   # 6

Kalau indeksnya di luar jangkauan, Python memberi IndexError.

Slicing String

Slicing mengambil sebagian string dengan rentang [mulai:selesai]. Karakter pada indeks selesai tidak ikut:

kata = "Python"

print(kata[0:3])   # Pyt
print(kata[:3])    # Pyt
print(kata[3:])    # hon
print(kata[:])     # Python

Slicing juga bisa memakai langkah ketiga. Contoh membalik string:

kata = "Python"
print(kata[::-1])   # nohtyP

Langkah -1 membuat Python membaca dari belakang. Trik membalik string ini sering muncul di soal latihan.

Concatenation

Concatenation adalah menggabungkan dua string dengan tanda +:

depan = "Halo"
belakang = "Dunia"

print(depan + " " + belakang)   # Halo Dunia

Ingat, + hanya bisa menggabungkan sesama string. Mencampur string dengan angka memicu TypeError:

umur = 25
print("Umur: " + umur)          # TypeError
print("Umur: " + str(umur))     # Umur: 25

Konversi dulu dengan str() bila perlu. Untuk menggabungkan banyak bagian, f-string biasanya lebih mudah dibaca.

Repetition

Tanda * mengulang string sebanyak yang diminta:

print("ha" * 3)      # hahaha
print("-" * 20)      # --------------------

Repetition sering dipakai untuk membuat garis pemisah di output:

print("LAPORAN")
print("=" * 30)
print("Total: Rp50000")

Escape Character

Beberapa karakter tidak bisa ditulis langsung di dalam string, misalnya tanda kutip atau baris baru. Untuk itu Python memakai escape character, yaitu tanda \ diikuti kode tertentu:

EscapeArti
\nBaris baru
\tTab
\\Karakter backslash
\'Kutip satu
\"Kutip dua

Contoh pemakaiannya:

print("Baris pertama\nBaris kedua")
print("Nama:\tBudi")
print("Dia berkata \"halo\"")
print("Path: C:\\Users\\Budi")

Tanpa escape, tanda kutip di tengah string akan dianggap penutup dan memicu SyntaxError.

Contoh Program: Format Nama

Mari rapikan nama yang dimasukkan pengguna menjadi huruf kapital di awal setiap kata:

# format_nama.py

nama = input("Nama lengkap: ")

nama_rapi = nama.title()
inisial = ""

for kata in nama_rapi.split():
    inisial += kata[0] + "."

print(f"Nama: {nama_rapi}")
print(f"Inisial: {inisial}")
print(f"Jumlah karakter: {len(nama)}")

Kalau pengguna mengetik budi santoso:

Nama lengkap: budi santoso
Nama: Budi Santoso
Inisial: B.S.
Jumlah karakter: 13

Program ini memakai title() dan split() yang akan dibahas di artikel berikutnya.

Kesalahan Umum Pemula

  • Mencoba mengubah karakter string — string imutabel, memicu TypeError.
  • Menggabungkan string dengan angka — konversi dulu dengan str().
  • Salah indeks — karakter pertama ada di indeks 0.
  • Lupa escape pada tanda kutip — memicu SyntaxError.
  • Menulis path Windows tanpa escape ganda — "C:\Users" salah, gunakan "C:\\Users" atau raw string r"C:\Users".

Ringkasan

  • String dibuat dengan kutip satu, kutip dua, atau tiga kutip untuk banyak baris
  • String bersifat imutabel, isinya tidak bisa diubah
  • Karakter diakses dengan indeks dan slicing, sama seperti list
  • + menggabungkan string, * mengulangnya
  • Escape character \n, \t, dan \\ menuliskan karakter khusus
  • Konversi angka ke string dengan str() sebelum digabungkan

Langkah Selanjutnya

Kamu sudah bisa membuat, mengakses, dan menggabungkan string. Tapi Python masih menyimpan banyak fungsi bawaan untuk mengolah teks, dari mengubah huruf sampai memecah kalimat.

Artikel selanjutnya membahas String Methods di Python, kumpulan method untuk membersihkan dan mengolah teks.