INI MASIH VIBE CODING, ATAU SUDAH JADI HUTANG TEKNIS?

ARREZAMP RESEARCH · AI EVALUATION · CASE-006

INI MASIH VIBE CODING, ATAU SUDAH JADI HUTANG TEKNIS?
INI MASIH VIBE CODING, ATAU SUDAH JADI HUTANG TEKNIS?

Saat aplikasi membesar, satu perubahan kecil bisa menyentuh banyak bagian yang tidak kita sangka.

Awalnya, Semua Terlihat Mudah

Bayangkan Anda ingin membuat sebuah aplikasi.

Anda tidak harus menjadi programmer profesional. Cukup jelaskan kebutuhan kepada AI, minta dibuatkan kode, jalankan, kemudian lihat hasilnya.

Ada kesalahan? Kirim pesan error kepada AI. Tampilannya belum sesuai? Minta diperbaiki. Ingin menambah fitur? Tulis prompt baru.

Tidak lama kemudian, aplikasi yang tadinya hanya berupa gagasan mulai berfungsi.

Dashboard muncul. Data dapat ditampilkan. Formulir bekerja. Bahkan beberapa proses yang sebelumnya harus dilakukan secara manual kini bisa berjalan otomatis.

Ini adalah salah satu daya tarik terbesar pengembangan perangkat lunak berbantuan kecerdasan buatan.

Orang yang sebelumnya kesulitan memulai pengembangan aplikasi kini mempunyai kesempatan lebih besar untuk mewujudkan idenya.

Namun, persoalan baru sering muncul setelah aplikasi mulai berkembang.

Ketika aplikasi semakin besar, mengapa perubahan yang terlihat sederhana justru semakin sulit dilakukan?

Satu Perubahan Kecil, Banyak Bagian Terdampak

Misalnya, sebuah aplikasi awalnya mempunyai tiga fitur:

  • Login pengguna.
  • Dashboard.
  • Laporan.

Semua berjalan dengan baik.

Kemudian aplikasi berkembang. Ada manajemen pengguna, database, notifikasi, integrasi API, penjadwalan otomatis, dan berbagai fitur tambahan.

Suatu hari, pengguna hanya meminta satu perubahan kecil:

"Tolong ubah informasi yang ditampilkan di dashboard."

Sekilas, permintaan ini seharusnya sederhana.

Namun, ternyata data dashboard juga digunakan pada laporan. Perubahan struktur data memengaruhi API. API tersebut digunakan oleh modul lain. Salah satu perubahan bahkan membuat fungsi lama tidak lagi berjalan sebagaimana mestinya.

AI kemudian diminta memperbaikinya. Satu file diperbarui. Masalah pertama selesai.

Tetapi muncul masalah kedua.

AI membuat perubahan berikutnya. Masalah kedua selesai, tetapi muncul perilaku yang berbeda di bagian lain.

Lambat laun, proses pengembangan berubah menjadi rangkaian perbaikan yang sulit diprediksi.

Pertanyaannya bukan lagi apakah AI mampu menulis kode, melainkan apakah perubahan tersebut tetap menjaga keseluruhan sistem.

Apa Itu Vibe Coding?

Istilah vibe coding populer untuk menggambarkan pendekatan pengembangan perangkat lunak yang sangat bergantung pada instruksi bahasa alami kepada AI.

Pengguna menjelaskan apa yang diinginkan, sementara AI menghasilkan atau memodifikasi kode.

Pendekatan ini dapat sangat membantu ketika membuat prototipe, mengeksplorasi gagasan, atau membangun aplikasi sederhana.

Tetapi perlu dibedakan antara dua kondisi:

1. AI sebagai asisten pengembangan

Pengembang tetap memahami tujuan, memeriksa perubahan, menjalankan pengujian, dan mempertanggungjawabkan hasilnya.

2. AI sebagai pembuat patch berulang

Perubahan kode diterima secara berulang tanpa memahami dampaknya terhadap sistem.

Pada kondisi kedua, aplikasi mungkin tetap terlihat berfungsi, tetapi ketergantungan antarbagian, kualitas struktur kode, dan risiko kerusakan bisa semakin sulit dikendalikan.

Tidak semua pengembangan menggunakan AI dapat disebut vibe coding.

Tidak semua vibe coding otomatis menghasilkan aplikasi yang buruk.

Persoalannya terletak pada seberapa jauh proses pengembangan tetap memiliki kendali teknis.

