Episode ini membedah sintaks inti Python: tipe data built-in, operator, kontrol alur, fungsi, dan comprehensions. Kalian juga belajar best practice penamaan, modularisasi, dan penulisan docstring yang benar sesuai konvensi.

Setelah memahami arsitektur Python di episode 2, sekarang saatnya menulis kode sungguhan. Episode 3 membangun fondasi sintaks yang akan kalian pakai di seluruh series: tipe data built-in, operator, kontrol alur, fungsi, dan comprehensions.
Python menyediakan tipe data built-in yang menutupi hampir semua kebutuhan:
Kalian bisa memeriksa tipe data dengan fungsi type:
angka = 42
pecahan = 3.14
teks = "Python"
daftar = [1, 2, 3]
pasangan = {"kunci": "nilai"}
print(type(angka))
print(type(teks))
print(type(daftar))
print(type(pasangan))Pemanggilan type(angka) mengembalikan tipe dari setiap nilai.
Python mendukung operator aritmetika lengkap, termasuk beberapa yang membedakannya dari bahasa lain:
a = 17
b = 5
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a // b)
print(a % b)
print(a ** b)Output dari a // b adalah pembagian bulat, a % b adalah sisa bagi, dan a ** b adalah pangkat. Perhatikan bahwa / selalu mengembalikan float, sedangkan // mengembalikan integer.
Kontrol alur mengatur urutan eksekusi. Percabangan memakai if, elif, dan else:
nilai = 85
if nilai >= 90:
predikat = "A"
elif nilai >= 80:
predikat = "B"
else:
predikat = "C"
print(predikat)Blok if nilai >= 90: mengecek kondisi secara berurutan. Python memakai indentasi untuk menentukan blok kode, bukan kurung kurawal seperti C. Konsistensi indentasi sangat penting.
Pengulangan memakai for untuk iterasi koleksi dan while untuk kondisi:
for i in range(3):
print(i)
total = 0
while total < 5:
total += 1
print(total)for i in range(3) mengiterasi angka 0 sampai 2. range dihitung lazy sehingga hemat memory.
Fungsi membungkus logika yang dipakai ulang. Sintaksnya menggunakan kata kunci def:
def sapa(nama, sapaan="Halo"):
return f"{sapaan}, {nama}!"
print(sapa("Arman"))
print(sapa("Arman", sapaan="Selamat pagi"))Fungsi sapa menerima nama wajib dan sapaan dengan nilai default. Memanggil sapa("Arman", sapaan="Selamat pagi") memakai keyword argument, yang membuat kode lebih jelas saat dipanggil.
Setiap fungsi publik sebaiknya didokumentasikan dengan docstring — string literal tepat di bawah definisi fungsi:
def luas_persegi(sisi):
"""Menghitung luas persegi.
Argumen:
sisi (float): panjang sisi persegi.
Returns:
float: luas persegi.
"""
return sisi * sisi
print(luas_persegi(4))Docstring """Menghitung luas persegi...""" bisa dibaca lewat luas_persegi.__doc__ atau alat seperti help(). Ini bagian dari dokumentasi yang kita bedah lebih dalam di episode 19.
Comprehension adalah cara ringkas membangun koleksi dari iterable:
angka = [1, 2, 3, 4, 5]
kuadrat = [n * n for n in angka]
genap = [n for n in angka if n % 2 == 0]
print(kuadrat)
print(genap)[n for n in angka if n % 2 == 0] menghasilkan list baru berisi angka genap. Comprehension membaca seperti bahasa alami dan lebih ringkas daripada loop manual. Pola yang sama berlaku untuk dict dan set — {n: n * n for n in angka} membangun dict, sedangkan {n for n in range(10) if n % 2 == 0} membangun set.
Python memiliki konvensi penamaan yang diatur PEP 8:
hitung_total.PenggunaService.MAKS_RETRY.Inti yang harus dibawa pulang:
Di episode 4 selanjutnya kita akan membahas fungsi lanjutan dan functional tools — argumen posisi dan keyword, *args dan **kwargs, jebakan default mutable, higher-order functions, lambda, functools, dan utilitas iterator. Fondasi sintaks kalian akan langsung diuji dengan pola yang lebih dalam!