Cara Buat Dokumentasi Otomatis dengan AI: Hemat Berjam-jam

Developer membuat dokumentasi dengan bantuan AI

Written by

in

Cara Buat Dokumentasi Otomatis dengan AI: Hemat Berjam-jam

“Nanti didokumentasikan” — kalimat yang paling sering jadi kebohongan terbesar di dunia software development.

Bukan karena developer malas. Tapi karena dokumentasi itu membosankan, memakan waktu, dan terasa seperti pekerjaan yang tidak langsung produce value. Kalau pilih antara buat fitur baru atau menulis docs, hampir semua orang pilih fitur.

Masalahnya, enam bulan ke depan kamu (atau tim kamu) yang akan menderita membaca kode tanpa konteks. Dan waktu itu, “nanti” sudah jadi “tidak pernah”.

AI mengubah ini. Bukan dengan menghilangkan kebutuhan dokumentasi, tapi dengan menghilangkan friction-nya.


Tiga Jenis Dokumentasi yang Bisa Diotomasi

Sebelum masuk ke workflow, penting untuk tahu mana yang bisa diotomasi dan mana yang tidak.

Bisa diotomasi dengan baik:

  • Docstring dan JSDoc untuk fungsi
  • README untuk repository atau modul
  • API documentation dari kode
  • Changelog dari commit messages
  • Inline code comments

Tetap butuh manusia:

  • “Kenapa” keputusan desain diambil
  • Konteks bisnis dan domain knowledge
  • Tutorial step-by-step yang butuh perspektif pengguna
  • Arsitektur decisions (ADR)

Ekspektasi yang realistis: AI bisa handle 60-70% pekerjaan dokumentasi. Sisanya tetap butuh kamu. Tapi 60-70% itu cukup untuk secara signifikan mengubah berapa waktu yang kamu habiskan.


Workflow 1: Docstring Otomatis untuk Fungsi

Ini yang paling mudah dan langsung menghasilkan value. Untuk setiap fungsi yang kamu tulis atau modifikasi, minta AI generate docstring-nya.

Di VS Code dengan Copilot / Windsurf / Cursor

Untuk Python, tulis komentar """ di bawah function signature dan biarkan AI complete:

def calculate_monthly_payment(

principal: float,

annual_rate: float,

months: int

) -> float:

"""

# AI akan complete dari sini

Untuk JavaScript/TypeScript, tulis /** dan biarkan AI complete JSDoc:

/**

* AI akan generate JSDoc di sini

*/

