Materi ini dirancang dari nol hingga mampu mengolah dan menganalisis data menggunakan MySQL. Cocok untuk:
- Pemula MySQL
- Mahasiswa
- Peserta kursus data analyst
- Pengajar komputer (materi siap ajar)
1. Pengenalan MySQL & Data Analyst
Apa itu MySQL?
MySQL adalah Database Management System (DBMS) berbasis SQL yang digunakan untuk menyimpan, mengelola, dan mengolah data.
Peran MySQL dalam Data Analyst
Seorang data analyst menggunakan MySQL untuk:
- Mengambil data (query)
- Mengelompokkan data
- Menghitung total, rata-rata, min, max
- Membuat laporan
2. Membuat Database
Membuat Database
CREATE DATABASE db_penjualan;
Menggunakan Database
USE db_penjualan;
3. Membuat Tabel
Tabel Produk
CREATE TABLE produk (
id_produk INT AUTO_INCREMENT PRIMARYKEY,
nama_produk VARCHAR(100),
kategori VARCHAR(50),
harga INT
);
Tabel Penjualan
CREATE TABLE penjualan (
id_jual INT AUTO_INCREMENT PRIMARYKEY,
tanggal DATE,
id_produk INT,
jumlah INT,
FOREIGNKEY (id_produk) REFERENCES produk(id_produk)
);
4. Input Data (INSERT)
Insert Data Produk
INSERT INTO produk (nama_produk, kategori, harga) VALUES
(‘Laptop Asus’, ‘Elektronik’, 8500000),
(‘Mouse Logitech’, ‘Elektronik’, 150000),
(‘Meja Belajar’, ‘Furniture’, 1200000),
(‘Kursi Kantor’, ‘Furniture’, 950000);
Insert Data Penjualan
INSERT INTO penjualan (tanggal, id_produk, jumlah) VALUES
(‘2025-01-01’, 1, 2),
(‘2025-01-01’, 2, 5),
(‘2025-01-02’, 3, 1),
(‘2025-01-02’, 1, 1),
(‘2025-01-03’, 4, 2);
5. Menampilkan Data (SELECT)
Menampilkan Semua Data
SELECT * FROM produk;
SELECT * FROM penjualan;
Menampilkan Kolom Tertentu
SELECT nama_produk, harga FROM produk;
6. Filter Data (WHERE)
SELECT * FROM produk WHERE kategori = ‘Elektronik’;
SELECT * FROM penjualan WHERE tanggal = ‘2025-01-01’;
7. Sorting Data (ORDER BY)
SELECT * FROM produk ORDERBY harga DESC;
8. Fungsi Agregasi (PENTING UNTUK DATA ANALYST)
Total Data
SELECT COUNT(*) AS total_produk FROM produk;
Total Penjualan
SELECT SUM(jumlah) AS total_barang_terjual FROM penjualan;
Rata-rata
SELECT AVG(harga) AS rata_harga FROM produk;
Harga Tertinggi & Terendah
SELECT MAX(harga) AS harga_tertinggi, MIN(harga) AS harga_terendah FROM produk;
9. GROUP BY (INTI DATA ANALYST)
Total Penjualan per Produk
SELECT id_produk, SUM(jumlah) AS total_jual
FROM penjualan
GROUP BY id_produk;
Total Penjualan per Tanggal
SELECT tanggal, SUM(jumlah) AS total_harian
FROM penjualan
GROUPBY tanggal;
10. JOIN (Menggabungkan Tabel)
JOIN Produk & Penjualan
SELECT
p.nama_produk,
p.kategori,
pj.tanggal,
pj.jumlah
FROM penjualan pj
JOIN produk p ON pj.id_produk = p.id_produk;
11. Analisis Penjualan (Studi Kasus)
Total Omset per Produk
SELECT
p.nama_produk,
SUM(pj.jumlah * p.harga) AS total_omset
FROM penjualan pj
JOIN produk p ON pj.id_produk = p.id_produk
GROUPBY p.nama_produk;
Produk Terlaris
SELECT
p.nama_produk,
SUM(pj.jumlah) AS total_terjual
FROM penjualan pj
JOIN produk p ON pj.id_produk = p.id_produk
GROUPBY p.nama_produk
ORDERBY total_terjual DESC;
12. HAVING (Filter setelah GROUP BY)
SELECT
p.nama_produk,
SUM(pj.jumlah) AS total_terjual
FROM penjualan pj
JOIN produk p ON pj.id_produk = p.id_produk
GROUPBY p.nama_produk
HAVING total_terjual > 2;
13. Subquery (Query Bersarang)
Produk dengan Harga di Atas Rata-rata
SELECT * FROM produk
WHERE harga > (SELECT AVG(harga) FROM produk);
14. View untuk Laporan
CREATEVIEW laporan_penjualan AS
SELECT
p.nama_produk,
p.kategori,
pj.tanggal,
pj.jumlah,
(pj.jumlah * p.harga) AS total
FROM penjualan pj
JOIN produk p ON pj.id_produk = p.id_produk;
SELECT * FROM laporan_penjualan;
15. Ringkasan Skill Data Analyst MySQL
Setelah materi ini, peserta mampu:
- Membuat database & tabel
- Input data
- Mengambil & memfilter data
- Mengolah data dengan GROUP BY
- JOIN antar tabel
- Analisis penjualan
- Membuat laporan
16. Latihan Mandiri
- Tampilkan total omset per kategori
- Cari produk dengan penjualan tertinggi
- Tampilkan penjualan per hari
- Buat laporan bulanan