Kapan Vibe Coding Berubah Menjadi Hutang Teknis?

Dalam rekayasa perangkat lunak, technical debt atau hutang teknis menggambarkan konsekuensi dari keputusan teknis yang membuat pekerjaan berikutnya menjadi lebih sulit atau mahal.

Hutang teknis dapat muncul ketika sebuah solusi cepat dipilih, sementara pekerjaan perbaikan struktur atau kualitas ditunda.

Contohnya:

  • Kode yang sama disalin ke banyak bagian aplikasi.
  • Satu fungsi menangani terlalu banyak tanggung jawab.
  • Modul saling bergantung tanpa batas yang jelas.
  • Tidak tersedia pengujian otomatis untuk fitur penting.
  • Dokumentasi tidak mengikuti perubahan aplikasi.
  • Perbaikan dilakukan pada gejala, bukan akar masalah.

Hutang teknis tidak selalu merupakan kesalahan. Dalam kondisi tertentu, mengambil jalan pintas secara sadar dapat menjadi keputusan yang masuk akal.

Yang berbahaya adalah ketika hutang teknis terus bertambah tanpa diketahui, dicatat, atau dikendalikan.

Aplikasi mungkin masih dapat digunakan hari ini, tetapi setiap perubahan berikutnya membutuhkan usaha yang semakin besar.

Mengapa AI Bisa Terjebak dalam Siklus Patch?

AI coding assistant dapat membantu menganalisis dan memperbaiki kode. Namun, kualitas perbaikannya juga bergantung pada konteks yang tersedia.

Jika AI hanya menerima pesan error dan satu potongan kode, AI mungkin menghasilkan solusi yang benar untuk masalah lokal tersebut.

Tetapi solusi lokal belum tentu sesuai dengan kebutuhan seluruh aplikasi.

Misalnya, AI memperbaiki sebuah fungsi tanpa mengetahui bahwa fungsi itu digunakan oleh lima modul lainnya.

Hasilnya bisa berupa solusi yang tampak berhasil pada satu halaman, tetapi menyebabkan regresi pada halaman lain.

SIKLUS PATCH BERULANG
Permintaan perubahan
↓
AI membuat patch
↓
Masalah lokal selesai
↓
Modul lain terganggu
↓
Patch tambahan
↓
Kompleksitas meningkat

Pola ini bukan sesuatu yang pasti terjadi pada setiap AI coding tool.

Tetapi pola tersebut menunjukkan pentingnya memahami arsitektur, dependensi, dan dampak perubahan sebelum menerima hasil yang dibuat oleh AI.

Aplikasi Berhasil Dibuat, Tetapi Apakah Mudah Dipelihara?

Ada perbedaan antara aplikasi yang berhasil dijalankan dan aplikasi yang siap dikembangkan secara berkelanjutan.

Aplikasi dapat dianggap berhasil pada tahap demonstrasi ketika fitur utamanya berjalan sesuai kebutuhan.

Namun, untuk pengembangan jangka panjang, pertanyaannya menjadi lebih luas.

  • Apakah aplikasi dapat diperbaiki tanpa merusak fungsi lain?
  • Apakah pengembang berikutnya dapat memahami struktur kode?
  • Apakah tersedia pengujian untuk memastikan fitur sebelumnya tetap berfungsi?
  • Apakah perubahan penting mempunyai catatan yang bisa diperiksa?
  • Jika terjadi kegagalan, apakah aplikasi dapat dikembalikan ke kondisi sebelumnya?

Pertanyaan-pertanyaan tersebut tidak selalu terlihat ketika aplikasi pertama kali berhasil dijalankan.

Namun, semakin besar aplikasi, semakin penting jawabannya.

Dari Prompt ke Pengendalian Perubahan

Pendekatan yang lebih terstruktur bukan berarti berhenti menggunakan AI.

Sebaliknya, kemampuan AI dapat dimanfaatkan dengan proses yang lebih terkendali.

CONTROLLED AI-ASSISTED DEVELOPMENT
01 — Understand
Pahami sistem, struktur aplikasi, dan dependensi.
↓
02 — Baseline
Catat kondisi awal dan fungsi yang sudah berjalan.
↓
03 — Impact Analysis
Periksa dampak perubahan terhadap modul lain.
↓
04 — Controlled Change
Lakukan perubahan terbatas sesuai kebutuhan.
↓
05 — Regression Testing
Pastikan fitur lama tetap berfungsi.
↓
06 — Evidence & Review
Simpan bukti pengujian dan periksa hasilnya.
↓
07 — Approval & Release
Publikasikan setelah memenuhi persyaratan.

