97 poin oleh baeba 2025-06-05 | 5 komentar | Bagikan ke WhatsApp

1. Pendahuluan: prompt menentukan produktivitas pengembangan

  • Kinerja asisten coding AI bergantung pada kualitas prompt. Permintaan yang jelas menghasilkan kode yang presisi, sedangkan pertanyaan yang samar menghasilkan output yang tidak berguna.
  • Cara menulis prompt kini menjadi kemampuan wajib bagi developer, dan ini mirip dengan melatih seorang partner pengembangan.
  • Artikel ini menunjukkan bagaimana ‘pertanyaan yang baik’ menghasilkan ‘kode yang baik’ melalui contoh praktis dan perbandingan.

2. 7 prinsip prompt yang efektif

Memberikan konteks
  • AI tidak mengetahui latar belakang proyek pengguna, jadi bahasa, framework, library, pesan error, tujuan, dan hal terkait lainnya harus dijelaskan secara spesifik.
  • Contoh: sertakan latar teknis seperti “Terjadi TypeError saat fetch user di lingkungan Node.js + Express + Mongoose”.
Memperjelas tujuan
  • "Kodenya tidak jalan" tidak membantu. Tanyakan dengan tepat seperti “Hasil yang diharapkan adalah ○○ tetapi yang muncul justru △△. Mengapa begitu?”
Memecah tugas yang kompleks
  • Lebih efektif meminta secara bertahap daripada menanyakan seluruh fitur sekaligus. Contoh: komponen > state management > integrasi API.
Menyertakan contoh input/output
  • Menunjukkan contoh output yang diinginkan membantu AI memahami maksud dengan lebih baik. (e.g. [3,1,4][1,3,4])
Memberikan peran
  • Menetapkan peran seperti “review kode ini seperti senior React developer” meningkatkan kedalaman dan kualitas respons.
Perbaikan berulang secara dialogis
  • Respons pertama tidak harus sempurna. Jika diberi feedback, AI akan melanjutkan alur itu dan menghasilkan hasil yang semakin presisi.
Menjaga konsistensi kode
  • Jika nama fungsi, format, komentar, dan elemen kode lain ditulis secara konsisten, AI juga akan mengikuti alur tersebut sehingga kualitasnya meningkat.

3. Strategi prompt untuk debugging

Menyebutkan error dan membandingkan dengan perilaku yang diharapkan
  • Jika pesan error, gejala masalah, hasil yang diharapkan, dan nilai input diberikan bersama, AI dapat melakukan diagnosis dengan akurat.
Meminta pelacakan per baris
  • Permintaan seperti “tolong telusuri langkah demi langkah di mana nilai variabel ini mulai menjadi aneh” efektif untuk bug logika yang kompleks.
Memberikan kode reproduksi minimal
  • Jika yang diberikan hanya kode inti tempat masalah terjadi, bukan seluruh kode, AI dapat menganalisis penyebabnya dengan lebih akurat.
Pertanyaan lanjutan yang jelas
  • Daripada “kenapa hasilnya begini?”, lebih baik pertanyaan langsung seperti “kondisi mana yang salah di bagian ini?”
Perbandingan contoh: pertanyaan buruk vs. pertanyaan baik
  • Jika hanya mengatakan “kode tidak jalan”, yang muncul biasanya hanya jawaban spekulatif; tetapi jika pesan error dan kodenya diberikan bersama, Anda bisa mendapatkan solusi yang tepat.

4. Strategi prompt untuk refactoring dan optimasi

Memperjelas tujuan refactoring
  • Daripada sekadar mengatakan “tolong refactor”, Anda perlu menyebutkan tujuan perbaikan yang konkret seperti “meningkatkan keterbacaan, performa, atau memodernisasi API”.
  • Jika tujuannya samar, AI bisa mencoba perbaikan acak atau mengubahnya ke arah yang tidak diinginkan.
Memberikan konteks bahasa/lingkungan
  • Jika gaya proyek atau batasan teknis dijelaskan, seperti “konversi React class component → functional component” atau “lingkungan Node.js 14”, AI dapat melakukan transformasi yang sesuai.
Meminta penjelasan sekaligus
  • Jika Anda meminta penjelasan “mengapa diubah seperti ini” bersama kode hasil refactoring, Anda bisa sekaligus meninjau kualitas kode dan mendapatkan efek pembelajaran.
Meningkatkan kualitas lewat permintaan berbasis peran
  • Permintaan seperti “tolong refactor seperti senior TypeScript developer” mendorong usulan perbaikan yang lebih modern dan mendalam.

5. Strategi prompt untuk implementasi fitur baru

Meminta fitur dalam beberapa tahap
  • Bahkan fitur yang kompleks pun bisa menghasilkan hasil yang lebih stabil jika diminta secara bertahap: “rancang struktur fitur → buat UI → hubungkan logika”.
