← Semua pembelajaran / Python Dasar
Fase 1 · Variabel & Tipe Data

f-string — Cara Merangkai Teks

Ada tiga cara merangkai teks di Python, tapi hanya satu yang perlu kamu pakai. Pelajari f-string, abaikan sisanya.

Sumber asli docs.python.org Resmi Rangkuman ~4 menit baca

Intisari

  • Tambahkan f sebelum tanda kutip, lalu tulis variabel di dalam kurung kurawal: f"Halo {nama}".
  • Tidak perlu str() lagi — angka, desimal, apa pun, langsung bisa disisipkan.
  • Di dalam kurawal boleh ada hitungan: f"Total {harga * jumlah}".
  • Format angka dengan titik dua: {nilai:.2f} untuk dua desimal, {n:,} untuk pemisah ribuan.
  • Cara lama (% dan .format()) masih ada di tutorial lama — kenali kalau ketemu, jangan dipakai.

Masalahnya dulu

Tanpa f-string, merangkai kalimat dari beberapa variabel terasa berantakan:

nama = "Budi"
umur = 20

print("Halo " + nama + ", umur kamu " + str(umur) + " tahun")

Harus rajin memberi spasi, harus ingat membungkus angka dengan str(), dan sulit dibaca. Dengan f-string:

print(f"Halo {nama}, umur kamu {umur} tahun")

Kalimatnya utuh, variabelnya kelihatan di posisinya, dan tidak ada konversi tipe.

Huruf f itu wajib. Kalau lupa, Python tidak error — ia hanya mencetak kurawalnya apa adanya: Halo {nama}. Kalau outputmu terlihat begitu, itu penyebabnya.

Isi kurawal boleh berupa hitungan

harga = 25000
jumlah = 3

print(f"Total: {harga * jumlah}")           # Total: 75000
print(f"Rata-rata: {(80 + 90) / 2}")        # Rata-rata: 85.0
print(f"Nama pendek: {nama.upper()}")       # Nama pendek: BUDI

Merapikan angka

Bagian setelah titik dua mengatur tampilan — ini yang membedakan output amatir dan output rapi:

nilai = 3.14159
print(f"{nilai:.2f}")        # 3.14      dua angka di belakang koma
print(f"{nilai:.0f}")        # 3         tanpa desimal

harga = 1250000
print(f"Rp {harga:,}")       # Rp 1,250,000   pemisah ribuan

persen = 0.8567
print(f"{persen:.1%}")       # 85.7%     otomatis dikali 100
FormatHasilUntuk apa
{x:.2f}3.14Uang, rata-rata, ukuran
{x:,}1,250,000Angka besar supaya terbaca
{x:.1%}85.7%Persentase
{x:>8}␣␣␣␣BudiRata kanan, untuk tabel
{x:<8}Budi␣␣␣␣Rata kiri, untuk tabel

Perataan itu berguna saat mencetak daftar supaya kolomnya lurus:

print(f"{'Barang':<12}{'Harga':>10}")
print(f"{'Buku':<12}{15000:>10,}")
print(f"{'Pensil':<12}{3500:>10,}")
Barang           Harga
Buku            15,000
Pensil           3,500

Trik debug: = di dalam kurawal

total = 75000
print(f"{total=}")        # total=75000

Mencetak nama variabel sekaligus isinya. Saat kamu sedang mencari tahu kenapa hasil hitungan salah, ini jauh lebih cepat daripada menulis print("total:", total) berulang kali.

Cara lama — kenali, jangan pakai

# Kamu akan menemukan ini di tutorial lama:
"Halo %s, umur %d" % (nama, umur)        # gaya lama sekali
"Halo {}, umur {}".format(nama, umur)    # gaya menengah

# Yang kamu tulis:
f"Halo {nama}, umur {umur}"

Latihan: buat program kasir sederhana. Minta nama barang, harga, dan jumlah; lalu cetak struk rapi berisi baris barang, subtotal, PPN 11%, dan total akhir — semua angka dengan pemisah ribuan.

Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.