Jangan Asal Prompt! Koding dengan AI Juga Ada Tutorial & Rules-nya
Halo, teman-teman developer! 👋 Pernah nggak sih kamu pakai AI buat bantu ngoding, tapi hasilnya malah ngaco? Atau mungkin kamu udah capek-capek nulis prompt panjang, tapi kode yang dihasilkan nggak sesuai ekspektasi? Tenang, kamu nggak sendirian! Di artikel ini, gue bakal share tutorial lengkap dan rules dasar yang wajib kamu tau sebelum mulai koding bareng AI. Karena ya... AI itu powerful banget, tapi kalau kita asal prompt tanpa strategi, hasilnya bisa bikin frustasi. Mari kita bahas dari awal! ---🤔 Kenapa Harus Ada Rules Saat Koding dengan AI?
Banyak yang mikir, "Kan tinggal ketik apa yang mau dibuat, terus AI langsung ngerjain." Well, sayangnya nggak sesederhana itu, bro. AI itu ibarat asisten yang super pinter, tapi butuh instruksi yang jelas. Kalau kamu ngasih instruksi yang ambigu, hasilnya juga bakal ambigu. Berikut alasan kenapa kamu butuh rules:1. Konsistensi Kode - Dengan rules yang jelas, kode yang dihasilkan akan konsisten dari awal sampai akhir project
2. Mengurangi Error - Prompt yang terstruktur mengurangi kemungkinan AI salah paham dengan maksud kamu
3. Efisiensi Waktu - Daripada bolak-balik revisi, mending sekali prompt langsung jadi
4. Maintainability - Kode yang dihasilkan lebih mudah di-maintain karena mengikuti pattern yang jelas
5. Scalability - Project bisa berkembang dengan baik karena fondasinya kuat dari awal
📚 Dasar-Dasar Prompt Engineering untuk Koding
Sebelum masuk ke contoh-contoh prompt, kamu harus tau dulu fundamental prompt engineering. Ini basic yang wajib dipahami:1. Context is King 👑
Selalu berikan konteks yang cukup! AI nggak tau project kamu apa, stack-nya apa, atau style coding yang kamu prefer. Kasih tau semuanya di awal. ❌ Prompt Buruk:Buatkan function untuk login
✅ Prompt Baik:
Saya sedang membuat aplikasi web e-commerce menggunakan:
- Frontend: Next.js 14 dengan TypeScript
- Backend: Node.js dengan Express
- Database: PostgreSQL dengan Prisma ORM
- Authentication: JWTBuatkan function untuk handle login user dengan fitur:
1. Validasi email dan password
2. Check user di database
3. Generate JWT token jika valid
4. Return error message yang informatif jika gagal
5. Implement rate limiting untuk prevent brute force
Gunakan async/await dan proper error handling.
2. Be Specific, Not Vague
Semakin spesifik prompt kamu, semakin akurat hasilnya. Jangan takut prompt-nya panjang!
❌ Vague:
Buat form yang bagus✅ Specific:
Buat form registrasi dengan kriteria:
- Fields: nama lengkap, email, password, konfirmasi password
- Validasi real-time saat user mengetik
- Password strength indicator
- Error message di bawah setiap field yang invalid
- Button submit disabled sampai semua valid
- Styling dengan Tailwind CSS, dark mode compatible
- Animasi smooth saat error muncul
- Responsive untuk mobile dan desktop3. Tentukan Output Format
Kasih tau AI format output yang kamu mau. Ini penting banget!
Format output yang saya inginkan:
1. Jelaskan dulu approach yang akan digunakan
2. Berikan kode lengkap dengan komentar penjelasan
3. Sertakan contoh penggunaan
4. List potential edge cases dan cara handle-nya
5. Berikan tips optimasi jika ada🎯 Rules Wajib Sebelum Mulai Koding dengan AI
Berikut adalah rules yang harus kamu terapkan setiap kali mau koding dengan AI:
Rule #1: Mulai dengan System Prompt
System prompt adalah instruksi awal yang menentukan "kepribadian" dan behavior AI. Ini sangat powerful!
System Prompt untuk Koding:Kamu adalah senior full-stack developer dengan pengalaman 10+ tahun.
Expertise kamu meliputi: JavaScript, TypeScript, React, Vue, Node.js, Python.
Saat menulis kode, kamu selalu:
- Mengikuti best practices dan clean code principles
- Menambahkan komentar yang helpful
- Mempertimbangkan edge cases
- Mengutamakan security dan performance
- Menulis kode yang mudah ditest
Jika ada yang kurang jelas dari request user, tanyakan dulu sebelum mulai ngoding.
Jelaskan reasoning di balik setiap keputusan teknis yang kamu buat.
Rule #2: Definisikan Tech Stack di Awal
Tech Stack untuk project ini:
- Language: TypeScript strict mode
- Framework: Nuxt 3 dengan Composition API
- Styling: Tailwind CSS v3
- State Management: Pinia
- API: REST dengan $fetch
- Testing: Vitest + Vue Testing Library
- Linting: ESLint + PrettierSemua kode harus mengikuti stack di atas.
Jangan gunakan teknologi atau library di luar yang disebutkan tanpa konfirmasi.
Rule #3: Tentukan Coding Standards
Coding Standards yang harus diikuti:
1. Gunakan camelCase untuk variable dan function
2. Gunakan PascalCase untuk component dan class
3. Maksimal 80 karakter per baris
4. Selalu gunakan async/await, hindari callback hell
5. Destructuring lebih diutamakan
6. Arrow function untuk function expression
7. Explicit return type untuk function TypeScript
8. Jangan gunakan 'any' type kecuali benar-benar terpaksa
9. Semua function harus ada JSDoc comment
10. Error handling wajib dengan try-catchRule #4: Security First
Security Requirements:
- Sanitize semua user input
- Gunakan parameterized query untuk database
- Validate data di frontend DAN backend
- Implement proper authentication check
- Jangan expose sensitive data di response
- Gunakan HTTPS untuk semua external request
- Implement CORS dengan benar
- Hash password dengan bcrypt minimum 12 roundsRule #5: Breakdown Complex Tasks
Jangan minta AI bikin seluruh aplikasi sekaligus. Pecah jadi task-task kecil!
Project: E-commerce AppDay 1: Setup & Basic Structure
- [x] Initialize Nuxt 3 project
- [x] Setup Tailwind CSS
- [x] Buat basic layout component
Day 2: Authentication
- [ ] Buat halaman login
- [ ] Buat halaman register
- [ ] Implement JWT authentication
Day 3: Product Features
- [ ] Buat halaman list products
- [ ] Buat halaman product detail
- [ ] Implement search dan filter
(dan seterusnya...)
💡 Contoh Prompt Lengkap untuk Berbagai Skenario
Sekarang mari kita lihat contoh-contoh prompt yang bisa langsung kamu pakai:
Contoh 1: Membuat Component React/Vue
Buatkan component Button yang reusable dengan kriteria:Context:
- Project: Dashboard Admin untuk SaaS
- Framework: Vue 3 Composition API + TypeScript
- Styling: Tailwind CSS
Requirements:
1. Props:
- variant: 'primary' | 'secondary' | 'danger' | 'ghost'
- size: 'sm' | 'md' | 'lg'
- loading: boolean (tampilkan spinner)
- disabled: boolean
- icon: optional icon component
- iconPosition: 'left' | 'right'
2. Features:
- Hover dan active states yang smooth
- Focus ring untuk accessibility
- Loading state dengan spinner dan disabled interaction
- Ripple effect saat click
3. Accessibility:
- Proper ARIA attributes
- Keyboard navigation support
- Screen reader friendly
Output yang diharapkan:
- File component (.vue)
- Contoh penggunaan
- Unit test basic
Contoh 2: API Integration
Buatkan service layer untuk integrasi dengan REST API:Context:
- Sudah ada backend API di https://api.example.com
- Menggunakan JWT untuk authentication
- Token disimpan di localStorage
Requirements:
1. Base API class dengan:
- Automatic token injection di header
- Response interceptor untuk handle 401 (auto logout)
- Error handling yang konsisten
- Request/Response logging di development
2. Service untuk User:
- getProfile()
- updateProfile(data)
- changePassword(oldPass, newPass)
- uploadAvatar(file)
3. Service untuk Products:
- getAll(filters, pagination)
- getById(id)
- create(data)
- update(id, data)
- delete(id)
4. Type definitions untuk semua response
Tolong struktur folder-nya juga ya:
/services
/api
- base.ts
- user.service.ts
- product.service.ts
/types
- user.types.ts
- product.types.ts
Contoh 3: Database Schema
Buatkan database schema untuk aplikasi blog:Context:
- Database: PostgreSQL
- ORM: Prisma
- Fitur: Multi-author blog dengan categories dan tags
Requirements:
1. Tables yang dibutuhkan:
- User (author)
- Post
- Category
- Tag
- Comment
- PostTag (many-to-many)
2. Relationships:
- User bisa punya banyak Post
- Post punya satu Category
- Post bisa punya banyak Tag
- Post bisa punya banyak Comment
- Comment bisa nested (reply)
3. Fields yang umum:
- id (uuid)
- createdAt
- updatedAt
- soft delete (deletedAt)
4. Indexing:
- Suggest index yang diperlukan untuk query umum
- Explain reasoning-nya
Output:
- Prisma schema file lengkap
- Seed data untuk testing
- Query examples untuk operasi CRUD
Contoh 4: Debugging & Fixing
Tolong debug kode berikut:[paste kode yang bermasalah]
Error yang muncul:
[paste error message lengkap]
Yang sudah saya coba:
1. [langkah yang sudah dicoba]
2. [langkah yang sudah dicoba]
Environment:
- Node.js v18
- npm v9
- OS: Windows 11
Tolong:
1. Jelaskan penyebab error-nya
2. Berikan solusi dengan kode yang sudah diperbaiki
3. Jelaskan kenapa solusi ini works
4. Kasih tips agar error serupa tidak terjadi lagi
Contoh 5: Code Review & Optimization
Tolong review kode berikut dan berikan saran improvement:[paste kode]
Focus area:
1. Performance - ada yang bisa dioptimasi?
2. Security - ada vulnerability?
3. Readability - bisa lebih clean?
4. Best Practices - ada yang melanggar convention?
5. Edge Cases - ada yang belum di-handle?
Format review:
- Severity: Critical / Warning / Suggestion
- Line/Section: [reference ke bagian kode]
- Issue: [penjelasan masalah]
- Solution: [kode yang sudah diperbaiki]
- Explanation: [kenapa ini lebih baik]
🚀 Tips Advanced untuk Power Users
Udah paham basic-nya? Sekarang level up dengan tips advanced ini:
1. Iterative Refinement
Jangan expect hasil perfect di prompt pertama. Gunakan conversation untuk refine:
First prompt: Buat basic structure
Second prompt: Tambahkan error handling
Third prompt: Optimize performance
Fourth prompt: Add edge case handling
Fifth prompt: Polish dan finalize2. Reference Existing Code
Ini contoh component yang sudah ada di project saya:
[paste existing component]Buatkan component baru yang mirip pattern-nya tapi untuk [use case baru].
Pastikan konsisten dengan style yang sudah ada.
3. Ask for Alternatives
Untuk task [X], berikan 3 approach berbeda:
1. Approach paling simple/straightforward
2. Approach paling performant
3. Approach paling scalableUntuk setiap approach, jelaskan:
- Pros dan cons
- Kapan sebaiknya digunakan
- Complexity (baik time maupun space)
4. Learn While You Code
Setelah menulis kode, jelaskan:
1. Konsep-konsep yang digunakan
2. Kenapa memilih approach ini
3. Trade-offs yang ada
4. Resources untuk belajar lebih lanjutSaya ingin mengerti, bukan hanya copy-paste.
⚠️ Common Mistakes yang Harus Dihindari
1. Over-reliance pada AI
AI itu tool, bukan replacement untuk skill kamu. Tetap belajar fundamental!
2. Copy-Paste Tanpa Review
SELALU review kode yang dihasilkan AI sebelum commit. AI bisa aja salah atau menghasilkan kode yang tidak optimal.
3. Prompt Terlalu Singkat
❌ "Buat login page"
✅ [Prompt detail seperti contoh di atas]4. Tidak Memberikan Feedback
Kalau hasil nggak sesuai, kasih feedback spesifik:
Hasil sebelumnya:
- Button style kurang match dengan design system
- Missing loading state
- Error handling belum adaTolong perbaiki dengan:
[instruksi spesifik]
5. Mengabaikan Security
Jangan pernah share:
- API keys
- Passwords
- Sensitive business logic
- Production database credentials
📋 Checklist Sebelum Submit Prompt
Gunakan checklist ini sebelum submit prompt kamu:
- [ ] Sudah jelasin context project?
- [ ] Tech stack sudah disebutkan?
- [ ] Requirements sudah spesifik?
- [ ] Output format sudah ditentukan?
- [ ] Tidak ada info sensitif yang bocor?
- [ ] Task sudah cukup granular (tidak terlalu besar)?
- [ ] Sudah mention coding standards yang diinginkan?
🎁 Template Prompt yang Bisa Langsung Dipakai
Copy template ini dan customize sesuai kebutuhan:
=== PROJECT CONTEXT ===
Project: [nama project]
Type: [web app / mobile / API / dll]
Stage: [new / existing - link repo jika ada]=== TECH STACK ===
- Language: [...]
- Framework: [...]
- Database: [...]
- Other tools: [...]
=== CURRENT TASK ===
[Deskripsi task yang jelas]
=== REQUIREMENTS ===
1. [requirement 1]
2. [requirement 2]
3. [requirement 3]
=== CONSTRAINTS ===
- [batasan yang harus diikuti]
- [hal yang harus dihindari]
=== EXPECTED OUTPUT ===
- [format output yang diinginkan]
- [file/struktur yang diharapkan]
=== ADDITIONAL NOTES ===
[Info tambahan yang relevan]
🏁 Kesimpulan
Koding dengan AI itu game changer, tapi butuh skill tersendiri untuk memanfaatkannya dengan maksimal. Ingat key takeaways dari artikel ini:
1. Context is everything - Selalu berikan informasi yang cukup
2. Be specific - Detail prompt = hasil yang akurat
3. Use rules & standards - Konsistensi adalah kunci
4. Iterate & refine - Jarang perfect di percobaan pertama
5. Always review - AI itu asisten, bukan oracle
6. Keep learning - Fundamental tetap penting
Semoga artikel ini membantu kamu jadi lebih produktif dalam koding dengan AI. Kalau ada pertanyaan atau mau share pengalaman, feel free to reach out!
Happy coding! 🚀


