Materi 06 - Tools dan Methods
Bahasa Query untuk Business Analyst
Bahasa query database adalah skill paling fundamental untuk Business Analyst. Pelajari pondasi sampai teknik lanjut dengan deskripsi step-by-step.
Durasi 32 Menit
Level Beginner
Practical
1. Kenapa Wajib Dikuasai
BA tanpa kemampuan query berarti bergantung 100 persen ke tim engineering untuk ambil data. Lambat, frustrating, dan job market kurang ramah. Kemampuan query adalah skill nomor satu yang dicari di lowongan Business Analyst.
Tetap Relevan di 2026
Walau ada AI dan no-code tools, data tetap di database. Bahasa query adalah cara universal untuk akses data tabular. Spreadsheet terbatas sekitar 1 juta baris, database handle miliaran baris. Tools BI modern juga pakai bahasa query underneath.
2. Query Dasar
Contoh Pengambilan Data Pelanggan Indonesia
- Tentukan kolom yang ingin diambil: nama, email, negara
- Tunjuk tabel sumber: customers
- Pasang filter: negara bernilai Indonesia
- Atur urutan: berdasarkan tanggal terbaru
- Batasi hasil: 10 baris pertama
- Pemilihan kolom menentukan output. Hindari ambil semua kolom di production karena beban performa.
- Tabel sumber ditunjuk dengan klausa khusus.
- Filter baris berdasarkan kondisi tertentu.
- Pengurutan hasil naik atau turun.
- Pembatasan jumlah baris hasil.
3. Aggregation dan Group By
Contoh Total Pendapatan per Negara
- Output: jumlah order, total pendapatan, rata-rata order
- Tabel sumber: tabel orders
- Pengelompokan: per negara
- Filter group: pendapatan di atas 1 juta
- Urutan: pendapatan terbesar di atas
Filter Baris vs Filter Group
Filter baris diterapkan sebelum pengelompokan, sementara filter group diterapkan setelah aggregation. Aturan: pakai filter group ketika butuh kondisi pada hasil agregasi.
4. Penggabungan Tabel
| Tipe Gabung | Hasil | Use Case |
| Inner | Hanya yang match di kedua tabel | Customer yang punya order |
| Left | Semua dari tabel kiri plus match dari kanan | Customer plus order termasuk yang belum order |
| Right | Mirror dari Left | Jarang dipakai |
| Full Outer | Semua dari kedua tabel | Reconciliation |
Contoh Gabung Customer dengan Order
- Tabel utama: customers (alias c)
- Gabung tipe Left ke: orders (alias o)
- Kunci gabung: id customer di kedua tabel
- Output: nama, email, jumlah order
- Pengelompokan per customer dan urut menurun
5. Common Table Expression
CTE bikin query kompleks lebih readable.
Contoh Top 10 Customer Bulan Lalu
- Step 1 - bikin CTE bernama last_month_orders
- Isi CTE: customer_id dan total spend dari tabel orders, filter tanggal awal Maret 2026, dikelompokkan per customer
- Step 2 - query utama: ambil nama dan total spend
- Gabung CTE dengan tabel customers
- Urutkan total tertinggi dan ambil 10 teratas
6. Window Functions
Contoh Running Total per Customer
- Output: customer_id, tanggal order, jumlah, total kumulatif
- Total kumulatif dihitung dengan fungsi window agregasi
- Partisi per customer (reset window per customer)
- Urutan dalam window: tanggal order naik
- Sumber data: tabel orders
- Ranking dengan atau tanpa duplicate ada 3 fungsi populer untuk hal ini.
- Akses baris sebelumnya atau sesudahnya sangat cocok untuk perhitungan growth bulanan.
- Nilai pertama atau terakhir dalam suatu window.
- Pembagian quartile atau decile data ke N grup setara.
- Partisi window reset perhitungan setiap grup tertentu.
7. Pattern Query Umum BA
Pertumbuhan Bulanan
- Output: bulan, pendapatan, pendapatan bulan sebelumnya, persen pertumbuhan
- Pendapatan bulan sebelumnya pakai fungsi lag dengan urut bulan
- Persen pertumbuhan = (sekarang dikurangi sebelumnya) dibagi sebelumnya, dikali 100
- Sumber: tabel monthly_revenue
Cohort Retention
- Output: cohort (bulan signup), jumlah user aktif unique
- Tabel: customers (alias c) gabung orders (alias o)
- Kunci gabung: id customer
- Pengelompokan per bulan signup
8. Best Practices
- Hindari mengambil semua kolom. Ambil hanya kolom yang dibutuhkan untuk performa dan clarity.
- Pakai aliases. Bikin query readable, terutama untuk penggabungan dan kalkulasi.
- Comment pada query kompleks. Future-you atau teammate akan berterima kasih.
- Cek query plan. Identifikasi bottleneck performa.
- Pahami index. Query lambat sering karena missing index pada kolom filter.
- Pakai pembatas saat eksplorasi. Jangan ambil dari tabel 100 juta baris tanpa batas.
Tugas Praktik
- Daftar di situs latihan online seperti SQLBolt atau HackerRank. Selesaikan 20 problem dasar.
- Cari dataset di Kaggle (mis. e-commerce). Load ke database lokal.
- Jawab 5 business question: top 10 customer, pertumbuhan bulanan, conversion rate, AOV per kategori, churn rate.
- Tulis 1 query CTE plus 1 query window function untuk cohort analysis.
- Dokumentasikan hasil di README dengan kueri plus insight.
Rangkuman
- Bahasa query adalah skill nomor satu wajib BA. Bukan optional.
- Pondasi: pemilihan kolom, tabel sumber, filter, urutan, batas, pengelompokan.
- Penggabungan tabel utama: Inner (intersection) dan Left (default kebanyakan kasus).
- CTE bikin query kompleks readable. Pakai dari awal.
- Window functions adalah senjata BA modern.
- Latihan di platform online plus dataset real. 30 menit per hari konsisten.