Belajar dengan membaca secara berurutan

Cara Menggunakan String Python (str)

Pelajari tipe string Python (str) dari dasar. Cakup deklarasi, indexing dan slicing, serta metode transformasi dan pemeriksaan utama.

Membuat string

String (str) adalah tipe yang merepresentasikan "urutan karakter". Di Python, nilai apa pun yang dibungkus tanda kutip adalah str.

Ada tiga cara untuk membungkus string, dan kamu memilih yang paling sesuai dengan situasinya.

Tiga cara menulis tanda kutip
'apple'KutiptunggalString satu baris"apple"KutipgandaMudah sisipkan' di dalam"""..."""KutiptripleJaga banyak barisapa adanyamenentukan tipeuntukmenentukan tipeuntukmenentukan tipeuntuk

Ketiganya menghasilkan tipe str yang sama.

Pilihannya tergantung pada "simbol apa yang muncul di dalam teks" dan "apakah kamu butuh baris baru."

Kalau kamu ingin menyertakan baris baru, gunakan escape sequence \n atau bungkus teks dengan kutip triple.

# Kutip tunggal/ganda untuk string satu baris
fruit1 = 'apple'
fruit2 = "banana"

# Kalau teks berisi ', pakai " lebih mudah
message = "it's a pen"

# Untuk menyertakan baris baru -> pakai \n atau kutip triple
text_a = "apple\nbanana\ngrape"
text_b = """apple
banana
grape"""

print(fruit1, fruit2)  # apple banana
print(message)         # it's a pen
print(text_a)          # tampil dalam 3 baris
print(text_b)          # hasil sama dengan text_a

Coba ketiga jenis kutip di console.

① Buat name = "Alice" dan message = 'Hello', lalu print() keduanya.

② Dengan \n, simpan "apple", "grape", dan "lemon" di satu variabel lalu print() agar tampil dalam 3 baris.

