cv.cm

Pemrograman · Bahasa pemrograman

Tutorial Python untuk pemula

5 menit baca

Jawaban singkat

Python adalah bahasa pemrograman serbaguna yang diinterpretasikan, dikenal dengan sintaks mudah dibaca yang memakai indentasi, bukan kurung kurawal. Instal Python 3, simpan print("Hello, world") di hello.py, lalu jalankan python3 hello.py. Konsep intinya: tipe dinamis, fungsi yang dibuat dengan def, list, dict, dan set bawaan, exception yang ditangani dengan try/except, serta pustaka standar yang besar.

Buka Penguji regex

Apa itu Python dan untuk apa dipakai

Python adalah bahasa tingkat tinggi dengan tipe dinamis yang pertama kali dirilis oleh Guido van Rossum pada 1991. Kode dijalankan oleh interpreter (yang menjadi acuan adalah CPython), sehingga tidak ada langkah kompilasi terpisah. Python dipakai untuk analisis data dan machine learning (NumPy, pandas, PyTorch), back end web (Django, Flask, FastAPI), skrip otomatisasi, komputasi ilmiah, dan pengajaran. Python 2 sudah mencapai akhir masa dukungan pada 2020, jadi pelajari Python 3.

Instal Python dan jalankan Hello, world

Unduh installer dari python.org (Windows, macOS) atau gunakan package manager di Linux. Periksa instalasinya dengan python3 --version (di Windows perintahnya sering py atau python). Simpan file ini sebagai hello.py:

print("Hello, world")
python3 hello.py
# Hello, world

Menjalankan python3 tanpa file akan membuka prompt interaktif (REPL), yang berguna untuk mencoba kode satu baris demi satu baris.

Variabel dan tipe data dasar

Variabel dibuat dengan memberinya nilai. Anda tidak perlu mendeklarasikan tipe; nilai itulah yang membawa tipenya, dan type(x) memberi tahu tipe tersebut.

