Anda di halaman 1dari 15

1.1.

OLAP (Online analytical processing)

OLAP adalah juga sebuah penyimpanan beserta seperangkat alat analisisnya. Sebagai
sebuah penyimpanan, dia memiliki model data yang serupa dengan ODS dan data warehouse.
yaitu model data multidimensional. Hanya saja konstruksi penyimpanan dan sistemnya fokus
ditujukan untuk proses analitik multidimensi secara online, tidak sebagai sebuah basisdata dalam
makna yang luas sebagaimana ODS.
Sebuah OLAP bisa ada tanpa harus berdiri bersama data warehouse. OLAP dapat
dibenamkan diberbagai sistem informasi perusahaan seperti CRM, SCM atau ERP sebagaimana
halnya ODS, tetapi lebih bersifat sebagai tool untuk analisis data multidimensi.
Akan tetapi, manakala dia berdiri di dalam sistem data warehouse. maka dia berdiri sebagai
tool untuk analisis bagi datamart atau bagi data warehouse sendiri, dia berdiri pada sisi business
intelligence (BI) dari arsitektur data warehouse.
Yaitu:
Sources → ODS + staging area → DW → BI(OLAP)
OLAP cocok sebagai tool analisis bagi data warehouse atau datamart karena sesuai dengan
nature nya atau sifat alaminya bahwa dia menganalisis model data multidimensi, sedang data
warehouse sendiri dan juga datamart adalah sebuah model data multidimensi (dengan catatan
bahwa dia dalam arsitektur data warehouse aliran Ralph Kimball).
Cara analisis OLAP adalah dengan cara MOLAP (multidimensional OLAP) atau ROLAP
(relational OLAP) atau dengan cara keduanya (Hybrid). Cara MOLAP adalah dengan cara
memanipulasi model-model multidimensi sebagaimana kita memanipulasi sebuah rubik 3D. Anda
bisa memutar-mutar rubik (model multidimensi), mengambil bagiannya, melakukan drill,
membongkar lalu mengambil potongan-potongan dalam arah kolom atau arah baris lalu
menyatukannya kembali atau merotasi dan sebagainya.
Cara ROLAP (Relational OLAP) adalah dengan melakukan query menggunakan bahasa
query SQL kepada model 3D, 4D, 5D dan seterusnya. Ini dimungkinkan karena sebuah model
multidimensi sudah dapat dinyatakan skemanya dalam konteks relasional (skema star atau
snowflake, ada juga orang yang mengatakan snowflake sebagai skema galaxy).
Sebenarnya, ROLAP diterapkan di atas sebuah data warehouse yang dibangun berdasarkan
arsitektur Bill Inmon, yaitu arsitektur di mana model data data warehouse adalah model data
relasional berupa jejala join tabel berbentuk 3NF. Akan tetapi, itu tidak membatasi, dia bisa juga
diterapkan pada skema star (multidimensional atau hypercube) dengan melihat bahwa skema star
adalah juga merupakan skema relasional.
Demikian juga MOLAP, MOLAP sejatinya diterapkan di atas data warehouse yng
menggunakan arsitektur Ralph Kimball, yaitu arsitektur yang melihat bahwa model data data
warehouse adalah multidimensional atau sebuah hypercube (kubus berdimensi tinggi, berdimensi
3, 4, 5, ke atas).

1.2. MOLAP

MOLAP, sebagai sebuah tool analisis. Pada dasarnya dia adalah kumpulan cara
memanipulasi sebuah hypercube. Cara-cara itu adalah:
a. Slice
b. Dice
c. Roll up
d. Drill down
e. Pivoting

Penjelasan tentang cara-cara itu adalah sebagai berikut:


a. Slice

