Struktur Dasar & Pemrograman Dasar Python
1. Struktur Program & Indentasi
Pada Python, struktur program dibentuk oleh blok kode yang ditandai oleh indentasi. Tidak seperti beberapa bahasa lain yang menggunakan tanda kurung kurawal { }, Python menggunakan spasi/tab untuk menunjukkan blok.
Indentasi yang konsisten (biasanya 4 spasi) sangat penting. Kesalahan indentasi menyebabkan IndentationError.
# contoh indentasi di Python
def cek_nilai(nilai):
if nilai >= 80:
print("Sangat Baik")
elif nilai >= 65:
print("Cukup")
else:
print("Perlu Perbaikan")
cek_nilai(78)
nama dan nilai, lalu cetak: "Nama — Keterangan". Coba jalankan di IDE.
2. Komentar & Gaya Penulisan (PEP 8)
Gunakan komentar untuk menjelaskan logika. Komentar satu baris diawali dengan #. Untuk dokumentasi fungsi gunakan docstring (triple quotes).
PEP 8 adalah pedoman gaya Python: gunakan 4 spasi untuk indentasi, nama variabel snake_case, dan jarak antar fungsi yang konsisten.
# contoh docstring & komentar
def konversi_celcius_to_f(c):
"""
konversi_celcius_to_f(c)
Mengembalikan suhu dalam Fahrenheit untuk nilai celsius c.
"""
# rumus F = C * 9/5 + 32
return c * 9/5 + 32
print(konversi_celcius_to_f(25))
cek_bilangan_prima(n) dengan docstring. Pastikan mengikuti PEP 8 (nama fungsi, indentasi).
3. Variabel & Tipe Data
Variabel adalah wadah untuk menyimpan data. Python mengenali tipe otomatis (dynamic typing), tetapi penting memahami tipe data utama:
- int: bilangan bulat (contoh: -3, 0, 42)
- float: bilangan desimal (contoh: 3.14)
- str: string/teks (contoh: "Halo")
- bool: True / False
- list, tuple, set, dict (kumpulan dan pasangan kunci-nilai)
# contoh variabel & tipe
nama = "Sari"
umur = 17
tinggi = 1.68
aktif = True
nilai = [75, 80, 92]
print(nama, "umur:", umur)
print("Nilai rata-rata:", sum(nilai)/len(nilai))
inventori dengan tipe dict yang memuat 3 item (nama item:kuantitas). Tulis fungsi untuk menambah & mengurangi kuantitas.
4. Konversi Tipe (Casting)
Seringkali kita perlu mengubah tipe data, misal string ke integer. Python menyediakan fungsi konversi built-in:
int(),float(),str(),bool()
# konversi tipe
s = "123"
n = int(s) # 123
f = float("3.14")
b = bool(0) # False, karena 0 dianggap False
print(type(n), n, type(f), f, type(b), b)
5. Operator — Aritmatika, Perbandingan, Logika, Assignment
Operator adalah simbol untuk melakukan operasi pada variabel dan nilai. Jenis umum:
- Aritmatika:
+, -, *, /, //, %, ** - Perbandingan:
==, !=, >, <, >=, <= - Logika:
and, or, not - Assignment & shorthand:
=, +=, -=, *=
# contoh operator
a = 10
b = 3
print("Pembagian biasa:", a / b)
print("Pembagian floor:", a // b)
print("Sisa:", a % b)
a += 5 # a = 15
print("a sekarang:", a)
print("Benar kah a>10 and b<5 ?", a > 10 and b < 5)
6. Kontrol Alur: if, for, while, break, continue, pass
Kontrol alur menentukan urutan eksekusi pernyataan. Contoh umum:
# if / elif / else
nilai = 85
if nilai >= 90:
print("A")
elif nilai >= 75:
print("B")
else:
print("C")
# for loop
for i in range(5):
print(i)
# while loop
j = 0
while j < 3:
print("j:", j)
j += 1
# break & continue
for n in range(10):
if n == 6:
break
if n % 2 == 0:
continue
print("ganjil:", n)
7. Fungsi: Definisi, Parameter, Return, Scope
Fungsi membantu modularisasi kode. Perhatikan scope (lokal vs global) dan pengembalian nilai (return).
# fungsi dengan parameter & return
def luas_persegi_panjang(p, l):
return p * l
hasil = luas_persegi_panjang(5, 3)
print("Luas:", hasil)
# contoh scope
x = 10 # global
def ubah():
x = 5 # lokal
print("x lokal:", x)
ubah()
print("x global:", x)
konversi_km_ke_miles(km) yang mengembalikan nilai miles. Tambahkan handling jika input negatif (kembalikan None).
8. Input & Output (I/O) — Terminal & File
Kamu bisa menerima input dari pengguna via input() dan menyimpan data ke file dengan open/write.
# input sederhana
nama = input("Masukkan nama: ")
print("Halo,", nama)
# menulis file
with open("catatan.txt", "w") as f:
f.write("Catatan belajar Python\\n")
f.write("Belajar fungsi dan loop\\n")
# membaca file
with open("catatan.txt", "r") as f:
print(f.read())
nilai.csv), lalu baca kembali dan hitung rata-rata.
9. Mini-Proyek (Menggabungkan Konsep)
Proyek kecil ini menggabungkan variabel, kontrol alur, fungsi, dan I/O.
Proyek: Aplikasi Catatan Servis Kendaraan (CLI sederhana)
# catatan_servis.py - contoh sederhana
import json
FNAME = "servis.json"
def load_data():
try:
with open(FNAME, "r") as f:
return json.load(f)
except FileNotFoundError:
return []
def save_data(data):
with open(FNAME, "w") as f:
json.dump(data, f, indent=2)
def tambah_servis(nopol, jenis, biaya):
data = load_data()
data.append({"nopol": nopol, "jenis": jenis, "biaya": biaya})
save_data(data)
def tampilkan_semua():
data = load_data()
for d in data:
print(d)
# contoh pemakaian
tambah_servis("B 1234 ABC", "Ganti oli", 150000)
tambah_servis("B 9876 XYZ", "Tune up", 200000)
tampilkan_semua()
10. Tips & Best Practices
- Ikuti PEP 8 agar kode mudah dibaca.
- Dokumentasikan fungsi dengan docstring.
- Gunakan virtual environment (
python -m venv env) untuk proyek. - Pelajari penggunaan
pipuntuk mengelola paket. - Rutin push kode ke GitHub untuk portofolio.
Ringkasan Bab 2
Pada Bab 2 kita telah membahas struktur program, indentasi, komentar, variabel, tipe data, casting, operator, kontrol alur, fungsi, I/O, dan mini-proyek. Setelah menguasai hal ini, kamu siap melangkah ke topik lanjutan seperti modul, package, pemrograman jaringan, dan dasar OOP yang lebih dalam.
