BAB 05
Estimasi Waktu: 40-50 menit Prasyarat: 01-04 dari folder ini
Materi ini membahas bagaimana mengintegrasikan AI ke dalam seluruh software development lifecycle (SDLC) - dari planning hingga deployment. Bukan hanya menggunakan AI untuk menulis kode, tapi membangun workflow di mana AI menjadi bagian natural dari setiap tahap development.
Setelah mempelajari materi ini, kamu akan mampu:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AI-ENHANCED SDLC β
β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β PLANNING β βDESIGN & β β CODING β β
β β β β ARCHITECTβ β β β
β β AI bantu:β β AI bantu:β β AI bantu:β β
β β- Refine β β- Design β β- Write β β
β β require-β β review β β code β β
β β ments β β- Pattern β β- Debug β β
β β- Break β β sugges- β β- Generateβ β
β β down β β tion β β tests β β
β β tasks β β- Proto- β β- Explain β β
β β- Estimateβ β type β β code β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β TESTING β β REVIEW & β β DEPLOY & β β
β β β β REFACTOR β β MONITOR β β
β β AI bantu:β β AI bantu:β β AI bantu:β β
β β- Generateβ β- Securityβ β- CI/CD β β
β β tests β β review β β configs β β
β β- Edge β β- Perfor- β β- Monitor β β
β β cases β β mance β β alerts β β
β β- Test β β- Code β β- Log β β
β β data β β quality β β analyze β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Prompt:
"Saya ingin membuat fitur [deskripsi fitur].
Bantu saya:
1. Identifikasi requirement yang mungkin terlewat
2. Buat user stories yang jelas
3. Identifikasi technical considerations
4. Estimasi complexity (Simple/Medium/Complex)
5. Daftarkan questions yang perlu ditanyakan ke stakeholder"
Prompt:
"Break down fitur berikut menjadi task-task yang bisa dikerjakan:
Fitur: [deskripsi]
Tech Stack: [stack]
Timeline: [timeline]
Untuk setiap task:
- Deskripsi
- Estimasi (S/M/L)
- Dependencies
- Definition of Done
- Apa yang bisa AI bantu vs harus manual"
Prompt:
"Saya perlu mendesain [sistem/komponen]. Berikut requirementnya:
[requirements]
Bantu saya:
1. Identifikasi 2-3 pendekatan arsitektur
2. Bandingkan trade-off masing-masing
3. Rekomendasikan yang terbaik untuk konteks ini
4. Identifikasi potential issues
5. Buat diagram arsitektur dalam ASCII art"
1. START: Jelaskan ke AI apa yang akan dibangun
2. PLAN: AI bantu breakdown dan sequence
3. CODE: Gunakan AI untuk generate, tapi review setiap baris
4. TEST: AI generate tests, kamu verifikasi
5. ITERATE: Debug dengan AI jika ada masalah
6. REVIEW: AI review sebelum commit
Prompt:
"Berdasarkan kode berikut, buat dokumentasi yang mencakup:
1. Overview - apa komponen ini dan mengapa ada
2. API Reference - setiap public function/method
3. Usage Examples - contoh penggunaan
4. Configuration - opsi konfigurasi
5. Troubleshooting - masalah umum dan solusinya
```[kode]```
Format: Markdown
Bahasa: Bahasa Indonesia untuk penjelasan, Inggris untuk technical terms"
Prompt:
"Buat GitHub Actions workflow untuk:
Project: [deskripsi]
- Build: [build step]
- Test: [test framework]
- Deploy: [target environment]
- Notifications: Slack
Requirements:
- Run on push to main and on PR
- Cache dependencies
- Parallel test execution
- Rollback on failure"
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SOLO DEVELOPER + AI WORKFLOW β
β β
β Morning: β
β βββ Chat with AI: plan hari ini β
β βββ AI bantu breakdown task pertama β
β βββ Start coding with AI assistance β
β β
β Coding: β
β βββ AI autocomplete untuk repetitive code β
β βββ AI chat untuk bagian yang tricky β
β βββ AI generate tests setelah implement β
β βββ AI review sebelum commit β
β β
β End of Day: β
β βββ AI review semua commit hari ini β
β βββ AI bantu update dokumentasi β
β βββ Chat with AI: plan besok β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TEAM + AI WORKFLOW β
β β
β Sprint Planning: β
β βββ AI bantu estimasi dan task breakdown β
β β
β Daily Development: β
β βββ Developer coding dengan AI assistance β
β βββ AI sebagai first reviewer (automated) β
β βββ Human reviewer fokus pada business logic β
β β
β Code Review: β
β βββ AI check: security, performance, style β
β βββ Human check: architecture, domain, team norms β
β β
β Retrospective: β
β βββ AI analisis metrik sprint β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
PRODUKTIVITAS:
- Waktu per feature (sebelum AI vs sesudah AI)
- Jumlah commit per hari
- Lead time (dari task dimulai hingga deployed)
KUALITAS:
- Bug rate (bugs per feature)
- Code review time
- Test coverage
PEMBELAJARAN:
- Concept baru yang dipelajari melalui AI
- Waktu untuk memahami codebase baru
- Kemampuan debugging mandiri
METRIK YANG MENYESATKAN:
- Lines of code per hari (AI bisa generate banyak LoC yang tidak perlu)
- Kecepatan commit (cepat tapi banyak bug = tidak produktif)
- Jumlah AI interaction (lebih banyak β lebih baik)
METRIK YANG BERGUNA:
- Cycle time dari idea ke production
- Bug escape rate
- Developer satisfaction
- Kualitas code yang konsisten
MASALAH: Tidak bisa coding tanpa AI
SOLUSI: Gunakan AI sebagai crutch awal, tapi secara bertahap
kurangi ketergantungan. Pahami SETIAP baris kode.
MASALAH: Generate kode β tidak pahami β commit
SOLUSI: Sebelum commit, jelaskan kode ke diri sendiri (atau
rubber duck). Jika tidak bisa, minta AI jelaskan.
MASALAH: "AI sudah review, tidak perlu human review"
SOLUSI: AI review adalah LAYER PERTAMA, bukan satu-satunya.
Human review tetap penting untuk konteks dan business logic.
MASALAH: Mencoba otomasi semuanya dengan AI
SOLUSI: Gunakan AI di mana memberikan value terbesar.
Tidak semua task perlu AI assistance.
SEBELUM CODING:
β‘ Jelaskan masalah ke AI dulu (rubber duck)
β‘ Minta breakdown jika task kompleks
β‘ Diskusikan pendekatan sebelum implement
SAAT CODING:
β‘ Gunakan autocomplete untuk boilerplate
β‘ Tanya AI jika stuck lebih dari 15 menit
β‘ Minta AI jelaskan kode yang tidak dipahami
SESUDAH CODING:
β‘ AI review sebelum human review
β‘ AI generate tests untuk kode baru
β‘ Update dokumentasi dengan bantuan AI
MINGGUAN:
β‘ Review AI usage patterns - apa yang membantu?
β‘ Identifikasi area untuk improvement
β‘ Pelajari teknik prompting baru