%%{init: {"flowchart": {"diagramPadding": 40}}}%%
flowchart TD
B1["B1 Mulai dari Nol<br/>Bab 1-4"] --> B2["B2 Fondasi Python<br/>Bab 5-10"]
B2 --> B3["B3 Program Kecil<br/>Bab 11-15"]
B3 --> I1["I1 Kode Rapi<br/>Bab 16-20"]
I1 --> I2["I2 Data dan Internet<br/>Bab 21-25"]
I2 --> I3["I3 Statistik<br/>Bab 26-29"]
I3 --> I4["I4 Python Lanjut<br/>Bab 30-35"]
I4 --> I5["I5 Web, Peta, Dasbor<br/>Bab 36-43"]
I5 --> A1["A1 Rekayasa Profesional<br/>Bab 44-49"]
A1 --> A2["A2 Data Besar, Geospasial<br/>Bab 50-53"]
A2 --> A3["A3 Machine Learning<br/>Bab 54-59"]
A3 --> A4["A4 AI Generatif, Agent<br/>Bab 60-63"]
A4 --> A5["A5 Tingkat Ahli<br/>Bab 64-68"]
I5 -.-> A2
I3 -.-> A3
Lampiran E — Peta Jalur Belajar
Buku ini punya 68 bab. Tidak ada orang yang perlu membaca semuanya dengan urutan yang sama. Bayangkan sebuah kebun besar dengan banyak petak: petani padi, peternak, dan penjaga hutan semuanya masuk lewat gerbang yang sama, lalu berbelok ke petak masing-masing. Lampiran ini adalah papan petunjuk di gerbang itu.
Lampiran ini tidak memuat kode, jadi tidak ada skrip untuk diunduh. Gambar dan tabelnya dibuat dari satu daftar jalur yang sama, supaya angka di semua tempat selalu cocok.
Peta seri
Buku ini dibagi menjadi tiga tingkat dan 13 seri:
| Tingkat | Seri | Judul | Bab |
|---|---|---|---|
| Basic | B1 | Mulai dari Nol | 1-4 |
| Basic | B2 | Fondasi Bahasa Python | 5-10 |
| Basic | B3 | Program Kecil yang Berguna | 11-15 |
| Intermediate | I1 | Kode yang Rapi dan Terawat | 16-20 |
| Intermediate | I2 | Data dan Internet | 21-25 |
| Intermediate | I3 | Statistik dan Pemodelan | 26-29 |
| Intermediate | I4 | Bahasa Python Tingkat Lanjut | 30-35 |
| Intermediate | I5 | Aplikasi Pertama: Web, Peta, dan Dasbor | 36-43 |
| Advanced | A1 | Rekayasa Perangkat Lunak Profesional | 44-49 |
| Advanced | A2 | Data Skala Besar dan Geospasial Lanjut | 50-53 |
| Advanced | A3 | Machine Learning untuk Sumber Daya Alam | 54-59 |
| Advanced | A4 | AI Generatif dan Agent AI | 60-63 |
| Advanced | A5 | Python Tingkat Ahli | 64-68 |
Telusuri dari B1 ke bawah. Garis tegas adalah urutan baca bawaan. Garis putus-putus berarti seri tujuan butuh bahan dari seri yang bukan tetangga langsungnya: A2 memakai dasar GIS dari I5, dan A3 memakai statistik dari I3.
Prasyarat tiap seri
Menurut kerangka buku, prasyarat resmi tiap seri adalah sebagai berikut:
| Seri | Prasyarat |
|---|---|
| B1 | Tidak ada; cukup bisa memakai komputer untuk mengetik dan membuka file |
| B2 | B1: Python 3.14 terpasang, bisa menjalankan skrip dari terminal |
| B3 | B2: variabel, percabangan, perulangan, list/dict, fungsi |
| I1 | Tingkat Basic selesai (proyek inventarisasi B3) |
| I2 | I1: OOP, environment, tes, git |
| I3 | I2: pandas, numpy, visualisasi |
| I4 | I1 sampai I3 |
| I5 | I4 (Pydantic dan async dipakai di FastAPI) |
| A1 | Tingkat Intermediate selesai (aplikasi I5) |
| A2 | A1 dan I5 (GIS dasar) |
| A3 | I3 (statistik dan regresi) dan A2 (data citra) |
| A4 | A3 (dasar ML dan hardware GPU) |
| A5 | A1 sampai A4 |
Prasyarat itu ditulis per seri. Lima jalur di bawah memilih sebagian bab dari tiap seri, jadi mereka kadang melompati seri yang bagi pembaca penuh adalah prasyarat. Untuk menjaga jalur tetap aman, kami memeriksa rujukan silang nyata di naskah, yaitu semua kalimat “seperti di Bab N” yang menyebut bab sebelumnya. Hasilnya dicantumkan di tiap jalur sebagai “yang perlu dibuka sekilas”.
Cara membaca peta jalur

