Cara Bikin Query SQL Pakai AI Tanpa Salah Logika
Blog/AI untuk Analis/Cara Bikin Query SQL Pakai AI Tanpa Salah Logika

Cara Bikin Query SQL Pakai AI Tanpa Salah Logika

BimaBima
·13 Mei 2026·11 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Cara bikin query SQL pakai AI yang aman: kasih schema tabel lengkap, tulis pertanyaan bisnis secara spesifik termasuk definisi metrik, minta AI jelaskan logikanya, lalu tes query di data kecil sebelum dipakai. Kesalahan paling sering bukan syntax error, tapi logika JOIN dan filter yang bikin angka salah tanpa ketahuan.

Cara bikin query SQL pakai AI yang bisa kamu percaya: kasih schema tabel lengkap, tulis pertanyaan bisnis dengan definisi metrik yang jelas, minta AI jelasin logikanya, lalu tes di data kecil sebelum dipakai serius.

Kedengeran ribet buat sesuatu yang harusnya instan. Tapi ini yang bikin bedanya.

Aku minta ChatGPT bikin 30 query dari dataset toko_berkah. Hasilnya: 28 jalan tanpa error. Cuma 22 yang angkanya benar. Enam query menghasilkan angka yang salah — dan nggak satu pun kasih peringatan.

Itu yang bahaya. Query yang error itu gampang, kamu langsung tau. Query yang jalan tapi salah? Kamu baru sadar tiga minggu kemudian pas atasan nanya kenapa omzetnya beda sama laporan finance.

Kenapa AI sering salah logika di SQL?

AI dilatih dari jutaan query publik. Dia hafal syntax, hafal pola umum, hafal fungsi. Yang dia nggak punya: konteks data kamu.

AI nggak tau kalau di tabel transaksi kamu ada 340 baris dengan status = 'batal' yang harusnya nggak ikut dihitung. Dia nggak tau kalau "omzet" di kantor kamu artinya udah dikurangi diskon. Dia nggak tau kalau ada 12 produk_id yang nggak terdaftar di tabel produk.

Jadi dia nebak. Dan tebakan yang salah tetap menghasilkan SQL yang valid.

Langkah 1: Kasih schema, bukan cuma nama tabel

Prompt yang buruk: "Bikinin query buat hitung omzet per kategori dari tabel transaksi dan produk."

AI bakal nebak nama kolom. Kadang bener, sering nggak.

Prompt yang bagus: tempel struktur tabelnya. Copy langsung dari DESCRIBE atau dari dokumentasi database kamu.

Aku punya 2 tabel di PostgreSQL:

transaksi (
  transaksi_id  INT,
  tanggal       DATE,
  produk_id     INT,
  qty           INT,
  harga_satuan  NUMERIC,
  diskon        NUMERIC,   -- bisa NULL
  cabang        TEXT,
  status        TEXT       -- 'selesai' | 'batal' | 'pending'
)

produk (
  produk_id  INT,
  nama       TEXT,
  kategori   TEXT
)

Catatan: ada 12 produk_id di transaksi yang nggak ada di tabel produk.
omzet = qty * harga_satuan - diskon, cuma untuk status 'selesai'.

Tiga baris terakhir itu yang paling penting. Itu konteks yang cuma kamu yang punya.

Langkah 2: Tulis pertanyaan bisnisnya, bukan langkah SQL-nya

Banyak orang nulis prompt kayak lagi ngasih instruksi ke junior: "pakai JOIN, terus GROUP BY, terus ORDER BY."

Kalau kamu udah tau langkahnya, ngapain minta AI. Yang bikin AI berguna itu waktu kamu kasih tujuan, dan dia yang mikirin rutenya.

Tulis gini: "Aku mau tau kategori produk mana yang omzetnya paling gede selama Q1 2026, per cabang. Transaksi batal jangan ikut. Kalau ada transaksi yang produknya nggak terdaftar, tetap hitung tapi labelin 'Tanpa Kategori'."

Kalimat terakhir itu keputusan bisnis. AI nggak akan pernah nebak itu sendiri.

Langkah 3: Minta AI jelasin logikanya sebelum kamu jalanin

Tambahin ini di akhir prompt: "Sebelum kasih query, jelasin dulu 3 keputusan logika yang kamu ambil dan kenapa."

