Sintaks Dasar, Variabel & I/O
Aturan indentasi PEP 8, penamaan variabel, input data pengguna dengan input(), formatting output dengan f-string, dan konversi tipe data.
- Memahami aturan blok kode berbasis Indentasi (Whitespace) di Python.
- Mengetahui konsep variabel sebagai label penunjuk memori (Memory Reference).
- Menggunakan komentar untuk dokumentasi kode yang bersih.
- Menggunakan fungsi
print()dan membaca masukan pengguna denganinput().
1. Aturan Indentasi (Blok Kode)
Berbeda dengan bahasa C, C++, atau Java yang menggunakan kurung kurawal {} untuk menandai cakupan blok kode (misalnya isi percabangan atau fungsi), Python menggunakan spasi indentasi (whitespace).
Standar resmi komunitas Python (PEP 8) menetapkan penggunaan 4 spasi per level indentasi. Jangan mencampur penggunaan tab dan spasi dalam satu file.
nilai = 85
# Tanda titik dua (:) mengawali blok yang diindentasi
if nilai >= 75:
print("Selamat!")
print("Anda dinyatakan LULUS.")
else:
print("Tetap semangat, coba lagi.")
print("Program selesai dieksekusi.")
- Baris 1: Variabel
nilaidiberi nilai integer85. - Baris 4: Statemen
if nilai >= 75:diakhiri tanda titik dua (:) yang menandakan dimulainya blok percabangan. - Baris 5 & 6: Diberi indentasi 4 spasi ke kanan. Kedua baris ini hanya akan dieksekusi jika kondisi
nilai >= 75bernilaiTrue. - Baris 10: Kembali ke kolom paling kiri (tanpa indentasi), sehingga perintah ini berada di luar percabangan dan pasti dieksekusi.
2. Komentar dalam Python
Komentar digunakan untuk memberikan penjelasan pada kode agar mudah dipahami oleh programmer lain. Interpreter Python akan mengabaikan seluruh baris komentar saat program dijalankan.
# 1. Komentar Satu Baris (Single Line) menggunakan tanda pagar '#'
kecepatan_maks = 120 # Ini juga komentar di akhir baris
"""
2. Komentar Multi Baris (Docstring)
Dapat menggunakan tiga tanda petik ganda atau tiga tanda petik tunggal.
Biasa digunakan untuk mendokumentasikan modul, class, atau fungsi.
"""
def hitung_diskon(harga, persen):
"""Menghitung nilai potongan harga berdasarkan persentase."""
return harga * (persen / 100)
3. Variabel & Konsep Model Memori
Di Python, Anda tidak perlu mendeklarasikan tipe data secara manual (seperti int x = 5). Python menggunakan sistem dynamic typing.
a = 10, Python membuat objek integer 10 di memori lalu menempelkan label a ke objek tersebut.
Aturan Wajib Penamaan Variabel (PEP 8):
- Hanya boleh memuat huruf (a-z, A-Z), angka (0-9), dan garis bawah (
_). - Harus diawali huruf atau garis bawah, TIDAK boleh diawali angka (contoh:
1namaadalah ❌ SALAH,nama_1adalah ✔️ BENAR). - Bersifat Case-Sensitive (
umur,Umur, danUMURadalah 3 variabel berbeda). - Gunakan gaya
snake_casedengan huruf kecil dan pemisah garis bawah untuk variabel & fungsi (contoh:total_harga_belanja).
# Deklarasi variabel berbagai tipe
nama_lengkap = "Ahmad Dahlan" # String (str)
usia = 24 # Integer (int)
tinggi_badan = 172.5 # Float (float)
is_mahasiswa = True # Boolean (bool)
# Multiple Assignment
x, y, z = 10, 20, 30
a = b = c = 100
print(nama_lengkap, usia, tinggi_badan, is_mahasiswa)
4. Input dan Output (Interaksi Pengguna)
Format Output Modern dengan f-string
Cara paling bersih dan cepat untuk menggabungkan teks dengan nilai variabel adalah menggunakan Formatted String Literal (f-string) yang diawali huruf f"..." dan variabel diapit kurung kurawal {variabel}.
# Membaca masukan dari pengguna
nama = input("Masukkan nama Anda: ")
tahun_lahir_str = input("Masukkan tahun kelahiran Anda: ")
# Jebakan pemula: input() SELALU mengembalikan tipe String (str)!
# Wajib di-casting ke int() sebelum operasi matematika
tahun_lahir = int(tahun_lahir_str)
tahun_sekarang = 2026
umur = tahun_sekarang - tahun_lahir
print(f"Halo {nama}, usia Anda di tahun {tahun_sekarang} adalah {umur} tahun.")
5. Jebakan Umum Pemula & Cara Mengatasinya
Penyebab: Ada spasi berlebih atau tidak sengaja meletakkan spasi di awal baris kode normal.
Solusi: Pastikan kode di luar percabangan/fungsi selalu rata di margin paling kiri (kolom 1).
Penyebab: Menggunakan operator
+ untuk menggabungkan string dan angka tanpa f-string (misal: "Umur: " + 25).
Solusi: Gunakan f-string
f"Umur: {25}" atau lakukan konversi eksplisit str(25).
6. Kuis Pemahaman & Latihan
x = input("Angka: ") # Pengguna mengetik 5
print(x * 3)
Klik untuk melihat jawaban & pembahasan
555
Penjelasan: Karena
input() menghasilkan tipe string "5", operator * pada string berfungsi sebagai pengulangan teks (string repetition), bukan perkalian matematika. Jika ingin hasilnya 15, ubah menjadi int(x) * 3.
Tantangan 2: Kalkulator Luas & Keliling Persegi Panjang
Buat program persegi_panjang.py yang meminta masukan panjang dan lebar, kemudian hitung dan cetak:
• Luas: panjang * lebar
• Keliling: 2 * (panjang + lebar)
float(input(...)) agar program dapat menerima angka desimal (contoh panjang 7.5 cm dan lebar 3.2 cm).
| Sintaks / Perintah | Keterangan Fungsi |
|---|---|
variabel = nilai |
Menugaskan nilai data ke dalam suatu nama variabel |
a, b = 10, 20 |
Multiple assignment (penugasan banyak variabel sekaligus) |
a, b = b, a |
Simultaneous swap (menukar nilai variabel tanpa variabel temp) |
nama_variabel |
Konvensi snake_case PEP 8 untuk penamaan variabel |
4 Spasi (Tab) |
Standar indentasi resmi Python untuk blok kode |
Jobsheet 01: Fondasi, Operator & CLI I/O
Uji pemahaman variabel dan penugasan nilai dengan menyelesaikan studi kasus konversi suhu Celcius ke Reamur & Kelvin.
Python membedakan huruf besar dan kecil (case sensitive), serta melarang variabel diawali oleh angka atau memuat spasi.
# SyntaxError: invalid decimal literal
1nama_user = "Budi" # Tidak boleh diawali angka
# NameError: name 'Nama' is not defined
nama = "Budi"
print(Nama) # Variabel 'Nama' tidak sama dengan 'nama'
# Solusi Benar:
nama_user_1 = "Budi" # Angka boleh ditaruh di tengah/akhir
nama = "Budi"
print(nama) # Konsisten dengan huruf kecil
nama != Nama). Gunakan format snake_case dengan karakter huruf kecil dan garis bawah (_) sebagai pemisah kata.
PEP 8 menetapkan standar penamaan variabel yang deskriptif dan cara pertukaran nilai yang elegan tanpa variabel penampung sementara.
# Kurang Pythonic (Nama samar & swap butuh temp)
p = 10
l = 5
# Menukar nilai variabel p dan l:
temp = p
p = l
l = temp
# Pythonic (PEP 8 snake_case & Simultaneous Swap)
panjang_persegi = 10
lebar_persegi = 5
# Menukar nilai dalam 1 baris bersih:
panjang_persegi, lebar_persegi = lebar_persegi, panjang_persegi
temp.
Cek Pemahaman Mandiri
Uji pemahaman Anda terhadap konsep bab ini dengan feedback evaluasi instan.
Manakah penulisan nama variabel yang VALID dan sesuai konvensi PEP 8 di Python?
💡 Pembahasan: Nama variabel di Python tidak boleh diawali angka (2total), tidak boleh mengandung tanda minus (-), tidak boleh menggunakan kata kunci khusus (seperti class), dan disarankan menggunakan format snake_case.
Apa yang dimaksud dengan sifat Dynamic Typing pada variabel Python?
💡 Pembahasan: Dynamic typing memungkinkan Python mendeteksi tipe data secara otomatis berdasarkan nilai yang diisikan, dan sebuah variabel bisa diisi ulang dengan tipe data berbeda sewaktu-waktu.