③ Dengan kutip triple ("""), simpan "apple", "grape", dan "lemon" di satu variabel lalu print() agar tampil dalam 3 baris.

Python Editor

Jalankan kode untuk melihat output

Mengambil karakter berdasarkan posisi (indexing dan slicing)

Kamu juga bisa mengambil karakter dari string berdasarkan posisi (indeks).

Yang penting adalah indeks dimulai dari 0. Karakter pertama bukan "posisi 1" — melainkan posisi 0.

Mengambil satu karakter — [i]

Tulis string[posisi] untuk mengambil satu karakter di posisi tersebut.

Gunakan angka negatif untuk menghitung dari akhir. -1 adalah karakter paling terakhir.

fruit = "lemon"  # l e m o n

print(fruit[0])   # l  (pertama)
print(fruit[2])   # m  (ke-3)
print(fruit[-1])  # n  (terakhir)
print(fruit[-2])  # o  (ke-2 dari akhir)

# Keluar dari rentang memicu error
# print(fruit[10]) # IndexError
Cara menghitung indeks
lemon01234-5-4-3-2-1

word = "python" sudah disiapkan.

① Cetak karakter pertama dan karakter terakhir dari word dengan print().

② Cetak karakter tengah (yang ke-4) dari word, dihitung dari depan.

Python Editor

Jalankan kode untuk melihat output

Mengambil rentang — slicing dengan [a:b]

Tulis string[awal:akhir] untuk mengambil semuanya dari posisi awal sampai, tetapi tidak termasuk, posisi akhir. Ini disebut slice.

Poin pentingnya adalah rentang setengah terbuka — "sampai satu sebelum akhir." [0:3] memberimu posisi 0, 1, dan 2 (tiga karakter), dan tidak termasuk 3.

Cara kerja slicing
msg= '0123456789'msg[0:3]= '012'msg[:4]= '0123'msg[4:]= '456789'msg[-3:]= '789'msg[:-3]= '0123456'msg[::2]= '02468'a:b:-na:-n:::step

[a:b] termasuk a dan tidak termasuk b.

Hilangkan a untuk mulai dari awal; hilangkan b untuk sampai akhir.

Angka negatif juga bisa — [-3:] adalah 3 karakter terakhir.

msg = "0123456789"

print(msg[0:3])    # '012'   (3 tidak termasuk)
print(msg[:4])     # '0123'  (dari awal)
print(msg[4:])     # '456789'(sampai akhir)
print(msg[-3:])    # '789'   (3 karakter terakhir)
print(msg[:-3])    # '0123456'(semua kecuali 3 terakhir)

Kamu juga bisa menambahkan angka ketiga — [awal:akhir:step] — untuk memilih setiap beberapa karakter. [::2] mengambil setiap karakter ke-2.

Namun, menjejalkan step dan rentang dalam satu baris jadi sulit dibaca, jadi untuk slice yang lebih panjang sebaiknya dipisah ke dua baris.

msg = "0123456789"

# [::step] melompat-lompat di string
print(msg[::2])       # '02468' (setiap ke-2)
print(msg[::3])       # '0369'  (setiap ke-3)

# Memisahkan step ke baris sendiri lebih enak dibaca
head = msg[:6]        # '012345'
skip = head[::2]      # '024' (setiap ke-2)
print(skip)

email = "alice@example.com" sudah disiapkan.

① Gunakan slice untuk mengambil username sebelum @ — yaitu "alice" saja — dan cetak (posisi @ ada di 5).

② Gunakan [-3:] untuk mengambil 3 karakter terakhir "com" dan cetak.

Python Editor

Jalankan kode untuk melihat output

Metode yang mentransformasi string

String punya fitur bawaan yang menghasilkan string baru berdasarkan yang asli, dan itu disebut metode.

Kamu memanggilnya dengan menulis variabel.nama_metode(). Poin pentingnya adalah string asli tidak pernah berubah — string baru yang dikembalikan.

Metode mengembalikan string baru
name= 'alice'.upper()'ALICE'nilai barupanggilmengembalikan

Menyamakan huruf besar/kecil — upper / lower

upper() mengubah jadi huruf besar semua, dan lower() mengubah jadi huruf kecil semua.

Penggunaan paling umum adalah membandingkan string sambil mengabaikan perbedaan huruf besar/kecil. Nama dan alamat email yang diketik user sering datang dengan casing tidak konsisten, jadi kamu menormalkan keduanya ke casing yang sama sebelum membandingkan.

name = "Alice"

print(name.lower())    # alice
print(name.upper())    # ALICE
print(name)            # Alice  (asli tidak berubah)

# Cek apakah dua nama cocok, mengabaikan huruf besar/kecil
input_a = "ALICE"
input_b = "alice"
print(input_a.lower() == input_b.lower())  # True

Mengganti isi dan memangkas tepi — replace / strip

replace("sebelum", "sesudah") mengembalikan string baru di mana setiap "sebelum" diganti dengan "sesudah".

strip() adalah metode yang menghapus spasi di kedua ujung. Cocok sekali untuk membersihkan spasi nyasar yang tidak sengaja ter-paste user ke form.

Cara kerja replace dan strip
'Hello World'.replace('World','Python')'Hello Python'' hi '.strip()'hi'panggildigantipanggildipangkas
greeting = "Hello World"
print(greeting.replace("World", "Python"))  # Hello Python
print(greeting)                             # Hello World (asli tidak berubah)

# Pangkas spasi nyasar (hanya tepi — spasi di dalam tetap)
raw = "  alice@example.com  "
print(raw.strip())        # 'alice@example.com'
print(len(raw))           # 21 (termasuk spasi)
print(len(raw.strip()))   # 17 (spasi hilang)

Ayo bersihkan alamat email yang diketik user.

raw_email = " ALICE@Example.COM " sudah disiapkan.

② Gunakan strip() untuk menghapus spasi di kedua ujung dan lower() untuk mengubah teks jadi huruf kecil, lalu simpan email yang bersih di clean_email.

③ Gunakan print() untuk menampilkan yang asli (raw_email) dan versi yang sudah dibersihkan (clean_email).

Python Editor

Jalankan kode untuk melihat output

Metode yang memeriksa string

Berikutnya adalah metode yang tidak mengubah nilai — hanya memberitahumu sesuatu tentang string.

Metode ini menghitung kemunculan karakter, memeriksa bagian awal atau akhir, mencari posisi, dan memeriksa jenis karakter apa yang ada di dalamnya.

Memeriksa isinya — count / startswith / endswith / find

  • count("teks") — mengembalikan berapa kali teks muncul, sebagai angka
  • startswith("teks") — mengembalikan apakah string dimulai dengan teks (True / False)
  • endswith("teks") — mengembalikan apakah string diakhiri dengan teks (True / False)
  • find("teks") — mengembalikan posisi kecocokan pertama. Kalau tidak ditemukan, mengembalikan -1
msg = "abcCBAabc"

print(msg.count("a"))          # 3  (ada 3 huruf a)
print(msg.count("abc"))        # 1  ('abc' sebagai rangkaian hanya muncul sekali)

print(msg.startswith("abc"))   # True
print(msg.endswith("abc"))     # True

print(msg.find("CBA"))         # 3  (mulai dari posisi 3)
print(msg.find("xyz"))         # -1 (tidak ditemukan, jadi -1)

endswith adalah andalan untuk ekstensi file

Sesuatu seperti filename.endswith(".png") memberimu cara cepat untuk memeriksa apakah sebuah file adalah gambar. Metode ini membedakan huruf besar/kecil, jadi kalau casing-nya bisa campur aduk, pakai filename.lower().endswith(".png") supaya aman.

Ayo buat pemeriksaan cepat untuk baris-baris yang terlihat seperti error di dalam log.

log = "ERROR: disk full at /tmp/log" sudah disiapkan.

① Gunakan startswith untuk memeriksa apakah log diawali dengan "ERROR", lalu cetak hasilnya.

② Gunakan find untuk mendapatkan posisi di mana kata "disk" dimulai di dalam log, lalu cetak juga.

Python Editor

Jalankan kode untuk melihat output

Memeriksa jenis karakter — isdigit / isalpha / islower / isupper

Keluarga metode is...() mengembalikan True / False berdasarkan apakah seluruh string memenuhi kondisinya. Perhatikan bahwa satu spasi atau simbol saja yang tercampur sudah cukup untuk membuatnya mengembalikan False.

MetodeMengembalikan True ketika
isdigit()setiap karakter adalah digit (0–9)
isalpha()setiap karakter adalah huruf, termasuk karakter CJK (False kalau ada spasi, digit, atau simbol yang tercampur)
isupper()setiap huruf adalah huruf besar
islower()setiap huruf adalah huruf kecil
print("123".isdigit())       # True
print("12a".isdigit())       # False (ada 'a' yang tercampur)

print("Tokyo".isalpha())     # True
print("Tokyo 2024".isalpha())# False (berisi spasi dan digit)

print("HELLO".isupper())     # True
print("Hello".islower())     # False

Jangan pakai isdigit untuk mengecek "apakah ini bisa jadi angka"

isdigit() hanya mengembalikan True untuk string yang terlihat seperti bilangan bulat non-negatif. "-12" dan "3.14" keduanya mengembalikan False. Kalau kamu perlu menangani string dengan tanda minus atau titik desimal sebagai angka, lewati isdigit() dan sebagai gantinya teruskan string ke int() / float() lalu gunakan exception handling untuk memeriksa apakah berhasil.

Ayo cek apakah string dari user dalam bentuk angka yang bisa digunakan (bilangan bulat non-negatif).

value = "42" sudah disiapkan.

① Gunakan isdigit() untuk memeriksa apakah value hanya terdiri dari digit, lalu print() hasilnya.

② Kalau hasilnya True, konversi value menjadi angka dengan int() lalu cetak hasil ditambah 10. Petunjuk: isdigit() bisa langsung dipakai sebagai kondisi di pernyataan if.

Python Editor

Jalankan kode untuk melihat output

Di artikel ini kamu sudah mempelajari tiga jenis kutip, cara mengambil karakter dengan indexing dan slicing, dan serangkaian metode transformasi dan pemeriksaan.

String adalah salah satu tipe yang paling sering kamu pakai dalam sebuah program. Metode-metode yang ditunjukkan di sini bisa langsung dipakai kembali ketika kamu mulai menangani input user di artikel-artikel berikutnya, jadi luangkan waktu sedikit untuk menjalankan contohnya agar terbiasa.

QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Ketika word = "python", berapa nilai word[-2]?

Soal 2Ketika s = "abcdefg", berapa nilai s[1:4]?

Soal 3Apa hasil dari " Hello World ".strip().lower()?