Prinsip Prompt Agar LLM Tidak "Halu"

Pertama-tama, pahami dulu 5 prinsip ini:

Jelaskan peran model
Misalnya: “Bertindak sebagai senior web developer”

Spesifik soal output
Mau kode saja, tanpa penjelasan, atau kode + komentar?

Tentukan teknologi & versi
PHP 8.1, vanilla JS, tanpa framework, dsb.

Batasi scope
Apa yang boleh dan tidak boleh dilakukan.

Kasih konteks data & skenario
Input, output, alur, contoh kasus.

Struktur Prompt Ideal (Template Umum)

Gunakan urutan ini 👇

1. Peran model 2. Tujuan kode 3. Teknologi yang digunakan 4. Spesifikasi detail 5. Batasan / larangan 6. Format output yang diinginkan

Template Prompt (Siap Pakai)

Bertindak sebagai [peran]. Saya ingin membuat [tujuan spesifik]. Teknologi: - Bahasa: [PHP / HTML / JavaScript] - Versi / environment: [jika ada] - Framework: [jika ada / tidak ada] Spesifikasi: - Input: - Proses: - Output: - Aturan khusus: Batasan: - Jangan gunakan [library / framework tertentu] - Jangan menambahkan fitur di luar spesifikasi - Fokus hanya pada [scope] Format jawaban: - Berikan hanya kode - Gunakan komentar seperlunya - Jangan sertakan penjelasan panjang

Contoh Prompt BURUK (Penyebab "Halu")

Buatkan saya kode login pakai PHP

Kenapa gagal?

  • Tidak jelas versi PHP
  • Tidak jelas pakai database apa
  • Tidak jelas mau aman atau sekadar contoh
  • Tidak ada batasan output

Contoh Prompt BAIK (PHP)

Bertindak sebagai senior PHP developer. Saya ingin membuat sistem login sederhana. Teknologi: - PHP 8.1 - MySQL - Tanpa framework Spesifikasi: - Input: email dan password (POST) - Proses: - Validasi input - Password disimpan menggunakan password_hash - Verifikasi menggunakan password_verify - Output: - Redirect ke dashboard jika sukses - Pesan error jika gagal Batasan: - Jangan gunakan library eksternal - Jangan buat fitur register - Jangan buat HTML, hanya PHP logic Format jawaban: - Berikan hanya kode PHP - Sertakan komentar singkat

💡 Dengan prompt ini, model hampir tidak mungkin “ngaco”.


Contoh Prompt BAIK (JavaScript)

Bertindak sebagai frontend developer. Buatkan fungsi JavaScript untuk validasi form. Teknologi: - Vanilla JavaScript - Berjalan di browser modern Spesifikasi: - Validasi: - Email tidak boleh kosong - Password minimal 8 karakter - Jika invalid: - Tampilkan alert - Jika valid: - Return true Batasan: - Jangan gunakan framework - Jangan manipulasi DOM selain alert Format jawaban: - Kode JavaScript saja

Tips Tambahan Anti-Halu 

1. Pakai kata “HANYA”
“HANYA berikan kode, tanpa penjelasan.”
 
2. Sebutkan “jangan menambahkan asumsi”
LLM suka mengisi kekosongan.
 
3. Kalau proyek besar → pecah per modul
Jangan minta: “Buatkan sistem e-commerce lengkap
Tapi:
  • Modul login
  • Modul produk
  • Modul checkout

Bonus: Prompt Debugging (Super Efektif)

Analisa kode berikut. Jangan tulis ulang seluruh kode. Hanya jelaskan bug dan solusinya.

DOKUMENTASI LAMA