TipeContohCatatan
int42, -7, 10**20Bilangan bulat dengan ukuran berapa pun
float3.14, 1e-3Floating point 64-bit
boolTrue, FalseDiawali huruf kapital
str"hi", 'hi'Teks Unicode yang immutable
NoneNoneTidak adanya nilai
name = "Ada"
age = 36
height = 1.65
print(f"{name} is {age} years old")  # Ada is 36 years old
print(7 / 2, 7 // 2, 7 % 2)          # 3.5 3 1
print(int("12") + 1)                 # 13

Alur kontrol: if, for, dan while

Blok diawali tanda titik dua dan ditentukan oleh indentasi (secara konvensi 4 spasi). Perulangan for mengiterasi urutan apa pun; range(n) menghasilkan angka 0 sampai n−1.

score = 72
if score >= 90:
    grade = "A"
elif score >= 70:
    grade = "B"
else:
    grade = "C"
print(grade)  # B
for i in range(3):
    print(i)  # 0, then 1, then 2
n = 10
while n > 1:
    n = n // 2
print(n)  # 1

Fungsi

Buat fungsi dengan def. Parameter boleh punya nilai default, dan pemanggil dapat mengirim argumen berdasarkan nama. Fungsi tanpa return mengembalikan None.

def greet(name, greeting="Hello"):
    return f"{greeting}, {name}!"
print(greet("Lin"))                 # Hello, Lin!
print(greet("Lin", greeting="Hi"))  # Hi, Lin!
square = lambda x: x * x
print(square(5))                    # 25

Type hint seperti def area(w: float, h: float) -> float: mendokumentasikan maksud kode dan memungkinkan alat seperti mypy memeriksanya, tetapi interpreter tidak memaksakannya.

List, tuple, dict, dan set

TipeLiteralBerurutanMutableKegunaan umum
list[1, 2, 3]YaYaUrutan yang bisa diubah
tuple(1, 2)YaTidakSekelompok nilai yang tetap
dict{"a": 1}Urutan penyisipanYaPencarian dari key ke value
set{1, 2}TidakYaItem unik, pengecekan keanggotaan
nums = [3, 1, 2]
nums.append(5)
nums.sort()
print(nums, nums[0], nums[-1], nums[1:3])  # [1, 2, 3, 5] 1 5 [2, 3]
ages = {"ann": 31, "bob": 25}
ages["cy"] = 40
for person, age in ages.items():
    print(person, age)
print(ages.get("zed", 0))  # 0
squares = [x * x for x in range(5) if x % 2 == 0]
print(squares)  # [0, 4, 16]

Baris terakhir adalah list comprehension, salah satu fitur khas Python: membangun list dari perulangan dan filter opsional dalam satu ekspresi. Dict dan set comprehension bekerja dengan cara yang sama.

Fitur khas: unpacking, with, dan generator

a, b = 1, 2
a, b = b, a            # swap without a temporary
first, *rest = [1, 2, 3, 4]
print(first, rest)     # 1 [2, 3, 4]
with open("notes.txt", "w", encoding="utf-8") as f:
    f.write("line one\n")   # file is closed automatically
def countdown(n):
    while n > 0:
        yield n
        n -= 1
print(list(countdown(3)))  # [3, 2, 1]

Pernyataan with menjalankan kode persiapan dan pembersihan untuk Anda (di sini, menutup file meskipun terjadi error). Fungsi yang memakai yield adalah generator: ia menghasilkan nilai secara lazy, satu per satu, sehingga hemat memori pada data besar.

Penanganan error dengan try dan except

Error dimunculkan sebagai exception. Tangkap jenis exception spesifik yang Anda harapkan, dan gunakan finally untuk kode yang harus selalu dijalankan.

def parse_age(text):
    try:
        age = int(text)
    except ValueError:
        print(f"not a number: {text!r}")
        return None
    if age < 0:
        raise ValueError("age cannot be negative")
    return age
print(parse_age("41"))   # 41
print(parse_age("abc"))  # not a number: 'abc', then None

Program kecil yang lengkap: penghitung kata

Skrip ini membaca file teks yang diberikan lewat baris perintah dan mencetak lima kata paling sering muncul. Skrip ini hanya memakai pustaka standar.

import sys
from collections import Counter
def top_words(path, n=5):
    with open(path, encoding="utf-8") as f:
        words = f.read().lower().split()
    cleaned = [w.strip(".,;:!?\"'()") for w in words]
    return Counter(w for w in cleaned if w).most_common(n)
if __name__ == "__main__":
    if len(sys.argv) != 2:
        sys.exit("usage: python3 count.py FILE")
    try:
        for word, count in top_words(sys.argv[1]):
            print(f"{count:5}  {word}")
    except FileNotFoundError:
        sys.exit(f"file not found: {sys.argv[1]}")

Jalankan dengan python3 count.py notes.txt. Pengecekan if __name__ == "__main__": membuat file bisa diimpor sebagai modul tanpa menjalankan bagian skripnya.

Kesalahan umum pemula

  • Mencampur tab dan spasi, atau indentasi yang tidak konsisten, menyebabkan IndentationError. Atur editor Anda agar menyisipkan 4 spasi.
  • = untuk assignment dan == untuk perbandingan. Gunakan is hanya untuk None (if x is None).
  • input() selalu mengembalikan string; ubah dengan int() atau float() sebelum melakukan perhitungan.
  • Menyalin list dengan b = a tidak benar-benar menyalinnya; kedua nama menunjuk ke list yang sama. Gunakan b = a.copy() atau b = list(a).
  • Instal paket di dalam virtual environment (python3 -m venv .venv), bukan ke Python sistem.

Langkah selanjutnya

Ikuti Tutorial Python resmi, lalu jelajahi Library Reference untuk mempelajari modul seperti pathlib, json, datetime, dan itertools. Pelajari pip dan virtual environment untuk paket pihak ketiga, lalu tulis tes dengan unittest atau pytest. Setelah itu, pilih arah: web (Django atau FastAPI), data (pandas), atau otomatisasi.

FAQ

Apakah Python cocok untuk pemula?

Ya. Sintaksnya ringkas dan mirip bahasa Inggris sehari-hari, pesan error-nya jelas, dan Anda bisa mencoba kode baris demi baris di REPL. Python juga banyak dipakai di industri, jadi kemampuan dasar Anda tetap berguna.

Apakah Python dikompilasi atau diinterpretasikan?

CPython mengompilasi kode sumber menjadi bytecode lalu menginterpretasikan bytecode itu, semuanya otomatis saat Anda menjalankan skrip. Anda tidak perlu menjalankan langkah kompilasi terpisah.

Apa perbedaan list dan tuple?

List bersifat mutable: Anda bisa menambah, menghapus, dan mengubah item. Tuple bersifat immutable, sehingga dipakai untuk sekelompok nilai tetap dan bisa menjadi key dict.

Mengapa kode Python saya lambat?

Perulangan Python murni lebih lambat daripada bahasa yang dikompilasi. Gunakan fungsi bawaan, comprehension, dan pustaka seperti NumPy, yang menjalankan perulangan di dalamnya dengan C.

Pakai python atau python3 di command line?

Di macOS dan sebagian besar sistem Linux, gunakan python3, karena python mungkin tidak ada atau menunjuk ke hal lain. Di Windows, launcher py biasanya jadi pilihan.

Semua tutorial pemrograman