Lewati ke konten utama
F1

F1 · Python dari Nol

Dari belum pernah menulis kode sampai membuat alat baris perintah sendiri, lengkap dengan tes.

Mulai Modul 01

Daftar modul

  1. 01Program pertamamu8 latihan
  2. 02Angka, variabel, dan tipe data8 latihan
  3. 03Teks8 latihan
  4. 04Membuat keputusan8 latihan
  5. 05Perulangan8 latihan
  6. 06Fungsi8 latihan
  7. 07List dan tuple8 latihan
  8. 08Dictionary dan set8 latihan
  9. 09Galat dan debugging8 latihan
  10. 10Berkas: teks, CSV, dan JSON8 latihan
  11. 11Modul dan pustaka standar8 latihan
  12. 12Kelas dan dataclass8 latihan
  13. 13Python di komputermu8 latihan
  14. 14Pengujian dengan pytest8 latihan
  15. 15Otomasi sehari-hari8 latihan
  16. 16Proyek akhir: kasku8 latihan

Ada contoh atau latihan bertanda “Kerjakan di laptop”? Paket dan data F1 untuk menjalankannya di komputermu ada di panduan menjalankan kode di komputermu.

Tentang course ini

Dari belum pernah menulis kode sampai membuat alat baris perintah sendiri, lengkap dengan tes.

Course fondasi gratis Coding Studio dan langkah pertama di semua jalur. Latihan di dalamnya dijalankan dan diperiksa otomatis langsung di peramban.


Untuk siapa

  • Pelajar SMA/SMK (13 tahun ke atas), mahasiswa tahun awal, dan pekerja yang belum pernah memprogram. Tidak perlu matematika di atas aritmetika SMP.
  • Yang pernah mencoba belajar Python lalu berhenti di tengah jalan.
  • Calon peserta F2 SQL, F5 Rilis, K1 Struktur Data dan Algoritma, dan course jalur Data & AI serta agentic engineering (C1, C2, C9, C3, C4, C10, C5): F1 adalah prasyaratnya.

Yang kamu butuhkan: peramban modern dan internet. Modul 1–12 seluruhnya di peramban (Python berjalan di halaman lewat Pyodide). Mulai Modul 13 kamu memakai terminal sungguhan, di laptopmu sendiri atau di GitHub Codespaces (gratis, juga lewat peramban, termasuk dari Chromebook).

Setelah F1 kamu bisa

  1. Membaca dan menulis program Python 100–300 baris yang tertata dalam fungsi dan modul.
  2. Mengolah teks, angka, list, dictionary, berkas CSV, dan JSON.
  3. Membaca pesan galat (error) dan traceback, lalu menemukan sumber masalahnya sendiri.
  4. Menjalankan skrip di terminal, membuat virtual environment, dan memasang paket dengan pip secara aman.
  5. Menulis tes dengan pytest sebelum dan sesudah mengubah kode.
  6. Mengotomasi pekerjaan kecil sehari-hari (merapikan berkas, menggabung laporan).
  7. Memakai asisten AI untuk belajar (minta penjelasan dan petunjuk, lalu memeriksa jawabannya dengan menjalankan kode dan tes), bukan untuk menyalin jawaban.

Proyek akhirnya kasku: alat baris perintah pencatat uang masuk dan keluar, dibangun sedikit demi sedikit di setiap modul (Kontrak kasku). Proyek akhirnya bisa mendapat lencana Tayang ringan: repositori publik, README portofolio, GitHub Actions hijau, dan cara orang lain mencoba.

