pertemuan 3
Mata kuliah Data Warehouse – Program Studi Sistem Informasi – Universitas Siber Asia
Novi Dian Nathasia, SKom MMSI
I. Data Warehouse
Data warehouse atau gudang data adalah sistem manajemen data yang menyimpan data terkini dan
historis dari berbagai sumber dengan cara yang baik untuk pelaporan yang lebih mudah. Data
warehouse biasanya digunakan untuk business intelligence (BI), pelaporan, dan analisis data.
Pada tingkat teknis, data warehouse akan menarik data dari aplikasi dan sistem secara berkala.
Kemudian, data akan melewati proses pemformatan dan impor agar sesuai dengan data yang sudah ada
di gudang.
Gudang data menyimpan data yang diproses ini sehingga siap diakses oleh pengambil keputusan.
Seberapa sering penarikan data terjadi, atau bagaimana data diformat, dan lainnya akan bervariasi
tergantung pada kebutuhan perusahaan.
Berikut definisi dan pengertian data warehouse dari beberapa sumber buku:
Menurut Inmon (2005), data warehouse adalah kumpulan data yang berorientasi subyek,
terintegrasi, bervariasi waktu, dan non-volatile, yang mendukung manajemen pengambilan
keputusan.
Menurut Reinardi (2008), data warehouse merupakan sistem yang mengambil (retrieve) dan
mengkosilidasikan (Consolidate) data secara periodik (Periodically) dari sumber data ke dalam
penyimpanan dimensional dan ternormalisasi.
Menurut Sivaganeshet dkk (2012), data warehouse merupakan sebuah database relasional yang
dirancang untuk proses query dan analisa yang mengandung data historis yang ditarik dari berbagai
sumber yang berbeda-beda.
Menurut Kimball dan Caserta (2004), data warehouse merupakan basis data relasional yang didesain
lebih kepada analisa dan query daripada proses transaksi, dan biasanya mengandung data historis
dari proses transaksi dan bisa juga dari sumber lainnya untuk tujuan pengambilan keputusan.
Menurut Sharma dan Jain (2013), data warehouse merupakan sebuah repositori (tempat
penyimpanan) dari data suatu organisasi yang bertujuan untuk memfasilitasi proses analisa dan
pelaporan
Ada empat konsep dasar utama dari gudang data yang harus dipahami:
1. Load Manager
Load manager juga disebut komponen depan. Load Manager melakukan semua operasi yang terkait
dengan ekstraksi dan pemuatan data ke dalam warehouse. Operasi ini juga termasuk transformasi untuk
mempersiapkan data dan masuk ke dalam gudang data.
2. Warehouse Manager
Warehouse manager melakukan operasi yang terkait dengan pengelolaan data di warehouse. Ia
melakukan operasi seperti analisis data untuk memastikan konsistensi, pembuatan indeks dan tampilan,
pembuatan denormalisasi dan agregasi, transformasi dan penggabungan data sumber, serta
pengarsipan dan pembuatan data.
3. Query Manager
Query manager juga dikenal sebagai komponen backend. Query manager melakukan semua operasi-
operasi yang terkait dengan pengelolaan permintaan pengguna.
Operasi komponen data warehouse ini adalah kueri langsung ke tabel yang sesuai untuk menjadwalkan
eksekusi kueri.
Gudang data perusahaan adalah database yang menggabungkan beberapa area fungsional organisasi
dengan cara yang terpadu. Ini membantu dalam menyimpan data dari berbagai sumber dan
mengkategorikannya sesuai ketentuan, sehingga mudah diakses di seluruh organisasi. Enterprise data
warehouse akan memiliki prosedur bawaan untuk mengekstrak, mengubah, dan menganalisis data.
Penyimpanan data operasional, juga dikenal sebagai Sistem Pendukung Keputusan Operasional
(Operational Decision Support System ), adalah database yang digunakan ketika Online Transaction
Processing (OLTP) maupun data warehouse tidak dapat memenuhi kebutuhan perusahaan Anda.
Gudang data di-refresh secara real-time, dan redundansi yang ada diperhitungkan dan diselesaikan.
Misalnya, ODS digunakan untuk database informasi karyawan.
3. Data Mart
Data mart adalah bagian dari gudang data. Ia dirancang khusus untuk bagian bisnis tertentu, seperti
keuntungan atau penjualan. Data mart selanjutnya diklasifikasikan menjadi tiga kategori:
- Dependent
Dengan mendapatkan data dari sumber operasional, eksternal atau keduanya, data mart
yang dependent dapat dibuat.
- Independent
Data mart ini tidak memerlukan data warehouse terpusat. Ini biasanya dibuat untuk kelompok-
kelompok kecil yang hadir dalam suatu perusahaan. Ia tidak memiliki hubungan apapun
dengan Enterprise data warehouse atau data mart lainnya.
Semua data bersifat independen dan dapat digunakan secara terpisah. Selain itu, analisis dapat
dilakukan secara mandiri.
- Hybrid
Seperti namanya, data mart hybrid digunakan ketika input dari sumber yang berbeda
merupakan bagian dari data warehouse. Ini berguna ketika pengguna menginginkan
integrasi ad hoc.
Data mart sendiri juga jauh lebih hemat biaya dibandingkan dengan data warehouse lengkap.
Artinya, proses data warehouse diusulkan untuk ditangani dengan topik yang sudah ditentukan. Topik-
topik ini bisa berupa penjualan, distribusi, pemasaran, dll.
Sebuah data warehouse tidak pernah berkonsentrasi pada proses yang saat ini. Sebaliknya, ia berfokus
pada demonstrasi dan analisis data untuk membuat berbagai keputusan. Karakteristiknya ini juga
memberikan demonstrasi yang mudah dan tepat seputar topik tertentu dengan menghilangkan data
yang tidak diperlukan untuk proses pengambilan keputusan.
2. Terintegrasi
Integrasi dalam data warehouse berarti menetapkan unit standar pengukuran dari database yang
berbeda untuk semua data yang serupa.
Data juga harus disimpan dengan cara yang sederhana dan dapat diterima secara universal di dalam
gudang data. Sebuah data warehouse dibuat dengan menggabungkan data dari berbagai sumber data
seperti mainframe, database relasional, flat file datar, dan lainnya.
Data yang diperoleh ini diekstraksi dan ditransformasikan dengan menjaga keseragaman tanpa
bergantung pada sumber yang diperolehnya, fitur ini dikenal sebagai terintegrasi.
Dibandingkan dengan sistem operasi, horizon waktu untuk gudang data cukup luas. Data yang
dikumpulkan dalam data warehouse diakui selama periode tertentu dan memberikan informasi atau
data historis. Ini berisi elemen temporal, baik secara eksplisit maupun implisit.
Setiap primary key yang terdapat pada gudang data harus memiliki elemen waktu baik secara implisit
maupun eksplisit. Seperti hari, bulan dalam seminggu, dan sebagainya.
Ketidakmampuan untuk mengubah elemen waktu merupakan aspek penting dari time variant.
4. Non-Volatile
Jadi, data hanya dapat dibaca dan diperbarui secara berkala. Ini juga membantu dalam menganalisis
data historis dan memahami apa dan kapan itu terjadi.
Dengan data warehouse, pembuat keputusan memiliki akses ke data dari berbagai sumber dan
tidak lagi harus membuat keputusan berdasarkan informasi yang tidak lengkap. Data warehouse
dapat membuat perencanaan (business plan), serta keputusan strategis dan operasional yang
lebih baik.
Gudang data dibuat khusus untuk pengambilan dan analisis data yang cepat. Dengan data
warehouse, Anda dapat dengan cepat melakukan kueri sejumlah besar data terkonsolidasi
dengan atau tanpa dukungan dari tim IT.
Sebelum dimuat ke data warehouse, proses pembersihan data dibuat oleh sistem dan
dimasukkan ke dalam daftar kerja untuk diproses lebih lanjut. Ini akan memastikan data diubah
menjadi format yang konsisten untuk mendukung analitik dan keputusan berdasarkan data
berkualitas tinggi dan akurat.
4. Wawasan historis
membantu membuat prediksi atau forecast bisnis yang lebih akurat. Sebab dengan warehouse,
Anda dapat menganalisis data bisnis untuk membuat prediksi pasar, identifikasi KPI (key
performance indicator) yang potensial, dan merumuskan perencanaan bisnis berdasarkan
prediksi tersebut
Berikut adalah beberapa sektor yang paling umum dimana data warehouse sering digunakan:
1. Perusahaan Penerbangan
Dalam sistem Maskapai, data warehouse digunakan untuk tujuan operasi seperti penugasan kru, analisis
profitabilitas rute, promosi program frequent flyer, dan lainnya.
2. Perbankan
Data warehouse banyak digunakan di sektor perbankan untuk mengelola sumber daya yang tersedia
secara efektif. Beberapa bank juga menggunakannya untuk riset pasar, analisis kinerja produk dan
operasi.
3. Kesehatan
Sektor kesehatan juga menggunakan data warehouse untuk menyusun strategi dan memprediksi hasil,
menghasilkan laporan perawatan pasien, berbagi data dengan perusahaan asuransi yang terikat,
layanan bantuan medis, dan sebagainya.
4. Sektor Publik
Di sektor publik, data warehouse dipakai untuk pengumpulan informasi atau intelijen. Ini membantu
lembaga pemerintah untuk memelihara dan menganalisis catatan pajak, catatan kebijakan kesehatan,
untuk setiap individu.
5. Sektor Investasi dan Asuransi
Di sektor ini, data warehouse digunakan untuk menganalisis pola data, trend pelanggan, dan untuk
melacak pergerakan pasar.
6. Telekomunikasi
7. Industri Perhotelan
Data warehouse maupun database memang sama-sama berfungsi untuk menyimpan data dalam jumlah
besar (big data). Namun, keduanya sebenarnya memiliki perbedaan yang cukup signifikan. Beberapa di
antaranya adalah:
- Tujuan. Database untuk merekam data, sedangkan gudang data lebih berfungsi untuk analisa
data.
- Ketersediaan. Data pada database tersedia secara real-time sementara data dalam gudang data
diambil dari sistem sumber jika diperlukan.
- Metode pemrosesan. Database menggunakan Online Transactional Processing (OLTP),
sementara gudang data menggunakan Online Analytical Processing (OLAP).
- Penggunaan. Database untuk membantu operasional standar bisnis, sementara gudang data
untuk membantu analisis dalam bisnis.
- Storage. Database umumnya terbatas pada satu aplikasi sementara gudang data dapat
menyimpan data dari sejumlah aplikasi sekaligus.
- Tipe data. Data dalam database adalah yang paling terbaru. Sementara gudang data menyimpan
data saat ini maupun historis.
- Orientasi. Database berorientasi pada aplikasi, sementara gudang data berorientasi pada subjek.
- Ringkasan data. Database cenderung memberi data terperinci, sementara gudang data
menyimpan data yang sangat ringkas.
- Tipe query. Database menggunakan query transaksi sederhana, sementara gudang data
menggunakan query yang kompleks untuk tujuan analisa.
Ada 3 pendekatan untuk membangun gudang data: Tingkat Tunggal, Dua Tingkat dan Tiga Tingkat
Arsitektur satu tingkat
Tujuan dari satu lapisan adalah untuk meminimalkan jumlah data yang disimpan. Tujuan ini untuk
menghapus redundansi data. Arsitektur ini jarang digunakan dalam praktiknya.
Arsitektur dua lapis memisahkan sumber yang tersedia secara fisik dan gudang data. Arsitektur ini tidak
dapat diperluas dan juga tidak mendukung banyak pengguna akhir. Ini juga memiliki masalah
konektivitas karena keterbatasan jaringan.
Tingkat Bawah: Database server Datawarehouse sebagai tingkat bawah. Ini biasanya merupakan
sistem database relasional. Data dibersihkan, diubah, dan dimuat ke lapisan ini menggunakan
alat back-end.
Tingkat Tengah: Tingkat menengah di Data warehouse adalah server OLAP yang
diimplementasikan menggunakan model ROLAP atau MOLAP. Untuk pengguna, tingkat aplikasi
ini menyajikan tampilan database yang diabstraksikan. Lapisan ini juga bertindak sebagai
mediator antara pengguna akhir dan database.
Tingkat Atas: Tingkat atas adalah lapisan klien front-end. Tingkat atas adalah alat dan API yang
Anda sambungkan dan dapatkan data dari gudang data. Ini bisa berupa alat Kueri, alat
pelaporan, alat kueri terkelola, alat Analisis, dan alat Penambangan data.
Arsitektur data warehouse terdiri dari struktur dan komponen yang saling berhubungan satu sama lain
dalam membangun data warehouse. Menurut Connoly dan Begg (2010:1204), arsitektur data warehouse
dapat dijelaskan pada gambar berikut ini :
Komponen dan Arsitektur Data Warehouse menurut Connoly and Begg
1. Operasional Data
o Berfokus pada fungsi-fungsi transaksional
o Merupakan bagian dari infrastruktur perusahaan
o Detail, tidak ada redudansi, dapat diupdate
o Merefleksikan nilai sekarang
3. Load Manager
o Menampilkan semua operasi yang terkait dengan ekstrak dan load data ke dalam data
warehouse
o Data bisa diekstrak langsung dari sumber data atau ODS
4. Warehouse Manager
Menampikan semua operasi yang terkait dengan manajemen data dari data warehouse:
o Analisis data untuk menjamin konsistensi
o Transformasi dan penggabungan sumber data dari ODS ke table data warehouse
o Pembuatan indeks dan view pada table base
o Membuat Denormalisasi dan Agregasi, jika diperlukan
o Backing up dan Archiving Data
5. Query Manager
o Menampilkan semua operasi yang terkait dengan manajemen query pengguna
o Mengarahkan query pada table yang cocok
o Menjadwalkan pelaksanaan query
6. Detailed Data
o Current Detail Data adalah Langsung dari operasional database dan mengacu pada data
perusahaan sekarang
contoh : profil pelanggan, data aktivitas pelanggan, data sales, data demografis
o Komponen yang menyimpan detail data dalam skema database
o Old Detail Data à Current Detail Data yang berumur atau histori dari subyek area
9. Metadata
o Digunakan untuk membangun, memelihara, mengatur, dan menggunakan data
warehouse
o Mengandung lokasi dan deskripsi :
Komponen data warehouse (nama, definisi, struktur, dan isi dari data warehouse
dan end user view)
Identifikasi dari pembuat sumber data (record system)
Aturan-aturan integrasi dan transformasi yang digunakan untuk
mempopulasikan data warehouse
Histori dari update dan refresh data warehouse
Pola-pola matriks yang digunakan untk performa menganalisa data warehouse
Model dimensional merupakan rancangan logikal yang bertujuan untuk menampilkan data dalam bentuk
standar dan intuitif yang memperbolehkan akses dengan performa yang tinggi.
Model dimensional menggunakan konsep model hubungan antar entity (ER) dengan beberapa batasan
yang penting. Setiap model dimensi terdiri dari sebuah tabel dengan sebuah komposit primary key,
disebut dengan table fakta, dan satu set table yang lebih kecil disebut table dimensi. Setiap table dimensi
memiliki sebuah simple primary key yang merespon tepat pada satu komponen primary key pada tabel
fakta. Dengan kata lain primary key pada table fakta terdiri dari dua atau lebih foreign key. Struktur
karakteristik ini disebut dengan skema bintang atau join bintang.
Fitur terpenting dalam model dimensional ini adalah semua natural keys diganti dengan kunci pengganti
(surrogate keys). Maksudnya yaitu setiap kali join antar table fakta dengan table dimensi selalu didasari
kunci pengganti. Kegunaan dari kunci pengganti adalah memperbolehkan data pada data warehouse
untuk memiliki beberapa kebebasan dalam penggunaan data, tidak seperti halnya yang diproduksi oleh
sistem OLTP.
Sebuah sistem OLTP memerlukan normalisasi untuk mengurangi redudansi, validasi untuk input data,
mendukung volume yang besar dari transaksi yang bergerak sangat cepat. Model OLTP sering terlihat
seperti jaring laba-laba yang terdiri atas ratusan bahkan ribuan tabel sehingga sulit untuk dimengerti.
Sebaliknya, dimension model yang sering digunakan pada data warehouse adalah skema bintang atau
snowflake yang mudah dimengerti dan sesuai dengan kebutuhan bisnis, mendukung query sederhana
dan menyediakan performa query yang superior dengan meminimalisasi tabel-tabel join. Berikut contoh
perbandingan diagram antara model data OLTP dengan dimension table data warehouse :
Skema bintang merupakan struktuk logikal yang memiliki tabel fakta yang terdiri atas data faktual
ditengahnya, dan dikelilingi oleh tabel-tabel dimensi yang berisi referensi data
Gambar Skema Bintang
Dalam skema ini, setiap table harus memiliki primary key yang terdiri dari satu kolom atau lebih.
Primary key dari table fakta terdiri dari satu atau lebih foreign key.Foreign key merupakan
primary key pada table lain.
Skema bintang juga bisa terdiri dari satu atau lebih table fakta. Dikarenakan karena table fakta
tersebut ada banyak, misalnya disamping penjualan terdapat table fakta forecasting dan result.
Walaupun terdapat lebih dari satu table fakta, mereka tetap menggunakan table dimensi
bersama-sama.
Ø Bagian yang ada di bawah judul tabel merupakan kolom-kolom tabel tersebut
Ø Primary key diarsir sedang Foreign key yang bukan primary tidak
Ø Foreign key yang berhubungan ditunjukkan dengan garis yang menghubungkan tabel.
Kolom yang bukan kunci disebut kolom data pada table fakta dan atribut pada table dimensi
Snowflake Schema
Merupakan varian dari skema bintang dimana table-table dimensi tidak terdapat data yang di
denormalisasi. Dengan kata lain satu atau lebih table dimensi tidak bergabung secara langsung kepada
table fakta tapi pada table dimensi lainnya. Sebagai contoh, sebuah dimensi yang mendeskripsikan
produk dapat dipisahkan menjadi tiga table (snowflaked) seperti contoh dibawah ini :
Gambar Snowflake
Starflake Skema
Menurut Connolly dan Begg (2010:1230), Starflake adalah struktur gabungan yang mengandung
campuran dari star schema dan snowflake. Tabel fakta pada star schema dikelilingi oleh banyak dimensi
dengan hubungan one-to-many, sedangkan pada snowflake tabel fakta terhubung banyak ke tabel
dimensi, yang dimana dimensi tersebut dapat dihubungkan ke tabel dimensi lain, sedangkan starflake
schema merupakan gabungan antara star schema dengan snowflake.
Starflake Skema
Star, Snowflake, Starflake
Star dan Snowflake merupakan model-model dimensional, perbedaannya terletak pada implementasi
fisikal. Skema snowflake memberi kemudahan pada perawatan dimensi, dikarenakan strukturnya yang
lebih normalisasi. Sedangkan skema bintang lebih efisien serta sederhana dalam membuat query dan
mudah diakses secara langsung oleh pengguna.