Adalah proses menganalisis sebuah kubus (atau hypercube dengan cara mengiris kubus, baik
dalam arah horisontal atau arah vertikal (jika dia hypercube maka dia diiris dalam dalam salah satu
atau lebih arah sumbu hypercube).
Jumlah irisan boleh satu atau lebih dan irisan boleh diambil dalam satu atau lebih cara (arah
sumbu) mengiris. Hasil irisan ini adalah potongan data yang memberikan sebuah view untuk
melihat data dalam suatu cara pandang.

Gambar 6.1. Contoh view data hasil irisan vertikal (slice)


Irisan pada contoh gambar 6.1. dan contoh gambar 6.2. dilakukan secara vertikal, boleh
dilakukan pada nilai vertikal mana saja pada kubus.

Gambar 6.2. Contoh view data hasil irisan (slice)


Irisan pada contoh di gambar 6.3. adalah irisan secara horisontal yang menghasilkan sebuah
view data dalam hasil irisan horisontal.
Pembuatan irisan boleh dilakukan lebih dari sekali di mana kemudian kedua irisan
diperbandingkan sebagai perbandingan dua buah slice. Perbandingan dua buah slice atau lebih
dapat dilihat sebagai bentuk analisis MOLAP. Perbandingan ini sebagaimana contoh gambar 6.4.
di mana slice A diperbandingkan dengan slice B.

Gambar 6.3. Contoh view data hasil irisan (slice)


Gambar 6.4. Contoh view data hasil irisan (slice)
b. Dice (dicing)

Operasi MOLAP ini adalah operasi yang mengambil sebagian dari kubus dalam bentuk dadu
atau mengambil kubus di dalam kubus, atau mengambil hypercube di didalam hypercube.
Tentunya dengan ukuran hypercube yang lebih kecil dari induknya.

Gambar 6.5. Contoh view data hasil pendaduan (dicing)


Contoh pada gambar 6.5. memperlihatkan sebuah dadu (hypercube) diambil dari pada
mencuil sebagian hypercube yang berukuran lebih besar. Contoh yang sama juga diberikan oleh
gambar 6.6. di mana sebuah dadu (hypercube) diambil dari dalam sebuah hypercube lain yang
lebih besar. View ini membatasi fokus analisis data dari suatu kubus yang lebih besar kepadakubus
yang lebih kecil sehingga mempermudah analisis dan memberi informasi yang lebih terarahkan
pada area data yang dimaksud.

Gambar 6.6. Contoh view data hasil pendaduan (dicing).


Akan tetapi, kita dapat melakukan operasi MOLAP secara runtun dengan melakukan
pipelining operasi. Contoh pipelining operasi MOLAP seperti :
Hasil MOLAP = slice(dicing(hypercube))
Gambar 6.7. mengilustrasikan pipelining ini di mana sebuah kubus atau hypercube dilakukan
dua kali operasi MOLAP secara runtun menggunakan operasi slice dan dice. Selanjutnya sebuah
operasi MOLAP dapat diperumum sebagai sebuah rantai operasi MOLAP.

Gambar 6.7. Pipelining operasi MOLAP yaitu dicing→ slice


Di bawah ini sebuah contoh pembuatan bahasa query untuk MOLAP. Bahasa query ini
dibuat dengan susunan tata bahasa yang jika kita rumuskan untuk MOLAP adalah sebagai berikut:

<MOLAP> := <operasi_MOLAP>.<hypercube>
<operasi_MOLAP> := <operasi_MOLAP>.<operasi_MOLAP> | slice |
dice | rollup | drilldown | pivoting | empty
Slice := fungsi_slice(arguments)
Dice := fungsi_dicing(arguments)
Rollup := fungsi_rollup(arguments)
Drilldown := fungsi_drilldown(arguments)
Pivoting := fungsi_pivoting(argument)
<hypercube> = sebuah kubus data multidimensional

Sebagai contoh penggunaan ekpresi query ini sebagai berikut:


Slice.dice.rollup.kubusX
Tetapi ini hanyalah sebuah contoh bangunan query dari yang dikemukakan penulis sebagai
contoh konstruksi bahasa query untuk MOLAP. Andapun bebas berkreasi untuk membuat sendiri
bahasa query khusus untuk MOLAP.
Bahasa query yang telah dibuat diatas tentunya memerlukan interpreter untuk dibuat sendiri.
Sebuah interpreter yang memetakan kalimat query kepada fungsi-fungsi pustaka yang dapat
melakukan manipulasi terhadap struktur data multidimensional. Adapaun fungsi-fungsi pustaka
dapat dibuat secara tersendiri dan independen menggunakan bahasa-bahasa pemrograman yang
dapat dipilih.
Orang mengemukakan bahasa query mirip SQL untuk tujuan ini, seperti microsoft telah
mengemukakan bahasa SQL khusus untuk ini. Bahasa query khusus untuk multidimensional yang
dibuat oleh microsoft adalah Multidimensional Expressions (MDX). Bahasa ini adalah memimik
bahasa SQL tetapi ditujukan kepada model data multidimensional hypercube.
Dibawah ini contoh query jika kita menggunakan MDX untuk meminta suatu view data
multidimensi sebagai berikut:

SELECT {[kota].[yogya]} ON COLUMNS,


{[jenis_produk].[sabun], [jenis_produk].[shampoo]} ON ROWS
FROM kubus_penjualan
WHERE ( [id_hari_ke].[hari_ke1])

Gambar 6.8. Hasil query MDX yang diminta pada kubus penjualan
Gambar 6.8. memberikan hasil query MDX yang diminta oleh sistem. Penjelasan query
MDX itu adalah sebagai berikut:
• Pada bagian SELECT....ON COLUMNS:
Query menyebut posisi kolom pada dimensi “kota”, yaitu pada posisi kolom = ”yogya”. Kita
dapat menambahkan posisi kolom sesuka kita pada bagian ini.
• Pada bagian ... ON ROWS:
Query menyebut posisi baris pada dimensi “jenis_produk” dari data yang diminta. Pada contoh
query ini, posisi baris adalah jenis_produk = “sabun” dan jenis_produk = “shampoo”.
Kita dapat menambahkan posisi baris sesuka kita pada bagian ini.
• Pada bagian WHERE:
Query menyebut slice atau di irisan mana query itu diminta, pada contoh query MDX ini, slice
dilakukan pada dimensi “hari_ke” pada posisi hari_ke = “hari_ke1”.
Demikian penjelasan tentang operasi slice. Selanjutnya adalah diskusi tentang operasi
MOLAP yaitu roll up.
c. Roll up

Operasi roll up adalah operasi meringkas atau merubah atribut sumbu sebuah hypercube
menjadi atribut sumbu yang secara hirarki s posisinya lebih tinggi dari atribut sebelumnya.
Hirarki atribut berasal dari sebuah tabel dimensi di mana susunan atribut-atribut di dalamnya
membentuk secara alami sebuah hirarki . Seperti misalnya tabel dimensi waktu, di mana di sana
ada atribut tahun, atribut bulan, atribut minggu dan atribut hari. Keseluruhan atribut-atribut ini
membangun sebuah hirarki atribut sebagai berikut:

Gambar 6.9. Contoh pembentukan hirarki


Selanjutnya operasi roll up dapat dilakukan terhadap kubus yang menggunakan atribut
minggu dengan cara melakukan pergantian sumbu dimensi pada sumbu atribut minggu ke atribut
bulan.
Gambar 6.10. Hypercube sebelum dilakukan operasi roll up
Gambar 6.10. mengilustrasikan ketika kubus sebelum dilakukan operasi MOLAP roll up.
Kemudian dilakukan operasi roll up dengan mengganti sumbu dimensi minggu dengan sumbu
dimensi bulan yang memiliki hirarki yang lebih tinggi pada susuanan hirarki di tabel dimensi
waktu.
Gambar 6.11. mengilustrasikan ketika operasi roll up dilakukan terhadap kubus. Semua
nilai-nilai pada tiap minggu, mulai minggu 1 sampai minggu 4 dijumlahkan atau diakumulasikan
untuk bulan januari. Agregasi ini memberikan view kubus yang bersifat lebih umum terhadap data
dengan membawanya pada hireraki dimensi yang lebih tinggi.

Gambar 6.11. Hypercube setelah dilakukan operasi roll up dengan mengganti dimensi
minggu dengan dimensi bulan
Secara umum, pembentukan hirarki tidak mengharuskan bahwa sumbu dimensi haruslah
berasal dari tabel dimensi yang secara alami memiliki hirarki seperti hirarki waktu
(hari→minggu→bulan→tahun). Akan tetapi, hireraki dapat dikonstruksikan terhadap atribut pada
sumbu dimensi jika atribut tersebut berasal dari sebuah tabel dimensi yang juga merupakan tabel
fakta, atau memiliki sifat seperti tabel fakta. Ini memungkinkan jika tabel dimensi berada dalam
skema snowflake atau dia adalah sebuah skema dari sebuah datamart. Yaitu bahwa tabel dimensi
tersebut pada dasarnya adalah tabel fakta yang merepresentasikan sebuah datamart.
Telah ditunjukkan pada sebelum ini, bahwa kita dapat membangun sebuah tabel dengan
atribut bertingkat sebagaimana digambarkan pada gambar 5.7., 5.10 dan gambar 5.11. juga telah
ditunjukkan bahwa keseluruhan tabel-tabel dengan atribut bertingkat ini dapat dinyatakan dalam
diagram ven seperti gambar 5.8 dan gambar 5.9.
Tabel bertingkat dan diagram venn menunjukkan bahwa pada dasarnya kita dapat membuat
sebuah hirerakti atribut dalam beberapa cara.
Gambar 6.12. memberikan contoh konstruksi hirarki pada sebuah tabel dengan atribut
bertingkat yang diambil dari gambar 5.7. setiap tabel dimensi yang dapat dinyatakan ke dalam
tabel dengan atribut bertingkat yaitu dapat dinyatakan ke dalam sebuah skema star, sebuah tabel
fakta sekaligus sebuah tabel dimensi dari tabel fakta yang lain.

Gambar 6.12. Contoh konstruksi hirarki dari tabel bertingkat.


Konstruksi hireraki ini tidaklah unik, susunan hirarki dapat dirubah dengan merubah cara
representasi tabel atribut bertingkat. Merubah representasi tabel dengan atribut bertingkat adalah
berarti memutar atau merotasikan kubus yang direpresentasikan, merotasikan kubus adalah berarti
melakukan operasi pivoting.
Jadi ketika terjadi operasi pivoting pada kubus yang mewakili tabel dimensi (yang bersifat
sebagai tabel fakta tersebut) maka hirarki pada sumbu yang berasal dari tabel dimensi dengan sifat
tabel fakta akan berubah susunan hirarki nya.
Itu karena merubah cara representasi tabel dengan atribut bertingkat seperti gambar 5.7.
Gambar 6.13. memberi contoh bagaimana jika kubus pada gambar 5.5. dirotasikan (pivoting)
sehingga menghasilkan perubahan pada tabel dengan atribut bertingkat pada gambar 5.7. menjadi
seperti pada gambar 6.13.

Gambar 6.13. Hasil rotasi (pivoting) kubus


Akibat dari pivoting ini, hirarki atribut pada tabel berubah menjadi seperti diilustrasikan
oleh gambar 6.14. Pada gambar ini, susunan hirarki sebelumnya yang menempatkan atribut
“hari_ke” sebagai atribut teratas, berubah menjadi atribut pada urutan di bawah atribut
“jenis_produk”. Atribut “jenis produk” berubah menempati atribut teratas dibawah root dari pohon
hirarki . Atribut “kota” menempati urutan terbawah menggantikan posisi atribut “jenis_produk”
sevelumnya. Dengan cara yang sama, kita masih dapat merubah susunan hirarki ini dengan
melakukan operasi MOLAP pivoting.
Gambar 6.14. Contoh perubahan hirarki jika dilakukan pivoting pada kubus.
Ini berarti bahwa operasi pivoting sangat mempengaruhi operasi roll up dan drill down pada
sebuah kubus.
d. Drill down

Gambar 6.15. Contoh sebuah hypercube (kubus) sebelum dilakukan operasi drill down
Operasi drill down adalah kebalikan dari operasi roll up. Karenanya operai ini juga
memanfaatkan informasi hirarki atribut pada tabel dimensi yang menjadi sumbu pada kubus atau
hypercube dari data warehouse. gambar 6.15. memberikan contoh sebuah hypercube data
warehouse sebelum mengalami operasi drill down.
Gambar 6.16. Contoh view kubus setelah operasi drill down
Gambar 6.16. mengilustrasikan apa yang terjadi setelah operasi drill down dilakukan
terhadap kubus yang mewakili sebuah data warehouse.
e. Pivoting

Pivoting adalah operasi MOLAP yang merubah view data dengan merotasikan kubus dalam
berbagai arah sumbu kubus. Gambar 6.17. dan gambar 6.18. adalah contoh gambar di mana sebuah
kubus dirotasikan untuk memperoleh view data yang berbeda-beda dari sebuah kubus.

Gambar 6.17. Rotasi (pivoting) dari sumbu vertikal sebuah kubus untuk melihat view yang
berbeda dari data
Operasi pivoting ini dapat dibuat runtun dengan operasi-operasi MOLAP yang lain
menghasilkan kombinasi operasi MOLAP untuk menghasilkan view data yang diinginkan.
Gambar 6.18. Rotasi (pivoting) dari sumbu horisontal sebuah kubus untuk melihat view
yang berbeda dari data
Prakomputasi MOLAP
Secara umum, di dalam proses kerja MOLAP, dapat digambarkan sebagai berikut:

Sumber data
(1)

Konstruksi kubus multidimensi (hypercube). Konstruksi dilakukan secara tetap (seperti


pembuatan ODS, datamart atau basisdata OLAP sendiri atau data warehouse) atau secara fly
atau adhoc (virtual dengan membuat view multidimensi, misal pada pembuatan basisdata
virtual).
(2)

Analisis MOLAP yang dilakukan secara prakomputasi, yaitu bahwa sistem OLAP langsung
membangun query-query MOLAP sebelum diminta, query-query itu adalah semua kombinasi
slice, dice, roll up, drill down terhadap kubus (hypercube) yang mungkin dilakukan.
Lalu semua hasil query (semua hasil kombinasi operasi MOLAP) itu dicatat dan disimpan secara
utuh pada suatu penyimpanan, sehingga bisa dipanggil secara cepat jika terjadi query sebenarnya
dari pengguna.
Gambar 6.19. memberikan ilustrasi proses pada langkah (3) ini di mana semua hasil
prakomputasi disimpan ditempat khusus oleh sistem OLAP.

Gambar 6.19. Ilustrasi penyimpanan hasil prakomputasi MOLAP


(3)

Pengguna meminta analisis MOLAP. Sistem OLAP memeriksa dipenyimpanan, jika sudah ada
di sana maka hasil query langsung ditampilkan tanpa komputasi lagi. Jika belum ada di sana
maka sistem OLAP mengulang langkah (3) lagi yaitu melakukan operasi-operasi MOLAP sesuai
query, memberikan ke pengguna dan menyimpannya juga di penyimpanan untuk query berikut
yang sama.
Jika data yang diminta oleh query pengguna tidak terdapat pada view data multidimensi, maka
sistem OLAP melakukan ulang langkah (2), lalu melaksanakan langkah (3), memberikan
hasilnya ke pengguna dan menyimpannya untuk penggunaan berikut.
(4)

Analisis MOLAP ditujukan untuk:


a. Analisis datamining yang sumberdatanya (dataset) mengambil dari hasil analisis MOLAP.
b. Reporting
c. Visual report
(5)

Anda mungkin juga menyukai