Cara belajar di course ini

  • Sedikit teori, banyak mengetik. Setiap konsep langsung diikuti contoh yang bisa dijalankan dan keluaran yang sudah dicek mesin. Ubah contohnya, tebak dulu hasilnya, baru jalankan.
  • Latihan diperiksa otomatis. Setiap latihan punya kode awal, tes, petunjuk bertingkat, dan solusi. Kerjakan sampai semua tes hijau; buka petunjuk satu per satu bila buntu; buka solusi paling akhir dan bandingkan.
  • Galat itu teman. Setiap modul punya bagian Kesalahan umum berisi pesan galat sungguhan dan cara membacanya.
  • AI sebagai tutor, bukan joki. Metode umumnya ada di bagian Belajar bersama AI di bawah; setiap modul menambahkan satu contoh jawaban AI yang terdengar benar tetapi salah, plus tugas tanpa AI dan dengan AI. Latihan dinilai untuk dirimu sendiri; menyalin jawaban hanya menipu dirimu.
  • Intinya dulu, pendalaman belakangan. Setiap modul dibuka dengan kotak Intinya. Bagian Di balik layar (opsional) boleh dilewati; latihan yang memakainya ditandai Opsional, dan kuis tidak mengujinya.
  • Konteks Indonesia. Contoh memakai rupiah, warung, ongkos kirim, nilai rapor, jadwal angkot, data publik Indonesia. Semua nama orang dan data transaksi fiktif.

Waktu: ±3–5 jam per modul (Modul 13–16 lebih lama karena ada Lab luar peramban), total ±60 jam. Ritme yang disarankan: 3–4 modul per minggu.

Silabus (16 modul)

#ModulHasil utamaLangkah proyek kasku
01Program pertamamuMenjalankan kode, print, komentar, membaca galat pertamaMencetak judul kasku
02Angka, variabel, dan tipe dataint/float/str/bool, operator, konversi, f-string, format rupiahFormat angka rupiah
03TeksIndeks, slicing, metode string, membersihkan masukanMengurai perintah teks keluar 25000 makan
04Membuat keputusanif/elif/else, perbandingan, and/or/not, truthinessMemvalidasi jenis dan jumlah
05Perulanganwhile, for, range, break/continue, pola akumulatorMenjumlahkan daftar transaksi
06Fungsidef, parameter, return vs print, nilai bawaan, cakupan, docstring, petunjuk tipe dasarformat_rupiah, hitung_saldo
07List dan tupleOperasi list, pengurutan, comprehension dasar, enumerate, zip, unpackingDaftar transaksi terurut
08Dictionary dan setdict, pola menghitung, data bersarang (list of dict), setRingkasan per kategori
09Galat dan debuggingTraceback, try/except/else/finally, raise, validasi, cara men-debugValidasi dengan ValueError yang jelas
10Berkas: teks, CSV, dan JSONwith open, encoding UTF-8, csv, json, pathlib dasarSimpan/muat kas.json, ekspor CSV
11Modul dan pustaka standarimport, modul sendiri, if __name__ == "__main__", datetime, collections, statistics, membaca dokumentasiMemecah kasku menjadi modul
12Kelas dan dataclassKelas, objek, metode, @dataclass, kapan memakai kelasTransaksi sebagai dataclass
13Python di komputermuTerminal, menjalankan skrip, sys.argv, argparse, venv, pip, requirements.txt, keamanan paketkasku sebagai perintah terminal sungguhan
14Pengujian dengan pytestFungsi murni, kasus tepi, pytest, tmp_path, menulis tes duluTes untuk kasku
15Otomasi sehari-hariFolder dan berkas massal, menggabung CSV, laporan otomatis, menjadwalkan skripImpor mutasi CSV dan laporan bulanan
16Proyek akhir: kaskuMenyatukan semuanya, README, merilis ke GitHub, Tayang ringan, langkah berikutnyakasku utuh + tes + README + GitHub Actions

Modul 01–12: lab sepenuhnya di peramban. Modul 13–16: latihan inti tetap diperiksa di peramban (kasku dijalankan dengan argv simulasi), ditambah Lab luar peramban di terminal dengan daftar "Selesai bila:" dan jalur Codespaces.

Yang sengaja tidak dibahas di F1 (agar fokus): pewarisan kelas yang dalam, dekorator buatan sendiri, generator lanjutan, async, pemrograman jaringan, pustaka pihak ketiga selain pytest. Git, GitHub Actions, dan menayangkan aplikasi ada di F5 Rilis; F1 hanya memakai seperlunya di Modul 16.

Belajar bersama AI

