Hari ini programmu pertama kali bertanya — bukan lagi pengumuman satu arah, tapi percakapan.
input() — dan pahami kenapa hasilnya selalu stringf-string + atur sep/endint()/float() sebelum berhitung — tanpa TypeErrorinput() + prompt yang jelasprint(), termasuk sep & endf-stringint/float sebelum dihitung* prompt = teks pertanyaan di dalam input() · konversi = mengubah tipe data, mis. teks "16" jadi angka 16.
Game, kalkulator, chatbot — semuanya dimulai dari satu kebiasaan: tanya, simpan, jawab.
input() = formulir pendaftaran — panitia nggak menebak namamu, mereka kasih kolom kosong lalu menunggu.
Dan isinya — apa pun bentuknya — dicatat sebagai tulisan.
int, float, str, booltype() & konversi int()/float()/str()Masih inget bedanya int dan str? Jawabanmu hari ini langsung kepakai — karena input() selalu memberimu str.
"16" itu tipe datanya apa?16 (tanpa petik) itu tipe datanya apa?Peta perjalanan: kamu di barisan ke-5 dari 17 — sudah 29% perjalanan!
input() — suruh program mendengarkannama = input("Siapa namamu? ")
print("Halo,", nama)
Budi itu ketikan kamu — bukan yang ditulis di kode. Program membaca dunia luar untuk pertama kalinya.
Dari sini semua game & chatbot lahir: tanya → simpan → proses → jawab balik.
umur = input("Umur: ") # kamu ketik: 16
print(umur + umur)
32? Salah. Yang muncul: 1616 — karena "16" itu tulisan, dan + untuk teks artinya menyambung, bukan menjumlah.
Panitia menerima apa pun yang kamu tulis di kolom umur sebagai catatan tertulis — walau isinya "16". Mau dihitung? Tulisannya harus diubah jadi angka dulu.
Satu kalimat yang wajib nempel: mau dihitung? bungkus dulu dengan int() atau float().
umur = input("Umur: ") # ketik: 16
print(umur + 1) # BOOM!
Terjemahan bebas: "teks + angka? Saya nggak bisa."
TypeError: tipe data tidak cocokumur masih str, 1 itu intError itu alarm, bukan pembongkar — dia bilang apa yang salah & di mana. Kamu cuma perlu membacanya.
Obatnya satu baris — dibuka di slide berikutnya: bungkus dengan int().
int() & float() — ubah tulisan jadi angkaumur = int(input("Umur: "))
print("Tahun depan:", umur + 1)
tinggi = float(input("Tinggi (m): "))
print("Tinggimu", tinggi, "meter")
Bukti cepat dengan type(): sebelum konversi str, sesudahnya int. Coba sendiri: print(type(umur)).
Ukurannya jangan ketuk dua kali: int(input(...)) langsung jadi satu — baca dari dalam ke luar.
nama = "Budi"
umur = 16
print(f"Halo, {nama}! Umurmu {umur}.")
print(f"Tahun depan kamu {umur + 1}.")
str() dulu — angka otomatis diubahDi dalam {} boleh ekspresi, bukan cuma variabel: {umur + 1} dihitung dulu, hasilnya baru dicetak.
Bandingkan versi koma: print("Halo,", nama, "!") — ada spasi nyempil sebelum !. f-string tidak punya masalah itu.
nama lewat input(), jawab dengan f-string: Halo, ...! Selamat belajar Python.int(), cetak Tahun depan kamu ... tahun.type(nama) dan type(umur) — buktikan bedanya sebelum & sesudah konversiKursor diam = program nunggu kamu ketik — klik terminal dulu, ketik, Enter. Error? Baca 3 langkahnya: jenis, lokasi, penyebab.
Waktu: 10 menit. Yang selesai duluan — uji dengan nama teman sebangku & umur dia.
sep & end — atur cetakanmuprint("CSSE", "Input", "Output", sep=" | ")
print("Belajar", end=" -> ")
print("berhasil")
Dua print() terakhir nempel satu baris — karena end=" -> " meniadakan pindah baris.
Coba tebak dulu: sep="..." hasilnya apa? Prediksi, baru Run — itu kebiasaan programmer sungguhan.
panjang & lebar (pakai float()), hitung luas = panjang * lebar, cetak dengan f-string10 & 5 → 50.0, lalu 2.5 & 4 → 10.0. Kenapa muncul .0? Karena float — dan itu wajar.Simpan luas di variabel terpisah — jangan dijitip langsung di print(). Kebiasaan kecil, kode jauh lebih kebaca.
Waktu: 10 menit. Ini studi kasus kumulatifmu: input (hari ini) × operator (minggu depan full) × f-string.
nama, umur (int), kotainput() + konversi int() + f-string + sep/end — semuanya pelajaran 30 menit terakhir. Tidak ada yang baru — ini digabung.
Waktu: 10 menit. Yang cepat: tambah input keempat (hobi) dan selipkan ke kalimat.
nama = input("Nama: ")
umur = int(input("Umur: "))
kota = input("Kota: ")
print(f"Halo, namaku {nama}, umur {umur} tahun, dari {kota}.")
print(f"Satu tahun lagi kamu berumur {umur + 1} tahun.")
umur dibungkus int() — siap dihitung{umur + 1} — ekspresi di dalam f-stringKode yang menjawab 3 pertanyaan berbeda dan menyusun jawabannya jadi satu kalimat utuh — itu sudah program interaktif sungguhan.
Yang sampai sini dengan usaha sendiri — kamu sudah nulis percakapan pertamamu dengan komputer.
umur = input("Umur: ") # tetap str
print(umur + 1) # BOOM!
Gejala: TypeError: can only concatenate str (not "int") to str. Obat: bungkus int()/float().
umur = int(input("Umur: "))
# ketik "delapan" → ValueError!
Gejala: ValueError: invalid literal for int(). Itu alarm "isi formulirnya salah" — bukan program rusak. Coba lagi dengan angka murni.
nama = input("Nama: ")
# kursor berkedip... nunggu kamu!
Itu bukan hang — input() sedang menunggu. Klik terminal, ketik jawaban, Enter.
luas = 10.0 * 5.0
print(luas) # 50.0 — float!
Bukan bug — float memang selalu tampil dengan .0. Diskusikan kapan butuh desimal, kapan tidak.
Bonus jebakan: NameError: name 'nama' is not defined — variabel dipakai sebelum diisi, atau salah eja (NAMA vs nama). Python peka huruf besar-kecil!
input() = formulir — program berhenti, menunggu, lalu menyimpan ketikanmu"16" (tulisan), bukan angkaint() untuk bulat, float() untuk desimalf"Halo {nama}" — kalimat rapi, variabel & ekspresi masuk langsungsep atur pemisah, end atur penutup — dan TypeError/ValueError itu alarm yang bisa kamu bacaHari ini programmu bisa bertanya — minggu depan dia belajar berhitung: 7 operator aritmatika + logika True/False.
Termasuk tiga serangkai pembagian yang jarang dipahami orang: / · // · % — dan kenapa 37 jam = 1 hari 13 jam.
hobi & makanan favorit — satu kalimat utuh f-string20000, beli 2 bakso 8000 — sisa berapa?