Prompt Engineering buat Analis Data: Kerangka 5 Bagian
TL;DR
Prompt yang bagus buat analis data punya 5 bagian: peran, konteks (skema tabel dan sampel data), tugas yang spesifik, batasan (dialek SQL dan aturan main), dan format output. Bagian yang paling sering dilupain adalah konteks skema, dan itu penyebab utama AI ngarang nama kolom yang nggak ada di database kamu. Tempel skema tabel di tiap prompt, dan kualitas query yang keluar naik drastis.
Minta query ke AI, dapet SELECT nama_pelanggan FROM orders. Padahal tabel kamu namanya transaksi dan kolom itu nggak ada.
Yang salah bukan modelnya. Dia nggak bisa lihat database kamu, jadi dia nebak nama kolom dari pola paling umum yang dia pernah lihat.
Kerangka 5 bagian di bawah ini nutup celah itu. Aku pakai buat hampir semua prompt kerjaan analis — nulis query, ngerapiin data, sampai nyusun ringkasan buat rapat.
Kenapa prompt analis data beda dari prompt biasa?
Prompt buat nulis caption Instagram cuma butuh topik dan gaya. Prompt buat nulis query butuh sesuatu yang model nggak punya: struktur database kamu.
Model bahasa nggak bisa akses tabel kamu. Dia nggak tau kolomnya namanya total_harga atau grand_total, dan nggak tau apakah status isinya 'selesai' atau 'completed'.
Tanpa info itu, dia ngarang. Dan query yang ngarang bisa jalan tanpa error tapi jawabannya salah — ini jenis kesalahan yang paling mahal.
Kerangka 5 bagian: apa aja isinya?
Prompt yang bagus buat analis data punya lima bagian: peran, konteks, tugas, batasan, dan format output. Urutannya boleh diubah, tapi kelimanya harus ada.
| Bagian | Isinya | Kalau dilewatin |
|---|---|---|
| 1. Peran | Siapa AI-nya, tool apa yang dia kuasai | Jawabannya terlalu umum dan bertele-tele |
| 2. Konteks | Skema tabel, tipe data, sampel baris | AI ngarang nama kolom |
| 3. Tugas | Pertanyaan bisnis yang spesifik | Dapet query yang nggak jawab pertanyaanmu |
| 4. Batasan | Dialek SQL, aturan main, larangan | Query pakai sintaks yang nggak jalan di database kamu |
| 5. Format output | Bentuk jawaban yang kamu mau | Harus rapiin manual tiap kali |
Bagian 2 yang paling sering dilewatin, dan itu penyebab 90% frustrasi orang sama AI buat SQL.
Bagian 1: Peran
Satu kalimat. Sebut tool dan level pengalaman.
Kamu adalah data analyst senior yang jago PostgreSQL
dan terbiasa kerja dengan data transaksi e-commerce.
Ini ngefek ke tingkat detail jawaban dan asumsi yang dia ambil. Yang nggak ngefek: kalimat panjang soal betapa hebatnya si AI. Hemat tempat, alokasikan ke konteks.
Bagian 2: Konteks (yang paling penting)
Tempel skema tabel. Nama tabel, nama kolom, tipe data. Kalau bisa, tambahin 2-3 baris sampel.
Skema database:
transaksi
transaksi_id integer PK
pelanggan_id integer FK -> pelanggan
tanggal_transaksi date
status text -- nilai: 'selesai', 'batal', 'pending'
transaksi_detail
transaksi_id integer FK -> transaksi
produk_id integer FK -> produk
qty integer
harga_satuan numeric
produk
produk_id integer PK
nama_produk text
kategori text -- nilai: 'Sembako', 'Minuman', 'Snack'
Catatan: total per transaksi nggak disimpan.
Harus dihitung dari qty * harga_satuan di transaksi_detail.
Baris terakhir itu emas. Kalau kamu nggak bilang, AI bakal nyari kolom total di tabel transaksi, nggak ketemu, terus ngarang.
Tempel juga nilai enum yang mungkin. "status text" doang bikin AI nebak isinya 'active'/'inactive'. Sebutin nilai aslinya.
Bagian 3: Tugas
Tulis pertanyaan bisnisnya, bukan langkah teknisnya. Biar AI yang mikirin JOIN-nya.
Tugas:
Bikin query yang nampilin omzet per kategori produk per bulan
sepanjang 2026, cuma buat transaksi yang statusnya selesai.
Urutkan dari bulan paling awal, lalu omzet terbesar.
Bandingin sama versi malas: "bikin query omzet per kategori". Yang ini nggak nyebut periode, nggak nyebut filter status, nggak nyebut urutan. Hasilnya pasti perlu tiga kali revisi.
Bagian 4: Batasan
Aturan main. Ini yang nyegah AI ngarang.
Batasan:
- Pakai sintaks PostgreSQL 15.
- Cuma boleh pakai kolom yang ada di skema di atas.
Kalau ada info yang kurang, bilang, jangan ngarang kolom.
- Jangan pakai SELECT *.
- Kasih alias yang jelas buat tiap kolom hasil hitungan.
Kalimat "kalau ada info yang kurang, bilang, jangan ngarang" itu yang paling berguna. Dia kasih model jalan keluar selain nebak.
Bagian 5: Format output
Format jawaban:
1. Query SQL dalam satu code block.
2. Di bawahnya, penjelasan 3 poin soal logika query-nya.
3. Satu catatan soal hal yang bisa bikin hasilnya meleset.
Jangan kasih pengantar atau penutup.
Poin 3 itu trik yang jarang dipakai orang. Minta AI nyebutin risikonya sendiri, dan kamu sering dapat peringatan soal duplikasi baris dari JOIN atau NULL yang bikin SUM meleset.
Contoh kasus: prompt lengkap dan hasilnya
Aku jalanin prompt lima bagian di atas buat dataset toko_berkah. Ini query yang balik:
SELECT
p.kategori,
DATE_TRUNC('month', t.tanggal_transaksi) AS bulan,
SUM(td.qty * td.harga_satuan) AS omzet
FROM transaksi t
JOIN transaksi_detail td ON td.transaksi_id = t.transaksi_id
JOIN produk p ON p.produk_id = td.produk_id
WHERE t.status = 'selesai'
AND t.tanggal_transaksi >= DATE '2026-01-01'
GROUP BY p.kategori, DATE_TRUNC('month', t.tanggal_transaksi)
ORDER BY bulan, omzet DESC;
Jalan di percobaan pertama. Nama kolomnya bener semua, filter status kepasang, dan agregasinya ngitung dari qty * harga_satuan — persis kayak yang aku bilang di catatan skema.
Dia juga ngasih peringatan: kalau ada baris di transaksi_detail dengan harga_satuan NULL, SUM bakal ngabaikan baris itu diam-diam. Aku cek, ternyata memang ada 3 baris kayak gitu di data.
Bandingin sama prompt malas "bikin query omzet per kategori per bulan dari database toko" — hasilnya nyari kolom total_amount yang nggak pernah ada, dan lupa filter status. Tiga kali bolak-balik sebelum jalan.
Kalau DATE_TRUNC masih asing, mampir ke halaman fungsi DATE_TRUNC. Dan soal risiko baris berlipat gara-gara JOIN, ada di glosarium JOIN.
Kesalahan umum waktu prompting buat data
1. Nggak nempel skema. Ini akar dari hampir semua masalah. Simpan skema tabel kamu di file teks, tempel tiap kali.
2. Nggak nyebut dialek SQL. Query PostgreSQL nggak jalan di MySQL 5.7. Sebutin versinya, bukan cuma "SQL".
3. Percaya query tanpa dicek. Jalanin di data kecil dulu, bandingin sama angka yang udah kamu tau. Query yang jalan tanpa error bukan berarti jawabannya bener.
4. Nanya berlapis dalam satu prompt. "Bikin query, terus analisis hasilnya, terus bikin rekomendasi." Pecah jadi tiga. Hasilnya lebih tajam.
5. Nempel data asli pelanggan ke chatbot publik. Nomor HP, email, NIK — jangan. Anonimin dulu, atau pakai skema tanpa isi datanya. Prinsip dasarnya ada di panduan prompting Google.
FAQ
Kenapa AI sering ngarang nama kolom yang nggak ada?
Karena kamu nggak kasih tau kolom apa aja yang ada. Model nggak bisa lihat database kamu, jadi dia nebak nama kolom dari pola paling umum di data latihannya. Solusinya: tempel skema tabel, lengkap sama nama kolom dan tipe datanya, di tiap prompt yang minta query. Sekali kamu rutin ngelakuin ini, masalah kolom karangan hampir hilang.
Perlu nulis peran di prompt, atau itu cuma mitos?
Perlu, tapi jangan berlebihan. Nulis peran yang nyebut tool dan level pengalaman ngefek ke gaya jawaban dan tingkat detailnya. Yang nggak ngefek itu kalimat panjang lebar soal betapa hebatnya si AI. Satu kalimat udah cukup. Sisanya alokasikan buat konteks dan batasan.
Prompt panjang selalu lebih bagus?
Nggak, yang penting padat dan relevan. Prompt 300 kata berisi skema tabel dan aturan main jauh lebih berguna daripada 800 kata basa-basi. Tambahin panjang cuma kalau isinya konteks baru yang beneran dibutuhin. Kalau kamu nambah kalimat tapi nggak nambah informasi, hasilnya nggak bakal berubah.
Query dari AI harus dicek ulang, atau bisa langsung dipakai?
Selalu cek ulang. Minimal tiga hal: nama kolom cocok sama skema, JOIN-nya nggak bikin baris berlipat, dan hasilnya masuk akal sama yang kamu tau soal bisnisnya. Cara paling cepat: jalanin di data kecil dan bandingin sama angka yang udah kamu tau. AI bisa nulis query yang jalan tanpa error tapi jawabannya salah.
Kerangka 5 bagian ini jalan di ChatGPT, Claude, atau Gemini?
Jalan di semuanya. Kerangka ini nggak bergantung ke model tertentu soalnya masalah yang dia selesaiin bersifat umum: model nggak punya konteks database kamu. Yang beda cuma seberapa patuh tiap model sama batasan yang kamu kasih.
Penutup
Yang perlu kamu bawa pulang:
- Skema tabel di tiap prompt. Ini satu perubahan yang efeknya paling gede.
- Sebutin dialek SQL dan nilai enum yang mungkin. Jangan biarin AI nebak.
- Minta AI nyebut sendiri risiko query-nya. Sering dapet peringatan yang kepake.
Buka file catatan sekarang, tulis skema tabel yang paling sering kamu pakai, dan simpan. Besok pagi, tempel itu di prompt pertama kamu — bedanya bakal langsung kerasa. Lanjut baca cara analis data pakai AI sehari-hari buat contoh kasus lainnya.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel Terkait
Python vs Tools AI buat Analis: Masih Perlu Belajar Coding?
Tools AI bisa bikin chart dan ringkas data dalam hitungan detik. Jadi Python masih perlu dipelajari analis di 2026? Jawabannya iya — tapi alasannya udah beda dari 3 tahun lalu.
Forecasting Penjualan dengan AI: Realistis atau Overhyped?
Aku tes forecasting AI di data penjualan 4 cabang toko grosir. Hasilnya lebih akurat dari tebakan manual, tapi meleset parah di satu titik yang mahal.
Analisa Sentimen dengan AI: Olah Review Pelanggan Jadi Insight
Cara ngolah ribuan review pelanggan jadi insight pakai AI — dari nyusun prompt yang konsisten, ngasih label, sampai ngubah hasilnya jadi rekomendasi yang bisa dieksekusi.