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
pip
untuk 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.