Teks hadir di mana-mana: nama pengguna, pesan error, isi file, hingga respons dari sebuah API. Python menyimpan teks dalam tipe str yang kaya fitur. Chapter ini memperkenalkan hal yang paling mendasar — cara membuat string, operasi dasarnya, dan sifat immutable-nya — karena pembahasan string secara menyeluruh (slicing, method lengkap, dan formatting) akan kita dalami pada Section String dan Text Processing.
Membuat String #
String dibuat dengan membungkus teks dalam tanda kutip, baik kutip tunggal ('...') maupun kutip ganda ("..."). Keduanya setara; kita tinggal memilih yang paling nyaman sesuai isi teks:
nama = "Budi"
pesan = 'Selamat datang'
kutipan = "Budi berkata: 'Halo!'"
print(nama)
print(pesan)
print(kutipan)Output yang Dihasilkan:
Budi
Selamat datang
Budi berkata: 'Halo!'Pada baris ketiga, tanda kutip tunggal di dalam teks aman dipakai karena pembatas string-nya adalah kutip ganda. Jika teks perlu memuat kedua jenis kutip sekaligus, gunakan karakter escape seperti \' dan \".
Perlu ditegaskan: kutip tunggal dan kutip ganda menghasilkan nilai str yang persis sama — 'Budi' dan "Budi" adalah string identik, bukan dua tipe berbeda. Pemilihan kutip hanyalah urusan gaya. Pilih satu gaya lalu gunakan secara konsisten di seluruh kode agar mudah dibaca tim.
Untuk teks yang membentang beberapa baris, gunakan kutip tiga ("""...""" atau '''...'''). Interpreter Python menjaga pemenggalan baris apa adanya:
pesan = """Halo, Budi!
Selamat belajar Python."""
print(pesan)Output yang Dihasilkan:
Halo, Budi!
Selamat belajar Python.Operasi Dasar String #
Beberapa operasi paling sering dipakai sehari-hari:
nama = "Budi"
print(len(nama))
print("Halo, " + nama + "!")
print(nama * 3)
print(nama.upper())Output yang Dihasilkan:
4
Halo, Budi!
BudiBudiBudi
BUDIMari kita telaah baris-baris kode di atas:
- Baris 2 (
print(len(nama))): fungsilen()menghitung jumlah karakter string"Budi", hasilnya4. - Baris 3 (
print("Halo, " + nama + "!")): operator+menggabungkan (concatenation) beberapa string menjadi satu. - Baris 4 (
print(nama * 3)): operator*mengulang stringnamasebanyak tiga kali. - Baris 5 (
print(nama.upper())): method.upper()mengembalikan string baru dengan seluruh huruf kapital.
Setiap karakter string dapat dibaca lewat posisi indeksnya dalam kurung siku, dimulai dari 0 untuk karakter pertama. Indeks negatif membaca dari belakang, sehingga -1 adalah karakter terakhir:
nama = "Budi"
print(nama[0])
print(nama[-1])Output yang Dihasilkan:
B
iString Bersifat Immutable #
Inilah sifat yang paling membedakan str dari banyak tipe data lain: sekali dibuat, isi string tidak bisa diubah (immutable). Interpreter Python menolak penggantian karakter di posisi tertentu:
nama = "budi"
nama[0] = "B"
print(nama)Output yang Dihasilkan:
TypeError: 'str' object does not support item assignmentInterpreter Python menghentikan program karena operasi penugasan nama[0] = "B" mencoba mengubah object string yang sudah jadi. Untuk “mengubah” teks, kita membangun string baru lalu mengikatkan ulang nama variabelnya:
nama = "budi"
nama = "B" + "udi"
print(nama)Output yang Dihasilkan:
BudiPerhatikan bahwa baris nama = "B" + "udi" membuat object string baru, lalu nama nama dipindahkan ke object itu — persis pola rebinding yang sudah kita kenal pada Chapter Variabel dan Assignment.