function calculateMonthlyPayment(

principal: number,

annualRate: number,

months: number

): number {

Batch Processing via Prompt

Kalau punya banyak fungsi yang belum terdokumentasi, paste ke chat AI dan minta batch:

Tambahkan JSDoc yang comprehensive untuk setiap fungsi di bawah ini.

Sertakan: @param, @returns, @throws (jika relevan), dan contoh usage.

[paste kode di sini]


Workflow 2: README Generator

README yang bagus itu seperti elevator pitch untuk project kamu. Tapi menulis dari nol itu melelahkan.

Template Prompt untuk README

Buatkan README.md yang komprehensif untuk project berikut.

Stack: [list stack]

Deskripsi singkat project: [apa yang dilakukan project ini]

Target pengguna: [siapa yang akan pakai]

Struktur project:

[output dari tree -I node_modules -I .git]

Package.json / requirements.txt:

[paste konten file]

README harus mencakup:

  • Deskripsi dan screenshot (placeholder)
  • Prerequisites
  • Cara install dan setup
  • Environment variables yang diperlukan
  • Cara run (development dan production)
  • Struktur folder penting
  • Contributing guide singkat

Hasilnya mungkin butuh adjustment, tapi struktur dasarnya sudah ada dan kamu tinggal polish.


Workflow 3: API Documentation dari Kode

Untuk REST API, ada tools yang bisa auto-generate dokumentasi dari kode atau dari OpenAPI spec. Tapi bahkan tanpa tools khusus, AI bisa sangat membantu.

Dari Route Handler ke Dokumentasi

Ini adalah route handlers Express.js untuk module users.

Generate dokumentasi API dalam format yang readable (bisa markdown atau tabel).

Sertakan: endpoint, method, request body/params, response format, dan error codes.

[paste route handlers]

Kombinasi dengan Swagger/OpenAPI

Kalau kamu pakai framework yang support OpenAPI (FastAPI di Python, NestJS di Node.js), AI bisa membantu:

  1. Generate OpenAPI annotations untuk endpoint yang belum punya
  2. Review dan improve schema yang sudah ada
  3. Generate contoh request/response yang realistic

Workflow 4: Changelog dari Git History

Tidak ada yang suka menulis changelog. Tapi changelog yang bagus sangat valuable untuk user dan untuk tracking apa yang berubah.

Otomasi dengan Git Log

git log --oneline --since="2 weeks ago" > commits.txt

Lalu prompt ke AI:

Ini adalah commit history dari 2 minggu terakhir.

Buatkan CHANGELOG.md entry yang proper untuk release v1.x.x.

Kategorikan perubahan dalam: Features, Bug Fixes, Breaking Changes, Improvements.

Tulis dalam bahasa yang user-friendly, bukan technical jargon dari commit message.

[paste commit history]


Workflow 5: Architecture Decision Records (ADR)

ADR adalah dokumentasi tentang “kenapa” — kenapa kita pilih teknologi X, kenapa kita desain sistem seperti ini. Ini yang sulit diotomasi, tapi AI bisa membantu menstrukturkan pemikiranmu.

Template ADR dengan AI

Saya baru saja membuat keputusan teknis berikut:
  • Keputusan: [apa yang diputuskan]
  • Konteks: [situasi dan constraints yang dihadapi]
  • Alternatif yang dipertimbangkan: [opsi lain]
  • Alasan memilih solusi ini: [reasoning]

Buatkan ADR (Architecture Decision Record) yang proper menggunakan template MADR atau format Michael Nygard.

AI akan menstrukturkan pemikiranmu ke format ADR yang terstandarisasi.


Tools yang Bisa Dikombinasikan

Untuk JavaScript/TypeScript Projects

  • TypeDoc — generate API docs dari TypeScript source
  • Compodoc — khusus untuk Angular
  • Kombinasikan dengan AI untuk improve narasi yang dihasilkan

Untuk Python Projects

  • Sphinx + autodoc — standard untuk Python documentation
  • pdoc — lebih simple dari Sphinx
  • AI untuk generate docstring sebelum tools ini dijalankan

Untuk API

  • Swagger UI / Redoc — render OpenAPI spec jadi dokumentasi interaktif
  • AI untuk generate atau improve OpenAPI spec

Setup CI/CD untuk Dokumentasi Otomatis

Kalau mau lebih serius, setup pipeline yang otomatis generate docs ketika ada perubahan kode:

# .github/workflows/docs.yml

name: Generate Documentation

on:

push:

branches: [main]

jobs:

docs:

runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v3

- name: Install dependencies

run: npm install

- name: Generate TypeDoc

run: npx typedoc --out docs src/

- name: Deploy to GitHub Pages

uses: peaceiris/actions-gh-pages@v3

with:

github_token: ${{ secrets.GITHUB_TOKEN }}

publish_dir: ./docs

Hasilnya: setiap push ke main otomatis update dokumentasi yang dipublish.


Praktik Terbaik: Dokumentasi Tetap Human-Reviewed

Meskipun AI bisa generate dokumentasi dengan cepat, ada prinsip yang perlu dijaga:

  1. Selalu review sebelum commit — AI bisa salah mendeskripsikan behavior fungsi
  2. Tambahkan “why” secara manual — AI tidak tahu alasan bisnis di balik keputusan
  3. Jaga akurasi lebih dari completeness — dokumentasi yang salah lebih berbahaya dari tidak ada dokumentasi
  4. Update secara reguler — dokumentasi outdated adalah technical debt

Penutup

Dokumentasi yang bagus itu bukan kemewahan — itu investasi yang membayar dirinya sendiri ketika tim berkembang, ketika kamu onboarding orang baru, atau ketika kamu sendiri kembali ke kode yang kamu tulis setahun lalu.

Dengan AI, excusenya sudah tidak ada lagi. Setup workflow yang saya bagikan di atas bisa diimplementasikan dalam beberapa jam, dan efeknya akan terasa di setiap project ke depannya.

Mau bantuan setup documentation workflow untuk project atau tim kamu? Atau perlu diskusi soal tools yang paling pas untuk stack yang sedang kamu pakai? Hubungi mafadev — kita atur bareng.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *