3.5. Pemrosesan Efisien OLAP
Query
Menggunakan
Cuboid
Langkah yang dilakukan dalam melakukan efisiensi pemrosesan OLAP
query
dengan menggunakan
cuboid
adalah : 1.
Membentuk hirarki untuk setiap dimensi yang digunakan. Hirarki yang digunakan dalam penelitian ini dibentuk
berdasarkan jumlah atribut yang berbeda. 2.
Menggunakan bantuan hirarki, menentukan
cuboid-cuboid
yang mungkin untuk melakukan
query.
Berikut ini penjelasan detail dari kedua tahap tersebut.
3.5.1. Hirarki
Gambar 3.5
ini merupakan
hasil pembentukan
hirarki menggunakan tiga dimensi yaitu dimensi nama penyakit, dimensi
kelompok umur, dan dimensi waktu. Hirarki tersebut dibentuk berdasarkan pada jumlah atribut yang berbeda. Semakin luar level hirarki maka
semakin mungkin
cuboid
tersebut dipilih. Hal tersebut dikarenakan jika melakukan
query
maka tidak perlu melakukan
query
terlalu dan jumlah level terluar memiliki jumlah
row
yang paling sedikit. Hirarki pada Gambar 3.5 digunakan untuk membantu dalam menentukan
cuboid-cuboid
yang mungkin.
Gambar 3. 5 Hirarki yang terbentuk
3.5.2.
Cuboid
Pada
Query
I dan
Query
II
Pemilihan
cuboid
yang tepat jika
cuboid
tersebut memiliki kriteria: 1.
Bukan merupakan data yang umum. 2.
Memiliki level yang baik, ditentukan dengan menggunakan hirarki.
3. Sesuai dengan tujuan
query.
Didalam penelitian ini menggunakan dua contoh
query
.
Query
I merupakan
query
yang digunakan untuk melihat data rekap tahunan, sedangkan untuk
query
II digunakan untuk melihat data rekap penyakit setiap bulannya. Selain menggunakan
query
yang dipilih berdasarkan
cuboid
tertentu, juga menggunakan
query
biasa atau
query
tanpa dipilih menggunakan
cuboid.
Untuk memudahkan penamaan
query
maka digunakan istilah
a.
Query
efisien Qef yang dipilih menggunakan
cuboid
yang paling baik.
b.
Query
biasaQb atau
query
yang tidak dipilih menggunakan
cuboid
. c.
Query
Pembanding Qp1, Qp2, ...., Qn merupakan
query
yang terbentuk berdasarkan
cuboid
yang mungkin, namun bukan
cuboid
yang paling tepat. Qb digunakan untuk membuktikan apakah Qef merupakan
query
yang tercepat.
3.5.2.1.
Query
I
Query
ini yang digunakan untuk melihat data rekap tahunan. Pada
query
I terdapat
query
biasa dan
query
yang dipilih menggunakan
cuboid.
Berikut ini adalah
query
biasa untuk
query
I,
query
biasa merupakan
query
yang bukan didapat dari
cuboid
yang mungkin Qb juga merupakan
query
yang memenuhi tujuan dilakukannya
query
I yakni melihat data rekap tahunan.
Tabel 3. 9 Qb pada
query
I
select NON EMPTY {[Measures].[Jumlah B], [Measures].[Jumlah L], [Measures].[Jumlah K]} ON COLUMNS,
{[Waktu].[Semua Waktu], [Nama Penyakit].[Semua Penyakit],[Kelompok Umur].[Semua Kelompok Umur]} ON ROWS
from [penyakit]
Sebelum melakukan
query
digudang data, maka dengan tujuan
query
yang sama yaitu melihat data penyakit dengan ICD_X= A15 yaitu penyakit TB Paru BTA + di tahun 2010 tentukan terlebih dahulu
cuboid
yang mungkin. Tujuannya adalah agar mendapatkan
query
yang efisien dengan waktu akses cepat untuk melihat data data penyakit dengan
ICD_X= A15 yaitu penyakit TB Paru BTA + di tahun 2010.
Tabel 3. 10
Cuboid
yang mungkin pada
query
I
Tujuan
query
I
Cuboid
yang mungkin
Melihat data penyakit dengan ICD_X= A15 yaitu penyakit TB
Paru BTA + di tahun 2010
Cuboid
1 : {Kelompok umur} where ICD- X=A15 and nama penyakit= TB Paru BTA +
and tahun=2010
Cuboid
2 : {ICD-X, Kelompok umur } where ICD-X=A15 and nama penyakit= TB Paru BTA
+ and tahun=2010
Cuboid
3 : { Kelompok umur, tahun } where ICD-X=A15 and nama penyakit= TB Paru BTA
+ and tahun=2010
Berdasarkan
cuboid-cuboid
yang mungkin pada
query
I maka
didapat
cuboid
1 merupakan
cuboid
yang paling tepat digunakan untuk melakukan
query.
Hal ini dikarenakan jika melakukan pemrosesan
query
menggunakan
cuboid
1 maka tidak perlu mengambil banyak
row
karena pada
cuboid
1 hanya terdapat kelompok umur. Berikut ini ditampilkan
query
yang terbentuk dari masing-masing
cuboid.
Tabel 3. 11
Query
yang digunakan pada
query
I
Jenis
query Cuboid
yang mungkin
OLAP
Query
Qef
Cuboid
1 :
{Kelompok umur}
where ICD-X=A15 and nama penyakit=
TB Paru BTA + and tahun=2010
select NON EMPTY {[Measures].[Jumlah B], [Measures].[Jumlah L], [Measures].[Jumlah K]} ON
COLUMNS, {[Kelompok Umur].[Semua Kelompok Umur]} ON
ROWS from [penyakit]
where {[Nama Penyakit].[Semua Penyakit].[A15].[TB Paru BTA +], [Waktu].[Semua Waktu].[2010]}
Qp1
Cuboid
2 : {ICD-X, Kelompok umur }
where ICD-X=A15 and nama penyakit=
TB Paru BTA + and tahun=2010
with member [Nama Penyakit].[Semua Penyakit] as Aggregate{[Nama Penyakit].[Semua Penyakit]}
select NON EMPTY {[Measures].[Jumlah B], [Measures].[Jumlah L], [Measures].[Jumlah K]} ON
COLUMNS, {[Kelompok Umur].[Semua Kelompok Umur]} ON
ROWS from [penyakit]
where {[Nama Penyakit].[Semua Penyakit].[A15].[TB Paru BTA +], [Waktu].[Semua Waktu].[2010]}
Qp2
Cuboid
3 :
{ Kelompok
umur, tahun } where ICD-
X=A15 and nama penyakit= TB Paru
BTA +
and tahun=2010
with member
[Waktu].[Semua Waktu]
as Aggregate{[Waktu].[Semua Waktu]}
select NON
EMPTY {[Measures].[Jumlah
B], [Measures].[Jumlah L], [Measures].[Jumlah K]} ON
COLUMNS, {[Kelompok Umur].[Semua Kelompok Umur]} ON
ROWS from [penyakit]
where {[Nama Penyakit].[Semua Penyakit].[A15].[TB Paru BTA +], [Waktu].[Semua Waktu].[2010]}
Qb select NON EMPTY {[Measures].[Jumlah B],
[Measures].[Jumlah L], [Measures].[Jumlah K]} ON COLUMNS,
{[Waktu].[Semua Waktu], [Nama Penyakit].[Semua Penyakit],[Kelompok Umur].[Semua Kelompok Umur]}
ON ROWS from [penyakit]
3.5.2.2.
Query
II
Pada
query
II juga memiliki
query
biasa dan
query
yang dipilih menggunakan
cuboid.
Berikut ini adalah
query
biasa untuk
query
II.
Tabel 3. 12 Qb pada
query
II
select NON EMPTY {[Measures].[Jumlah B], [Measures].[Jumlah L], [Measures].[Jumlah K]} ON COLUMNS,
{[Waktu].[Semua Waktu], [Nama Penyakit].[Semua Penyakit],[Kelompok Umur].[Semua Kelompok Umur]} ON ROWS
from [penyakit]
Sebelum melakukan
query
digudang data, maka dengan tujuan
query
yang sama yaitu melihat melihat data nama penyakit dan kelompok umur di bulan tertentu yakni bulan oktober pada tahun 2012 dan disemua
kelompok umur tentukan terlebih dahulu
cuboid
yang mungkin. Tujuannya adalah agar mendapatkan
query
yang efisien dengan waktu akses cepat untuk melihat data nama penyakit dan kelompok umur di
bulan tertentu yakni bulan oktober pada tahun 2012 dan disemua kelompok umur.
Tabel 3. 13
Cuboid
yang mungkin pada
query
II
Tujuan
query
II
Cuboid
yang mungkin
Melihat data nama penyakit dan kelompok umur di bulan tertentu
yakni bulan oktober pada tahun
Cuboid
1 : {ICD-X, Kelompok umur} where tahun=2012 and bulan=oktober
2012 dan disemua kelompok umur
Cuboid
2 : {bulan, ICD-X, Kelompok umur } where tahun=2012 and bulan=oktober
Cuboid
3 : {ICD-X, Kelompok umur, tahun } where tahun=2012 and bulan=oktober
Berdasarkan
cuboid-cuboid
yang mungkin pada
query
II ini maka
didapat
cuboid
1 merupakan
cuboid
yang paling tepat digunakan untuk melakukan
query.
Berikut ini merupakan
query
yang terbentuk dari masing-masing
cuboid.
Tabel 3. 14 Query yang digunakan pada
query
II
Jenis
Query Cuboid
yang mungkin
OLAP
Query
Qef
Cuboid
1 : {ICD-X, Kelompok umur}
where tahun=2012 and bulan=oktober
select NON EMPTY {[Measures].[Jumlah B], [Measures].[Jumlah L], [Measures].[Jumlah K]} ON
COLUMNS, {[Nama Penyakit].[Semua Penyakit], [Kelompok
Umur].[Semua Kelompok Umur]} ON ROWS from [penyakit]
where [Waktu].[Semua Waktu].[2012].[Oktober]
Qp1
Cuboid
2 : {tahun, ICD-X,
Kelompok umur}
where tahun=2012
and bulan=oktober
with member [Waktu].[Semua Waktu] as Aggregate{[Waktu].[Semua Waktu]}
select NON EMPTY {[Measures].[Jumlah B], [Measures].[Jumlah L], [Measures].[Jumlah K]} ON
COLUMNS, {[Nama Penyakit].[Semua Penyakit], [Kelompok
Umur].[Semua Kelompok Umur]} ON ROWS from [penyakit]
where [Waktu].[Semua Waktu].[2012].[Oktober]
Qb select NON EMPTY {[Measures].[Jumlah B],
[Measures].[Jumlah L], [Measures].[Jumlah K]} ON COLUMNS,
{[Waktu].[Semua Waktu], [Nama Penyakit].[Semua Penyakit],[Kelompok
Umur].[Semua Kelompok Umur]} ON ROWS from [penyakit]
3.6. Menerapkan