Ini trik yang paling sering nyelametin aku. AI bakal nulis sesuatu kayak: "Aku pakai INNER JOIN karena asumsinya semua transaksi punya produk yang valid."

Nah, di situ kamu langsung nangkep. Asumsinya salah. Kamu bilang: pakai LEFT JOIN.

Tanpa langkah ini, asumsi salah itu ngumpet di dalam query dan kamu nggak akan lihat.

Langkah 4: Baca query-nya, khususnya JOIN dan WHERE

Ini query yang AI kasih pertama kali. Kelihatan rapi:

SELECT p.kategori, SUM(t.qty * t.harga_satuan) AS omzet
FROM transaksi t
JOIN produk p ON t.produk_id = p.produk_id
GROUP BY p.kategori
ORDER BY omzet DESC;

Jalan tanpa error. Tapi ada tiga masalah.

Satu: JOIN tanpa keterangan itu artinya INNER JOIN. Dua belas produk yang nggak terdaftar? Transaksinya kebuang. Omzet kamu kurang.

Dua: Nggak ada WHERE t.status = 'selesai'. Transaksi batal ikut kehitung.

Tiga: Diskon nggak dikurangi. Rumus omzetnya salah.

Versi yang benar:

SELECT COALESCE(p.kategori, 'Tanpa Kategori') AS kategori,
       SUM(t.qty * t.harga_satuan - COALESCE(t.diskon, 0)) AS omzet
FROM transaksi t
LEFT JOIN produk p ON t.produk_id = p.produk_id
WHERE t.status = 'selesai'
GROUP BY COALESCE(p.kategori, 'Tanpa Kategori')
ORDER BY omzet DESC;

Perhatiin COALESCE(t.diskon, 0). Kalau diskon NULL dan kamu langsung kurangi, hasilnya NULL — dan seluruh baris itu jadi kosong. Ini jebakan NULL klasik yang AI sering lupa. Baca lebih dalam soal ini di fungsi COALESCE.

Langkah 5: Validasi di data kecil dulu

Jangan langsung lepas ke tabel 12 juta baris. Batesin dulu.

Tambahin WHERE tanggal BETWEEN '2026-01-01' AND '2026-01-31', jalanin, terus hitung manual di spreadsheet dari data mentah bulan itu. Cocok? Lanjut. Beda? Ada yang salah.

Satu query pengecek yang wajib kamu jalanin sebelum JOIN apa pun:

SELECT COUNT(*) AS transaksi_tanpa_produk
FROM transaksi t
LEFT JOIN produk p ON t.produk_id = p.produk_id
WHERE p.produk_id IS NULL;

Kalau hasilnya nol, INNER JOIN aman. Kalau hasilnya 340, kamu baru aja nyelametin diri dari laporan yang salah.

Contoh kasus: 6 query yang salah dari toko_berkah

Dari 30 query yang aku tes di dataset toko_berkah (12.400 transaksi, 3 cabang, 18 bulan), ini pola kesalahannya:

Jenis kesalahanJumlahDampak ke angka
INNER JOIN padahal butuh LEFT JOIN3Omzet kurang 4,2%
Lupa filter status transaksi2Omzet lebih 7,8%
NULL nggak di-handle di aritmetika118 baris hilang

Yang bikin aku kepikiran: kesalahan "omzet lebih 7,8%" itu justru yang paling bahaya. Angkanya naik, laporannya kelihatan bagus, nggak ada yang curiga.

Kalau angka kamu tiba-tiba kelihatan bagus banget, itu justru saatnya kamu cek ulang query-nya.

Kesalahan umum waktu pakai AI buat SQL

Nempel query AI ke production tanpa baca. Kalau kamu nggak ngerti query-nya, kamu nggak bisa tanggung jawab atas angkanya. Sederhana.

Prompt satu kalimat. "Bikinin query omzet" bakal ngasih query generik yang cocok buat database orang lain, bukan database kamu.

Nggak cek jumlah baris hasil JOIN. Kalau tabel transaksi punya 12.400 baris dan hasil JOIN kamu 15.800 baris, ada duplikasi. Biasanya karena tabel kanan punya lebih dari satu baris yang match. Ini bikin SUM kamu meledak.

Kasih data asli ke AI publik. Jangan tempel data pelanggan, nomor HP, atau angka keuangan asli ke chatbot. Kasih struktur tabelnya aja, atau data dummy yang bentuknya sama.

