5.2. Menentukan
Query
Efisien Menggunakan
Cuboid
Gambar 5. 1 Hirarki yang digunakan
Query
efisien yang dimaksud dalam hal ini adalah
query
yang dapat mengakses data pada
database
dengan cepat. Oleh sebab itu pada bagian ini mencoba menjawab
query
efisien yang telah dipilih menggunakan
cuboid
merupakan
query
yang paling tepat.
Query
yang digunakan dalam penelitian ini mencoba menyesuaikan dengan kebutuhan
user.
Petugas di Puskesmas membutuhkan
query
yang dapat melihat penyakit tertentu di tahun tertentu, karena jika menggunakan excel petugas
mengalami kesulitan dalam melakukan rekap data. Sebagai contoh
query
yang digunakan dalam penelitian ini dapat dilihat pada Tabel 5.1 dan
Tabel 5.2. untuk
query
1 merupakan
query
untuk melihat data penyakit pada tahun tertentu, sedangkan pada
query
2 merupakan
query
untuk melihat rekapan data penyakit dibulan tertentu.
5.2.1.
Query
I
Untuk pembahasan pada bagian ini yang digunakan adalah
query
I dan
query
II.
Query
dibahas pada bagian ini memiliki tujuan yaitu mencari data penyakit TB Paru BTA + pada tahun 2010 dan disemua kelompok
umur. Pada q
uery
I ini terdapat empat
query.
Tabel 5.1 merupakan
query
yang digunakan pada
query
I.
Tabel 5. 1
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]
Berdasarkan pada Tabel 5.1 maka berikut ini adalah penjelasan
dari masing-masing
query
beserta
cuboid
yang digunakan : 1.
Qef menggunakan cuboid : {Kelompok umur} where ICD-X=A15
and nama penyakit= TB Paru BTA + and tahun=2010
Query
ini dipilih sebagai
query
efisien karena
cuboid
kelompok umur merupakan
cuboid
dengan hirarki terluar dapat dilihat pada Gambar 5.1,
query
ini juga paling sesuai dengan tujuan untuk melakukan
query
yakni mencari penyakit tertentu pada tahun tertentu.
Query
ini juga hanya memiliki satu
cuboid
sehingga ketika dijalankan maka kelompok umur hanya akan mengambil sedikit data karena hanya
terdapat 8 kelompok umur.
2. Qp1 menggunakan
cuboid
: {ICD-X, Kelompok umur } where tahun=2010
Query
ini memiliki level hirarki yang baik, karena ICDX dan kelompok umur berada pada level terluar. Namun tidak dipilih sebagai
query
efisien dengan alasan karena menggunakan dua
cuboid.
ICDX
memiliki data yang banyak sehingga ketika
query
dijalankan maka data yang diambil milik ICDX dan kelompok umur maka data yang diambil
juga lebih banyak jika dibandingkan dengan Qef.
3. Qp2 menggunakan
cuboid
: { Kelompok umur, tahun } where ICD-
X=A15 and nama penyakit= TB Paru BTA + and tahun=2010
Query
ini menggunakan dua
cuboid
yakni tahun dan kelompok umur, kedua
cuboid
tersebut memiliki level terluar dari hirarki, serta kedua
cuboid
tersebut memiliki jumlah data yang sedikit. Namun
query
ini tidak dipilih sebagai Qef karena jika dibandingkan dengan Qef yang
menggunakan
cuboid
1,
cuboid
yang digunakan lenih sedikit sehingga data yang diambil ketika melakukan
query
juga lebih sedikit.
4. Qb merupakan
query
biasa dan tidak dipilih menggunakan
cuboid. Query
ini digunakan untuk pembanding, apakah Qef yang dipilih menggunakan
cuboid
merupakan
query
yang memiliki waktu akses paling cepat. Untuk menentukan Qef apakah
query
yang paling tepat, dapat dilihat pada tabel berikut ini :
Tabel 5. 2 Hasil pencatatan waktu semua
query
pada
query
1
Tabel 5.2 merupakan tabel hasil pencatatan waktu dari semua
query
, pencatatan waktu berguna untuk menguji apakah
query
yang dipilih sebagai
query
efisien merupakan
query
yang terbaik. Pengujian dilakukan sebanyak sepuluh kali untuk masing-masing
query.
Pada uji 1 dapat dilihat Qb memiliki waktu akses yang paling cepat, diikuti dengan Qef dan Qp2.
Uji 2 Qp1 memiliki waktu akses paling cepat, pada uji 3 Qb memiliki waktu akses paling cepat. Uji 4 Qp1 memiliki waktu akses paling cepat, sedangkan
Qef diurutan nomor dua. Untuk uji 5 sampai uji 7 Qef memiliki waktu akses paling cepat, sedangkan pada uji 8 Qef berada pada urutan ke dua dan yang
memiliki waktu akses paling cepat adalah Qp2. Pada uji 9 dan 10 Qp1 memiliki waktu akses paling cepat.
Dari sepuluh uji tersebut dapat dilihat jika waktu akses dari masing-masing
query
sangat bervariasi, dan waktu akses dari Qef bukan
merupakan waktu akses yang dominan. Untuk mendapatkan kesimpulan dari hasil pengujian pada Tabel 5.2 maka dicari rerata waktu akses dari
masing-masing
query
, sehingga dapat dilihat
query
mana yang memiliki waktu akses yang paling cepat.
Dari hasil pengujian tersebut, dengan menggunakan rerata waktu akses dari Qef dan Qb dapat dibuat grafik sebagai berikut:
Grafik 5. 1 Grafik rerata waktu akses Qef dan Qb
Dari grafik 5.1 dapat dilihat waktu akses dari Qef yang diperoleh menggunakan
cuboid
memiliki waktu akses yang lebih cepat jika dibandingkan dengan Qb. Selisih rerata waktu akses antara Qef dan Qb
adalah 0,0162 detik. Melihat hasil waktu akses tersebut maka dapat untuk melakukan pemrosesan
query
pada gudang data, lebih baik menggunakan Qef.
2,47 2,475
2,48 2,485
2,49 2,495
2,5
Q EF Qb
Grafik 5. 2 Grafik rerata pencatatan waktu semua
query
pada
query
I
Dari grafik rerata antara Qef, Qp1 dan Qp2 dapat dilihat bahwa Qp2 memiliki waktu akses paling lama, kemudian diikuti Qp1. Selisih
rerata waktu akses antara Qp1 dan Qef sebanyak 0,0224 detik. Dan selisih rerata waktu akses antara Qef dan Qp2 sebanyak 0,0384 detik. Qef
memiliki waktu akses yang paling rendah atau paling cepat diantara kedua
query
lain. Demikian dapat dikatakan jika
query
yang sebelumnya dipilih sebagai Qef yang dipilih menggunakan
cuboid
adalah
query
yang paling baik serta didukung dengan hasil pencatatan waktu akses, bahwa Qef
adalah
query
yang memiliki waktu akses yang cepat. Dari kedua grafik yaitu Grafik 5.1 dan 5.2 dapat dilihat Qef
memiliki rerata waktu akses yang paling cepat jika dibandingkan dengan semua
query
pada
query
I
.
Maka dari hasil tersebut dapat ditarik
2,46 2,47
2,48 2,49
2,5 2,51
2,52 2,53
Q EF Qp1
Qp2
kesimpulan bahwa Qef merupakan
query
yang paling tepat untuk digunakan dalam pemrosesan
query
pada gudang data.
5.2.2.
Query
II
Untuk pembahasan pada bagian ini yang digunakan adalah
query
II.
Query
ini memiliki tujuan yaitu mencari data semua data pada bulan tertentu yakni bulan oktober di tahun 2012. Tabel 5.3 berisi daftar
query
yang terdiri dari Qef Qp dan Qb.
Tabel 5. 3
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]
Berdasarkan pada Tabel 5.2 maka berikut ini adalah penjelasan
dari masing-masing
query
beserta
cuboid
yang digunakan : 1.
Qef menggunakan cuboid : {ICD-X, Kelompok umur} where
tahun=2012 and bulan=oktober
Query
ini dipilih sebagai Qef karena
cuboid
ICDX dan kelompok umur merupakan
cuboid
dengan hirarki terluar,
query
ini juga paling sesuai dengan tujuan untuk melakukan
query
yakni mencari penyakit tertentu dibulan tertentu dan pada tahun tertentu.
2. Qp1 menggunakan cuboid : {tahun, ICD-X, Kelompok umur}
where tahun=2012 and bulan=oktober
Cuboid
ICDX dan kelompok umur merupakan
cuboid
dengan level terluar dari hirarki. Jika dibandingkan dengan Qef, pada Qp1
menggunakan tiga
cuboid
yaitu tahun, ICD-X dan kelompok umur sedangkan pada Qef hanya menggunakan dua
cuboid.
Maka jika Qp1 digunakan untuk melakukan
query
akan lebih banyak mengambil data jika dibandingkan dengan Qef.
3. Qb merupakan
query
biasa dan tidak dipilih menggunakan
cuboid. Query
ini digunakan untuk pembanding, apakah Qef yang dipilih menggunakan
cuboid
merupakan
query
yang memiliki waktu akses paling cepat
Tabel 5. 4 Hasil pencatatan waktu semua
query
pada
query
II
Tabel 5.3 merupakan tabel hasil pencatatan waktu dari semua
query
, seperti pada
query
I pengujian dilakukan sebanyak sepuluh kali untuk masing-masing
query.
Dari hasil pencatatan waktu tersebut kemudian dilakukan perbandingan kecepatan waktu akses masing-masing
query
, karena yang menjadi dasar pengukurannya adalah waktu akses
query.
Pada uji 1 dapat dilihat Qef memiliki waktu akses yang paling cepat, diikuti dengan Qp1 dan Qb. Pada uji 2 dan uji 3 Qb memiliki waktu
akses yang paling cepat, sedangkan pada uji 4 Qef kembali unggul dengan memiliki waktu akses paling cepat jika dibandingkan dengan
query
lainnya. Uji 5 Qb memiliki waktu akses paling cepat dapa uji 6 Qp1 yang memiliki
waktu akses tercepat. Uji ke 7 dan uji ke 8 Qef memiliki waktu akses yang paling cepat, sedangkan pada uji 9 dan 10 Qp1 ternyata memiliki waktu
akses tercepat. Dari sepuluh uji tersebut dapat dilihat jika waktu akses dari masing-masing
query
sangat bervariasi, dan waktu akses dari Qef bukan merupakan waktu akses yang dominan.
Untuk mendapatkan kesimpulan dari hasil pengujian pada Tabel 5.3 maka dicari rerata waktu akses dari masing-masing
query
, sehingga dapat dilihat
query
mana yang memiliki waktu akses yang paling cepat. Dari hasil pengujian tersebut, dengan menggunakan rerata waktu akses dari Qef
dan Qb dapat dibuat grafik sebagai berikut.
Grafik 5. 3 Grafik rerata waktu akses Qef dan Qb
Dari grafik 5.3 dapat dilihat waktu akses dari Qef yang diperoleh menggunakan
cuboid
memiliki waktu akses yang lebih cepat jika dibandingkan dengan Qb. Selisih rerata waktu akses antara Qef dan Qb
adalah 0,0466 detik.
2,46 2,47
2,48 2,49
2,5 2,51
2,52 2,53
2,54
Q EF Qb
Grafik 5. 4 Grafik rerata pencatatan waktu semua
query
pada
query
II
Dari grafik rerata diatas dilihat bahwa Qp1 memiliki waktu akses paling lama. Selisih rerata waktu akses antara Qp1 dan Qef sebanyak
0,0141 detik. Qef memiliki waktu akses yang paling rendah jika dibandingkan dengan Qp1. Demikian dapat dikatakan jika
query
yang sebelumnya dipilih sebagai Qef yang dipilih menggunakan
cuboid
adalah
query
yang paling baik serta didukung dengan hasil pencatatan waktu akses, bahwa Qef adalah
query
yang memiliki waktu akses yang cepat. Dari kedua grafik yaitu Grafik 5.3 dan 5.4 dapat dilihat Qef memiliki
rerata waktu akses yang paling cepat jika dibandingkan dengan semua
query
pada
query
II
.
Maka dari hasil tersebut dapat ditarik kesimpulan melakukan pemrosesan data pada
query
II ini, lebih baik menggunakan Qef.
2,475 2,48
2,485 2,49
2,495 2,5
2,505
Q EF Qp1
5.3. Pengujian Qef Menggunakan