TL;DR
AI untuk EDA artinya kamu minta model bahasa nulis kode eksplorasi data, terus kamu yang jalanin dan verifikasi hasilnya. Alur yang kepakai: kasih skema tabel plus lima baris sampel, minta kode profil data, minta kode cek kualitas, baru minta kode visualisasi. Yang gak boleh diserahin ke AI: angka hasil hitungan, definisi metrik bisnis, dan keputusan soal outlier mana yang dibuang.
EDA yang biasanya makan 2 jam bisa selesai dalam 20 menit kalau AI yang nulis kodenya dan kamu yang mikir.
Perhatiin urutannya. AI nulis kode. Kamu yang mikir.
Kalau kebalik (kamu nyerahin proses mikirnya ke AI), kamu bakal dapat laporan yang rapi, meyakinkan, dan salah.
Di tutorial ini aku kasih alur 5 langkah yang aku pakai tiap kali dapat dataset baru, lengkap sama prompt yang bisa kamu tempel. Datanya: toko_berkah, 8.400 transaksi kelontong Bandung selama 12 minggu.
EDA (Exploratory Data Analysis) adalah tahap awal analisis di mana kamu kenalan sama datanya: apa isinya, seberapa kotor, dan pola apa yang keliatan.
Ada dua jenis kerjaan di dalamnya.
Kerjaan mekanis: nulis df.info(), ngitung nilai kosong per kolom, bikin histogram tiap kolom numerik, bikin correlation matrix. Ini repetitif, dan bentuknya sama buat hampir semua dataset.
Kerjaan mikir: mutusin bahwa qty negatif itu retur (bukan error), tau bahwa lonjakan Mei itu efek Lebaran, dan sadar bahwa data cuaca gak ada padahal itu mungkin penting.
AI ngambil alih kerjaan mekanis. Kerjaan mikir tetap punyamu, dan itu bagian yang bikin kamu dibayar.
Prompt yang buruk: "tolong bikinin EDA buat dataset penjualan."
Hasilnya: kode generik dengan nama kolom karangan, yang error di baris pertama.
Prompt yang jalan harus punya tiga bagian: skema, sampel, dan pertanyaan.
Aku punya DataFrame pandas bernama df dengan kolom:
- tanggal (datetime)
- jam (time)
- produk (string)
- kategori (string, 6 nilai unik)
- qty (int)
- harga_satuan (int, rupiah)
- total_belanja (float, ada nilai kosong)
- kasir (string, 4 nilai unik)
Contoh 3 baris:
2026-03-04 | 07:12 | Beras 5kg | sembako | 1 | 68000 | 68000 | Rina
2026-03-04 | 07:31 | Indomie Goreng | mie | 5 | 3200 | 16000 | Rina
2026-03-04 | 11:02 | Sabun Lifebuoy | perawatan | 2 | 5500 | NULL | Dedi
Pertanyaan bisnis: kenapa omzet Juni turun 12% dibanding Mei?
Tulis kode Python (pandas + matplotlib) buat tahap profil awal.
Jangan kasih kesimpulan, aku yang bakal jalanin dan baca hasilnya.
Kalimat terakhir itu penting. "Jangan kasih kesimpulan" nyegah AI ngarang temuan dari data yang belum pernah dia lihat.
Soal privasi: kalau datamu berisi nama pelanggan atau angka yang belum publik, ganti sampelnya jadi baris palsu yang bentuknya mirip. AI gak butuh data asli buat nulis kode yang bener.
Dari prompt di atas, kode yang biasanya keluar mirip ini:
import pandas as pd
# Bentuk dasar
print('Baris:', len(df), '| Kolom:', df.shape[1])
print(df.dtypes)
# Rentang waktu
print('Tanggal:', df['tanggal'].min(), 'sampai', df['tanggal'].max())
# Nilai kosong per kolom
kosong = df.isna().sum()
print(kosong[kosong > 0])
# Statistik kolom angka
print(df[['qty', 'harga_satuan', 'total_belanja']].describe())
# Kardinalitas kolom kategori
for kol in ['produk', 'kategori', 'kasir']:
print(kol, '->', df[kol].nunique(), 'nilai unik')
Jalanin. Baca hasilnya sebelum lanjut ke langkah berikutnya.
Di toko_berkah, output-nya langsung nunjukin tiga hal:
total_belanja kosong di 214 baris (2,5%)qty punya nilai minimum -3, mencurigakanproduk punya 187 nilai unik, padahal tokonya cuma jual sekitar 150 barangTiga temuan itu jadi bahan buat langkah berikutnya. Ini yang aku maksud AI nulis, kamu mikir.
Jangan minta AI benerin semuanya sekaligus. Satu masalah, satu prompt, biar kamu bisa lihat konsekuensinya satu per satu.
Masalah 1: produk 187 nilai unik.
# Cari produk yang mirip tapi kepisah (spasi, huruf besar-kecil)
normalisasi = df['produk'].str.strip().str.lower()
print('Unik sebelum:', df['produk'].nunique())
print('Unik sesudah:', normalisasi.nunique())
# Lihat mana yang kena
asli = df['produk'].unique()
duplikat = pd.Series(asli).groupby(
pd.Series(asli).str.strip().str.lower()
).filter(lambda g: len(g) > 1)
print(duplikat.sort_values().to_list()[:20])
Hasilnya: 187 turun jadi 152 setelah dinormalisasi. Ada "Indomie Goreng", "indomie goreng", dan "Indomie Goreng " (dengan spasi di belakang) yang selama ini dihitung sebagai tiga produk berbeda.
Kalau kamu langsung bikin laporan produk terlaris tanpa ini, angkanya salah. Dan gak ada yang bakal nyadar.
Masalah 2: qty negatif.
Di sini AI bakal ngasih saran yang salah kalau kamu nurutin mentah-mentah. Prompt yang aku kirim: "ada 6 baris dengan qty negatif, kasih opsi penanganannya."
Jawabannya: buang barisnya, atau ganti jadi nilai absolut.
Dua-duanya salah buat kasus ini. Waktu aku cek ke pemilik toko, 6 baris itu ternyata retur barang. Mereka valid, dan harus dihitung sebagai pengurang omzet, bukan dibuang.
AI gak bisa tau itu. Dia gak pernah ngobrol sama pemilik tokonya.
Prompt:
Bikin 3 plot buat jawab kenapa omzet Juni turun:
1. Omzet per minggu (line)
2. Sebaran total_belanja (histogram, bin 20000)
3. Omzet per kategori, bandingin Mei vs Juni (grouped bar)
Pakai matplotlib. Kasih judul dan label sumbu dalam Bahasa Indonesia.
Jangan interpretasi hasilnya.
Kode yang keluar biasanya langsung jalan. Yang perlu kamu koreksi cuma detail estetika.
Yang gak boleh kamu lakukan: tempel gambar hasilnya balik ke AI terus nanya "apa artinya ini?"
Dia bakal ngasih jawaban yang kedengeran pintar dan kadang ngarang. Aku pernah dapet penjelasan soal "tren musiman kuartal kedua" buat chart yang sebenernya cuma noise.
Baca chart-nya sendiri. Itu skill yang kamu bangun, bukan yang kamu outsource.
Ini langkah yang paling sering dilewatin, dan paling penting.
Aku pernah nempel 40 baris data ke chat, terus nanya rata-rata belanjanya. Jawabannya Rp 47.320.
Angka aslinya Rp 51.145. Meleset 8%.
Model bahasa gak ngitung. Dia nebak angka yang "pola teksnya masuk akal." Kadang dekat, kadang jauh, dan kamu gak bisa tau yang mana tanpa ngecek.
Aturannya cuma satu: angka harus lahir dari eksekusi kode, bukan dari jawaban chat.
Kalau tool-mu punya fitur jalanin kode beneran (Python sandbox), itu aman: angkanya lahir dari eksekusi. Tapi cek dulu apakah dia beneran ngeksekusi atau cuma nulis. Bedanya kelihatan dari ada atau nggaknya output kode.
Anthropic sendiri nulis soal keterbatasan ini di dokumentasi prompt engineering mereka: model bahasa lemah di aritmetika presisi dan sebaiknya dikasih tool eksternal buat ngitung.
Total waktu: 22 menit, dari CSV mentah sampai kesimpulan.
Temuannya:
total_belanja punya dua puncak: belanja cepat (Rp 20-40 ribu) dan belanja mingguan (Rp 100-140 ribu). Rata-ratanya jatuh di lembah di antara keduanya.Kesimpulannya: Juni itu bulan setelah Lebaran. Orang udah borongan sembako di Mei. Ini pola musiman, bukan masalah performa toko.
Kalimat terakhir itu ("ini efek Lebaran") gak akan pernah keluar dari AI. Dia gak tau kapan Lebaran, dan dia gak tau kebiasaan belanja orang Indonesia menjelang hari raya.
Kalau kamu belum familiar sama pola dua puncak kayak gini, aku bahas lebih detail di histogram vs bar chart.
1. Angka hasil hitungan. Selalu jalanin kodenya. Jangan pernah pakai angka yang cuma diketik AI di chat.
2. Definisi metrik bisnis. "Produk paling laku" itu qty tertinggi, omzet tertinggi, atau margin tertinggi? AI bakal milihin salah satu tanpa nanya. Kamu yang harus mastiin ke orang yang minta.
3. Keputusan soal data anomali. Outlier itu error input atau kejadian nyata? qty negatif itu bug atau retur? Cuma orang yang ngerti bisnisnya yang bisa jawab.
Semua yang di luar tiga hal itu: silakan percepat.
Nggak. AI bagus banget buat nulis kode profil data, cek nilai kosong, dan bikin plot standar. Yang dia gak bisa: tau bahwa kolom qty negatif itu retur, bukan error input. Konteks bisnis kayak gitu cuma ada di kepala orang yang kerja di sana. AI mempercepat bagian mekanisnya, tapi keputusan soal arti datanya tetap di kamu.
Kasih tiga hal: nama dan tipe tiap kolom, lima baris sampel yang mewakili, dan pertanyaan bisnis yang mau kamu jawab. Sebutin juga library yang kamu pakai, misalnya pandas dan matplotlib. Prompt tanpa skema bikin AI nebak nama kolom, dan kodenya bakal error di baris pertama. Prompt tanpa pertanyaan bisnis bikin dia ngasih EDA generik yang gak nyambung ke kebutuhanmu.
Tergantung isinya dan kebijakan kantormu. Kalau ada nama, nomor HP, atau angka finansial yang belum publik, jangan diupload. Yang aman: kirim skema tabel dan lima baris palsu yang bentuknya mirip data asli. Itu cukup buat AI nulis kode yang bener, dan kamu jalanin sendiri di data asli. Kode-nya gak butuh lihat data aslinya buat jadi benar.
Karena model bahasa gak ngitung, dia nebak. Kalau kamu tempel tabel sebagai teks terus nanya rata-ratanya, dia bakal ngeluarin angka yang kelihatan masuk akal tapi keliru. Aku pernah dapat selisih 8 persen dari angka asli. Aturannya sederhana: minta AI nulis kodenya, terus kamu yang jalanin. Angka harus lahir dari eksekusi, bukan dari teks.
Yang punya kemampuan jalanin kode langsung bakal terasa paling mulus, karena kamu bisa lihat hasilnya tanpa pindah ke notebook. ChatGPT dengan fitur analisis data dan Claude dengan tool eksekusi kode dua-duanya bisa. Kalau tool-mu gak bisa eksekusi, itu tetap berguna: dia nulis kodenya, kamu tempel ke Jupyter. Bedanya cuma di kecepatan iterasi.
Alur yang bisa kamu pakai besok:
EDA toko_berkah tadi selesai 22 menit. Yang bikin cepat bukan AI-nya pintar, tapi aku gak lagi ngetik df.isna().sum() buat kesekian ratus kalinya.
Waktu yang kehemat aku pakai buat nelepon pemilik toko dan nanya soal qty negatif. Percakapan 4 menit itu yang nyelametin seluruh analisisnya.
Mau tau tool mana yang lebih enak buat kerjaan kayak gini? Aku udah adu keduanya di ChatGPT vs Claude untuk data. Buat dasar istilahnya, mampir ke glossary EDA dan glossary outlier.
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.