Vibe Coding: Membangun Software Bersama AI dengan Aman

Belum masuk. Progresmu tidak tersimpan.

Masuk
  • Bab 1 dari 6
  • 20 menit
  • 4 soal kuis

Apa itu Vibe Coding?

Di bab ini (7 bagian)
  1. Tujuan
  2. Apa itu vibe coding?
  3. Dari mana istilahnya datang?
  4. Spektrum pengembangan software dengan AI
  5. Mengapa vibe coding muncul sekarang?
  6. Kesalahan umum pemula
  7. Rangkuman

Tujuan bab ini

  • Menjelaskan apa itu vibe coding dengan kata-katamu sendiri.
  • Mengenal asal-usul istilah vibe coding dan perjalanannya sampai jadi arus utama.
  • Membedakan coding manual, AI-assisted, vibe coding, dan agentic engineering.
  • Memahami empat pendorong yang membuat vibe coding muncul sekarang.

Apa itu vibe coding?

Bayangkan kamu ingin membuat aplikasi daftar tugas untuk kelasmu. Dulu, kamu harus belajar HTML, CSS, JavaScript, lalu mengetik ratusan baris kode sendiri. Dengan vibe coding, kamu cukup menuliskan keinginanmu kepada AI dalam bahasa sehari-hari, misalnya "buatkan aplikasi daftar tugas, setiap tugas punya tenggat, dan tugas yang lewat tenggat diberi warna merah". AI menulis kodenya, lalu kamu mencoba hasilnya.

Jadi, vibe coding adalah cara membangun software dengan mendeskripsikan keinginan kepada AI dalam bahasa natural. AI menulis kodenya, sedangkan kamu mengarahkan dan menilai hasilnya.

Ada tiga ciri yang membedakan vibe coding dari cara lain:

CiriArtinya dalam praktik
Bahasa natural jadi antarmukaInstruksi ditulis atau diucapkan seperti berbicara dengan rekan kerja.
Validasi dengan menjalankanHasil dinilai dari apakah aplikasinya berfungsi, bukan dari membaca setiap baris kode.
Iterasi cepat lewat percakapanError ditempel ke AI, perbaikan diminta, lalu dicoba lagi sampai sesuai.

Ciri kedua penting untuk kamu ingat sejak awal. Dalam vibe coding murni, orang jarang membaca kode. Ini yang membuatnya sangat cepat, dan juga yang membuatnya berisiko. Sepanjang kelas ini kamu akan belajar memakai kecepatan itu tanpa ikut menelan risikonya.

Dari mana istilahnya datang?

Istilah ini diperkenalkan oleh Andrej Karpathy, salah satu pendiri OpenAI dan mantan direktur AI di Tesla, lewat unggahan di X pada 2 Februari 2025. Ia menggambarkan cara barunya membangun proyek: berbicara ke AI, menerima perubahan tanpa membaca diff, dan "menyerah pada vibes" sampai lupa bahwa kodenya ada. Yang sering terlewat, Karpathy sendiri menyebut cara ini cocok untuk proyek akhir pekan yang tidak kritis. Batasan ini penting dan akan kita bahas lagi di bab risiko.

Setelah itu, istilahnya bergerak sangat cepat:

WaktuPeristiwa
Februari 2025Karpathy memperkenalkan istilah vibe coding di X.
Maret 2025Istilah viral di komunitas. Muncul meme bahwa vibe coding itu mudah, tetapi "vibe debugging" yang sulit.
November 2025Collins Dictionary menobatkan "vibe coding" sebagai Word of the Year 2025.
2026Vibe coding jadi arus utama untuk prototipe, dan muncul pendekatan lebih matang bernama agentic engineering.

Meme "vibe debugging" itu sebenarnya pelajaran pertama yang berharga. Membuat kode dengan AI terasa mudah. Bagian sulitnya muncul ketika ada yang rusak dan kamu tidak paham kode yang ditulis AI. Karena itu, kelas ini tidak hanya mengajarkan cara meminta kode, tetapi juga cara membaca, menguji, dan meragukan kode tersebut.

Spektrum pengembangan software dengan AI

Vibe coding bukan pengganti semua cara coding. Ia hanya satu titik di sebuah spektrum. Di satu ujung, manusia memegang kontrol penuh. Di ujung lain, AI punya otonomi paling besar.

PendekatanSiapa menulis kodeKarakter
Coding manualManusia menulis setiap baris, AI tidak terlibatKontrol penuh, lambat
AI-assistedAutocomplete dan chat membantu, manusia membaca dan memahami semua kodeCepat, tetap terkendali
Vibe codingAI menulis sebagian besar kode, manusia mengarahkan dan jarang membaca kodeSangat cepat, risiko tinggi
Agentic engineeringAgen AI bekerja dengan tujuan, konteks, tes, dan review yang terstrukturCepat dan disiplin

Ada satu catatan penting dari glosarium OpenSSF: begitu kode hasil AI ditinjau dan dipahami secara saksama oleh manusia, itu bukan lagi vibe coding murni, melainkan AI-assisted engineering. Jadi, kalau kamu membaca setiap fungsi yang ditulis AI, menguji kasus tepinya, dan paham kenapa kodenya bekerja, kamu sedang bergeser ke kiri pada spektrum ini. Itu bukan hal buruk. Justru itu yang disarankan untuk kode yang penting.

