Agentic AI in Practice
Cara Saya Coding Sehari-hari
dengan Claude Code
Endy Muhardin, ArtiVisi Intermedia
Dari Komentar Vlog #48
"Claude tercantum sebagai kontributor di repo ArtiVisi. Bahas dong agentic AI-nya."
- Pertanyaan intinya: bagaimana agentic AI digunakan dalam pekerjaan coding sehari-hari
- Contohnya diambil dari dua repo publik ArtiVisi: Balaka, aplikasi akunting open source, dan payment-gateway. Untuk payment-gateway, transkrip sesi Claude Code masih tersimpan sehingga sebagian commit dapat ditelusuri hingga ke sesi asalnya
Asal Nama Claude di Daftar Kontributor
GitHub menghitung kontributor dari trailer, yaitu baris seperti Co-Authored-By di akhir pesan commit, yang ditambahkan Claude Code secara otomatis.
1.023
commit sejak 19 Nov 2025
857
memuat trailer Claude (83,8%)
3.706
anotasi @Test di 222 file test
23
tag rilis, Des 2025 saja ada 8
| Bulan | Commit | Dengan Trailer Claude | Baris ditambah | Baris dihapus |
|---|
| Nov–Des 2025 | 477 | 320 | 211.946 | 89.164 |
| Jan–Mar 2026 | 398 | 392 | 116.549 | 24.087 |
| Apr–Mei 2026 | 106 | 104 | 21.987 | 1.497 |
| Jun–Agu 2026 | 42 | 41 | 9.741 | 4.721 |
git log, clone lokal, 18 September 2026. Fase pengembangan selesai sekitar Mei, setelah itu tinggal perawatan. Trailer mencatat sembilan nama model, dari Claude Opus 4.5 hingga Claude Opus 5, tetapi alur kerjanya tidak berubah.
Ringkasan Cara Kerja dan Hasilnya
1
orang, dengan Claude Code sepanjang pengerjaan
237
function point per bulan aktif, gabungan dua repo
1,3×
baris test Java dibandingkan kode utama Balaka
84%
commit Balaka dikerjakan bersama Claude
Agent menulis kode dan menjalankan test. Saya memverifikasi hasilnya lewat test dan pengetahuan domain. Batas produktivitasnya ada di kepala saya.
Sebagai gambaran skala, Capers Jones (2017) mencatat 6–10 function point per orang-bulan untuk aplikasi Java pada tim konvensional. Cara menghitung dan batasannya dibahas di bagian akhir. Data per 18 September 2026.
Tiga Cara Menggunakan AI untuk Coding
| Chat di browser | Agent di IDE | Agent di CLI |
|---|
| Konteks | File yang diunggah satu per satu | Repo yang dibuka di editor | Seluruh folder: 1.470 file Balaka, repo lain, Downloads |
| Eksekusi | Saya menjalankan, lalu menyalin error | Agent, di terminal editor | Agent: mvn, psql, git, ssh |
| Pengawasan | Membaca jawaban | Membaca diff di editor | Hasil test dan CI |
| Paralel | Satu percakapan | Satu jendela per proyek | Beberapa sesi, satu worktree per tugas |
| Jejak | Riwayat chat | Riwayat chat dan commit | Commit, trailer, memory |
Contoh agent di IDE: GitHub Copilot, Cursor, Antigravity. Contoh agent di CLI: Claude Code, Codex CLI, Gemini CLI.
Alur Kerja Harian
TugasTujuan dan batasannya. Langkahnya diserahkan ke agent
→
Worktree + sesiSatu folder kerja dan satu sesi Claude Code per tugas
→
Loop agentBaca kode, ubah, jalankan test, ulangi hingga lulus
→
VerifikasiSaya memeriksa hasil test dan mencecar AI soal cakupan test
→
Commit + CITest terkait, commit, lalu CI menjalankan semua test
→
RilisTag rilis dan deployment
- Kotak oranye saya kerjakan sendiri, kotak lainnya dikerjakan agent
- Saya tidak membaca diff. Saya memeriksa hasil test, lalu mencecar agent soal skenario yang sudah diuji, kasus batas yang belum tercakup, dan seberapa menyeluruh test memeriksa perilaku aplikasi
- Koreksi yang muncul saat verifikasi saya minta dicatat ke memory agent (15 catatan untuk Balaka, 55 untuk payment-gateway), sehingga sesi berikutnya tidak mengulang kesalahan yang sama
Satu Bug dari Screenshot hingga Deployment
| WIB | Pelaku | Langkah |
|---|
| 16:38 | Saya | Mengirim screenshot halaman rekonsiliasi yang kosong, dengan pesan "nothing appears" |
| 16:39 | Agent | Membaca importer mutasi bank. Batas hari rekonsiliasi ternyata menggunakan UTC, sedangkan mutasi bank menggunakan WIB |
| 16:40 | Agent | Memprediksi hasil rekonsiliasi dengan data production: dua transaksi akan tampil sebagai selisih, padahal hanya efek batas hari |
| 16:41 | Agent | Mengubah batas hari ke zona Jakarta dan menulis test baru. Semua test lulus |
| 16:42 | Agent | Mengembalikan bug untuk menguji test tersebut. Test tetap lulus, berarti test belum bisa membedakan kode lama dan kode baru |
| 16:42 | Agent | Menulis ulang test. Sekarang test gagal pada kode lama dan lulus pada kode baru |
| 16:43 | Agent | Seluruh 146 test lulus, lalu commit 78c1860 |
| 16:44 | Agent | Deployment ke production sesuai izin yang saya berikan pukul 16:34. Aplikasi merespons normal setelah 31 detik, tanpa error |
Payment-gateway, 25 Agustus 2026. Pengecekan di baris 16:42 adalah pertanyaan yang biasanya saya ajukan saat verifikasi: apakah test ini gagal kalau bug-nya dikembalikan?
Kesalahan Agent dan Cara Tertangkapnya
- Ditolak Coretax, Apr 2026. Agent menerapkan pembulatan pajak FLOOR dengan alasan "praktik perpajakan Indonesia". Coretax menolak hasil perhitungannya, karena PER-11/PJ/2025 Pasal 129 ayat 3 mewajibkan HALF_UP. Pesan commit perbaikan mengutip pasal tersebut.
- Akar masalah di production, Feb 2026. Agent melonggarkan konfigurasi security untuk mengatasi 401 di endpoint OpenAPI. Setelah penyebabnya ditemukan, yaitu jar lama di server, perubahan itu dibatalkan dengan commit revert pada hari yang sama.
- Diagnosis ulang, Jan 2026. Saat outage di production, agent menyetel ulang JVM dan systemd. Dua hari kemudian penyetelan itu dibatalkan karena penyebabnya ternyata konflik port antara PostgreSQL 16 dan 18.
- Test suite lengkap, Agu 2026. Agent menyebut beberapa test "memang flaky". Klaim ini dicabut setelah seluruh 3.799 test lulus di mesin yang memorinya normal. Blok
catch yang menelan exception juga dihapus.
Di antara 1.023 commit Balaka terdapat sembilan commit revert, dan alasan setiap revert tertulis di pesan commit. Keputusan bisnis, fakta domain, dan verifikasi cakupan test tetap menjadi pekerjaan saya.
Sesi Paralel dan Izin Agent
Beberapa tugas sekaligus
- Satu git worktree untuk setiap tugas, sehingga beberapa sesi dapat berjalan tanpa saling mengganggu
- Semua sesi masih berjalan di laptop. Tmux dan PC khusus baru diperlukan kalau proyeknya lebih besar dari yang sekarang
- Batas saya sekitar dua sampai tiga domain bisnis, dihitung per domain dan tidak per repo. Payment-gateway, account-receivable, dan Balaka berada dalam satu domain keuangan, sehingga empat repo dengan satu proyek klien masih nyaman saya awasi. Kalau ditambah domain yang tidak berkaitan, misalnya akreditasi kampus, saya mulai kewalahan
Agent bekerja tanpa banyak bertanya
.claude/settings.local.json Balaka berisi 388 aturan allow: perintah yang boleh dijalankan agent tanpa meminta izin- Test suite lengkap Balaka berisi 3.224 test dan butuh sekitar dua jam di GitHub Actions, atau 60–90 menit di mesin lokal lewat script wrapper. Karena itu agent hanya menjalankan test yang terkait sebelum commit, dan saya mengerjakan tugas lain selama test lengkap berjalan
- Setiap push ke GitHub menjalankan enam job CI: seluruh test termasuk Playwright, deteksi secret, SpotBugs, CodeQL, Semgrep, dan pemeriksaan dependency
Pola worktree dibahas di artikel "Workflow Git Worktree untuk Multitasking dengan AI" di blog ini.
Kage Bunshin no Jutsu ala Developer

