Sebelum menyentuh FastAPI, kalian perlu menguasai Python 3.10+, type hints, async/await, HTTP & REST, dan JSON. Di episode ini kalian juga menyiapkan environment Python dengan venv/uv, menginstall FastAPI 0.141.x dan uvicorn, memasang editor, serta memverifikasi seluruh perangkat siap dipakai sepanjang series.

Selamat datang di series Belajar FastAPI! Series ini akan membawa kalian menguasai FastAPI — framework web Python modern, async-native, berbasis ASGI (Starlette) + Pydantic — untuk membangun REST API, microservices, dan realtime apps. Total ada 28 episode yang tersusun dalam empat fase, dari fondasi konsep sampai production readiness.
Sebelum menjalankan uvicorn main:app --reload, ada skill dasar dan perangkat yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena FastAPI berdiri di atas tiga fondasi yang berbeda: Python modern untuk sintaks dan type hints, protokol HTTP untuk komunikasi, dan Pydantic untuk validasi. Kalau salah satu lapis belum dipahami, debugging nanti akan terasa seperti membongkar kotak hitam.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan Python dan virtual environment, menginstall FastAPI beserta uvicorn, lalu memverifikasi environment untuk pertama kali. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.
FastAPI adalah framework Python modern yang memakai type hints sebagai bahasa utama. Parameter path, query, request body, sampai response — semuanya didefinisikan lewat anotasi tipe. Kalian wajib memahami sintaks dasar ini:
def greet(name: str, age: int) -> str:
return f"Hello {name}, kamu berusia {age} tahun"name: str dan age: int adalah type hints, dan -> str adalah tipe return. FastAPI memanfaatkan hints ini untuk tiga hal sekaligus: validasi otomatis, serialisasi, dan dokumentasi OpenAPI. Semakin tepat hints kalian, semakin pintar framework-nya bekerja.
FastAPI mendukung handler async, dan sejak episode 14 kita akan memakai async def bersama database asinkron. Kalian wajib paham minimal konsep dasarnya: async def untuk fungsi yang bisa di-await, dan await untuk menunggu operasi I/O tanpa memblokir event loop.
import asyncio
async def fetch_data() -> str:
await asyncio.sleep(1)
return "data"
async def main() -> None:
data = await fetch_data()
print(data)
asyncio.run(main())Kalian belum perlu mahir di episode 0 — cukup paham perbedaan def (sync, dijalankan di thread pool) dan async def (async, dijalankan di event loop). Kita bedah tuntas di episode 14.
FastAPI membuat REST API, jadi kalian wajib paham HTTP methods (GET, POST, PUT, DELETE), status codes (200, 201, 404, 401, 422), dan perbedaan request/response. Satu hal yang membedakan FastAPI dari framework lain: HTTP semantics dikendalikan lewat kode Python, bukan konfigurasi string.
Seluruh request dan response FastAPI berbasis JSON. Kalian wajib paham struktur JSON — object, array, string, number, boolean, null — karena Pydantic memetakan JSON ke objek Python dan sebaliknya.
Note
Untuk episode-episode awal (0-3) Python + FastAPI + uvicorn sudah cukup. PostgreSQL baru benar-benar dibutuhkan saat kita masuk ke CRUD SQLAlchemy di episode 9. Kalian bisa menyiapkannya bertahap.
FastAPI membutuhkan Python 3.10 ke atas (rekomendasi 2026: 3.13). Periksa versi kalian:
python3 --versionJika output-nya di bawah 3.10, install versi terbaru lewat package manager atau uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.13Selalu isolasi dependensi proyek. Dua opsi: venv bawaan Python, atau uv — manajer paket Python super cepat yang juga mengelola virtual environment:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pipAlternatif dengan uv (lebih cepat, direkomendasikan di 2026):
uv init fastapi-lab
cd fastapi-lab
uv python pin 3.13Kunci pemisahannya: virtual environment menjaga dependensi tiap proyek tetap terpisah, sehingga upgrade package di satu proyek tidak merusak proyek lain. Sepanjang series ini kita akan bekerja di dalam environment aktif.
Install FastAPI (versi 0.141.x, rilis terbaru per Juli 2026) dan uvicorn — server ASGI yang menjalankan aplikasi:
pip install "fastapi>=0.141,<0.142" "uvicorn[standard]>=0.30"uvicorn[standard] menginstall extra standard yang menambahkan dukungan WebSocket, HTTP/2 (h11 + httptools), dan hot-reload yang lebih cepat — semuanya akan kita pakai di episode 13 dan seterusnya.
FastAPI sangat diuntungkan editor dengan IntelliSense type hints dan Pydantic-aware. VS Code dengan ekstensi Python, atau PyCharm Professional. Aktifkan juga linter (ruff) dan formatter untuk menjaga kualitas kode:
pip install ruff mypyUntuk episode 9 ke atas, siapkan SQLite (tanpa server, cocok untuk lab) atau PostgreSQL untuk produksi. Kalian belum perlu menginstall sekarang — episode 9 akan menuntun langkah demi langkah.
Agar contoh di series ini langsung bisa dijalankan, susun proyek dengan struktur sederhana:
fastapi-lab/
.venv/
main.py
requirements.txtCatat versi dependensi ke requirements.txt supaya reproducible:
pip freeze > requirements.txtSebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:
python --version
pip show fastapi | head -2
python -c "import fastapi; print(fastapi.__version__)"
python -c "import uvicorn; print(uvicorn.__version__)"python --version harus menampilkan 3.10+, fastapi.__version__ harus menampilkan 0.141.x, dan uvicorn 0.30+. Jika ada yang gagal, periksa kembali virtual environment aktif dan instalasi paket.
Warning
Pastikan kalian berada di dalam virtual environment (prompt shell menampilkan (.venv)) sebelum menginstall atau menjalankan apa pun. Install ke environment global Python adalah sumber utama "works on my machine" yang sebaiknya dihindari sejak awal.
Rangkuman yang sudah kalian siapkan di episode 0:
fastapi-lab/ dengan main.py dan requirements.txt.fastapi.__version__ dan uvicorn.__version__ berjalan tanpa error.Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Perjalanan 27 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.
Inti yang harus dibawa pulang:
fastapi>=0.141 dan uvicorn[standard]>=0.30.Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa kalian membutuhkan FastAPI — dari penciptaannya oleh Sebastián Ramírez pada 2018 di atas Starlette dan Pydantic, hingga posisinya di 2026 sebagai salah satu framework Python terpopuler untuk API dan AI backends. Pastikan environment kalian sudah siap, karena perjalanan Belajar FastAPI baru saja dimulai!