Proyek BI · Kelompok 3 · D4 SIKC 3B

Membaca Jawa Barat
dari data, bukan dari asumsi.

Sistem Business Intelligence end-to-end untuk 27 kabupaten/kota Jawa Barat. Dari ETL, data warehouse, K-Means clustering, sampai dashboard stakeholder— semua berbasis data terbuka dan siap dipakai untuk pengambilan keputusan.

Sumber data

BPS Jabar·Open Data Jabar·Bank Indonesia

27

Kab/kota

Cakupan analisis Jawa Barat

2021–2025

Rentang waktu

Data tahunan & bulanan

135

Record kinerja

Mart kinerja ekonomi

1.620

Record inflasi

Mart inflasi bulanan

Apa yang dianalisis

Enam indikator inti yang membentuk peta sosial-ekonomi Jabar.

Setiap indikator dihubungkan ke KPI dan business question agar dashboard tidak berhenti di visualisasi—tapi mengarah ke keputusan.

TPT

Tingkat Pengangguran Terbuka — tekanan ketenagakerjaan.

Kemiskinan

Persentase penduduk miskin. KPI inti kebijakan sosial.

Gini Ratio

Ketimpangan pendapatan antar kelompok.

IPG

Indeks Pembangunan Gender. Pemerataan capaian.

RLS & HLS

Rata-rata & Harapan Lama Sekolah—indikator pendidikan.

Inflasi YoY

Inflasi bulanan tahun-ke-tahun per kota.

Business question

Tiga pertanyaan inti yang dijawab oleh data.

Pipeline BI end-to-end

Dari data mentah ke keputusan publik—dalam 8 langkah terhubung.

Klik tiap langkah untuk melihat aktivitas, output, dan rumus matematika yang dipakai.

01

Business Understanding

Business Layer

Memahami masalah dulu, baru cari data.

Aktivitas

  1. 1Identifikasi masalah sosial-ekonomi Jabar (pengangguran tinggi, kemiskinan persisten, ketimpangan antar wilayah).
  2. 2Pemetaan stakeholder: Gubernur/Bappeda, Dinas, Pemkab/Pemkot, Operator data, Tim BI, dan Publik.
  3. 3Definisi 3 business question utama yang harus dijawab oleh dashboard.
  4. 4Menetapkan ruang lingkup: 27 kabupaten/kota Jawa Barat, periode 2021–2025.
02

KPI

Measurement Layer

Indikator yang akan dipantau & diukur.

Aktivitas

  1. 1Pemilihan 6 KPI inti berdasarkan publikasi BPS dan keterkaitan dengan business question.
  2. 2Definisi tiap KPI: satuan, sumber, frekuensi update, dan arah optimal (lower-better atau higher-better).
  3. 3Pembentukan KPI turunan: priority score (komposit) dan indeks kerentanan.

Rumus & formulasi

Inflasi Year-on-Year

Inflasi YoYt=IHKt−IHKt−12IHKt−12×100%\text{Inflasi YoY}_t = \frac{\text{IHK}_t - \text{IHK}_{t-12}}{\text{IHK}_{t-12}} \times 100\%

Perbandingan Indeks Harga Konsumen bulan ke-t terhadap bulan yang sama tahun sebelumnya.

Indeks Kerentanan (komposit)

Kerentanan=w1⋅norm(TPT)+w2⋅norm(Miskin)+w3⋅norm(Gini)\text{Kerentanan} = w_1 \cdot \text{norm}(\text{TPT}) + w_2 \cdot \text{norm}(\text{Miskin}) + w_3 \cdot \text{norm}(\text{Gini})

Bobot wᵢ ditentukan dari kepentingan kebijakan (default 0.4/0.4/0.2). Norm = Min-Max scaling.

03

Dataset

Data Acquisition

Multi-source, terbuka, terdokumentasi.

Aktivitas

  1. 1Akuisisi data dari 3 sumber: BPS Provinsi Jabar, Open Data Jabar (jabarprov.go.id), dan Bank Indonesia.
  2. 2Data tabular CSV: 135 record kinerja tahunan (27 wilayah × 5 tahun) + 1.620 record inflasi bulanan (27 wilayah × 5 tahun × 12 bulan).
  3. 3Validasi struktur kolom & tipe data terhadap data dictionary.

