Prompt Engineering untuk Developer: Cara Dapat Kode Terbaik dari AI
Banyak developer kecewa dengan AI coding assistant bukan karena AI-nya buruk, tapi karena prompt-nya kurang tepat. Ini bukan salah siapa-siapa — prompt engineering adalah skill yang perlu dipelajari, sama seperti skill lainnya.
Prinsip Dasar: Context is Everything
AI tidak tahu konteks project-mu kecuali kamu beritahu. Semakin spesifik konteks yang kamu kasih, semakin relevan hasilnya.
Buruk:
Buat function untuk validasi input
Bagus:
Saya punya form registrasi user di Express.js + TypeScript.
Buat middleware validasi untuk endpoint POST /api/auth/register
dengan field: email (harus valid), password (min 8 karakter,
harus ada huruf kapital dan angka), username (alphanum, 3-20 char).
Gunakan library zod untuk validasi. Return error dalam format
{ field, message } kalau gagal.
Teknik 1: Role Prompting
Kasih AI sebuah "persona" yang spesifik:
Kamu adalah senior backend developer dengan 10 tahun pengalaman
di Node.js dan fokus pada performance dan security.
Review kode ini dan berikan feedback konkret...
Teknik 2: Chain of Thought untuk Bug
Minta AI berpikir step-by-step sebelum kasih solusi:
Fungsi ini harusnya return total harga setelah diskon,
tapi hasilnya selalu 0. Sebelum kasih solusi, jelaskan
dulu apa yang kamu lihat salah dari kode ini, baru
kemudian berikan fix-nya.
[paste kode]
Teknik 3: Few-Shot Examples
Tunjukkan contoh format yang kamu mau:
Konversi object JavaScript ini ke tipe TypeScript interface.
Contoh konversi yang saya mau:
Input: { name: "John", age: 30 }
Output:
interface User {
name: string;
age: number;
}
Sekarang konversi ini:
{ productId: 1, price: 50000, inStock: true, tags: ["sale"] }
Teknik 4: Constraint Prompting
Tambahkan constraint eksplisit untuk mencegah AI over-engineer:
Buat fungsi untuk flatten nested array.
Constraint:
- Tidak boleh pakai library external
- Harus handle circular reference
- Gunakan iterative approach (bukan recursive)
- TypeScript dengan proper typing
- Maksimal 20 baris kode
Teknik 5: Iterasi Bertahap
Jangan minta semuanya sekaligus. Build secara incremental:
- Mulai: "Buat struktur dasar Express server"
- Lanjut: "Tambahkan middleware auth JWT"
- Lanjut: "Tambahkan rate limiting ke semua route /api"
- Lanjut: "Buat error handler global yang return format konsisten"
Hasil akhirnya jauh lebih solid dibanding minta semuanya dalam satu prompt panjang.
Red Flag: Kapan Harus Stop Vibe dan Tulis Manual
Kalau kamu sudah 3x minta AI perbaiki hal yang sama dan masih salah — kemungkinan besar masalahnya bukan di prompt. Saatnya duduk, buka dokumentasi, dan tulis sendiri.