Metode yang sama berlaku di semua modul:

  • Bertanya dengan baik. Sebut levelmu, apa yang sudah kamu coba, dan minta penjelasan atau petunjuk, bukan jawaban jadi. Contoh: "Aku dapat galat ValueError: invalid literal for int(). Apa artinya? Beri petunjuk, jangan tulis ulang kodenya." Saat bertanya tentang terminal, sebut sistem operasi, shell, dan versi Python.
  • Memeriksa jawaban. AI bisa salah dengan nada sangat yakin. Jalankan setiap kode dan klaimnya dengan contoh kecil, termasuk kasus tepi (kosong, nol, negatif, nilai di batas), dan cocokkan dengan dokumentasi resmi (docs.python.org). Kalau hasilnya beda, yang benar adalah Python.
  • Kerjakan sendiri dulu. Latihan, membaca pesan galat, dan menebak keluaran dikerjakan sendiri; buka petunjuk sebelum bertanya ke AI. Jangan menempelkan data pribadi (mutasi rekening, nomor HP) ke layanan AI.
  • Tugas tanpa AI, tugas dengan AI, lalu bandingkan. Di setiap modul kamu mengerjakan satu tugas dengan tangan, lalu tugas sejenis bersama AI, dan mencatat apa yang dipercepat AI, kesalahan apa yang dibuatnya, dan pemahaman klasik mana yang menangkap kesalahan itu.

Kerangka setiap modul

# Modul NN · Judul

> **Hasil belajar:** setelah modul ini kamu bisa …; …; ….
> **Prasyarat:** Modul NN (atau "tidak ada").
> **Waktu:** ±3–5 jam.
> **Proyek:** langkah kasku di modul ini.

## Intinya          (3–5 butir pendek: yang harus diingat dari modul ini)
## 1. Kenapa ini penting
## 2. Konsep
### 2.1 …   (penjelasan → contoh yang bisa dijalankan + keluaran → "Coba ubah")
### 2.N Di balik layar (opsional): …   (pendalaman, boleh dilewati)
## 3. Latihan          (≥ 8 latihan terperiksa: 3 dasar, 3 menengah, 2 tantangan)
## 4. Kesalahan umum   (≥ 4 pesan galat sungguhan: arti dan perbaikannya)
## 5. Belajar bersama AI
### Tugas tanpa AI (cara klasik)
### Tugas dengan AI (cara modern)
### Bandingkan
## 6. Proyek: …        (langkah kasku; "Selesai bila:")
## 7. Di dunia kerja
## 8. Kuis             (8 pilihan ganda, kunci + alasan)
## Ringkasan
## Sumber              (dokumentasi resmi + minimal satu rujukan klasik; "dicek 17 Oktober 2026")

Setiap modul memadukan cara klasik (memahami mekanismenya dan mengerjakan sendiri dengan tangan) dan cara modern (bekerja bersama AI lalu memverifikasi hasilnya).

