๐ข 1. Pendahuluan
๐ Pengertian Star Schema dan Snowflake Schema
Dalam Data Warehouse, data harus dirancang agar:
- mudah dianalisis,
- cepat diproses,
- mendukung Business Intelligence,
- mendukung OLAP (Online Analytical Processing).
Untuk itu digunakan model desain database yang disebut:
- Star Schema
- Snowflake Schema
Kedua schema ini termasuk bagian dari Dimensional Modeling.
๐ Narasi
Pada database transaksi biasa, struktur tabel sangat kompleks karena banyak relasi dan normalisasi.
Namun pada Data Warehouse, fokus utama adalah:
- kecepatan query,
- kemudahan analisis,
- kemudahan pembuatan dashboard.
Karena itu digunakan struktur schema yang lebih sederhana dan efisien.
๐ผ๏ธ Ilustrasi Konsep Schema Data Warehouse
7
๐ข 2. Konsep Dasar Dimensional Modeling
๐ Penjelasan
Star Schema dan Snowflake Schema dibangun berdasarkan konsep:
- Fact Table
- Dimension Table
๐ก 2.1 Fact Table
๐ Pengertian
Fact Table adalah tabel utama yang menyimpan:
- data transaksi,
- data numerik,
- data analisis.
๐ Contoh Fact Table
| id_waktu | id_produk | id_pelanggan | total_penjualan |
|---|---|---|---|
| 1 | 101 | 201 | 500000 |
| 2 | 102 | 202 | 350000 |
๐ Narasi
Fact table biasanya memiliki:
- ukuran besar,
- banyak record,
- foreign key ke dimension table.
๐ก 2.2 Dimension Table
๐ Pengertian
Dimension Table menyimpan informasi deskriptif.
๐ Contoh Dimension Table Produk
| id_produk | nama_produk | kategori | harga |
|---|---|---|---|
| 101 | Laptop | Elektronik | 7000000 |
| 102 | Mouse | Aksesoris | 150000 |
๐ Narasi
Dimension table digunakan untuk:
- filter data,
- grouping,
- analisis multidimensi.
๐ผ๏ธ Diagram Fact dan Dimension Table
6
๐ข 3. Star Schema
๐ก 3.1 Pengertian Star Schema
๐ Penjelasan
Star Schema adalah model dimensional di mana:
- fact table berada di tengah,
- dimension table berada di sekelilingnya.
Bentuknya menyerupai bintang (star).
๐ Narasi
Star schema merupakan schema paling populer dalam Data Warehouse karena:
- sederhana,
- mudah dipahami,
- query lebih cepat.
๐ผ๏ธ Diagram Star Schema
6
๐ก 3.2 Struktur Star Schema
๐ Struktur Utama
Fact Table
Menyimpan:
- transaksi,
- measure,
- foreign key.
Dimension Table
Menyimpan:
- atribut deskriptif,
- informasi pendukung.
๐ Contoh Struktur Star Schema Akademik
| Fact Table | Dimension Table |
|---|---|
| fact_nilai | dim_mahasiswa |
| fact_nilai | dim_dosen |
| fact_nilai | dim_waktu |
| fact_nilai | dim_mata_kuliah |
๐ข 4. Karakteristik Star Schema
๐ Karakteristik
- Struktur sederhana
- Denormalisasi tinggi
- Query cepat
- Mudah dipahami
- Cocok untuk dashboard
๐ Narasi
Karena dimension table tidak dinormalisasi:
- jumlah join lebih sedikit,
- performa query lebih cepat.
Namun ukuran storage menjadi lebih besar.
๐ข 5. Kelebihan dan Kekurangan Star Schema
๐ Tabel Kelebihan dan Kekurangan
| Kelebihan | Kekurangan |
|---|---|
| Query cepat | Redundansi data |
| Mudah dipahami | Storage lebih besar |
| Cocok BI | Kurang fleksibel |
| Desain sederhana | Duplikasi data |
๐ข 6. Snowflake Schema
๐ก 6.1 Pengertian Snowflake Schema
๐ Penjelasan
Snowflake Schema adalah pengembangan dari Star Schema.
Pada model ini:
- dimension table dinormalisasi,
- dipecah menjadi beberapa tabel kecil.
Bentuknya menyerupai serpihan salju (snowflake).
๐ Narasi
Tujuan normalisasi:
- mengurangi redundansi,
- menghemat storage,
- memperbaiki struktur data.
Namun query menjadi lebih kompleks.
๐ผ๏ธ Diagram Snowflake Schema
8
๐ก 6.2 Struktur Snowflake Schema
๐ Penjelasan
Dimension table dipecah menjadi:
- tabel kategori,
- tabel wilayah,
- tabel fakultas,
- tabel program studi,
- dan lainnya.
๐ Contoh Snowflake Schema Akademik
| Tabel | Relasi |
|---|---|
| dim_mahasiswa | dim_prodi |
| dim_prodi | dim_fakultas |
| dim_fakultas | dim_universitas |
๐ข 7. Karakteristik Snowflake Schema
๐ Karakteristik
- Struktur kompleks
- Normalisasi tinggi
- Storage lebih hemat
- Query lebih kompleks
- Relasi tabel lebih banyak
๐ Narasi
Karena banyak relasi:
- proses query membutuhkan join lebih banyak,
- performa bisa lebih lambat dibanding Star Schema.
๐ข 8. Kelebihan dan Kekurangan Snowflake Schema
๐ Tabel Kelebihan dan Kekurangan
| Kelebihan | Kekurangan |
|---|---|
| Storage hemat | Query kompleks |
| Redundansi rendah | Join lebih banyak |
| Struktur rapi | Sulit dipahami |
| Data konsisten | Maintenance lebih sulit |
๐ข 9. Perbandingan Star Schema dan Snowflake Schema
๐ Tabel Perbandingan Lengkap
| Aspek | Star Schema | Snowflake Schema |
|---|---|---|
| Bentuk | Bintang | Serpihan salju |
| Normalisasi | Rendah | Tinggi |
| Kompleksitas | Sederhana | Kompleks |
| Query | Cepat | Lebih lambat |
| Storage | Lebih besar | Lebih hemat |
| Join | Sedikit | Banyak |
| Maintenance | Mudah | Sulit |
๐ Narasi
Pemilihan schema tergantung:
- kebutuhan sistem,
- ukuran data,
- performa query,
- kebutuhan analisis.
๐ผ๏ธ Diagram Perbandingan Schema
6
๐ข 10. Implementasi Star Schema
๐ Studi Kasus Penjualan
Fact Table:
- fact_penjualan
Dimension Table:
- dim_produk
- dim_pelanggan
- dim_waktu
- dim_kota
๐ Narasi
Dashboard dapat menampilkan:
- penjualan per bulan,
- produk terlaris,
- pelanggan aktif,
- wilayah penjualan.
๐ข 11. Implementasi Snowflake Schema
๐ Studi Kasus Akademik
Fact Table:
- fact_nilai
Dimension:
- dim_mahasiswa
- dim_prodi
- dim_fakultas
- dim_universitas
๐ Narasi
Struktur ini cocok untuk organisasi besar dengan data kompleks.
๐ข 12. Hubungan dengan OLAP
๐ Penjelasan
Star Schema dan Snowflake Schema mendukung:
- cube OLAP,
- dashboard,
- Business Intelligence.
๐ Narasi
Data dapat dianalisis menggunakan:
- Roll-Up
- Drill-Down
- Slice
- Dice
- Pivot
๐ผ๏ธ Diagram OLAP Cube
6
๐ข 13. Studi Kasus Kampus
๐ Studi Kasus
Universitas ingin menganalisis:
- IPK mahasiswa,
- tingkat kelulusan,
- pembayaran UKT,
- performa dosen.
๐ Desain Star Schema
Fact:
- fact_nilai
Dimension:
- dim_mahasiswa
- dim_dosen
- dim_waktu
- dim_mata_kuliah
๐ Narasi
Dengan schema ini:
- dashboard akademik lebih cepat,
- laporan lebih mudah,
- analisis historis lebih optimal.
๐ข 14. Tutorial Praktikum
๐ป Praktikum Membuat Star Schema
๐ Tools
- MySQL
- XAMPP
- Draw.io
๐ก Langkah 1 โ Membuat Database
CREATE DATABASE dw_kampus;
๐ก Langkah 2 โ Membuat Dimension Table
CREATE TABLE dim_mahasiswa (
id_mahasiswa INT PRIMARY KEY,
nama VARCHAR(100),
prodi VARCHAR(50),
angkatan INT
);
๐ก Langkah 3 โ Membuat Fact Table
CREATE TABLE fact_nilai (
id_mahasiswa INT,
semester INT,
ipk DECIMAL(3,2)
);
๐ก Langkah 4 โ Input Data
INSERT INTO dim_mahasiswa VALUES
(1,'Andi','Informatika',2022),
(2,'Budi','Sistem Informasi',2021);
๐ก Langkah 5 โ Query Analisis
SELECT prodi, AVG(ipk)
FROM fact_nilai
JOIN dim_mahasiswa
ON fact_nilai.id_mahasiswa = dim_mahasiswa.id_mahasiswa
GROUP BY prodi;
๐ผ๏ธ Diagram Tutorial SQL
6
๐ข 15. Tools Pendukung
๐ Software Data Warehouse
| Tools | Fungsi |
|---|---|
| MySQL | Database |
| PostgreSQL | Data Warehouse |
| SQL Server | BI dan DW |
| Power BI | Dashboard |
| Tableau | Visualisasi |
| Pentaho | ETL |
๐ผ๏ธ Ilustrasi Tools Business Intelligence
6
๐ข 16. Latihan Mahasiswa
๐ฏ Latihan Teori
- Jelaskan pengertian Star Schema!
- Jelaskan pengertian Snowflake Schema!
- Apa fungsi fact table?
- Apa perbedaan utama Star dan Snowflake?
- Mengapa Star Schema lebih cepat?
๐ฏ Latihan Praktikum
Buat:
- Star Schema sistem akademik
- Snowflake Schema rumah sakit
- Dashboard sederhana
๐ข 17. Diskusi Kelas
๐ฌ Topik Diskusi
- Kapan menggunakan Star Schema?
- Kapan menggunakan Snowflake Schema?
- Mengapa normalisasi penting?
- Apa dampak schema terhadap performa query?
๐ข 18. Kesimpulan
๐ Ringkasan
Star Schema dan Snowflake Schema merupakan fondasi utama dalam desain Data Warehouse.
Star Schema:
- sederhana,
- cepat,
- cocok untuk BI.
Snowflake Schema:
- lebih terstruktur,
- hemat storage,
- cocok untuk data kompleks.
Pemahaman kedua schema ini sangat penting dalam pembangunan:
- Data Warehouse,
- OLAP,
- dashboard analitik,
- Business Intelligence,
- Big Data Analytics.