TL;DR
Verifikasi output AI saat analisa data artinya ngecek tiga hal: query-nya bener secara logika, angkanya cocok sama data sumber, dan pertanyaan yang dijawab emang pertanyaan yang kamu ajukan. Checklist tujuh langkah di bawah ini bisa kamu jalanin dalam 5-10 menit per analisa, dan paling sering nangkep error di filter tanggal serta join yang gandain baris.
Verifikasi output AI artinya ngecek tiga hal: query-nya bener secara logika, angkanya cocok sama data sumber, dan pertanyaan yang dijawab emang pertanyaan yang kamu ajukan.
Bahaya terbesar bukan waktu AI error. Error itu keliatan. Yang bahaya waktu AI ngasih query yang jalan mulus, hasilnya rapi, angkanya masuk laporan. Ternyata omzetnya kegandain gara-gara satu JOIN.
Aku pernah kena. Angka di slide beda 41 persen dari angka finance, dan aku baru sadar pas rapat. Checklist ini lahir dari kejadian itu.
Query yang jalan cuma berarti sintaksnya bener. Logikanya urusan lain.
AI nggak tau bentuk data kamu. Dia nggak tau tabel transaksi kamu punya satu baris per item, bukan per struk. Dia nggak tau kolom tanggal kamu sebenernya timestamp. Dia nebak dari nama kolom, dan tebakannya sering masuk akal tapi salah.
Tiga error paling sering yang aku temuin:
BETWEEN '2026-04-01' AND '2026-04-30' di kolom timestamp bakal buang transaksi tanggal 30 jam 08:00.Ketiganya nggak bikin error. Cuma bikin angkanya salah.
Sebelum lihat hasil, tulis ulang pertanyaan bisnis kamu dalam satu kalimat. "Berapa pelanggan unik yang belanja lebih dari 2 kali di April 2026?"
Sekarang baca query dari AI. Apakah query itu jawab kalimat tadi? Sering banget AI jawab pertanyaan yang mirip, tapi bukan pertanyaanmu.
"Omzet" itu apa di query-nya? SUM(harga) atau SUM(harga * qty)? Udah dikurangi diskon dan retur belum?
Satu kata di pertanyaan bisa punya 3 definisi berbeda di database. AI bakal milih satu tanpa nanya.
Ini langkah paling sering nangkep error, dan cuma butuh 2 query.
SELECT COUNT(*) AS baris_asli FROM transaksi;
SELECT COUNT(*) AS baris_setelah_join
FROM transaksi t
JOIN pelanggan p ON t.pelanggan_id = p.id;
Kalau baris_setelah_join lebih besar dari baris_asli, ada baris yang kegandain. Nggak ada JOIN yang boleh nambah jumlah baris transaksi kecuali kamu emang sengaja.
Kalau lebih kecil, ada baris yang kebuang. Biasanya gara-gara INNER JOIN yang harusnya LEFT JOIN. Bedanya aku jelasin di halaman fungsi JOIN.
Jangan percaya filter tanggal sampai kamu lihat tanggal minimum dan maksimum dari data yang lolos filter.
SELECT MIN(tanggal) AS awal,
MAX(tanggal) AS akhir,
COUNT(*) AS jumlah
FROM transaksi
WHERE tanggal >= '2026-04-01'
AND tanggal < '2026-05-01';
Kalau akhir keluar 2026-04-29 padahal kamu tau toko buka tanggal 30, ada yang salah. Pakai >= awal AND < bulan_berikutnya, bukan BETWEEN, kalau kolomnya timestamp.
SELECT COUNT(pelanggan_id) AS total_baris,
COUNT(DISTINCT pelanggan_id) AS pelanggan_unik
FROM transaksi;
Kalau dua angka ini beda jauh dan AI pakai yang pertama buat jawab "berapa pelanggan", kamu baru aja nemu bug.
Ambil satu kategori kecil. Tarik data mentahnya, jumlahin di spreadsheet. Cocokin sama angka dari AI.
Kalau cocok, kepercayaanmu ke query itu naik drastis. Kalau nggak cocok, kamu baru aja nyelametin laporan.
Conversion rate 47 persen. Retensi 91 persen. Growth 300 persen.
Angka yang bikin kamu seneng itu justru yang paling perlu dicurigai. Biasanya penyebabnya duplikasi baris atau pembagi yang salah.
Pertanyaannya: berapa pelanggan yang belanja lebih dari 2 kali di April 2026 di dataset toko_berkah?
Query pertama dari AI:
SELECT COUNT(*) AS pelanggan_setia
FROM transaksi t
JOIN transaksi_item i ON t.id = i.transaksi_id
WHERE t.tanggal BETWEEN '2026-04-01' AND '2026-04-30'
GROUP BY t.pelanggan_id
HAVING COUNT(*) > 2;
Jalan. Nggak error. Hasilnya: 1.284 pelanggan setia.
Aku jalanin langkah 3. Baris asli tabel transaksi di April: 4.106. Setelah JOIN ke transaksi_item: 11.940. Naik hampir 3x, soalnya satu struk rata-rata isi 2,9 item.
Artinya COUNT(*) > 2 di query itu ngitung item, bukan transaksi. Orang yang belanja sekali dengan 3 barang kehitung sebagai pelanggan setia.
Query yang bener:
SELECT COUNT(*) AS pelanggan_setia
FROM (
SELECT pelanggan_id
FROM transaksi
WHERE tanggal >= '2026-04-01'
AND tanggal < '2026-05-01'
GROUP BY pelanggan_id
HAVING COUNT(DISTINCT id) > 2
) x;
Hasilnya: 417 pelanggan. Bukan 1.284.
Selisihnya 208 persen. Kalau angka 1.284 itu jadi dasar bujet program loyalitas, hitung sendiri berapa duit yang kebuang.
Soal keterbatasan model bahasa, dokumentasi resmi OpenAI sendiri nyaranin buat selalu kasih model cara memverifikasi kerjanya sendiri, dan nggak menganggap output-nya sebagai kebenaran.
Query yang jalan cuma berarti sintaksnya bener, bukan logikanya bener. AI bisa nulis JOIN yang gandain baris transaksi sampai omzet kelihatan dua kali lipat, dan query itu tetap jalan tanpa error. Error paling mahal di analisa data itu error senyap: hasilnya keluar, angkanya rapi, tapi salah.
Sekitar 5-10 menit buat analisa ukuran sedang. Kedengeran lama dibanding 20 detik nunggu AI ngetik, tapi jauh lebih murah daripada rapat yang salah keputusan. Kalau angkanya bakal dipakai buat keputusan uang, tambahin satu langkah: hitung ulang satu metrik manual dari data mentah.
Tiga besarnya: filter tanggal yang kelewat sehari gara-gara BETWEEN di kolom timestamp, JOIN yang gandain baris karena relasi one-to-many, dan COUNT yang lupa DISTINCT. Ketiganya bikin angka meleset tanpa bikin query error, jadi gampang lolos kalau kamu cuma lihat hasil akhirnya.
Minta AI nunjukin cara dia dapat angkanya, terus jalankan sendiri query itu di database kamu. Kalau AI ngasih angka tanpa query yang bisa direproduksi, anggap angkanya nggak ada. Untuk statistik eksternal, minta sumber dan buka link-nya.
Berlaku. Prinsipnya sama: cek definisi metrik, cek jumlah baris sebelum dan sesudah transformasi, cek filter, hitung ulang satu angka manual. Di pandas, langkah paling berguna itu bandingin shape dataframe sebelum dan sesudah merge.
Kalau langkah 3 dan 5 masih terasa asing, latihan dulu di halaman fungsi COUNT dan cek definisi JOIN di glossary. Dua konsep itu yang paling sering jadi sumber angka meleset.
Lanjut baca halusinasi AI dalam analisa data buat lihat contoh-contoh nyata AI ngarang kolom dan sumber.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
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.
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.
Cara ngolah ribuan review pelanggan jadi insight pakai AI, dari nyusun prompt yang konsisten, ngasih label, sampai ngubah hasilnya jadi rekomendasi yang bisa dieksekusi.