- EN
- ID
Panduan ini untuk siapa
- Pemula yang sudah memasang Python dan membuat virtual environment
- Pembelajar yang ingin fondasi kuat sebelum menyentuh topik lanjutan
- Developer dari bahasa lain yang perlu memahami sintaks dan idiom Python dengan cepat
Apa yang akan Anda pelajari
- Aturan sintaks inti Python, terutama indentation dan struktur yang mudah dibaca
- Variable, data type, operator, dan type conversion dalam penggunaan harian
- Input/output, conditional, loop, function, dan built-in function
- Collection penting: list, tuple, set, dan dictionary
- Pola exception handling dasar untuk program yang lebih aman
Mengapa topik ini penting
Sebagian besar frustrasi di Python berasal dari fundamental yang lemah, bukan algoritma yang rumit. Jika dasar Anda kuat, topik lanjutan menjadi jauh lebih mudah karena Anda sudah paham alur data, cara kerja kontrol program, dan cara debugging masalah sederhana.
Panduan ini adalah fondasi praktis Anda. Anda akan membangun mental model yang diperlukan untuk setiap langkah berikutnya dalam seri ini: object-oriented programming, testing, packaging, dan kode siap production.
Konsep inti
Sintaks, indentation, dan dasar data
Python menggunakan indentation untuk mendefinisikan blok kode. Tidak ada kurung kurawal, jadi spacing yang konsisten wajib.
Gunakan 4 spasi per level indentation. Gunakan nama yang deskriptif.
user_name = "Ava"
age = 21
is_active = True
height = 1.68
middle_name = None
if is_active:
print(f"{user_name} is active.")
print(f"Height: {height} m")
print(f"Middle name set? {middle_name is not None}")
Tipe data dasar yang umum:
intuntuk bilangan bulatfloatuntuk bilangan desimalstruntuk teksbooluntukTrue/FalseNoneuntuk “tidak ada nilai”
Contoh string formatting dan method:
language = "python"
version = 3.12
print(f"Learning {language.title()} {version:.1f}") # f-string formatting
print(language.upper())
print(language.replace("py", "my"))
Control flow: conditional dan loop
Control flow menentukan apa yang kode Anda lakukan dan kapan melakukannya.
score = 78
if score >= 90:
grade = "A"
elif score >= 75:
grade = "B"
else:
grade = "C"
print(grade)
Contoh operator logika:
has_ticket = True
has_id = False
print(has_ticket and has_id) # logical AND
print(has_ticket or has_id) # logical OR
print(not has_id) # logical NOT
Cakupan operator singkat:
a = 10
b = 3
print(a + b) # arithmetic
print(a > b) # comparison
a += 2 # assignment
print(a)
print(a is b) # identity
print(2 in [1, 2, 3]) # membership
print("py" in "python") # membership
Loop memungkinkan Anda mengulang operasi:
for number in range(1, 4):
print(number)
Contoh while + continue:
counter = 0
while counter < 5:
counter += 1
if counter == 3:
continue
print(counter)
Anda juga akan memakai kontrol loop seperti break dan continue saat logika bertambah kompleks.
Contoh operator ternary:
status = "adult" if age >= 18 else "minor"
print(status)
Contoh loop else:
for value in [1, 2, 3]:
if value == 10:
break
else:
print("Value 10 was not found")
Function, collection, dan error handling
Function mengorganisasi logika yang bisa dipakai ulang. Collection menyimpan nilai yang saling terkait.
def average(numbers):
return sum(numbers) / len(numbers)
values = [10, 20, 30]
print(average(values))
Collection penting dalam praktik:
list: berurutan dan mutabletuple: berurutan dan immutableset: hanya nilai unikdict: pasangan key-value
Contoh tuple:
point = (10, 20)
print(point[0], point[1])
Contoh dictionary comprehension:
squared = {n: n * n for n in range(1, 4)}
print(squared)
Exception handling dasar mencegah crash akibat input buruk yang diperkirakan:
try:
value = int("not-a-number")
except ValueError:
print("Please provide a valid integer.")
Contoh try/except/else/finally + custom exception:
class NegativeNumberError(Exception):
pass
def parse_positive(text):
try:
number = int(text)
if number < 0:
raise NegativeNumberError("Number must be >= 0")
except ValueError:
print("Input must be an integer")
return None
except NegativeNumberError as error:
print(error)
return None
else:
print("Valid positive number")
return number
finally:
print("Validation finished")
Panduan langkah demi langkah
Langkah 1 — Bangun script kecil dengan variable, input, dan output
Buat basics_demo.py:
name = input("What is your name? ")
age = int(input("How old are you? "))
print(f"Hello, {name}!")
print(f"Next year, you will be {age + 1}.")
print(type(age))
print(isinstance(age, int))
Ini memberi latihan langsung dengan input(), type conversion, dan output terformat.
Langkah 2 — Tambahkan condition dan loop
Perluas script Anda dengan condition dan loop:
if age >= 18:
print("You are an adult.")
else:
print("You are under 18.")
for i in range(3):
print(f"Loop run #{i + 1}")
Sekarang Anda bisa mengontrol keputusan program dan aksi berulang.
Langkah 3 — Bungkus logika dalam function dan tangani error
Refactor sebagian script ke dalam function dan lindungi konversi yang berisiko:
def to_int(text):
try:
return int(text)
except ValueError:
return None
raw = input("Enter a number: ")
number = to_int(raw)
if number is None:
print("Invalid number.")
else:
print(f"Double value: {number * 2}")
Ini adalah langkah awal menuju kode yang mudah dirawat dan robust.
Fleksibilitas parameter function dengan *args dan **kwargs:
def summarize(*args, **kwargs):
print("args:", args)
print("kwargs:", kwargs)
summarize(1, 2, 3, user="ava", active=True)
Contoh default argument:
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"
print(greet("Ava"))
print(greet("Ava", "Welcome"))
Contoh praktis
Contoh 1 — Expense tracker dengan list dan dictionary
Anda bisa menggabungkan loop, dictionary, dan aritmetika untuk menyelesaikan tugas nyata.
expenses = {
"food": 120,
"transport": 45,
"internet": 30,
}
total = sum(expenses.values())
for category, amount in expenses.items():
print(f"{category}: ${amount}")
print(f"Total: ${total}")
Expected output:
food: $120
transport: $45
internet: $30
Total: $195
Contoh 2 — Hitung kata unik dengan set
Set berguna ketika Anda hanya butuh nilai unik.
sentence = "python is simple and python is powerful"
words = sentence.split()
unique_words = set(words)
print(f"Total words: {len(words)}")
print(f"Unique words: {len(unique_words)}")
print(sorted(unique_words))
Expected output:
Total words: 7
Unique words: 5
['and', 'is', 'powerful', 'python', 'simple']
Kesalahan umum dan cara menghindarinya
- Indentation tidak konsisten -> Gunakan 4 spasi dan atur editor agar menyisipkan spasi, bukan campuran tab/spasi.
- Lupa type conversion untuk input pengguna -> Konversi dengan
int()ataufloat()dan lindungi dengantry/except. - Terlalu banyak memakai global variable -> Kirim data ke function dan return hasil secara eksplisit.
- Salah memilih struktur data -> Gunakan
dictuntuk data berlabel,setuntuk keunikan,listuntuk data berurutan dan mutable. - Mengabaikan exception -> Tangani error yang diperkirakan sedekat mungkin dengan sumber input atau data eksternal.
- Melewatkan debugging tools -> Mulai dengan debugging
print(), lalu gunakanpdbuntuk inspeksi langkah demi langkah.
Pengantar cepat pdb:
import pdb
value = 10
pdb.set_trace()
print(value * 2)
Latihan cepat
- Tulis program yang meminta 5 angka, simpan ke list, lalu cetak min, max, dan average.
- Buat dictionary profil mahasiswa (
name,age,major) lalu cetak dalam kalimat terformat. - Bangun function pembagian aman yang mengembalikan pesan ramah saat membagi dengan nol.
Ringkasan utama
- Dasar Python adalah fondasi untuk setiap topik lanjutan dalam seri ini.
- Sintaks yang terbaca plus control flow yang benar membuat program lebih mudah di-debug dan dirawat.
- Function dan collection adalah alat harian Anda untuk menstrukturkan logika dan data.
- Exception handling dasar mengubah script rapuh menjadi program yang andal.
Langkah berikutnya
Lanjut ke Fitur Lanjutan Python. Di panduan berikutnya, Anda akan mengeksplorasi aturan scope, module, comprehensions, decorators, generators, context managers, dan fitur bahasa yang kuat lainnya.
No Comments