Fukasaku: maksimal 5 bunshin. 3 bertarung, 2 mengumpulkan energi alam.
Saya: maksimal 2–3 domain bisnis.
Koordinasi Antartim lewat Surat Antar-Agent
Developer aplikasi SPMB dan SIAKAD di pihak klien juga bekerja dengan Claude. Integrasi aplikasi mereka dengan payment-gateway dan account-receivable dibahas lewat surat yang ditulis agent di kedua sisi.
Alurnya
- Surat dari pihak lain berupa berkas terstruktur, 150–400 baris. Saya menaruhnya di folder, lalu memberi agent perintah satu baris, misalnya "SPMB sudah membalas, cek folder Downloads"
- Agent membaca surat, memeriksa kode dan kontrak, lalu menulis balasan dalam format yang sama: contoh JSON, tabel butir yang belum selesai, dan batasan permintaan
- Saya meneruskan balasan tersebut. Dari membaca surat hingga draf balasan selesai butuh 10–20 menit
- Keputusan dari surat langsung diimplementasikan di kode dan dicatat di memory proyek
26 Agustus – 29 September 2026
- 5 surat masuk dan 8 surat balasan
- Topik: kontrak integrasi v2 (pemetaan field dan kode error), skema cicilan pendaftaran, perubahan tagihan, serta pencatatan beasiswa dan potongan
- Satu sesi di folder payment-gateway menangani tiga repo sekaligus: payment-gateway, account-receivable, dan repo deployment klien
Hambatan terbesar justru ada di sisi manusia: balasan tertanggal 15 September tidak pernah terkirim, sehingga isinya digabungkan ke surat berikutnya.
Batas Produktivitas Ada pada Perpindahan Konteks
Hasilnya dalam Function Point
Function point (FP) mengukur fungsionalitas yang dilihat pengguna: data yang disimpan, serta input, output, dan query yang diproses aplikasi. Ukuran ini tidak bergantung pada bahasa pemrograman.
| Repo | Stack | FP | Hari aktif | FP per bulan aktif |
|---|
| Balaka | Java 25, Spring Boot 4, PostgreSQL, Thymeleaf dengan htmx dan Alpine.js | 1.297 | 110 | 248 |
| payment-gateway | Java 25, Spring Boot 4, PostgreSQL, Thymeleaf, Flyway | 148 | 21 | 148 |
| Gabungan | | 1.445 | 128 | 237 |
- FP hanya dihitung dari kode utama. Test suite ikut dikerjakan, tetapi tidak masuk hitungan: Balaka memiliki 70 rb baris test Java (JUnit, Testcontainers, Playwright), 1,3 kali kode Java utamanya, dan payment-gateway 4 rb baris test
- Kedua aplikasi berjalan di production. Balaka dirilis sebagai open source dengan 23 tag rilis
Hari aktif dihitung dari hari dengan minimal satu commit, hingga 18 September 2026.
Cara Menghitung dan Batasannya
- Ukuran. FP diperkirakan dari jumlah baris kode utama (backfiring): 53 baris Java atau 47 baris template UI untuk setiap FP. Hasilnya dikoreksi turun dengan faktor 0,76, karena backfiring cenderung melebihkan ukuran dibandingkan hitungan FP manual
- Usaha. Hari dengan commit dihitung sebagai satu hari kerja, dan 21 hari kerja dihitung sebagai satu bulan. Satu hari commit belum tentu satu hari kerja penuh
- Pelaku. Seluruh pekerjaan dilakukan satu orang dengan Claude Code, termasuk beberapa sesi yang berjalan paralel
- Pembanding. Capers Jones (2017) mencatat 10,4 FP per orang-bulan untuk aplikasi Java berukuran 1.000 FP, dan 6,5 FP per orang-bulan untuk sistem Java berukuran 10.000 FP. Angka Jones mencakup seluruh aktivitas proyek, dari analisis kebutuhan hingga manajemen proyek, dan diukur pada tim konvensional, sehingga hanya berguna sebagai gambaran skala
Rasio backfiring untuk template Thymeleaf belum pernah dikalibrasi tersendiri, sehingga angka ini merupakan perkiraan. Pembanding: Capers Jones, "Software Economics and Function Point Metrics", IFPUG 2017, Tabel 6 dan 16.
Agent Bekerja di Bawah Pengawasan Manusia
- Claude menulis kode dan test, menjalankannya sendiri, membuat kesalahan, lalu mencatat koreksinya di riwayat commit
- Arah kerjanya ditentukan aturan proyek dan memory, dan setiap perubahan saya verifikasi lewat hasil test, pertanyaan soal cakupannya, dan pengetahuan domain
- Part 2: berapa token yang habis untuk semua ini, dihitung dari transkrip sesi yang sama
github.com/artivisi/balaka · github.com/artivisi/payment-gateway