Contoh: tiga orang, satu fitur

Misalkan tiga siswa sama-sama ingin menambah fitur "hitung rata-rata nilai" ke aplikasi rapor sederhana.

  • Raka (coding manual) menulis sendiri fungsi rataRata, mencari cara menjumlah array di dokumentasi, lalu mengujinya. Butuh waktu, tetapi ia paham setiap baris.
  • Sinta (AI-assisted) meminta AI menuliskan fungsinya, lalu membaca hasilnya baris demi baris. Ia sadar fungsi itu error kalau daftar nilainya kosong, jadi ia menambahkan pengecekan.
  • Dimas (vibe coding) meminta AI, menjalankan aplikasinya, melihat angka rata-rata muncul, lalu lanjut ke fitur lain tanpa membaca kodenya.

Ketiganya sampai pada fitur yang "jalan". Bedanya, hanya Sinta dan Raka yang tahu apa yang terjadi kalau daftar nilai kosong. Contoh kode yang mungkin diterima Dimas tanpa dibaca:

function rataRata(nilai) {
  let total = 0;
  for (const n of nilai) total += n;
  return total / nilai.length;
}

rataRata([80, 90]); // 85
rataRata([]);       // NaN, karena 0 / 0

Untuk proyek akhir pekan, NaN di layar mungkin cuma lucu. Untuk aplikasi rapor sungguhan, itu bisa membuat siswa melihat nilai aneh di rapornya. Inilah inti spektrum tadi: makin penting aplikasinya, makin ke kiri posisi kerjamu seharusnya.

Mengapa vibe coding muncul sekarang?

Orang sudah lama memimpikan membuat program dengan bahasa manusia. Yang berubah adalah empat hal ini muncul bersamaan:

  1. Model AI makin cakap. Model bahasa besar kini mampu menulis fitur utuh lintas banyak file dari satu deskripsi.
  2. Agen yang mandiri. AI bisa menjalankan perintah, membaca error, dan memperbaiki kodenya sendiri tanpa disuapi langkah demi langkah.
  3. Input suara dan multimodal. Instruksi bisa diucapkan, atau berupa tangkapan layar dan sketsa desain.
  4. Deploy instan. Platform hosting modern membuat aplikasi langsung online tanpa urusan server.

Kombinasi keempatnya memangkas jarak antara "saya punya ide" dan "ini tautannya" dari berminggu-minggu menjadi hitungan jam. Bahkan orang yang belum pernah belajar pemrograman pun bisa membuat aplikasi yang berfungsi.

Coba perhatikan kata "berfungsi". Aplikasi yang berfungsi belum tentu benar untuk semua kasus, belum tentu aman, dan belum tentu mudah dirawat. Kecepatan membuat aplikasi naik drastis, tetapi kebutuhan untuk menilai hasilnya tidak hilang. Justru kebutuhan itu makin besar, karena makin banyak kode yang dibuat tanpa dibaca siapa pun.

Kesalahan umum pemula

  • Menganggap vibe coding berarti tidak perlu belajar apa pun. Kamu tetap perlu cukup paham untuk menilai hasil AI, terutama untuk kode yang dipakai orang lain.
  • Lupa konteks asli istilahnya. Karpathy menyebutnya cocok untuk proyek akhir pekan yang tidak kritis, bukan untuk sistem pembayaran.
  • Menyamakan "jalan" dengan "benar". Contoh rataRata([]) di atas jalan tanpa error, tetapi hasilnya NaN.

Rangkuman

  • Vibe coding adalah membangun software dengan mendeskripsikan keinginan kepada AI dalam bahasa natural, lalu menilai hasilnya dengan menjalankan aplikasi.
  • Istilah ini diperkenalkan Andrej Karpathy pada 2 Februari 2025 dan menjadi Word of the Year 2025 versi Collins Dictionary.
  • Vibe coding hanyalah satu titik dalam spektrum: coding manual, AI-assisted, vibe coding, dan agentic engineering.
  • Begitu kode AI ditinjau dan dipahami dengan saksama, itu bukan lagi vibe coding murni, melainkan AI-assisted engineering.
  • Model yang cakap, agen mandiri, input multimodal, dan deploy instan membuat vibe coding muncul sekarang.

Selesaikan bab ini

  1. 1. Baca materi
  2. 2. Kuis (4 soal)

Cek pemahaman

  1. 1Siapa yang memperkenalkan istilah vibe coding?

  2. 2Dalam vibe coding murni, bagaimana hasil kerja AI biasanya dinilai?

  3. 3Menurut glosarium OpenSSF, bila kode AI ditinjau dan dipahami dengan saksama oleh manusia, itu tetap disebut vibe coding murni.

  4. 4Fungsi ini diterima tanpa dibaca. Apa hasil `rataRata([])`?

    function rataRata(nilai) {
      let total = 0;
      for (const n of nilai) total += n;
      return total / nilai.length;
    }