Apa itu Python?
Python adalah bahasa pemrograman tingkat tinggi yang serbaguna, ditafsirkan (interpreted), dan berorientasi objek. Diciptakan oleh Guido van Rossum, Python menekankan pada keterbacaan kode dengan sintaks yang sangat bersih. Karena kemudahan dan kekuatannya, Python digunakan secara luas dalam pengembangan web (backend), ilmu data, kecerdasan buatan (AI), otomatisasi, pengembangan game, dan banyak lagi.
Konsep & Sintaks Kunci
Salah satu ciri khas Python yang paling menonjol adalah penggunaan
indentasi (spasi di awal baris) untuk menandai blok
kode, bukan menggunakan kurung kurawal {} seperti
bahasa lain.
Variabel
Di Python, Anda tidak perlu mendeklarasikan tipe data variabel. Anda cukup memberi nama variabel dan memberinya nilai.
Contoh Kode:
# Python secara otomatis mengenali tipe datanya
nama = "Miyamura" # Ini adalah string
umur = 21 # Ini adalah integer
tinggi = 175.5 # Ini adalah float (desimal)
sudah_belajar = True # Ini adalah boolean
print(f"Nama saya {nama}, umur {umur} tahun.")
Hasil di Terminal/Konsol:
Nama saya Miyamura, umur 21 tahun.
Fungsi
Fungsi didefinisikan menggunakan kata kunci def. Blok
kode di dalam fungsi harus diindentasi.
Contoh Kode:
def hitung_luas_persegi(sisi):
luas = sisi * sisi
return luas
# Memanggil fungsi
luas_bidang = hitung_luas_persegi(10)
print(f"Luas persegi adalah: {luas_bidang}")
Hasil di Terminal/Konsol:
Luas persegi adalah: 100
Struktur Kontrol (If-Else)
Struktur kondisional seperti if,
elif (else if), dan else digunakan untuk
mengontrol alur program. Perhatikan penggunaan titik dua
(:) dan indentasi.
Contoh Kode:
nilai = 85
if nilai >= 90:
print("Predikat: A")
elif nilai >= 80:
print("Predikat: B")
else:
print("Predikat: C")
Hasil di Terminal/Konsol:
Predikat: B
List (Daftar)
List adalah kumpulan item yang terurut dan dapat diubah.
Didefinisikan dengan kurung siku [].
Contoh Kode:
# Membuat sebuah list
buah = ["apel", "pisang", "ceri"]
# Menambah item baru
buah.append("mangga")
# Mengakses item berdasarkan indeksnya (dimulai dari 0)
print(f"Buah pertama adalah: {buah[0]}")
# Melakukan perulangan (loop) pada list
print("Semua buah:")
for item in buah:
print(f"- {item}")
Hasil di Terminal/Konsol:
Buah pertama adalah: apel
Semua buah:
- apel
- pisang
- ceri
- mangga
Struktur Data Lanjutan dan OOP
Selain list, Python menyediakan struktur data lain yang kuat. Memahami ini, beserta konsep Pemrograman Berorientasi Objek (OOP), adalah kunci untuk menulis kode Python yang efisien dan terstruktur.
Dictionary
Dictionary adalah kumpulan data yang tidak terurut yang disimpan dalam format pasangan kunci-nilai (key-value). Sangat berguna untuk menyimpan data yang memiliki hubungan, seperti data pengguna.
Contoh Kode:
# Membuat dictionary
data_mahasiswa = {
"nama": "Izumi Miyamura",
"nim": "12345",
"aktif": True
}
# Mengakses nilai berdasarkan kuncinya
print(f"Nama: {data_mahasiswa['nama']}")
# Menambah data baru
data_mahasiswa['jurusan'] = "Teknik Informatika"
print(f"Jurusan: {data_mahasiswa['jurusan']}")
Hasil di Terminal/Konsol:
Nama: Izumi Miyamura
Jurusan: Teknik Informatika
Pemrograman Berorientasi Objek (OOP) dengan Class
Class adalah cetak biru (blueprint) untuk membuat objek. OOP membantu mengorganisir kode menjadi bagian-bagian yang logis dan dapat digunakan kembali.
Contoh Kode:
class Mobil:
# __init__ adalah method khusus (constructor) yang berjalan saat objek dibuat
def __init__(self, merk, warna):
self.merk = merk
self.warna = warna
self.kecepatan = 0
# Ini adalah sebuah method
def percepat(self, nilai):
self.kecepatan += nilai
print(f"{self.merk} melaju dengan kecepatan {self.kecepatan} km/jam.")
# Membuat objek (instance) dari class Mobil
mobil_saya = Mobil("Toyota", "Merah")
mobil_teman = Mobil("Honda", "Biru")
# Memanggil method dari objek
mobil_saya.percepat(50)
mobil_teman.percepat(60)
Hasil di Terminal/Konsol:
Toyota melaju dengan kecepatan 50 km/jam.
Honda melaju dengan kecepatan 60 km/jam.
Bekerja dengan File
Python menyediakan cara yang mudah untuk membaca dari dan menulis
ke file. Praktik terbaik adalah menggunakan statement
with, yang secara otomatis akan menutup file setelah
selesai.
Contoh Kode:
# Menulis ke file (mode 'w' akan membuat file baru atau menimpa yang sudah ada)
with open('catatan.txt', 'w') as f:
f.write('Halo, ini baris pertama.\n')
f.write('Ini baris kedua.')
# Membaca dari file (mode 'r')
with open('catatan.txt', 'r') as f:
isi_file = f.read()
print("Isi dari catatan.txt:")
print(isi_file)
Hasil di Terminal/Konsol:
Isi dari catatan.txt:
Halo, ini baris pertama.
Ini baris kedua.
Modul, Error Handling, dan Idiom Python
Menulis kode Python yang baik bukan hanya tentang sintaks yang benar, tetapi juga tentang memanfaatkan ekosistemnya yang kaya dan menulis kode yang efisien dan mudah dibaca.
Modul dan Packages
Python memiliki pustaka standar yang sangat besar dan ekosistem
paket pihak ketiga yang luas. Anda dapat menggunakan
fungsionalitas ini dengan mengimpornya menggunakan kata kunci
import. Paket pihak ketiga biasanya diinstal
menggunakan manajer paket bernama pip (misal:
pip install requests).
Contoh Kode (Menggunakan modul bawaan):
# Mengimpor modul 'math' untuk operasi matematika
import math
# Mengimpor modul 'random' untuk menghasilkan angka acak
import random
akar_kuadrat = math.sqrt(16)
print(f"Akar kuadrat dari 16 adalah: {akar_kuadrat}")
angka_acak = random.randint(1, 10) # Angka acak antara 1 dan 10
print(f"Angka acak hari ini: {angka_acak}")
Kemungkinan Hasil di Terminal/Konsol:
Akar kuadrat dari 16 adalah: 4.0
Angka acak hari ini: 7
(Angka acak akan berbeda setiap kali dijalankan)Penanganan Error (Exception Handling)
Blok try...except digunakan untuk menangani error
yang mungkin terjadi saat program berjalan. Ini mencegah program
berhenti total dan memungkinkan Anda untuk memberikan pesan yang
lebih ramah kepada pengguna.
Contoh Kode:
try:
hasil = 10 / 0
except ZeroDivisionError:
print("Error: Tidak bisa membagi dengan nol!")
finally:
print("Blok finally akan selalu dieksekusi.")
Hasil di Terminal/Konsol:
Error: Tidak bisa membagi dengan nol!
Blok finally akan selalu dieksekusi.
List Comprehensions
Ini adalah cara yang ringkas dan "Pythonic" untuk membuat list.
Ini menggabungkan perulangan for dan pembuatan elemen
baru ke dalam satu baris yang mudah dibaca.
Contoh Kode:
# Cara biasa dengan for loop
kuadrat_biasa = []
for i in range(5):
kuadrat_biasa.append(i * i)
print(f"Cara biasa: {kuadrat_biasa}")
# Cara dengan list comprehension
kuadrat_comprehension = [i * i for i in range(5)]
print(f"Dengan comprehension: {kuadrat_comprehension}")
Hasil di Terminal/Konsol:
Cara biasa: [0, 1, 4, 9, 16]
Dengan comprehension: [0, 1, 4, 9, 16]
Interaksi Web dan Praktik Profesional
Untuk proyek dunia nyata, Anda perlu tahu cara berinteraksi dengan layanan web dan mengelola lingkungan pengembangan Anda secara profesional.
Mengambil Data dari API dengan `requests`
Pustaka requests adalah cara standar de-facto untuk
membuat permintaan HTTP di Python. Anda perlu menginstalnya
terlebih dahulu menggunakan pip:
pip install requests.
Contoh Kode (Mengambil data dari API publik):
import requests
import json # Modul untuk bekerja dengan data JSON
try:
# Membuat permintaan GET ke URL API
respons = requests.get('https://jsonplaceholder.typicode.com/users/1')
# Memeriksa apakah permintaan berhasil (status code 200)
respons.raise_for_status()
# Mengubah respons JSON menjadi dictionary Python
data_pengguna = respons.json()
print(f"Nama pengguna: {data_pengguna['name']}")
print(f"Email: {data_pengguna['email']}")
except requests.exceptions.HTTPError as err:
print(f"Terjadi error HTTP: {err}")
except Exception as err:
print(f"Terjadi error lain: {err}")
Hasil di Terminal/Konsol:
Nama pengguna: Leanne Graham
Email: Sincere@april.biz
Fungsi Lambda (Fungsi Anonim)
Fungsi lambda adalah fungsi kecil tanpa nama yang hanya bisa
memiliki satu ekspresi. Sangat berguna ketika Anda membutuhkan
fungsi sederhana untuk waktu yang singkat, misalnya sebagai
argumen untuk fungsi tingkat tinggi seperti
sorted() atau map().
Contoh Kode:
# Fungsi biasa
def kali_dua(x):
return x * 2
# Fungsi lambda yang setara
kali_dua_lambda = lambda x: x * 2
print(f"Hasil dari fungsi biasa: {kali_dua(5)}")
print(f"Hasil dari fungsi lambda: {kali_dua_lambda(5)}")
# Contoh penggunaan praktis: mengurutkan list of tuples berdasarkan elemen kedua
poin = [(1, 2), (3, 1), (5, 4)]
poin_terurut = sorted(poin, key=lambda p: p[1])
print(f"Poin terurut: {poin_terurut}")
Hasil di Terminal/Konsol:
Hasil dari fungsi biasa: 10
Hasil dari fungsi lambda: 10
Poin terurut: [(3, 1), (1, 2), (5, 4)]
Virtual Environments (`venv`)
Virtual environment adalah direktori terisolasi yang berisi instalasi Python dan pustaka-pustaka khusus untuk satu proyek. Ini memungkinkan setiap proyek memiliki dependensinya sendiri tanpa mengganggu proyek lain atau instalasi Python global. Ini adalah praktik yang sangat penting.
Cara Menggunakan (di Terminal):
# 1. Membuat virtual environment di dalam folder proyek
# (akan membuat folder bernama 'env' atau 'venv')
python -m venv env
# 2. Mengaktifkan environment
# Di Windows:
# .\\env\\Scripts\\activate
# Di MacOS/Linux:
# source env/bin/activate
# 3. Sekarang Anda bisa menginstal pustaka hanya untuk proyek ini
pip install requests
# 4. Untuk menonaktifkan, cukup ketik:
# deactivate