Tiap baris adalah satu jalur, tiap kotak adalah satu bab, dikelompokkan per seri. Telusuri baris jalur Anda dari kiri ke kanan, lalu ke panel bawah (Bab 36 sampai 68). Tiga warna kotak berarti:
- Inti (hijau): ikuti, dan kerjakan latihannya. Bab-bab berikutnya di jalur itu bergantung padanya.
- Disarankan atau baca sekilas (kuning): membantu, tetapi Anda bisa membacanya cepat atau menundanya sampai butuh. Untuk pemrogram bahasa lain, ini juga warna bab dasar yang cukup dibaca sekilas.
- Boleh dilewati dulu (abu-abu): tidak dibutuhkan jalur ini. “Dulu” artinya: bukunya tetap menunggu bila minat Anda berubah.
Warna bukan penilaian mutu bab. Bab berwarna abu-abu di jalur GIS mungkin justru bab terpenting di jalur web. Jalur hanyalah usulan urutan agar Anda sampai ke tujuan tanpa jalan memutar.
Lima jalur sekilas
%%{init: {"flowchart": {"diagramPadding": 40}}}%%
flowchart LR
subgraph awam ["Pembaca awam"]
direction LR
a1["Bab 1-15"] --> a2["Bab 16-21, 23-25"] --> a3["Bab 41-42"]
end
subgraph lain ["Pemrogram bahasa lain"]
direction LR
l1["Bab 4 (+ baca cepat 5-15)"] --> l2["Bab 16-21, 23"] --> l3["Bab 30-36"] --> l4["Bab 44-49"]
end
subgraph gis ["Jalur GIS"]
direction LR
g1["Bab 1-17, 21, 23-25"] --> g2["Bab 38-40"] --> g3["Bab 50, 51, 53"] --> g4["Bab 54-56, 59"]
end
subgraph data ["Jalur data/AI"]
direction LR
d1["Bab 1-18, 20-21, 23-25"] --> d2["Bab 26-27, 33-34"] --> d3["Bab 50, 53-55, 58"] --> d4["Bab 60-63"]
end
subgraph web ["Jalur web"]
direction LR
w1["Bab 1-21, 24"] --> w2["Bab 30-36"] --> w3["Bab 42-43"] --> w4["Bab 44-46, 48-49"]
end
a3 --> PA(["Proyek Akhir"])
l4 --> PA
g4 --> PA
d4 --> PA
w4 --> PA
Gambar ini hanya ringkasan. Daftar bab lengkap, termasuk bab yang disarankan, ada di bagian tiap jalur. Perhatikan kelompok bab di tiap kotak: angka yang dipisah koma adalah bab terpisah, dan tanda hubung berarti rentang.
Beban relatif tiap jalur
Tabel ini membandingkan jumlah bab tiap jalur, bukan lamanya Anda belajar. Waktu belajar bergantung pada kebiasaan, latar belakang, dan seberapa sering Anda mengerjakan latihan; kami tidak berjanji apa pun tentang itu. Kolom terakhir menghitung kata di naskah bahasa Indonesia, tanpa kode, sebagai ukuran kasar banyaknya teks yang dibaca.
| Jalur | Bab inti | Bab disarankan | Boleh dilewati | Porsi teks bab inti |
|---|---|---|---|---|
| Pembaca awam | 26 | 5 | 37 | sekitar 31% |
| Pemrogram bahasa lain | 21 | 19 | 28 | sekitar 27% |
| Jalur GIS | 31 | 17 | 20 | sekitar 40% |
| Jalur data/AI | 36 | 19 | 13 | sekitar 51% |
| Jalur web | 36 | 11 | 21 | sekitar 42% |
“Porsi teks” adalah kata di bab inti dibagi kata di seluruh 68 bab (sekitar 114 ribu kata di naskah Indonesia, tanpa kode, saat tabel ini dibuat). Bab yang kodenya banyak dan latihannya sulit memakan lebih banyak usaha daripada hitungan kata menunjukkan.
Jalur 1: Pembaca awam
Untuk siapa: Anda belum pernah memrogram dan ingin mengotomatiskan pekerjaan sehari-hari, misalnya rekap data lapangan menjadi laporan Excel atau PDF.
Urutan yang disarankan:
- Fondasi (Bab 1 sampai 15). Ikuti berurutan tanpa melompat. Di sini Anda belajar terminal, variabel, fungsi, file, CSV/JSON, dan laporan kantor otomatis. Bab 15 menutup tingkat Basic.
- Kode yang rapi (Bab 16 sampai 20). OOP, lingkungan virtual, tes, kualitas kode, dan git. Anda memerlukannya sebelum program Anda membesar.
- Data dan internet (Bab 21, 23, 24, 25). API, numpy dan pandas, basis data, dan analisis data pertama Anda.
- Otomasi (Bab 41 dan 42). Mengotomatiskan tugas berulang dan membuat alat baris perintah.
- Proyek Akhir, lalu pilih seri yang paling dekat dengan pekerjaan Anda dari jalur lain.
Disarankan (kuning): Bab 22 (regex, saat Anda sering membersihkan teks), Bab 33 (type hint, karena Bab 42 memakai ide ini), Bab 43 (dasbor), Bab 63 (lisensi dan etika), dan Bab 68 (portofolio).
Boleh dilewati dulu: statistik lanjutan (26-29), bahasa Python tingkat lanjut (30-35 kecuali 33), web dan GIS (36-40), dan seri Advanced kecuali Bab 63 dan 68.
Yang perlu dibuka sekilas: Bab 41 menyebut Bab 36 sampai 40 hanya untuk mengingatkan pembaca penuh akan bab sebelumnya (bukan bahan baru), jadi tidak wajib dibaca. Bab 42 menyebut Bab 33 untuk type hint.
Jalur 2: Pemrogram bahasa lain
Untuk siapa: Anda sudah memrogram di bahasa lain (misalnya Java, JavaScript, atau R) dan ingin cepat mahir di Python.
Urutan yang disarankan:
- Bab 4 untuk memasang Python dan membaca pesan error Python. Lampiran A cukup untuk urusan pemasangan.
- Bab 5 sampai 15 dibaca cepat (kuning). Lewati penjelasan, perhatikan perbedaan dengan bahasa Anda: indentasi sebagai blok,
dictdanlistbawaan,with, danpathlib. Bab ini dirujuk bab-bab inti di bawah, jadi lebih baik dibuka sekilas daripada dilewati total. - Kode rapi (Bab 16 sampai 21). OOP gaya Python,
venvdanuv,pytest,ruff, git, dan API. - Python tingkat lanjut (Bab 30 sampai 35). Generator, decorator, context manager, type hint, Pydantic, dan async. Inilah yang membuat kode Python terasa “Python”.
- Web dan rekayasa (Bab 36, lalu 44 sampai 49). FastAPI, performa, pengemasan, pola desain, Python modern, deployment, dan keamanan.
- Setelah itu, pilih jalur GIS, data/AI, atau web untuk bahan khusus.
Disarankan (kuning): Bab 5 sampai 15 (dibaca cepat), Bab 24 dan 25 (basis data dan analisis data), Bab 37 (Python di browser), Bab 41 sampai 43 (otomasi, antarmuka, dasbor), Bab 63 (lisensi dan etika), dan Bab 68.
Boleh dilewati: Bab 1 sampai 3 (komputer, algoritma, terminal), Bab 22, statistik (26-29), GIS (38-40), dan seri A2 sampai A5 sampai Anda membutuhkannya (kecuali Bab 63 dan 68).
Yang perlu dibuka sekilas: Bab 4 merujuk Bab 1 dan 3; bila terminal masih asing, buka Bab 3 sekilas. Bab 47 menyebut Bab 40 hanya untuk membandingkan cara penulisan skrip. Rujukan ke bab dasar (5 sampai 14) dari bab 17, 18, 19, 21, 23, 30, 31, 32, 36, dan 47 menjelaskan mengapa bab dasar diberi warna kuning, bukan abu-abu.
Jalur 3: GIS
Untuk siapa: Anda bekerja dengan peta, citra satelit, atau data spasial (kehutanan, pertanian, perikanan, lingkungan) dan ingin mengotomasi atau menganalisisnya.
Urutan yang disarankan:
- Fondasi (Bab 1 sampai 15, lalu 16 dan 17). Lingkungan virtual di Bab 17 hampir wajib, karena pustaka GIS (GDAL, PROJ) paling sering bermasalah saat dipasang.
- Data (Bab 21, 23, 24, 25). API, pandas, SQLite, dan matplotlib. Bab 24 menyiapkan Anda untuk PostGIS di Bab 40.
- GIS 1 sampai 3 (Bab 38, 39, 40). Vektor (GeoPandas), raster (Rasterio, NDVI), dan peta interaktif, PostGIS, serta PyQGIS.
- Geospasial lanjut (Bab 50, 51, 53). Format Parquet, COG, dan STAC; citra dari cloud; data yang tak muat di memori (Dask).
- Machine learning (Bab 54, 55, 56, 59). Model berbasis pohon, dasar PyTorch dan GPU, deteksi objek pada citra, dan penerapan di kehutanan, pertanian, perikanan, dan peternakan.
Disarankan: Bab 18 dan 19 (tes dan kualitas kode), Bab 20 (git), Bab 22 (regex), Bab 34 dan 35 (Pydantic dan async), Bab 36 (web), Bab 41 (scraping), Bab 43 (dasbor dengan peta), Bab 44 (performa), Bab 47 dan 48 (Python modern dan Docker), Bab 52 (drone dan IoT), Bab 57 dan 58 (optimisasi dan XAI), Bab 63 (lisensi data dan citra), Bab 68.
Boleh dilewati dulu: statistik (26-29; ambil 26 dan 27 bila Anda ingin memahami XAI di Bab 58), Bab 30 sampai 33, Bab 37, 42, 45, 46, dan 49, Bab 60 sampai 62, serta Bab 64 sampai 67.
Yang perlu dibuka sekilas: Bab 21 menyebut Bab 20 (git); Bab 40 menyebut Bab 34 (Pydantic); Bab 50 menyebut Bab 48 (Docker); Bab 53 menyebut Bab 35, 47; Bab 59 menyebut Bab 57 dan 58. Semuanya berstatus saran, tidak menghalangi.
Jalur 4: Data dan AI
Untuk siapa: Anda ingin memakai Python untuk analisis data, statistik, machine learning, dan aplikasi AI generatif.
Urutan yang disarankan:
- Fondasi (Bab 1 sampai 18, lalu 20). Termasuk OOP, lingkungan virtual, tes, dan git. Bab 20 (git) dirujuk oleh Bab 21, 33, dan 34.
- Data (Bab 21, 23, 24, 25). API, pandas, basis data, dan analisis data pertama.
- Statistik dan pemodelan (Bab 26 dan 27). Uji hipotesis dan regresi, yang diperlukan Bab 58.
- Python tingkat lanjut (Bab 33 dan 34). Type hint dan Pydantic.
- Data skala besar (Bab 50 dan 53). Parquet, Polars, DuckDB, dan Dask.
- Machine learning (Bab 54, 55, 58). Model klasik, PyTorch dan GPU, serta penjelasan model dan MLOps.
- AI generatif (Bab 60 sampai 63). Aplikasi LLM dan RAG, transformer, agent AI, serta lisensi dan etika.
Disarankan: Bab 19, 22, 28 dan 29 (metode kualitatif dan riset yang dapat direproduksi), 30 sampai 32, 35, 36, 38, 41, 44, 47, 48, 51, 56 (computer vision), 57, 59, dan 68.
Boleh dilewati dulu: Python di browser (37), GIS raster dan peta (39, 40), antarmuka dan dasbor (42, 43), pengemasan dan pola desain (45, 46), keamanan (49), IoT (52), dan Bab 64 sampai 67.
Yang perlu dibuka sekilas: Bab 20 (git) sebelum 21, 33, dan 34; Bab 48 (Docker) sebelum 50 dan 60; Bab 35, 47, 51 untuk 53; Bab 36 untuk 60; Bab 38 untuk 62; Bab 22 dan 41 untuk 63. Semuanya berstatus saran.
Jalur ini mengikuti kerangka buku: Bab 54 (ML klasik) tidak merujuk bab lain, tetapi Bab 58 merujuk Bab 26 dan 27. Jika Anda melompati statistik, bagian penjelasan model di Bab 58 akan terasa lebih berat.
Jalur 5: Web
Untuk siapa: Anda ingin membuat API, situs, atau dasbor dengan Python.
Urutan yang disarankan:
- Fondasi (Bab 1 sampai 21). Termasuk OOP, venv, tes, kualitas kode, git, dan API (Bab 21).
- Basis data (Bab 24). SQLite, SQL, dan SQLAlchemy.
- Python tingkat lanjut (Bab 30 sampai 35). Pydantic (34) dan async (35) dipakai langsung oleh FastAPI.
- Web (Bab 36). Flask, FastAPI, dan REST.
- Antarmuka dan dasbor (Bab 42 dan 43). CLI, GUI sederhana, Streamlit, Gradio, dan Dash.
- Rekayasa (Bab 44, 45, 46, 48, 49). Performa, pengemasan, pola desain, deployment (Docker, CI/CD), dan keamanan.
Disarankan: Bab 22, 23, 25, 37 (Python di browser), 38 dan 40 (peta, karena Bab 43 membuat peta interaktif), 41 (scraping), 47 (Python modern), 60 (aplikasi LLM yang disajikan lewat web), 67 (sistem terdistribusi), dan 68.
Boleh dilewati dulu: statistik (26-29), raster (39), data besar dan machine learning (50-59), Bab 61 sampai 63, serta Bab 64 sampai 66.
Yang perlu dibuka sekilas: Bab 24 menyebut Bab 23 (pandas); Bab 42 dan 43 menyebut Bab 41; Bab 43 menyebut Bab 37, 38, dan 40; Bab 49 menyebut Bab 47. Semuanya berstatus saran.
Bila Anda mengubah jalur di tengah jalan
Peta di atas tidak mengunci Anda. Beberapa pegangan:
- Naik ke tingkat berikutnya: bila Anda ingin berpindah ke bab abu-abu, lihat dulu prasyarat serinya di tabel. Lalu telusuri kalimat-kalimat “Bab N” di bab itu: bab yang disebut adalah bahan yang diasumsikan sudah Anda punyai.
- Tersesat di bab tingkat lanjut: mundur satu seri. Hampir selalu penyebabnya ada di satu bab dasar yang dilewati.
- Butuh istilah: buka Lampiran C. Butuh sumber tambahan: buka Lampiran F. Butuh pemasangan: Lampiran A.
Metode: bagaimana jalur ini disusun
Supaya jalur tidak sekadar tebakan, tiga hal diperiksa dengan skrip dan tidak hanya diandalkan pada ingatan:
- Prasyarat seri diambil dari kerangka buku (tabel di atas).
- Rujukan silang antar-bab dihitung: skrip membaca semua naskah Indonesia dan mencatat tiap sebutan “Bab N” yang menunjuk ke bab sebelumnya (baris “Selanjutnya, di Bab N” tidak dihitung karena menunjuk ke depan). Bab yang dirujuk oleh bab inti namun berwarna abu-abu dilaporkan, lalu jalurnya diperbaiki hingga tidak ada lagi yang terlewat. Yang tersisa adalah rujukan berstatus “disarankan”, dan itu dicantumkan di tiap jalur.
- Beban relatif dihitung dari jumlah bab dan kata, bukan dari perkiraan waktu.
Yang tidak diperiksa: keputusan mana bab yang “inti” untuk tujuan tertentu adalah pertimbangan penulis. Bila pekerjaan Anda berbeda dari lima gambaran ini, anggap peta ini sebagai titik awal.
Selanjutnya: setelah memilih jalur, buka Lampiran A bila Anda belum memasang Python, atau langsung mulai dari bab pertama jalur Anda. Lampiran F memuat sumber belajar di luar buku ini.