FAQ

AI bisa nulis SQL yang benar 100%?

Nggak. AI jago banget di syntax, tapi lemah di konteks bisnis yang cuma kamu yang tau. Dari 30 query yang aku minta ChatGPT bikin dari dataset toko_berkah, 28 jalan tanpa error tapi cuma 22 yang angkanya benar. Sisanya salah di JOIN atau di definisi metrik. Query yang jalan bukan berarti query yang benar.

Apa yang harus aku kasih ke AI biar hasilnya akurat?

Minimal tiga hal: struktur tabel lengkap dengan tipe data, contoh 3 sampai 5 baris data asli, dan definisi metrik yang kamu maksud. Kalau kamu bilang omzet, tulis omzet itu qty dikali harga_satuan dikurangi diskon. AI nggak bisa nebak aturan internal perusahaan kamu.

Kenapa AI sering salah pilih jenis JOIN?

Karena AI nggak tau kalau tabel kamu punya baris yatim. Kalau ada transaksi yang produk_id-nya nggak ada di tabel produk, INNER JOIN bakal buang baris itu diam-diam dan omzet kamu jadi lebih kecil dari seharusnya. Selalu sebutin di prompt: mau baris yang nggak match ikut kehitung atau dibuang.

Gimana cara ngecek query dari AI itu benar?

Jalanin dulu di data kecil, misalnya satu bulan atau satu cabang, terus hitung manual angkanya di spreadsheet. Kalau cocok, baru lepas ke data penuh. Cek juga jumlah baris hasilnya. Kalau tiba-tiba hasil JOIN barisnya lebih banyak dari tabel aslinya, kemungkinan besar ada duplikasi.

Masih perlu belajar SQL kalau ada AI?

Perlu, justru makin perlu. Kamu nggak harus hafal syntax, tapi kamu harus bisa baca query dan tau itu logikanya bener atau nggak. Orang yang nggak ngerti SQL cuma bisa copy-paste hasil AI dan berharap. Orang yang ngerti SQL bisa nangkep JOIN yang salah dalam 10 detik.

Penutup

Tiga hal yang bikin query AI kamu bisa dipercaya: schema lengkap di prompt, definisi metrik yang eksplisit, dan validasi di data kecil sebelum dipakai.

AI bikin kamu 5 kali lebih cepat nulis SQL. Tapi cuma kalau kamu bisa baca hasilnya. Kalau nggak, kamu cuma bikin kesalahan 5 kali lebih cepat.

Mau pastiin kamu bisa baca query sendiri? Mulai dari panduan belajar SQL dari nol. Yang penting bukan hafal syntax — tapi tau kapan JOIN kamu bohong.

Buat detail perilaku JOIN dan NULL, cek dokumentasi resmi PostgreSQL soal table expressions.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel Terkait

AI Agent untuk Analis Data: Apa Bedanya dari Chatbot Biasa
AI untuk Analis
27 Juni 2026•8 menit baca

AI Agent untuk Analis Data: Apa Bedanya dari Chatbot Biasa

Chatbot ngasih jawaban. AI agent ngerjain langkahnya sendiri sampai selesai. Ini penjelasan bedanya buat analis data, plus di mana agent beneran ngebantu dan di mana dia masih ngaco.

BimaBima
Belajar SQL Pakai AI: Cara Bikin Tutor Pribadi Sendiri
AI untuk Analis
18 Juni 2026•10 menit baca

Belajar SQL Pakai AI: Cara Bikin Tutor Pribadi Sendiri

AI bisa jadi tutor SQL yang sabar dan ada 24 jam — asal kamu nulis query dulu sebelum nanya. Ini cara nyusun sesi belajar SQL pakai AI, lengkap dengan prompt siap pakai.

BimaBima
AI untuk Dokumentasi Query SQL: Hemat Waktu Handover
AI untuk Analis
15 Juni 2026•9 menit baca

AI untuk Dokumentasi Query SQL: Hemat Waktu Handover

Cara pakai AI buat dokumentasi query SQL yang panjang — dari komentar inline sampai data dictionary, plus prompt template yang bisa langsung kamu pakai.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

Copyright © 2026 - All rights reserved

LINKS
SupportPricingDatasetBlogAffiliates
LEGAL
Terms of servicesPrivacy policy
Ngulik Data
DatasetLeaderboardBlogStore