edubun
Bahasa Indonesia

String: mengolah teks

Python menghitung huruf dalam "Python" mulai dari 0, sehingga "Python"[5] adalah huruf terakhir, n, sedangkan "Python"[6] menghasilkan kesalahan.

Teks pada label nama perlu dirangkai dari beberapa bagian

Bayangkan label nama di acara sekolah atau pertemuan klub. Setiap label memiliki tata letak sama dengan nama berbeda, sehingga program bisa mencetak semuanya dari satu pola. Teks dalam Python disebut string. Cara tercepat merangkainya dari beberapa bagian adalah f-string: letakkan huruf f sebelum tanda kutip pembuka dan tulis nama variabel di dalam kurung kurawal. Python mengganti setiap {name} dengan nilai variabel tersebut.

name = "Mina"
club = "Robotics"
print(f"Hello, {name}!")
print(f"{name} joined {club}.")
Keluaran
Hello, Mina!
Mina joined Robotics.

Ada dua cara lama untuk menggabungkan teks. Operator + menyambung string, dan * mengulang string. Kedua sisi + harus berupa string, sehingga angka harus diubah menjadi teks dengan str() terlebih dahulu. Pada f-string, perubahan itu dilakukan otomatis. Itulah salah satu alasan f-string biasa dipilih.

item = "gimbap"
count = 2
print(item + " x " + str(count))
print("-" * 12)
print(f"{item} x {count}")
Keluaran
gimbap x 2
------------
gimbap x 2

Setiap karakter memiliki nomor posisi, dimulai dari 0

String adalah deretan karakter, dan masing-masing memiliki indeks. Karakter pertama berada pada indeks 0, bukan 1. Kurung siku memilih satu karakter: word[0] adalah yang pertama. Indeks negatif dihitung dari belakang, sehingga word[-1] selalu karakter terakhir, berapa pun panjangnya. len() memberikan jumlah karakter, termasuk spasi dan tanda baca.

Nomor indeks untuk "Python": 0 sampai 5 dari depan, -6 sampai -1 dari belakang. Irisan word[0:2] berhenti sebelum indeks 2.
word = "Python"
print(word[0], word[5], word[-1])
print(len(word))
print(word[0:2], word[2:])
Keluaran
P n n
6
Py thon

word[0:2] adalah irisan: dimulai pada indeks 0 dan berhenti tepat sebelum indeks 2, menghasilkan "Py". Hilangkan batas akhir, seperti pada word[2:], dan irisan berlanjut sampai akhir string. Aturan berhenti-sebelum ini awalnya terasa aneh, tetapi membuat word[0:2] + word[2:] selalu menghasilkan kembali kata utuh.

Metode string mengembalikan string baru

String memiliki alat bawaan yang disebut metode, ditulis setelah titik. upper() dan lower() mengubah huruf besar atau kecil, replace(old, new) mengganti setiap kemunculan suatu teks dengan teks lain, dan strip() menghapus spasi di kedua ujung, berguna saat seseorang mengetik spasi berlebih dalam formulir. Kata kunci in memeriksa apakah satu string terdapat dalam string lain dan menghasilkan True atau False. Tidak satu pun mengubah string asli. String tidak dapat diubah setelah dibuat; setiap metode mengembalikan string baru, yang dapat kamu simpan dengan menugaskannya ke sebuah nama.

menu = "  tteokbokki  "
clean = menu.strip()
print(clean.upper())
print(clean.replace("k", "K"))
print("bok" in clean, len(menu), len(clean))
Keluaran
TTEOKBOKKI
tteoKboKKi
True 14 10

Untuk memasukkan tanda kutip ke dalam string, gunakan jenis kutip lainnya sebagai pembungkus: "It's fine". Garis miring terbalik memulai urutan escape: \n dalam string berarti "mulai baris baru di sini", sehingga satu print bisa menampilkan dua baris.

print("It's lunch time.")
print("Line one\nLine two")
Keluaran
It's lunch time.
Line one
Line two
f-stringf"...{name}..." memasukkan nilai ke dalam teks
indeksNomor posisi karakter, dimulai dari 0
irisans[a:b]: dari indeks a sampai tetapi tidak termasuk b
len()Jumlah karakter dalam string
metodeAlat yang ditulis setelah titik, seperti s.upper()
\nUrutan escape untuk baris baru
in"a" in "cat" menghasilkan True
  1. Apa yang dicetak kode ini?
    word = "banana"
    print(word[1])
  2. Apa yang dicetak kode ini?
    word = "banana"
    print(word[-2])
  3. Apa yang dicetak kode ini?
    print(len("Hi there!"))
  4. Apa yang dicetak kode ini?
    word = "school"
    print(word[1:4])
  5. Apa yang dicetak kode ini?
    name = "Jun"
    print(f"Hi {name}, you are {13 + 1}.")
  6. Apa yang dicetak kode ini?
    print("ab" * 3)
  7. Apa yang dicetak kode ini?
    s = "hello"
    s.upper()
    print(s)
    • HELLO
    • hello
    • Hello
    • Kesalahan
  8. Apa yang dicetak kode ini?
    print("rice" in "fried rice")
  9. Apa yang dicetak kode ini?
    name = "Mina"
    print(f"{name}")
    print("{name}")
    • Mina
      Mina
    • Mina
      {name}
    • {name}
      Mina
    • {name}
      {name}
  10. Apa yang dicetak kode ini?
    print("Total: " + str(3 * 1000))
    • Total: 3000
    • Total: 3 * 1000
    • Total: 31000
    • Kesalahan