Rumus & formulasi

Coverage data

Coverage=record tersediarecord diharapkan×100%\text{Coverage} = \frac{\text{record tersedia}}{\text{record diharapkan}} \times 100\%

Mengukur kelengkapan data per indikator/per tahun. Threshold publikasi: ≥ 90%.

Sample skema kolom mart_kinerja_ekonomi_tahunan

KolomTipeSumber
nama_wilayahstringBPS
tahunintBPS
tptfloatBPS Sakernas
persentase_penduduk_miskinfloatBPS Susenas
gini_ratiofloatBPS Susenas
ipgfloatBPS
status_indeks_kerentananstringETL turunan
04

ETL

Data Engineering

Extract, Transform, Load—setiap byte tervalidasi.

Aktivitas

  1. 1Extract: load 3 dataset CSV ke dataframe Python.
  2. 2Transform: cleaning (trim, lowercase nama wilayah), integrasi (join by nama_wilayah + tahun), validasi range (TPT 0–30%, IPG 0–110), imputasi missing dengan flag.
  3. 3Load: simpan ke fact + dimension tables, lalu denormalisasi ke mart untuk konsumsi dashboard.
  4. 4Audit kolom keterangan_etl untuk traceability.

Rumus & formulasi

Min-Max Normalisasi

x′=x−min⁡(X)max⁡(X)−min⁡(X)x' = \frac{x - \min(X)}{\max(X) - \min(X)}

Skala fitur ke rentang [0, 1]. Dipakai sebelum K-Means agar bobot fitur seragam.

Z-Score Standarisasi

z=x−μσz = \frac{x - \mu}{\sigma}

Skala fitur ke distribusi mean 0, stdev 1. Alternatif Min-Max bila ada outlier ekstrim.

05

Data Warehouse

Storage Layer

Star schema: 2 fact, 4 dimensi.

Aktivitas

  1. 1Pemodelan star schema dengan grain `fact_kinerja_ekonomi_tahunan` = 1 record per (wilayah, tahun).
  2. 2Pemodelan grain `fact_inflasi_bulanan` = 1 record per (wilayah, tahun, bulan).
  3. 3Pembentukan 4 dimensi: dim_lokasi (Type-1 SCD), dim_waktu_tahunan, dim_waktu_bulanan, dim_dashboard_stakeholder.
  4. 4Generate surrogate key & relasi 1:N antara fact dan dimensi.

Cardinality grain

TabelJumlah BarisGrain
fact_kinerja_ekonomi_tahunan135wilayah × tahun
fact_inflasi_bulanan1.620wilayah × tahun × bulan
dim_lokasi271 baris per kab/kota
dim_waktu_tahunan52021–2025
dim_waktu_bulanan605 tahun × 12 bulan
dim_dashboard_stakeholder61 baris per role
06

Data Mining

Analytics Layer

K-Means + Silhouette + SAW priority score.

Aktivitas

  1. 1Standarisasi fitur dengan Z-score (TPT, miskin, gini, IPG, RLS, HLS).
  2. 2Penentuan k optimal: uji k=2..6, evaluasi dengan Silhouette score → terpilih k=3 (silhouette 0.51).
  3. 3Pelabelan cluster berdasar profil rata-rata: Prioritas Tinggi / Sedang / Rendah.
  4. 4Perhitungan priority score per wilayah dengan SAW (Simple Additive Weighting).
  5. 5Validasi: Pearson correlation antar indikator untuk uji multikolinearitas.

Rumus & formulasi

K-Means Objective

J=∑i=1k∑x∈Ci∥x−μi∥2J = \sum_{i=1}^{k} \sum_{x \in C_i} \|x - \mu_i\|^2

Minimalkan total jarak kuadrat tiap titik ke centroid cluster-nya. k=3 dipilih karena interpretable & silhouette tertinggi.

Silhouette Score

