Each worksheet now includes Ringkasan Materi, Template A.x, 3 exercises with example answers, and reflection prompts. Synced from rti-20252 student repo.
5.3 KiB
WS-09: Implementation & Environment
Bab 9 — Implementasi Riset & Kontrol Lingkungan
Ringkasan Materi
Implementasi Riset ≠ Coding Biasa
Tujuan implementasi riset bukan membuat software yang berfungsi, melainkan membangun instrumen pengukuran yang konsisten. Setiap modul harus di-mapping ke variabel (dari Bab 6), parameter harus config-driven, dan logging aktif dari hari pertama.
Reproducible Implementation Model
Design → Implementation → Environment Setup → Execution Consistency → Reproducibility → Trustworthy Result
Setiap transisi memiliki syarat:
- Design → Implementation: kode sesuai mapping variabel-ke-komponen
- Implementation → Environment: versi, dependency, seed, path, OS eksplisit
- Environment → Consistency: seed terkunci, urutan deterministik
- Consistency → Reproducibility: dokumentasi lengkap
- Reproducibility → Trust: siapa pun ikuti dokumentasi → hasil sama/serupa
Repeatability vs Reproducibility
| Level | Peneliti | Environment | Hasil |
|---|---|---|---|
| Repeatability | Sama | Sama | Sama persis |
| Reproducibility | Berbeda | Berbeda (ikuti docs) | Sama/serupa |
Capai repeatability dulu, baru reproducibility.
Engineering vs Research Perspective
| Aspek | Engineering | Research |
|---|---|---|
| Tujuan | Sistem berfungsi untuk user | Instrumen pengukuran konsisten |
| Dependency | Update ke terbaru | Lock di versi spesifik |
| Testing | Unit, integration, E2E | Repeatability test (run ulang → sama?) |
| Dokumentasi | User guide, API docs | Environment spec, execution steps, expected output |
| Config | Default masuk akal | Setiap parameter eksplisit & adjustable |
Jebakan Kognitif
- Menunda environment setup → bug sulit dilacak
- Tidak pakai version control → hasil tidak bisa direkonstruksi
- Menolak Docker/container → "di laptop saya bisa" saat review
- 3× hasil sama ≠ repeatable (bisa cache/state tersimpan)
Istilah Penting
- Environment Specification — Deskripsi lengkap: hardware, OS, runtime, library + versi, config, seed
- Dependency — Komponen eksternal yang harus di-lock versinya
- Config-driven — Parameter dieksternalisasi ke file konfigurasi, bukan hardcode
Template A.9 — Dokumentasi Setup Eksperimen
EXPERIMENT SETUP DOCUMENTATION
Hardware:
CPU : ____________________
RAM : ____________________
GPU : ____________________
Storage : ____________________
Software:
OS : ____________________
Runtime : ____________________
Framework : ____________________
Dependencies:
| Library | Version | Sumber | Hash/Checksum |
|---------|---------|--------|---------------|
| | | | |
| | | | |
Konfigurasi:
Config file : ____________________
Random seed : ____________________
Hyperparameters : ____________________
Reproducibility Check:
[ ] Dependency terdokumentasi (requirements.txt / lock file)
[ ] Seed ditetapkan di semua level (Python, NumPy, framework)
[ ] Config di version control
[ ] README instruksi reproduksi lengkap
Latihan 1 — Environment Specification
Dokumentasikan environment untuk eksperimen Anda (boleh environment saat ini atau yang direncanakan).
| Komponen | Spesifikasi |
|---|---|
| CPU | Contoh: Intel Core i7-12700H, 14 Core |
| RAM | Contoh: 32 GB DDR5 |
| GPU | Contoh: NVIDIA RTX 3060 6GB / CPU-only jika tidak ada GPU |
| OS | Contoh: Ubuntu 22.04 LTS / Windows 11 |
| Runtime | |
| Framework | |
| Random Seed |
Dependencies (minimal 5):
| Library | Version | Alasan Dibutuhkan |
|---|---|---|
| Contoh: scikit-learn | 1.3.2 | Klasifikasi + evaluasi metrik |
Latihan 2 — Repeatability Test Plan
Rancang tes repeatability sederhana: jalankan kode yang sama 3× di environment yang sama.
| Run | Seed | Metrik Utama | Hasil Sama? |
|---|---|---|---|
| 1 | Contoh: 42 | Contoh: Accuracy | — |
| 2 | [ ] Ya / [ ] Tidak | ||
| 3 | [ ] Ya / [ ] Tidak |
Jika hasil berbeda, kemungkinan penyebab:
Checklist kontrol yang sudah diterapkan:
- Random seed di-set di semua level
- Tidak ada background process yang mengganggu
- Cache dibersihkan antar-run
- Config file yang sama untuk semua run
Latihan 3 — README Eksperimen
Tulis README minimum untuk eksperimen Anda (6 komponen wajib).
# Judul Eksperimen: ____________________
## 1. Environment
> (Salin spesifikasi dari Latihan 1)
## 2. Installation
> (Langkah instalasi, misal: "pip install -r requirements.txt")
## 3. Data
> (Deskripsi data: sumber, format, ukuran)
## 4. Execution
> (Command untuk menjalankan eksperimen)
## 5. Configuration
> (File config yang digunakan + parameter kunci)
## 6. Expected Output
> (Contoh output yang diharapkan + format)
Refleksi
Apakah eksperimen Anda saat ini bisa direproduksi oleh orang lain tanpa bantuan Anda? Komponen apa yang masih hilang?
Level saat ini: [ ] Repeatability / [ ] Reproducibility / [ ] Belum keduanya Komponen yang belum terdokumentasi: