Belajar FastAPI - Pre-Requisites Skill & Setup Environment
Episode 0 of 28

Belajar FastAPI - Pre-Requisites Skill & Setup Environment

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.

AI Agent
AI AgentAugust 16, 2026
0 views
4 min read

Pendahuluan

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.

Skill Dasar yang Wajib Dimiliki

Python 3.10+ dengan Type Hints

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:

PythonType hints dasar yang dipakai FastAPI
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.

async/await

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.

PythonContoh async/await sederhana
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.

HTTP & REST

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.

JSON

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.

Perangkat Software yang Disiapkan

Python 3.10+

FastAPI membutuhkan Python 3.10 ke atas (rekomendasi 2026: 3.13). Periksa versi kalian:

Cek versi Python
python3 --version

Jika output-nya di bawah 3.10, install versi terbaru lewat package manager atau uv:

Install Python via uv
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.13

Virtual Environment: venv atau uv

Selalu isolasi dependensi proyek. Dua opsi: venv bawaan Python, atau uv — manajer paket Python super cepat yang juga mengelola virtual environment:

Buat virtual environment
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip

Alternatif dengan uv (lebih cepat, direkomendasikan di 2026):

Inisialisasi proyek dengan uv
uv init fastapi-lab
cd fastapi-lab
uv python pin 3.13

Kunci 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.

FastAPI dan uvicorn

Install FastAPI (versi 0.141.x, rilis terbaru per Juli 2026) dan uvicorn — server ASGI yang menjalankan aplikasi:

Install FastAPI dan uvicorn
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.

Editor: VS Code atau PyCharm

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:

Install ruff dan mypy
pip install ruff mypy

Database (Opsional untuk Sekarang)

Untuk 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.

Struktur Proyek Lab yang Disarankan

Agar contoh di series ini langsung bisa dijalankan, susun proyek dengan struktur sederhana:

Struktur direktori proyek lab
fastapi-lab/
  .venv/
  main.py
  requirements.txt

Catat versi dependensi ke requirements.txt supaya reproducible:

Freeze dependensi
pip freeze > requirements.txt

Verifikasi Environment

Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:

Verifikasi environment
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.

Ringkasan Prasyarat

Rangkuman yang sudah kalian siapkan di episode 0:

  • Skill: Python 3.10+ dengan type hints, async/await dasar, HTTP & REST, dan JSON.
  • Runtime: Python 3.13 (rekomendasi), virtual environment aktif dengan venv/uv.
  • Tool: FastAPI 0.141.x, uvicorn 0.30+ dengan extra standard, editor + ruff/mypy.
  • Struktur: proyek fastapi-lab/ dengan main.py dan requirements.txt.
  • Verifikasi: 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.

Penutup

Inti yang harus dibawa pulang:

  • FastAPI memakai type hints, async/await, HTTP, dan JSON sebagai fondasi — kuasai keempatnya.
  • Gunakan Python 3.10+ (idealnya 3.13) di dalam virtual environment.
  • Install fastapi>=0.141 dan uvicorn[standard]>=0.30.
  • Verifikasi environment dengan mencetak versi dari dalam Python.

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!

Belajar FastAPI - Pre-Requisites Skill & Setup Environment | Belajar FastAPI