s(i)=b(i)−a(i)max⁡{a(i), b(i)}s(i) = \frac{b(i) - a(i)}{\max\{a(i),\, b(i)\}}

a(i) = jarak rata-rata ke titik dalam cluster yang sama. b(i) = jarak rata-rata ke titik di cluster terdekat berikutnya. Skor [-1, 1], makin tinggi makin baik.

SAW Priority Score

Vi=∑j=1nwj⋅rijV_i = \sum_{j=1}^{n} w_j \cdot r_{ij}

rᵢⱼ = nilai ternormalisasi alternatif ke-i pada kriteria ke-j. Bobot: TPT 0.30, Miskin 0.30, Gini 0.20, Kerentanan 0.20.

Pearson Correlation

ρX,Y=cov(X,Y)σXσY\rho_{X,Y} = \frac{\text{cov}(X,Y)}{\sigma_X \sigma_Y}

Mengukur korelasi linier antar indikator. Nilai [-1, 1]. Dipakai untuk uji apakah indikator saling redundant.

07

Dashboard

Presentation Layer

9 halaman, 15+ visualisasi, role-aware.

Aktivitas

  1. 1Implementasi landing page + 9 halaman dashboard di Next.js + Recharts.
  2. 2Pembuatan 15+ komponen chart: trend line, ranking, scatter, radar, treemap, heatmap, gauge, sparkline, distribution, correlation matrix.
  3. 3Filter implisit per role (jenis wilayah & tahun untuk halaman strategis/taktis).
  4. 4Setiap chart diberi pemantik question-led dan deskripsi teknis.
08

Decision

Action Layer

Insight → keputusan → rekomendasi → KPI monitor.

Aktivitas

  1. 1Sintesis insight dari analisis cluster: top-3 wilayah priority tertinggi (Indramayu, Cirebon, Cianjur).
  2. 2Formulasi keputusan: paket intervensi terpadu lintas OPD untuk wilayah priority.
  3. 3Rekomendasi prioritas: alokasi anggaran, task force, review berkala 6 bulan.
  4. 4Setup KPI monitor: ranking + skor di-track ulang per tahun anggaran.
Multi-role dashboard

Enam dashboard, enam level keputusan—untuk siapa?

Tiap stakeholder dipisah ke halaman tersendiri sesuai tingkat keputusan dan audiens institusionalnya— bukan menumpuk semua KPI di satu dashboard generik.

Insight teratas

Tiga wilayah dengan skor prioritas tertinggi

Hasil K-Means clustering + priority score komposit (TPT, kemiskinan, gini, kerentanan). Wilayah-wilayah ini disarankan jadi fokus paket intervensi terpadu.

#1Prioritas Intervensi Sosial-Ekonomi

Kabupaten Kuningan

Skor prioritas

0,840

#2Prioritas Intervensi Sosial-Ekonomi

Kabupaten Bandung Barat

Skor prioritas

0,798

#3Prioritas Intervensi Sosial-Ekonomi

Kabupaten Cirebon

Skor prioritas

0,786

Metodologi

Tidak ada dashboard tanpa analisis data.

Semua visualisasi di sini adalah representasi hasil analisis—bukan dashboard kosong. Setiap chart dibangun dari pipeline ETL yang bisa direplikasi.

  • 1Dataset multi-source: BPS, Open Data Jabar, Bank Indonesia
  • 2ETL Python dengan validasi + dokumentasi data dictionary
  • 3Star schema dengan fact (kinerja & inflasi) + 4 dimensi
  • 4K-Means k=3 dengan silhouette score evaluation
  • 5Priority score = SAW dari 4 indikator utama

Star schema BI Jabar

FACTfact_kinerja_ekonomi_tahunan
FACTfact_inflasi_bulanan
DIMdim_lokasi (27 kab/kota)
DIMdim_waktu_tahunan
DIMdim_waktu_bulanan
DIMdim_dashboard_stakeholder
Ready to explore

Buka dashboard. Mulai eksplorasi data Jabar sekarang.

Akses 9 halaman, 15+ visualisasi, filter interaktif, dan rekomendasi berbasis data— siap dipakai untuk pengambilan keputusan publik.