🐍 Tutorial Python
Belajar Python dari dasar hingga data science dengan latihan interaktif.
📦 Instalasi Python
Windows
- Download dari python.org
- Jalankan installer
- Centang "Add Python to PATH"
- Klik "Install Now"
Linux
sudo apt update
sudo apt install python3 python3-pip📓 Instalasi Jupyter Notebook
pip install jupyterlab
jupyter labAtau dengan conda: conda install jupyterlab
▶️ Menjalankan Program Python
1. File Python (.py):
python hello.py2. Interactive mode:
python
>>> print("Hello, World!")3. Jupyter Notebook:
jupyter lab🐍
Dasar Python
Variabel, tipe data, control flow, dan fungsi.
Latihan 1: Buat program yang meminta input nama dan menampilkan sapaan.
nama = input("Siapa nama kamu? ")
print(f"Halo, {nama}! Selamat belajar Python!")Latihan 2: Buat program kalkulator sederhana (tambah, kurang, kali, bagi).
a = float(input("Angka pertama: "))
b = float(input("Angka kedua: "))
print(f"Hasil: {a + b}")Latihan 3: Buat program yang menentukan bilangan ganjil/genap.
n = int(input("Masukkan angka: "))
print("Genap" if n % 2 == 0 else "Ganjil")Latihan 4: Buat program yang menampilkan bilangan 1 sampai 100 dengan for loop.
for i in range(1, 101):
print(i)Latihan 5: Buat fungsi yang menghitung luas persegi panjang.
def luas(p, l):
return p * l
print(luas(5, 3)) # 15☕
OOP
Class, object, inheritance, dan encapsulation.
Latihan 1: Buat class `Mahasiswa` dengan atribut nama, nim, dan jurusan.
class Mahasiswa:
def __init__(self, nama, nim, jurusan):
self.nama = nama
self.nim = nim
self.jurusan = jurusan
m = Mahasiswa("Choirul", "12345", "Teknik Informatika")
print(m.nama)Latihan 2: Buat class `Kalkulator` dengan method tambah, kurang, kali, bagi.
class Kalkulator:
def tambah(self, a, b):
return a + b
def kurang(self, a, b):
return a - b
k = Kalkulator()
print(k.tambah(5, 3)) # 8Latihan 3: Buat inheritance: class `Hewan` dan class `Kucing` yang mewarisi `Hewan`.
class Hewan:
def __init__(self, nama):
self.nama = nama
def suara(self):
return "..."
class Kucing(Hewan):
def suara(self):
return "Meong!"
k = Kucing("Kitty")
print(k.suara()) # Meong!Latihan 4: Buat encapsulation dengan private attribute dan getter/setter.
class Bank:
def __init__(self, saldo):
self.__saldo = saldo
def get_saldo(self):
return self.__saldo
def set_saldo(self, nilai):
if nilai >= 0:
self.__saldo = nilaiLatihan 5: Buat class `Persegi` dengan method luas dan keliling.
class Persegi:
def __init__(self, sisi):
self.sisi = sisi
def luas(self):
return self.sisi ** 2
def keliling(self):
return 4 * self.sisi🌐
Web Framework
Flask dan FastAPI untuk membuat web application.
Latihan 1: Buat aplikasi Flask sederhana dengan route '/' yang menampilkan 'Hello World'.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Hello World!"
if __name__ == "__main__":
app.run(debug=True)Latihan 2: Buat route dengan parameter: `/user/<nama>` yang menampilkan 'Halo, {nama}!'.
@app.route("/user/<nama>")
def user(nama):
return f"Halo, {nama}!"Latihan 3: Buat API endpoint yang mengembalikan JSON dengan FastAPI.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello World"}Latihan 4: Buat form input dengan Flask (GET dan POST).
@app.route("/login", methods=["GET", "POST"])
def login():
if request.method == "POST":
username = request.form["username"]
return f"Selamat datang, {username}!"
return render_template("login.html")Latihan 5: Buat template HTML dengan Jinja2 di Flask.
<h1>Selamat datang, {{ nama }}!</h1>
{% if nama == "Admin" %}
<p>Anda adalah admin.</p>
{% endif %}📊
Data Science
Pandas, NumPy, dan visualisasi data.
Latihan 1: Buat DataFrame dari dictionary dengan Pandas.
import pandas as pd
data = {"Nama": ["Andi", "Budi", "Cici"], "Usia": [20, 21, 22]}
df = pd.DataFrame(data)
print(df)Latihan 2: Baca file CSV dan tampilkan 5 baris pertama.
df = pd.read_csv("data.csv")
print(df.head())Latihan 3: Hitung rata-rata, median, dan standar deviasi dari kolom numerik.
print(df["Usia"].mean())
print(df["Usia"].median())
print(df["Usia"].std())Latihan 4: Buat array NumPy dan operasi dasar (tambah, kali, dot product).
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # [5 7 9]
print(np.dot(a, b)) # 32Latihan 5: Buat visualisasi bar chart dengan Matplotlib.
import matplotlib.pyplot as plt
plt.bar(["A", "B", "C"], [10, 20, 15])
plt.title("Contoh Bar Chart")
plt.show()🤖
Machine Learning
Regresi, klasifikasi, dan neural network dengan scikit-learn.
Latihan 1: Install scikit-learn dan buat dataset sederhana.
pip install scikit-learn
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=100, n_features=4, n_classes=2)Latihan 2: Bagi data menjadi training dan testing set.
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)Latihan 3: Buat model Linear Regression dan prediksi.
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
pred = model.predict(X_test)Latihan 4: Evaluasi model dengan accuracy score.
from sklearn.metrics import accuracy_score
print(accuracy_score(y_test, pred))Latihan 5: Buat model K-Nearest Neighbors (KNN).
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
print(knn.score(X_test, y_test))