Memberikan gaya kode yang sudah ada
  • Jika Anda menunjukkan komponen serupa atau konvensi internal, kode yang dihasilkan akan sesuai dengan konsistensi proyek. Contoh: “buat ProductList berdasarkan UserList”
Menyampaikan niat lewat komentar/TODO
  • Di IDE, jika Anda menulis komentar bahasa alami seperti // TODO: implement request validation, Copilot akan otomatis membuat blok kode yang sesuai.
Menyajikan contoh input/output
  • Jika contoh nilai input dan output yang diharapkan disertakan, AI akan berusaha memenuhinya sehingga akurasinya meningkat.
Perbaikan berulang berbasis feedback
  • Meski hasil pertama belum sesuai harapan, jika Anda memberi feedback seperti “tolong gunakan map alih-alih filter”, AI akan langsung menyesuaikan dan memperbaikinya.

6. 7 pola prompt yang gagal (Anti-patterns)

Permintaan yang samar
  • Pertanyaan seperti “kenapa kode ini tidak jalan?” hanya memunculkan jawaban umum yang tidak bermakna. Sertakan pesan error, kode, dan hasil yang diharapkan.
Terlalu banyak permintaan sekaligus
  • Permintaan gabungan seperti “buat seluruh aplikasi + tambahkan fitur autentikasi + sertakan script deployment” dapat menyebabkan ada yang terlewat atau membingungkan, jadi perlu dipisahkan per tahap.
Tidak ada pertanyaan
  • Jika hanya melempar kode tanpa permintaan, AI cenderung merangkum atau memberikan hasil yang tidak relevan, jadi tujuan pertanyaannya harus dibuat jelas.
Kriteria keberhasilan tidak jelas
  • “Bikin lebih cepat” atau “tolong buat lebih baik” adalah ukuran yang samar. Berikan kriteria yang terukur seperti “tingkatkan menjadi kompleksitas waktu O(n)”.
Mengabaikan pertanyaan dari AI
  • Jika AI bertanya “ini berbasis functional atau class?”, Anda perlu menjawabnya agar mendapatkan output yang lebih optimal.
Kurang konsisten
  • Jika gaya, sintaks, dan istilah terus berubah, AI juga akan bingung. Menjaga satu gaya akan meningkatkan kualitas respons.
Referensi samar seperti “kode di atas”
  • Semakin panjang percakapan, “kode di atas” menjadi semakin tidak jelas. Sebisa mungkin tampilkan lagi kodenya atau sebutkan nama fungsi secara eksplisit.

7. Kesimpulan: kolaborasi dengan AI adalah dialog yang berulang

  • Prompt engineering kini merupakan skill komunikasi inti bagi developer. Memberikan konteks, tujuan yang jelas, dan perbaikan berulang adalah dasarnya.
  • AI bukan sekadar asisten coding, tetapi kolaborator dan partner belajar. Jika dimanfaatkan dengan baik, bukan hanya produktivitas yang meningkat, tetapi juga kemampuan pengembangan.
  • Dengan memanfaatkan berbagai strategi seperti eksperimen, feedback, dan penetapan peran, AI dapat diperlakukan seperti anggota tim sungguhan di lapangan.
  • Tujuan akhirnya adalah menghasilkan kode yang lebih cepat dan akurat, tetapi pada saat yang sama AI juga harus dimanfaatkan secara aktif sebagai alat belajar untuk menjadi developer yang lebih baik.

Tabel perbandingan prompt baik vs buruk

Kategori Debugging Refactoring Implementasi fitur
Prompt baik TypeError terjadi di titik ini. Nilai yang diharapkan adalah ○○ tetapi yang muncul NaN. Tolong bantu cari penyebabnya. Tolong hilangkan duplikasi pada fungsi ini dan tingkatkan performanya. Pisahkan bagian fetch ke helper, dan pertahankan pesan errornya. Tolong buat komponen ProductList dengan kotak pencarian. Ambil JSON dari /api/products, lalu filter daftar, dan sertakan juga status error serta loading.
Prompt buruk Kenapa fungsi saya tidak jalan? Tolong refactor. Tolong buat fitur pencarian.

5 komentar

 
bootno2316 2025-06-08

Ternyata tidak berbeda dengan cara berhadapan dengan programmer manusia.

 
xguru 2025-06-08

Playbook Prompt Engineering untuk Programmer

Silakan lihat juga versi yang diringkas oleh bot ringkasan GN+. Komentar ringkasan Hacker News juga layak dibaca.

 
baeba 2025-06-09

Ternyata Anda sudah mempostingnya lebih dulu..
Terima kasih.

 
bichi 2025-06-05

Sudah dibilang jangan lakukan begini, tetap saja ada 1 dari 10 orang yang melakukannya -_-

 
mango 2025-06-05

Memangnya manusia tahu apa!