BAB 05

05 - Mengintegrasikan AI dalam Development Workflow

Estimasi Waktu: 40-50 menit Prasyarat: 01-04 dari folder ini


Apa Itu Materi 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.


Tujuan Pembelajaran

Setelah mempelajari materi ini, kamu akan mampu:


1. AI dalam Software Development Lifecycle

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              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 β”‚                 β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

2. Setiap Tahap Detail

Fase 1: Planning & Requirements

AI untuk Requirement Clarification

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"

AI untuk Task Breakdown

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"

Fase 2: Design & Architecture

AI untuk Design Discussion

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"

Fase 3: Coding

AI-Paired Development Flow

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

Fase 4: Documentation

AI untuk Documentation

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"

Fase 5: Deployment & Monitoring

AI untuk CI/CD

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"

3. Workflow Patterns

Pattern 1: Solo Developer + AI

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚        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                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Pattern 2: Team + AI

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚          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                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

4. Mengukur Efektivitas AI dalam Development

Metrik yang Bisa Dilacak

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

Jangan Ukur yang Salah

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

5. Anti-Pattern dalam AI-Integrated Development

Anti-Pattern 1: AI-Dependent Developer

MASALAH: Tidak bisa coding tanpa AI
SOLUSI: Gunakan AI sebagai crutch awal, tapi secara bertahap
       kurangi ketergantungan. Pahami SETIAP baris kode.

Anti-Pattern 2: AI as Black Box

MASALAH: Generate kode β†’ tidak pahami β†’ commit
SOLUSI: Sebelum commit, jelaskan kode ke diri sendiri (atau
       rubber duck). Jika tidak bisa, minta AI jelaskan.

Anti-Pattern 3: Skip Review

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.

Anti-Pattern 4: Over-Automate

MASALAH: Mencoba otomasi semuanya dengan AI
SOLUSI: Gunakan AI di mana memberikan value terbesar.
       Tidak semua task perlu AI assistance.

6. Membangun Kebiasaan AI yang Sehat

Habit Stack

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

Latihan (~20 menit)

Tugas: Rencanakan AI-Enhanced Workflow-mu

  1. Audit current workflow - bagaimana kamu develop sekarang?
  2. Identifikasi bottleneck - mana yang bisa AI bantu?
  3. Pilih 2-3 area untuk integrasi AI
  4. Buat rencana implementasi - mulai dari yang paling berdampak
  5. Definisikan success metrics - bagaimana kamu tahu itu berhasil?

Poin-Poin Utama

  1. AI bisa diintegrasikan ke setiap tahap SDLC - bukan hanya coding
  2. Planning dan design benefit besar dari AI sebagai sounding board
  3. AI review adalah layer pertama - human review tetap krusial
  4. Ukur metrik yang bermakna - kualitas, bukan kecepatan semata
  5. Hindari ketergantungan berlebihan - pahami semua kode yang di-commit
  6. Konsistensi lebih penting daripada intensity - gunakan AI secara rutin
  7. Terus belajar teknik baru - AI dan best practices berkembang cepat

Informasi Materi