Memahami vibe coding: manfaat, batasan, dan tanggung jawab — Vibe Coding dan Security: Dari Prompt ke Aplikasi Aman

MATERI 1 DARI 28

Memahami vibe coding: manfaat, batasan, dan tanggung jawab

Kenali vibe coding sebagai kolaborasi dengan AI, bukan pengganti pemahaman dan tanggung jawab developer.

Tujuan pembelajaran

  • Menjelaskan arti vibe coding dengan bahasa sederhana.
  • Membedakan prototipe cepat dan software production-ready.
  • Menentukan keputusan yang tetap harus dibuat manusia.

Konsep utama

AI sebagai asisten

AI dapat menyarankan desain, kode, test, dan dokumentasi; pengguna tetap bertanggung jawab atas kebutuhan, keamanan, dan hasil akhir.

Tingkat risiko

Perubahan teks UI berbeda risikonya dari authentication, pembayaran, upload, atau migrasi database.

  • Semakin sensitif data, semakin ketat review.
  • Semakin besar blast radius, semakin kecil perubahan per langkah.

Alur kerja teknis

  1. Tulis tujuan dan acceptance criteria.
  2. Buat perubahan kecil yang dapat ditinjau.
  3. Jalankan test dan baca diff sebelum menerima hasil AI.

Contoh implementasi

Pola fungsi kecil yang mudah direview

Fungsi kecil membuat asumsi dan test mudah terlihat.

def hitung_diskon(total: float, persen: float) -> float:
    if total < 0 or not 0 <= persen <= 100:
        raise ValueError("Input tidak valid")
    return round(total * (1 - persen / 100), 2)

assert hitung_diskon(100_000, 10) == 90_000

Aspek keamanan

  • Jangan menempelkan kredensial atau data pelanggan ke prompt.
  • Tandai bagian berisiko tinggi untuk review manusia dan test tambahan.
  • Jangan menyebut prototipe sebagai aman hanya karena berhasil dijalankan.

Kesalahan umum

  • Menerima kode AI tanpa membaca diff dan memahami alur data.
  • Menguji hanya happy path dan mengabaikan input salah atau batas nilai.
  • Menyimpan secret, token, atau data nyata di prompt dan source code.

Pengujian dan verifikasi

  1. Jalankan contoh dengan input normal.
  2. Ulangi dengan input kosong, tipe salah, dan nilai batas.
  3. Pastikan error tidak membocorkan secret atau detail internal.

Latihan

  1. Pilih satu fitur aplikasi dan klasifikasikan risiko rendah, sedang, atau tinggi.
  2. Tulis batas yang tidak boleh diputuskan AI tanpa review manusia.

Checklist

  • Tujuan dan batas pekerjaan jelas.
  • Input divalidasi di server.
  • Secret tidak berada di source/prompt.
  • Test lulus dan diff sudah dibaca.

Rangkuman

Kenali vibe coding sebagai kolaborasi dengan AI, bukan pengganti pemahaman dan tanggung jawab developer.