Isi tiap bagian:

  • Intinya — 3–5 butir pendek sebelum isi modul.
  • 1. Kenapa ini penting — satu masalah kecil yang nyata dan akrab (menghitung kembalian, merekap nilai, membersihkan daftar belanja) yang tidak bisa diselesaikan dengan nyaman tanpa konsep modul ini.
  • 2. Konsep — bertahap, satu ide per subbagian. Setiap ide punya contoh python + text keluaran yang diperiksa mesin, dan ajakan "Coba ubah … lalu tebak keluarannya". Istilah baru ditebalkan saat pertama muncul dan dijelaskan dengan bahasa sehari-hari. Beri satu analogi bila membantu, jangan lebih. Subbagian "Di balik layar (opsional)" menjelaskan apa yang sebenarnya terjadi di bawahnya, dengan contoh yang diperiksa mesin. Isinya tidak boleh menjadi syarat latihan inti atau kuis; latihan yang memakainya diberi catatan Opsional. Topik yang dimiliki course lain (rekursi, tabel hash, pencarian biner: K1; Git dan CI: F5) cukup dikenalkan lalu ditautkan.
  • 3. Latihan — format latihan standar Coding Studio, minimal 8. Baris pertama setelah judul latihan adalah **Tingkat:** dasar, menengah, atau tantangan (minimal 3 dasar, 3 menengah, 2 tantangan). Latihan pertama bisa diselesaikan langsung dari contoh di §2; latihan tantangan menuntut menggabungkan beberapa konsep atau memikirkan kasus tepi.
  • 4. Kesalahan umum — blok python galat + text galat yang diperiksa mesin, lalu: artinya apa, cara membaca traceback-nya, perbaikannya. Termasuk kesalahan logika yang tidak memunculkan galat (hasil salah diam-diam).
  • 5. Belajar bersama AI — metode umumnya ada di bagian Belajar bersama AI README ini; modul hanya menambahkan satu tips pemeriksaan khas topiknya, satu contoh jawaban AI yang terdengar benar tetapi salah dan cara membuktikannya, lalu Tugas tanpa AI, Tugas dengan AI, dan Bandingkan.
  • 6. Proyek — langkah kasku sesuai Kontrak kasku; dibuat sebagai latihan terperiksa bila memungkinkan, diakhiri "Selesai bila:".
  • 7. Di dunia kerja — bagaimana konsep ini dipakai developer, analis data, atau admin kantor, dalam skenario generik yang realistis (toko daring, kantor, sekolah, aplikasi ojek). Jangan menunjuk berkas, jalur, keputusan, commit, atau insiden dari repositori perusahaan mana pun.
  • 8. Kuis — 8 soal pilihan ganda (A–D) yang menguji pemahaman, bukan hafalan; minimal 3 soal "apa keluaran kode ini?" dan 1 soal analisis kesalahan ("baris mana yang salah dan kenapa?"). Kunci di bawahnya dengan satu kalimat alasan per soal. Keluaran yang dijadikan kunci dicek dengan menjalankannya.
  • Ringkasan — 5–8 butir.
  • Sumber — dokumentasi resmi Python (docs.python.org/3), tutorial resmi, PEP yang relevan, dan minimal satu rujukan klasik (buku teks atau makalah yang benar-benar ada, misalnya Think Python karya Allen B. Downey); tulis "dicek 17 Oktober 2026".

Pedoman bahasa

  • Sapaan "kamu", kalimat pendek, nada ramah dan langsung. Tidak menggurui, tidak bercanda berlebihan.
  • Istilah baku F1/F2:
InggrisDipakaiCatatan
variablevariabel
function / argument / parameterfungsi / argumen / parameter
return valuenilai kembalian
loopperulanganfor, while tetap ditulis sebagai kode
stringstring"teks" boleh sebagai penjelas
list, tuple, dictionary, setlist, tuple, dictionary (dict), settidak diterjemahkan
error / exceptiongalat (error)sebut "(error)" saat pertama muncul di tiap modul; nama galat Python (ValueError) tetap
bug, debuggingbug, debugging
file / folderberkas / folder
package / modulepaket / modul
testtes
virtual environmentvirtual environment (venv)
terminal / command lineterminal / baris perintah
  • Nama variabel dan fungsi di contoh boleh bahasa Indonesia (harga, hitung_total) dan mengikuti PEP 8 (snake_case). Konsisten dalam satu contoh.

Aturan mutu (untuk penulis dan reviewer)

  1. Semua kode diperiksa mesin di Python 3.11–3.13: kode awal latihan gagal, solusi lulus, dan keluaran contoh sama persis. Keluaran tidak pernah diketik dari ingatan.
  2. Python 3.11–3.13 dan Pyodide. Tanpa pustaka pihak ketiga di Modul 01–12; pytest mulai Modul 14 (di luar peramban).
  3. Satu modul, satu langkah. Latihan dan contoh hanya memakai konsep dari modul itu dan sebelumnya.
  4. Tanpa data pribadi. Nama orang fiktif; tanpa nomor HP, NIK, alamat, atau email sungguhan (pakai @example.com).
  5. Fakta dicek. Klaim tentang Python, pip, PyPI, atau Codespaces dicek ke dokumentasi resmi pada tanggal penulisan; kuota gratis ditulis dengan tanggalnya.
  6. Aman. Tidak ada perintah yang merusak (rm -rf, menghapus folder tanpa konfirmasi) di contoh otomasi; skrip yang mengubah berkas selalu punya mode "coba dulu" (dry run).