Python

Panduan Belajar Python: Pelajari Dasar-Dasar

Language

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:

  • int untuk bilangan bulat
  • float untuk bilangan desimal
  • str untuk teks
  • bool untuk True/False
  • None untuk “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 mutable
  • tuple: berurutan dan immutable
  • set: hanya nilai unik
  • dict: 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() atau float() dan lindungi dengan try/except.
  • Terlalu banyak memakai global variable -> Kirim data ke function dan return hasil secara eksplisit.
  • Salah memilih struktur data -> Gunakan dict untuk data berlabel, set untuk keunikan, list untuk 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 gunakan pdb untuk 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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.