๐ข 1. Pendahuluan Dimensional Modeling
๐ Pengertian Dimensional Modeling
Dimensional Modeling adalah teknik perancangan database dalam Data Warehouse yang digunakan untuk mempermudah proses analisis data, pelaporan, dan Business Intelligence (BI).
Model ini dirancang agar:
- query lebih cepat,
- data mudah dipahami,
- analisis multidimensi lebih efektif.
Konsep ini sangat populer dalam sistem:
- Data Warehouse,
- OLAP,
- dashboard analitik,
- Business Intelligence.
๐ Narasi
Dalam database operasional, data biasanya sangat kompleks karena banyak relasi antar tabel.
Namun dalam Data Warehouse, pengguna lebih membutuhkan:
- laporan cepat,
- dashboard,
- grafik,
- analisis tren.
Karena itu digunakan model dimensional yang lebih sederhana dan efisien.
๐ผ๏ธ Ilustrasi Konsep Dimensional Modeling
8
๐ข 2. Tujuan Dimensional Modeling
๐ Tujuan Utama
Dimensional Modeling bertujuan untuk:
- Mempermudah analisis data
- Mempercepat query
- Mendukung OLAP
- Mempermudah visualisasi dashboard
- Menyederhanakan struktur database
- Mendukung Business Intelligence
๐ Narasi
Misalnya sebuah universitas ingin menganalisis:
- jumlah mahasiswa,
- IPK,
- pembayaran,
- kelulusan.
Jika menggunakan database transaksi biasa, query akan sangat rumit.
Dengan Dimensional Modeling:
- data lebih sederhana,
- analisis lebih cepat,
- dashboard lebih mudah dibuat.
๐ข 3. Konsep Dasar Dimensional Modeling
๐ Komponen Utama
Dimensional Modeling terdiri dari:
- Fact Table
- Dimension Table
- Measures
- Attributes
- Keys
๐ผ๏ธ Diagram Dasar Dimensional Model
7
๐ข 4. Fact Table
๐ Pengertian Fact Table
Fact Table adalah tabel utama yang menyimpan data transaksi atau data numerik yang dapat dianalisis.
๐ Karakteristik Fact Table
- Berisi angka (measure)
- Memiliki foreign key
- Ukuran tabel besar
- Menjadi pusat analisis
๐ Narasi
Fact table menyimpan aktivitas bisnis.
Contoh:
- transaksi penjualan,
- pembayaran mahasiswa,
- absensi,
- nilai mahasiswa.
๐ Contoh Fact Table Penjualan
| id_waktu | id_produk | id_pelanggan | jumlah | total |
|---|---|---|---|---|
| 1 | 101 | 2001 | 3 | 450000 |
| 2 | 102 | 2002 | 1 | 150000 |
๐ผ๏ธ Ilustrasi Fact Table
8
๐ข 5. Dimension Table
๐ Pengertian Dimension Table
Dimension Table adalah tabel yang berisi informasi deskriptif dari data analisis.
๐ Fungsi Dimension Table
- Memberikan konteks data
- Menjadi dasar filter laporan
- Mendukung analisis multidimensi
๐ Narasi
Dimension table menjelaskan data pada fact table.
Contoh:
- data mahasiswa,
- data produk,
- data waktu,
- data dosen.
๐ Contoh Dimension Table Mahasiswa
| id_mahasiswa | nama | prodi | angkatan |
|---|---|---|---|
| 1 | Andi | Informatika | 2022 |
| 2 | Budi | Sistem Informasi | 2021 |
๐ผ๏ธ Ilustrasi Dimension Table
7
๐ข 6. Measures dan Attributes
๐ก 6.1 Measures
๐ Pengertian
Measures adalah data numerik yang dianalisis.
๐ Contoh Measures
| Measure | Contoh |
|---|---|
| Total Penjualan | 500000 |
| Jumlah Mahasiswa | 250 |
| Rata-rata IPK | 3.45 |
๐ก 6.2 Attributes
๐ Pengertian
Attributes adalah informasi pendukung dalam dimension table.
๐ Contoh Attributes
| Attribute | Contoh |
|---|---|
| Nama Mahasiswa | Andi |
| Fakultas | Teknik |
| Kota | Sukabumi |
๐ Narasi
Measures digunakan untuk perhitungan, sedangkan attributes digunakan untuk filter dan kategorisasi.
๐ข 7. Granularity (Grain)
๐ Pengertian Grain
Grain adalah tingkat detail data dalam fact table.
๐ Narasi
Semakin detail grain:
- semakin besar ukuran data,
- semakin fleksibel analisis.
๐ Contoh Grain
| Grain | Contoh |
|---|---|
| Harian | Penjualan per hari |
| Bulanan | Penjualan per bulan |
| Tahunan | Penjualan per tahun |
๐ผ๏ธ Diagram Granularity
9
๐ข 8. Star Schema
๐ Pengertian Star Schema
Star Schema adalah model dimensional paling populer.
Fact table berada di tengah dan dihubungkan dengan dimension table.
๐ Narasi
Disebut star karena bentuk diagramnya menyerupai bintang.
Kelebihan:
- sederhana,
- query cepat,
- mudah dipahami.
๐ผ๏ธ Diagram Star Schema
7
๐ Contoh Star Schema Akademik
| Fact Table | Dimension |
|---|---|
| Nilai Mahasiswa | Mahasiswa |
| Pembayaran | Waktu |
| Kehadiran | Dosen |
๐ข 9. Snowflake Schema
๐ Pengertian Snowflake Schema
Snowflake Schema adalah pengembangan dari Star Schema dengan normalisasi dimension table.
๐ Narasi
Dimension table dipecah menjadi beberapa tabel kecil.
Kelebihan:
- hemat storage,
- struktur lebih rapi.
Kekurangan:
- query lebih kompleks.
๐ผ๏ธ Diagram Snowflake Schema
6
๐ข 10. Star Schema vs Snowflake Schema
๐ Tabel Perbandingan
| Aspek | Star Schema | Snowflake Schema |
|---|---|---|
| Struktur | Sederhana | Kompleks |
| Query | Cepat | Lebih lambat |
| Normalisasi | Rendah | Tinggi |
| Storage | Lebih besar | Lebih hemat |
| Maintenance | Mudah | Lebih sulit |
๐ Narasi
Pemilihan schema tergantung:
- kebutuhan sistem,
- ukuran data,
- performa query.
๐ข 11. Slowly Changing Dimension (SCD)
๐ Pengertian
SCD digunakan untuk menangani perubahan data dimension.
๐ก Jenis SCD
๐ Type 1
Data lama ditimpa.
๐ Type 2
Data historis disimpan.
๐ Type 3
Menyimpan sebagian histori.
๐ Narasi
Contoh:
Mahasiswa pindah prodi.
Pertanyaannya:
- apakah data lama dihapus?
- atau disimpan sebagai histori?
SCD digunakan untuk mengatur hal tersebut.
๐ผ๏ธ Diagram Slowly Changing Dimension
7
๐ข 12. OLAP dan Dimensional Modeling
๐ Hubungan OLAP dan Dimensional Modeling
Dimensional Modeling mendukung:
- cube,
- dashboard,
- analisis multidimensi.
๐ Narasi
Dengan model dimensional:
- data dapat di-slice,
- di-dice,
- drill-down,
- roll-up.
๐ผ๏ธ Diagram OLAP Cube
7
๐ข 13. Studi Kasus Akademik
๐ Studi Kasus Kampus
Universitas ingin menganalisis:
- jumlah mahasiswa,
- IPK,
- pembayaran UKT,
- tingkat kelulusan.
๐ Rancangan Dimensional Model
Fact Table
- fact_nilai
Dimension Table
- dim_mahasiswa
- dim_waktu
- dim_dosen
- dim_mata_kuliah
๐ Narasi
Dengan model ini pimpinan dapat melihat:
- IPK per angkatan,
- performa dosen,
- tren kelulusan,
- mahasiswa aktif.
๐ข 14. Tutorial Praktikum
๐ป Praktikum: Membuat Star Schema Sederhana
๐ 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 Praktikum Star Schema
6
๐ข 15. Latihan Mahasiswa
๐ฏ Latihan Teori
- Jelaskan pengertian dimensional modeling!
- Apa fungsi fact table?
- Apa fungsi dimension table?
- Jelaskan perbedaan star schema dan snowflake schema!
- Apa itu Slowly Changing Dimension?
๐ฏ Latihan Praktikum
Buat model dimensional untuk:
- sistem akademik,
- rumah sakit,
- toko online,
- perpustakaan.
๐ข 16. Diskusi Kelas
๐ฌ Topik Diskusi
- Mengapa dimensional modeling penting?
- Mengapa star schema populer?
- Kapan menggunakan snowflake schema?
- Apa tantangan implementasi dimensional modeling?
๐ข 17. Kesimpulan
๐ Ringkasan
Dimensional Modeling merupakan teknik penting dalam pembangunan Data Warehouse.
Dengan dimensional modeling:
- data lebih mudah dianalisis,
- query lebih cepat,
- dashboard lebih efektif,
- Business Intelligence lebih optimal.
Konsep ini menjadi fondasi utama dalam:
- OLAP,
- Data Warehouse,
- Big Data Analytics,
- Business Intelligence,
- Artificial Intelligence.