1. Pengantar MySQL untuk Data Analis
MySQL adalah sistem manajemen basis data relasional (RDBMS) yang sangat umum digunakan untuk menyimpan, mengelola, dan menganalisis data. Bagi Data Analis, MySQL berperan penting sebagai sumber data sebelum diolah lebih lanjut menggunakan Excel, Python, atau tools visualisasi.
Peran MySQL dalam Data Analisis:
- Menyimpan data transaksi, pelanggan, produk, dan log
- Mengambil data dengan cepat menggunakan query SQL
- Melakukan agregasi dan analisis awal langsung di database
- Menjadi sumber data untuk dashboard dan laporan
2. Konsep Dasar Database Relasional
2.1 Database, Tabel, dan Record
- Database: kumpulan data terstruktur
- Tabel: tempat penyimpanan data berbentuk baris & kolom
- Record (Row): satu baris data
- Field (Column): atribut data
2.2 Primary Key & Foreign Key
- Primary Key (PK): identitas unik (contoh: id_pelanggan)
- Foreign Key (FK): penghubung antar tabel
Contoh relasi:
- Tabel
pelanggan - Tabel
transaksi(memiliki id_pelanggan)
3. Dasar SQL (Structured Query Language)
3.1 SELECT – Mengambil Data
SELECT * FROM penjualan;
SELECT nama_produk, harga FROM produk;
3.2 WHERE – Filter Data
SELECT * FROM penjualan
WHERE kota = ‘Jakarta’;
3.3 ORDER BY – Mengurutkan Data
SELECT * FROM penjualan
ORDERBY total DESC;
3.4 LIMIT – Membatasi Data
SELECT * FROM penjualan
ORDERBY total DESC
LIMIT10;
4. Fungsi Agregasi untuk Analisis Data
4.1 Fungsi Agregasi Dasar
SUM()→ totalAVG()→ rata-rataCOUNT()→ jumlah dataMAX()/MIN()
SELECT SUM(total) AS total_penjualan FROM penjualan;
SELECT AVG(total) AS rata_rata FROM penjualan;
4.2 GROUP BY – Analisis Per Kategori
SELECT kota, SUM(total) AS total_penjualan
FROM penjualan
GROUPBY kota;
4.3 HAVING – Filter Hasil Agregasi
SELECT kota, SUM(total) AS total_penjualan
FROM penjualan
GROUPBY kota
HAVING SUM(total) > 10000000;
5. JOIN – Menggabungkan Banyak Tabel
5.1 INNER JOIN
SELECT p.nama_pelanggan, t.tanggal, t.total
FROM transaksi t
INNERJOIN pelanggan p
ON t.id_pelanggan = p.id_pelanggan;
5.2 LEFT JOIN
Digunakan saat ingin menampilkan seluruh data dari tabel utama.
SELECT p.nama_pelanggan, t.total
FROM pelanggan p
LEFTJOIN transaksi t
ON p.id_pelanggan = t.id_pelanggan;
6. Analisis Waktu (Time Series)
6.1 Filter Berdasarkan Tanggal
SELECT * FROM transaksi
WHERE tanggal BETWEEN’2025-01-01’AND’2025-01-31′;
6.2 Analisis Bulanan
SELECTMONTH(tanggal) AS bulan,
SUM(total) AS total_penjualan
FROM transaksi
GROUPBYMONTH(tanggal);
7. Subquery (Query Bertingkat)
SELECT nama_produk, harga
FROM produk
WHERE harga > (
SELECT AVG(harga) FROM produk
);
Digunakan untuk analisis perbandingan dan ranking.
8. Studi Kasus Data Analis
Studi Kasus 1: Produk Terlaris
SELECT id_produk, SUM(qty) AS total_terjual
FROM detail_transaksi
GROUPBY id_produk
ORDERBY total_terjual DESC
LIMIT5;
Studi Kasus 2: Penjualan per Kota
SELECT kota, COUNT(*) AS jumlah_transaksi,
SUM(total) AS omzet
FROM penjualan
GROUPBY kota;
9. Data Cleaning di MySQL
9.1 Menghapus Data NULL
SELECT * FROM pelanggan
WHERE email ISNOTNULL;
9.2 Menghapus Duplikasi
SELECT email, COUNT(*)
FROM pelanggan
GROUPBY email
HAVINGCOUNT(*) > 1;
10. Integrasi MySQL dengan Tools Data Analis
- Excel / Power BI → Import data dari MySQL
- Python (Pandas) → Analisis lanjutan
- Dashboard → Visualisasi data
11. Skill SQL yang Wajib untuk Data Analis
- SELECT, WHERE, ORDER BY
- GROUP BY & HAVING
- JOIN
- Subquery
- Analisis waktu
12. Latihan Mandiri
- Tampilkan total penjualan per bulan
- Cari 3 pelanggan dengan transaksi terbesar
- Hitung rata-rata penjualan per kota
- Gabungkan data pelanggan dan transaksi