Kesalahan umum
  • "Huruf pertama adalah word[1]." Indeks dimulai dari 0, sehingga word[1] adalah huruf kedua. Indeks terakhir yang sah adalah len(word) - 1; "Python"[6] berhenti dengan IndexError: string index out of range.
  • "Age: " + 15 mencetak Age: 15 String dan int tidak dapat digabungkan dengan +. Python berhenti dengan TypeError: can only concatenate str (not "int") to str. Gunakan str(15) atau f-string.
  • "Aku bisa memperbaiki satu huruf dengan word[0] = "J"." String tidak dapat diubah langsung: TypeError: 'str' object does not support item assignment. Buat string baru sebagai gantinya, misalnya "J" + word[1:].
Catatan untuk guruMenghitung dari 0 perlu gambar, bukan sekadar aturan. Gambar kotak dengan angka di atas dan bawahnya seperti pada ilustrasi, lalu minta siswa menunjuk word[2] dan word[-2] sebelum mengetik apa pun. Irisan lebih mudah dipahami jika angka dilihat sebagai batas antarkotak, bukan label kotak. Kekeliruan upper() (memanggil metode tanpa menyimpan hasil) akan muncul lagi pada list, jadi luangkan waktu sebentar sekarang. Pada fon Windows Korea, garis miring terbalik bisa terlihat sebagai simbol won; tombol dan karakternya tetap sama bagi Python.
Poin penting
  • f"...{x}..." memasukkan nilai ke dalam teks.
  • Indeks dimulai dari 0; -1 adalah karakter terakhir.
  • s[a:b] berjalan dari a sampai sebelum b.
  • Metode seperti upper() mengembalikan string baru; string asli tidak berubah.
  • "\n" adalah pemisah baris dalam string.
Sumber kursus ini (6)
  • Python Software Foundation, The Python Tutorial for Python 3.12 (docs.python.org/3.12/tutorial: 2 Using the Python Interpreter, 3 An Informal Introduction to Python (numbers, text, lists), 4 More Control Flow Tools (if, for, range, break and continue, defining functions, default argument values, 4.10 coding style: 4-space indentation), 5 Data Structures (list methods, 5.5 dictionaries, insertion order), 8 Errors and Exceptions (syntax errors, exceptions, reading the traceback, handling exceptions), 15 Floating-Point Arithmetic (0.1 + 0.2))
  • Built-in Functions (docs.python.org/3.12/library/functions.html: print, input, len, int, float, str, type, round (round half to even: round(0.5) and round(-0.5) are 0, round(1.5) is 2), range, sum, min, max, sorted)
  • Built-in Types (str methods upper, lower, replace, strip; dict.get; list.append, pop, remove, sort returning None)
  • General Python FAQ (docs.python.org/3.12/faq/general.html: Guido van Rossum began Python in the 1989 Christmas holidays, posted it to USENET in February 1991, named it after Monty Python's Flying Circus)
  • Curriculum for the Korean pages: 교육부 고시 제2022-33호 [별책 10] 정보과 교육과정 (PDF read 2026-10-19: 중학교 정보 [9정03-05] 리스트 등 데이터를 순차적으로 저장하는 구조, [9정03-06] 논리 연산과 중첩 제어 구조, [9정03-07] 함수 활용과 디버거로 오류 수정, [9정03-08] 실생활 문제를 프로그래밍으로 해결, 적용 시 고려 사항 「학생의 수준을 고려하여 적합한 프로그래밍 언어를 선정」; 고등학교 정보 [12정03-04] 자료형, [12정03-05] 표준입출력, [12정03-07] 제어 구조)
  • Bug story only: Smithsonian National Museum of American History, Log Book With Computer Bug, 1947, Harvard Mark II, "first actual case of bug being found", probably not Hopper's log book (americanhistory.si.edu/collections/object/nmah_334663, read 2026-10-19)

Diperiksa: 2026-10-19