Dengan pendekatan tersebut, AI tidak hanya digunakan untuk menghasilkan kode, tetapi juga membantu memahami, menguji, dan mengevaluasi perubahan.

Apakah Non-Programmer Bisa Membangun Aplikasi Serius dengan AI?

Bisa, tetapi tingkat kompleksitas dan risiko aplikasinya perlu diperhatikan.

AI telah membuka peluang bagi orang-orang dengan pemahaman bisnis, operasional, riset, dan kebutuhan pengguna untuk terlibat langsung dalam pembuatan perangkat lunak.

Kemampuan mendefinisikan masalah, memahami proses bisnis, dan mengevaluasi hasil merupakan bagian penting dari pengembangan aplikasi.

Namun, semakin kritis dan kompleks sebuah aplikasi, semakin diperlukan pengendalian teknis yang kuat.

Untuk aplikasi yang melibatkan autentikasi, data sensitif, transaksi finansial, atau layanan penting, pengujian dan review keamanan tidak cukup digantikan oleh keyakinan bahwa aplikasi tampak berjalan normal.

AI dapat menjadi asisten pengembangan yang sangat berguna.

Tetapi tanggung jawab terhadap kualitas, keamanan, dan keputusan penerapan tetap memerlukan pengawasan manusia yang memadai.

CASE-006 — Menguji AI Ketika Aplikasi Semakin Kompleks

Melalui ArrezaMP AI Evaluation, CASE-006 dirancang untuk mengevaluasi bagaimana AI coding assistant menangani perubahan pada aplikasi yang telah mempunyai beberapa modul dan ketergantungan.

Fokus evaluasi meliputi:

  • Kemampuan memahami arsitektur yang sudah ada.
  • Kemampuan mengidentifikasi dampak perubahan.
  • Konsistensi terhadap kebutuhan awal.
  • Kemampuan mempertahankan fungsi yang telah berjalan.
  • Kemampuan membedakan perbaikan akar masalah dari patch sementara.
  • Kualitas dokumentasi, pengujian, dan evidence.

Evaluasi ini tidak dimaksudkan untuk membuktikan sejak awal bahwa vibe coding pasti gagal.

Sebaliknya, tujuan evaluasi adalah mengetahui kapan pendekatan pengembangan berbantuan AI dapat tetap efektif, apa batasannya, serta kontrol apa yang membantu menjaga kualitas aplikasi.

Catatan penelitian: CASE-006 masih berada pada tahap rancangan evaluasi. Hasil eksperimen, metrik keberhasilan, dan kesimpulan empiris belum dinyatakan sebagai temuan yang terverifikasi.

Kesimpulan: Masalahnya Bukan Sekadar Prompt

Prompt yang baik dapat membantu AI menghasilkan kode yang lebih sesuai dengan kebutuhan.

Tetapi ketika aplikasi semakin besar, kualitas pengembangan tidak hanya ditentukan oleh seberapa jelas sebuah prompt ditulis.

Kualitas juga bergantung pada bagaimana perubahan direncanakan, diuji, didokumentasikan, dan dikendalikan.

Vibe coding dapat menjadi pintu masuk yang menarik menuju pengembangan aplikasi.

AI-assisted software development dapat berkembang menjadi proses yang lebih matang ketika dilengkapi disiplin rekayasa perangkat lunak.

Pada akhirnya, pertanyaan terpenting bukan hanya:

"Apakah aplikasi ini berhasil dibuat?"

Melainkan:

"Apakah aplikasi ini masih bisa dipahami, dipelihara, diamankan, dan dikembangkan ketika semakin besar?"

Karena keberhasilan membangun sebuah aplikasi adalah pencapaian awal.

Menjaga aplikasi tersebut tetap berkualitas ketika berkembang adalah tantangan berikutnya.

ArrezaMP Research & AI Evaluation

From Ideas to Implementation. From Working Software to Sustainable Engineering.

Topik: Artificial Intelligence, AI Evaluation, AI Governance, Software Development, Vibe Coding, Technical Debt.

Status: Editorial Research Article / CASE-006 Research Context. Bukan laporan hasil eksperimen.

0 Komentar