PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Analisis Data Cube Menggunakan Multiway Array Aggregation For Full Cube Computation (Studi Kasus Data Penyakit tahun 2010 hingga 2012 di Puskesmas Jebed Kabupaten Pemalang)
Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Mendapatkan Gelar Sarjana Komputer
Oleh Ratna Yani Astuty 095314035
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2013
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Cube Data Analysis Using Multiway Array Aggregation For Full Cube Computation (Case Study Disease Data from 2010 to 2012 at the health center Jebed Pemalang)
A Thesis Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Komputer Degree In Study Program of Informatics Engineering
By Ratna Yani Astuty 095314035
INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF SCIENCE AND TECHNOLOGY FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2013
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 23 Agustus 2013 Penulis
Ratna Yani Astuty
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Ratna Yani Astuty NIM
: 095314035
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul: “Analisis Data Cube Menggunakan Multiway Array Aggregation For Full Cube Computation (Studi Kasus Data Penyakit tahun 2010 hingga 2012 di Puskesmas Jebed Kabupaten Pemalang)” Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk
media
lain,
mengelolanya
dalam
bentuk
pangkalan
data,
mendistribusikannya secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royaliti kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta Pada tanggal 23 Agustus 2013 Yang menyatakan,
Ratna Yani Astuty vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR Puji dan syukur kepada Allah Bapa Yang Maha Kuasa atas semua berkat dan Roh Kudus-Nya yang melimpah, sehingga penulis dapat menyelesaikan skripsi yang berjudul “Analisis Data Cube Menggunakan
Multiway Array
Aggregation For Full Cube Computation (Studi Kasus Data Penyakit tahun 2010 hingga 2012 di Puskesmas Jebed Kabupaten Pemalang)”. Pada kesempatan ini saya ingin mengucapkan terima kasih kepada pihak – pihak yang telah membantu saya dalam menyelesaikan skripsi ini, baik dalam hal bimbingan, perhatian, kasih sayang, semangat, kritik, dan saran yang telah diberikan. Ucapan terima kasih ini saya sampaikan antara lain kepada : 1. Ibu PH.Prima Rosa, S.Si., M.Sc., selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta. 2. Bapak Iwan Binanto, M.Cs., selaku Dosen Pembimbing Akademik Teknik Informatika Tahun 2009. 3. Ibu Ridowati Gunawan, S.Kom., M.T. selaku Ketua Prodi Teknik Informatika sekaligus Dosen Pembimbing TA, yang dengan sabar membimbing penulis dalam menyusun skripsi. 4. Ibu PH.Prima Rosa, S.Si., M.Sc., dan Ibu Sri Hartati Wijono, S.Si., M.Kom. selaku dosen penguji yang telah meluangkan waktu untuk memberikan bimbingan, kritik dan saran untuk kesempurnaan skripsi ini. 5. Seluruh staff dosen maupun karyawan Program Studi Teknik Informatika Universitas Sanata Dharma.
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6. Kepala Puskesmas Jebed, Pemalang, dr. Setiawan Raharjana, dan seluruh keluarga besar Puskesamas Jebed, Pemalang. 7. Kedua Orang Tua, Bapak dan Ibu yang selalu memberikan dukungan, doa, perhatian dan sabar membimbing penulis. Adik tercinta, Retno,
yang
mendukung penulis dengan doa dan semangat. 8.
Y.Deni Rahman Pranyoto, yang selalu menjadi sahabat, penyemangat, dan selalu ada di saat suka dan duka, terima kasih untuk segalanya. Maaf karena selalu merepotkanmu.
9.
Bapak Andi, Ibu Tarmi, Elsa, yang dengan penuh kasih selalu memberikan dukungan, kasih sayang dan semangat yang tiada henti.
10. Astriana, Rafaela Rosi, Andhini, Retty, Kak Merry, Anas, Karl, Audris serta teman-teman seperjuangan TI’09 untuk kebersamaannya serta motivasi yang diberikan selama penulis menjalani masa studi. 11. Seluruh pihak yang membantu penulis baik secara langsung maupun tidak langsung, yang tidak dapat penulis sebutkan satu persatu. Saya menyadari masih banyak kekurangan yang terdapat pada skripsi ini. Saran dan kritik selalu saya harapkan dari pembaca untuk perbaikan – perbaikan di masa yang akan datang. Akhir kata, saya berharap tulisan ini dapat bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada umumnya. Yogyakarta, 23 Agustus 2013
Ratna Yani Astuty
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRAK Analisis Data Cube Menggunakan Multiway Array Aggregation For Full Cube Computation Studi Kasus : Data Penyakit tahun 2010 hingga 2012 di Puskesmas Jebed Kabupaten Pemalang Ratna Yani Astuty Universitas Sanata Dharma Yogyakarta 2013 Data cube adalah model presentasi data multidimensi, contohnya pada studi kasus ini terdapat dimensi seperti nama penyakit, waktu, kelompok umur. Dimensi-dimensi pada data cube dapat dibuat bertingkat, contohnya dimensi waktu dapat dibagi menjadi bulan, tahun, dan lainnya. Pembangunan data cube harus dilakukan sebaik mungkin agar data dapat ditampilkan dengan proses yang cepat. Sehingga, penerapan metode komputasi untuk pembangunan cube sangat diperlukan agar data dapat ditampilkan dengan lebih cepat. Dalam pembangunan cube digunakan Metode Multiway Array Aggregation yang memakai aturan group-by dimensi rendah diagregasikan dari group-by dengan dimensi tinggi (disebut juga pendekatan top-down). Metode komputasi ini digunakan dalam pembangunan cube untuk data penyakit tersebut agar dapat menentukan cube yang tepat untuk dipakai dalam OLAP sehingga data penyakit dapat ditampilkan lebih cepat. Kata kunci: cube, Multiway Array Aggregation, OLAP.
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRACT Cube Data Analysis Using Multiway Array Aggregation For Full Cube Computation Case Study : Disease Data from 2010 to 2012 at the health center Jebed Pemalang Ratna Yani Astuty Universitas Sanata Dharma Yogyakarta 2013 The data cube is a presentation of multidimensional data models. In this case study, there are dimensions such as the name of the disease, time, age group. Dimensions in the data cube can be nested, for example, the time dimension can be divided into months and years. The construction of the data cube should be well done so that the data can be displayed with a fast process. Thus, the application of computational methods for the construction of the cube is needed, so data can be displayed more quickly. The method used in the
construction cube is Multiway Array
Aggregation rules that use low-dimensional group-by aggregated from group-by with high dimensional (also called top-down approach). This computational method is used in the construction of a data cube for the disease data in order to determine the appropriate cube for the data used in OLAP disease so it can be displayed more quickly. Key words: cube, Multiway Array Aggregation, OLAP.
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR ISI HALAMAN JUDUL………………………………………………………
i
HALAMAN JUDUL INGGRIS………………………………………….
ii
HALAMAN PERSETUJUAN……………………………………………
iii
HALAMAN PENGESAHAN……………………………………………
iv
LEMBAR PERNYATAAN KEASLIAN KARYA………………………
v
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
vi
KATA PENGANTAR …………………………………………………...
vii
ABSTRAK ……………………………………………………………….
ix
ABSTRACT………………………………………………………………
x
DAFTAR ISI………………………………………………………………
xi
DAFTAR TABEL…………………………………………………………
xiv
DAFTAR GAMBAR………………………………………………………
xv
BAB I PENDAHULUAN 1.1 Latar Belakang ………..……………………………………………
1
1.2 Rumusan Masalah …………………………………………………… 3 1.3 Tujuan Penelitian ……………..………………………………..……
4
1.4 Batasan Masalah …..………………………………………………..
4
1.5 Metodologi …………. …………………………………………….
4
1.6 Sistematika Penulisan …………………………………………………. 5 BAB II LANDASAN TEORI 2.1 Gudang Data………………. ……………………………………….
7
2.2 Pentaho Data Integration (Kettle) .. …………………………..…….
9
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.3 OLAP (Online Analytical Processing) …..…………………...…….
10
2.4 Pre-Processing ………………..…………………………………….
11
2.5 Multidimensional Modelling………………………………………...
14
2.6 Skema Bintang (Star Schema)…….………………………………...
15
2.7 Multiway Array Aggregation For Full Computation ………………
19
BAB III ANALISIS DAN DESAIN 3.1 Identifikasi dan Analisis Kebutuhuan.………………….…………..
23
3.2 Mengumpulkan dan Menganalisis Sumber Data …………………..
25
3.3 Mengubah Data Penyakit ke dalam Gudang Data …………………
26
3.2.1 Membaca Data Legacy ……………………………..…..…..
26
3.2.2 Menggabungkan Data dari berbagai Sumber Terpisah …….
30
3.3.3 Memindahkan Data dari Sumber ke Server Gudang Data …… 33 3.3.4 Memecah Gudang Data ke dalam tabel fakta dan tabel dimensi 38 3.4 Membuat Skema Bintang…………..…….………………………... .
45
3.5 Membangun Cube…………………….……..……………………….
46
3.6 Menganalisis Cube…………………………………………………. .
51
BAB IV IMPLEMENTASI 4.1 Arsitektur Sistem…………………………. ……………………….
52
4.2 Implementasi Usecase……….………………………………………
53
BAB V ANALISIS HASIL 5.1 Penyelesaian Rumusan Masalah ……………………………………
61
5.2 Pengujian ……………………………………………………………
64
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB VI KESIMPULAN 6.1 Kesimpulan……………………………………………….…………
76
6.2 Saran…………………..……………………………….……………
77
DAFTAR PUSTAKA ………………………………………………………
78
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR TABEL
Tabel 2.1
Karakteristik Gudang Data ……………………………..
8
Tabel 3.1
Tabel Daftar Cube dan Cuboid ………………………..
48
Tabel 4.1
Tabel daftar kelas ………………………………………
54
Tabel 5.1
Tabel Pengujian Waktu ………………………………..
66
Tabel 5.2
Tabel Pengujian Waktu berdasarkan jumlah data …..
68
Tabel 5.3
Tabel pengujian waktu berdasarkan penambahan jumlah data N = 1920,W = 36,K = 8…………………..…………
69
Tabel 5.4
Tabel pengujian waktu berdasarkan penambahan jumlah data N= 192, W = 365, K = 8…………………………….. 70
Tabel 5.5
Tabel pengujian waktu berdasarkan penambahan jumlah data N=192, K=80, W=36………………………………
71
Tabel perbandingan pengujian waktu dengan jumlah data N = 192,K = 8,W = 36 ……………………………..
72
Tabel perbandingan pengujian waktu dengan jumlah data N = 1920, W = 36,K = 8 ……………………………
72
Tabel 5.6
Tabel 5.7
Tabel 5.8
Tabel perbandingan pengujian waktu dengan jumlah data N= 192, W = 365, K = 8 …………………………… 73
Tabel 5.9
Tabel perbandingan pengujian waktu dengan jumlah data N=192, K=80, W=36 ……………………………….. 73
Tabel 5.10
Tabel perbandingan pengujian waktu dengan jumlah data N=1920, K=80, W=365 ……………………………... 73
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR
Gambar 2.1
Tahapan dalam data mining …………………………..
14
Gambar 2.2
Skema bintang dari PHI Minimart……………………
15
Gambar 2.3
3-D array dimensi A,B,C yang dipartisi 64 chunks.. ….
16
Gambar 3.1
Contoh data laporan data penyakit dan kunjungantotal bulan Januari tahun 2010………………………………….
25
Gambar 3.2
Diagram usecase………………………………………..
26
Gambar 3.3
Langkah Pre-prosessing mengubah header………. …….
27
Gambar 3.4
Langkah Pre-prosessing menghapus data bukan penyakit
28
Gambar 3.5
Langkah Pre-prosessing menambah kolom bulan dan tahun .29
Gambar 3.6
Contoh Data I ……………………………………………
30
Gambar 3.7
Contoh Data II …………………………………………..
32
Gambar 3.8
Contoh Data III ………………………………………….
33
Gambar 3.9
Database penyakit……………………………………….
34
Gambar 3.10 Nama_penyakit.ktr ………………………………………
38
Gambar 3.11 Tabel dim_nama_penyakit ………………………………
39
Gambar 3.12 Waktu.ktr …………………………………………………
40
Gambar 3.13 Tabel dim_waktu …………………………………………
40
Gambar 3.14 Kelompok_umur.ktr ……………………………………...
41
Gambar 3.15 Tabel dim_kelompok_umur ……………………………..
41
Gambar 3.16 Penyakit.ktr ……………………………………………...
42
Gambar 3.17 Tabel penyakit …………………………………………..
42
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 3.18 Fact_penyakit.ktr ……………………………………..
43
Gambar 3.19 Tabel fact_penyakit…………………………………….
44
Gambar 3.20 Skema Bintang…………………………………………
45
Gambar 3.21 Cube penyakit ………………………………………….
46
Gambar 4.1
Arsitektur Sistem……………………………………….
52
Gambar 4.2
Pemantauan Data Penyakit…………………………….
54
Gambar 5.1
Hasil Implementasi Perhitungan Multiway Array Aggregation…………………………………………….
63
Gambar 5.2
Hasil implementasi……………………………………..
64
Gambar 5.3
Hasil implementasi OLAP……………………………..
65
Gambar 5.4
Contoh penggunaan calculating page loading time……
66
Gambar 5.5
Hasil implementasi multiway array aggregation dengan penambahan data………………………………..
xvi
68
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN
Pada Bab I ini memaparkan latar belakang, rumusan masalah, tujuan penelitian, batasan masalah, metodologi penelitian yang digunakan, dan sistematika penulisan.
1.1
Latar Belakang Kesehatan adalah salah satu komponen utama selain pendidikan dan
pendapatan. Kesehatan juga merupakan investasi untuk mendukung pembangunan ekonomi dan menanggulangi kemiskinan. Kesehatan dapat dipandang sebagai suatu investasi untuk meningkatkan kualitas sumber daya manusia (Depkes Jawa Tengah, 2006). Oleh sebab itu, memperoleh layanan kesehatan adalah salah satu hak dasar masyarakat. Pemerintah memiliki peran penting dalam peningkatan kesehatan. Salah satu upayanya adalah menghitung jumlah penyakit dengan penderita terbanyak setiap bulan dalam setiap tahunnya untuk diprioritaskan dalam program pencegahan. Upaya ini dilakukan dengan memantau data penyakit mulai dari tingkat desa/kelurahan dengan melakukan survei kemudian membuat perhitungan jumlah penderita untuk setiap penyakit. Data – data penyakit dari survei ini disimpan oleh suatu teknologi penyimpanan untuk kemudian dipantau oleh dinas kesehatan untuk program pencegahan. Berkembangnya teknologi dan informasi saat ini telah melahirkan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
“gunungan” data. Namun, kemampuan teknologi informasi untuk menganalisis, meringkas, dan mengekstraksi “pengetahuan” dari sejumlah data masih kurang. Seperti pada studi kasus dalam tugas akhir ini, data penyakit di Puskesmas Jebed, Kabupaten Pemalang, Jawa Tengah dikelola menggunakan MS Excel. Metodologi tradisional tersebut kurang cepat untuk menangani data dalam jumlah yang besar sehingga visualisasi data juga menjadi kurang, misalnya belum bisa merepresentasikan data dalam berbagai tampilan data serta belum mendukung untuk representasi data grafik yang dinamis. Berdasarkan uraian tersebut, penelitian ini dilakukan untuk menganalisis data penyakit dari Puskesmas Jebed, Kabupaten Pemalang, Jawa Tengah agar dapat ditampilkan dengan cepat sehingga pemerintah dapat memprioritaskan dalam program pencegahan. Sehingga, untuk menjawab kebutuhan ini penelitian ini akan menggunakan Online Analytical Process yang merupakan teknologi untuk memproses dan menganalisis data dalam waktu yang singkat pada struktur yang multidimensi. OLAP memakai data yang sudah terangkum dengan model data yang disebut data cube. Data cube adalah presentasi data multidimensi, contohnya seperti nama penyakit, waktu, kelompok umur. Dimensi-dimensi pada data cube dapat dibuat bertingkat, contohnya dimensi waktu dapat dibagi menjadi bulan, tahun, dan lainnya. Oleh sebab itu, pemakai dapat dengan mudah mendapat rangkuman informasi dari tingkatan dimensi yang lebih luas/umum dan juga pemakai dapat menggali informasi dari tingkatan dimensi yang lebih detil seperti data harian atau data di lokasi yang spesifik. Data cube yang tersedia pada data
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3
warehouse memungkinkan pemakai untuk menganalisis data operasi sehari-hari dengan berbagai sudut pandang. Oleh sebab itu, pembangunan cube harus dilakukan sebaik mungkin agar data dapat ditampilkan dengan proses yang cepat. Sehingga, penerapan metode komputasi untuk pembangunan cube sangat diperlukan agar data dapat ditampilkan dengan lebih cepat. Ada dua prinsip komputasi data cube yaitu sharing komputasi dan penggunaan iceberg constraint. Pada prinsip pertama ini berlaku aturan group-by dimensi rendah diagregasikan dari group-by dengan dimensi tinggi (disebut juga pendekatan top-down), contohnya metode Multiway Array Aggregation. Sedangkan prinsip kedua bertujuan untuk memangkas komputasi yang tidak penting dengan iceberg constraint. Dalam tugas akhir ini, penelitian ini akan membahas mengenai metode komputasi dalam hal ini Multiway Array Aggregation dalam pembangunan cube untuk data penyakit tersebut agar dapat menentukan cube yang tepat untuk dipakai dalam OLAP sehingga data dapat ditampilkan lebih cepat.
1.2
Rumusan Masalah Berdasarkan latar belakang masalah di atas, maka rumusan masalah yang
dipaparkan sebagai berikut: 1.
Bagaimana Multiway Array Aggregation menentukan cube yang tepat untuk pembuatan OLAP bagi data penyakit dari Puskesmas Jebed, Kabupaten Pemalang, Jawa Tengah sehingga data dapat ditampilkan dengan cepat?
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1.3
4
Tujuan Penelitian Tujuan penelitian ini adalah untuk mendapatkan cube yang tepat untuk
pembuatan database Online Analytical Process (OLAP) dari data penyakit dari Puskesmas Jebed, Kabupaten Pemalang, Jawa Tengah tahun 2010 hingga 2012 sehingga dapat divisualisasi dengan efektif dan cepat.
1.4
Batasan Masalah Agar penulisan tugas akhir ini tidak keluar dari inti dan tujuannya serta
tidak menjadi luas dan kompleks, maka ada beberapa batasan untuk tugas akhir ini, yaitu : 1.
Data yang diambil adalah data penyakit dari Puskesmas Jebed, Kabupaten Pemalang, Jawa Tengah tahun 2010 hingga 2012.
2.
Implementasi pembuatan tabel dimensi dan tabel fakta menggunakan Kettle (Pentaho Data Integration).
3. Sistem ini hanya digunakan untuk simulasi Multiway Array Aggregation untuk data penyakit dari Puskesmas Jebed, Kabupaten Pemalang, Jawa Tengah tahun 2010 hingga 2012. 4. Perangkat lunak yang digunakan untuk membangun simulasi Multiway Array Aggregation adalah bahasa pemrograman Java dan bahasa pemrograman JSP.
1.5
Metodologi Penelitian 1. Identifikasi dan analisis kebutuhan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5
2. Mengumpulkan dan menganalisis sumber data 3. Mengubah data penyakit ke dalam gudang data (data warehouse)
Membaca data legacy
Menggabungkan data dari berbagai sumber terpisah
Memindahkan data dari sumber ke server gudang data
Memecah gudang data ke dalam tabel fakta dan tabel dimensi
4. Membuat skema bintang 5. Membangun cube 6. Menganalisis cube
1.6
Sistematika Penulisan Bab I. Pendahuluan Bab ini berisi latar belakang pemilihan judul tugas akhir, rumusan masalah, batasan masalah, tujuan penelitian dilakukan, metodologi penelitian, dan sistematika penulisan tugas akhir. Bab II. Landasan Teori Bab ini merupakan dasar teoritis yang digunakan untuk menyusun tugas akhir ini. Teori mengenai data-warehouse, cube, Multiway Array Aggregation sebagai metode dalam perhitungan data cube akan dijelaskan pada bab ini.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6
Bab III. Analisis dan Desain Bab ini berisi analisis dan perancangan untuk metode Multiway Array Aggregation dalam analisis masalah dari data cube penyakit yang ada di Puskesmas Jebed,Pemalang, Jawa Tengah. Bab IV. Implementasi Pada bab ini berisi pembuatan sistem simulasi Multiway Array Aggregation. Bab V. Analisis Hasil Bab ini berisi laporan hasil simulasi Multiway Array Aggregation dan analisis perbandingan waktu akses dalam proses visualisasi data dengan cube. Bab VI. Kesimpulan Bab ini berisi kesimpulan yang didapatkan dari penelitian yang telah dilakukan. Kesimpulan yang dituliskan adalah kesimpulan yang menjawab rumusan masalah yang dituliskan pada bab pendahuluan secara ringkas. Pada bab ini, akan dituliskan saran yang berguna untuk penelitian lebih lanjut.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II LANDASAN TEORI
Pada bab ini akan dipaparkan teori-teori yang digunakan untuk menyusun tugas akhir ini, yaitu data-warehouse, cube, Multiway Array Aggregation sebagai metode dalam perhitungan data cube.
2.1
Gudang Data (Data Warehouse) Menurut Inmon (dalam Jiawei, 2006:106), Data warehouse adalah koleksi
data yang bersifat subject-oriented, terintegrasi, time-variant, dan non-volatile yang digunakan untuk mendukung proses pengambilan keputusan yang strategis, di mana setiap unit dari data adalah non-volatile dan relevan untuk waktu tertentu. Data warehouse memungkinkan pengguna untuk melakukan pemeriksaan terhadap data untuk melakukan analisis terhadap data dalam beragam cara dan membuat keputusan yang didasarkan pada hasil analisis. Untuk pembuatan gudang data dilakukan langkah-langkah pokok, seperti di bawah ini (Wasito, 2010) : 1. Membaca data legacy. Memperhatikan bagian-bagian data yang perlu dibersihkan. 2. Menggabungkan data dari berbagai sumber terpisah. Setiap jenis informasi yang diinginkan mungkin berasal dari beberapa file yang harus digabungkan untuk digunakan pada gudang data. 3.
Memindahkan
data
dari
sumber
ke
server
gudang
data.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.
8
Membuat standarisasi format dan copy-kan data dari sumber sekaligus data dibuat bersih (clean).
5.
Memecah gudang data dalam tabel fakta dan tabel dimensi. Tabel fakta dan tabel dimensi disusun menurut kebutuhan subyek.
Gudang data memiliki karakteristik utama sebagai berikut : Tabel 2.1 : Karakteristik Gudang Data Karakteristik
Deskripsi
Subject Orientation
Data diorganisir sesuai dengan kebutuhan user.
Integrated
Menghilangkan kerancuan dalam hal penamaan dan kekacauan informasi. Data harus “clean”.
Non-volatile
Data hanya dapat dibaca, tidak dapat diubah oleh user.
Time-series
Data dalam rangkaian waktu, bukan hanya status saat ini.
Summarized
Data operasional dikumpulkan (diringkas) untuk mendukung keputusan.
Larger
Memelihara data dari waktu ke waktu selama diperlukan.
Not-Normalized
Data dapat redundant.
Metadata
Data mengenai data untuk user dan personil gudang data.
Input
Data operasional ditambah data eksternal yang
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
9
dibutuhkan.
2.2
Pentaho Data Integration (Kettle) Pentaho Data Integration (PDI) atau Kettle adalah utilities ETL open
source di bawah Pentaho Corp. Amerika. Kettle terdiri dari 4 aplikasi yang dijalankan
melalui
shell
atau
batch
script
yang
berkaitan,
yaitu
(http://pentaho.phi-integration.com/kettle) :
Spoon, yaitu aplikasi grafis berbasis swing yang digunakan untuk merancang file skema job dan transformation
Pan, yaitu script yang digunakan untuk menjalankan file skema transformation melalui terminal / command line
Kitchen, yaitu script yang digunakan untuk menjalankan file skema job melalui terminal / command line
Carte, yaitu temporary web server yang digunakan untuk mengeksekusi job/transformation secara cluster atau parallel
Saat ini Kettle merupakan utilitas ETL yang sangat popular dengan beberapa fitur sebagai berikut (http://pentaho.phi-integration.com/kettle) :
1.
Memiliki utilitas grafik yang dapat digunakan merancang control flow umum maupun data flow (aliran data).
2.
Multi platform - karena dikembangkan di atas Java yang notabene berjalan di banyak platform sistem operasi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.
10
Bersifat concurrent, dalam arti row-row data diambil oleh suatu step dan diserahkan ke step lain secara parallel.
4.
Scalable - dapat beradaptasi dengan penambahan kapasitas memori RAM atau pun storage (scale up) dan dapat node komputer / cluster (scale out).
5.
Koleksi step transformation dan job yang cukup banyak
6.
Extensible, kita dapat membuat step transformation dan job baru dengan sistem plugin.
7.
Dukungan luas berbagai produk database yang terkenal di pasaran baik itu proprietary maupun free open source seperti Oracle, SQL Server, MySQL, PostgreSQL dan lain sebagainya.
2.3
OLAP (Online Analytical Processing) Online Analytical Processing adalah teknologi yang memproses data di
dalam data warehouse dalam struktur multidimensi. Sistem OLAP menyediakan kecepatan dan fleksibilitas untuk mendukung analisis dalam waktu singkat. Di dalam OLAP terdapat 2 komponen utama, yaitu cube dan dimension. Cube (kubus) adalah suatu pendekatan baru untuk memvisualisasikan bagaimana data diorganisasi. Dimension adalah suatu tabel parameter yang dibuat berdasarkan tabel di dalam data warehouse yang sifatnya dapat dikelompokkan dan diukur. Dengan menggunakan teknologi OLAP, user dapat menganalisis data secara interaktif dengan menggunakan fasilitas yang baik untuk membuat laporan. Di dalam teknologi OLAP, operasi – operasi yang dilakukan adalah sebagai berikut
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
11
(Han dan Kamber, 2006) :
Roll-up : melakukan konsolidasi data dengan cara meningkatkan tingkat suatu hirarki cube data pada multidimensional data sehingga pada saat roll-up dilakukan, maka jumlah dimensi akan berkurang. Contohnya, operasi roll-up yang dilakukan pada cube data di tingkat kecamatan menjadi tingkat kabupaten.
Drill-down : merupakan kebalikan dari roll-up dengan menurunkan tingkat suatu hirarki cube data sehingga dapat merepresentasikan cube untuk memberikan informasi lebih detil/terperinci.
Slicing dan dicing : digunakan untuk melihat data dari titik pandangan yang berbeda. Dimana, slicing dilakukan dengan cara memilih satu dimensi dari suatu cube sedangkan dicing dilakukan dengan cara memilih dua atau lebih dimensi dari suatu cube sehingga menghasilkan subcube.
2.4
Pre-Processing Pre-processing merupakan tahapan dalam membangun data mining yang
digunakan untuk membersihkan data dari segala noise. Tahap ini akan dilakukan dalam pembentukan gudang data (data warehouse) karena di dalam gudnag data membutuhkan data yang sudah bersih. Berikut ini merupakan langkah-langkah pre-processing (Han&Kamber, 2006): 1.
Pembersihan data ( data cleaning ) Proses ini dilakukan untuk membuang data noice dan yang tidak
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
12
konsisten akan dihapus. Langkah pertama yang dilakukan dalam proses
pembersihan
data
adalah
mendeteksi
ketidakcocokan.
Ketidakcocokan tersebut dapat disebabkan oleh beberapa factor antara lain adanya kesalahan petugas ketika memasukkan data, kemungkinan adanya kesalahan yang disengaja dan adanya data yang tidak sesuai. 2.
Integrasi data ( data integration ) Pada proses ini akan dilakukan penggabungan data. Data digabungkan dari beberapa tempat penyimpanan akan digabungkan ke dalam satu tempat penyimpanan data yang koheren.
3.
Seleksi data ( data selection ) Pada proses ini data yang relevan akan diambil dari basis data untuk dianalisis. Pada langkah ini, akan dilakukan analisis korelasi untuk analisa fitur. Atribut – atribut data yang ada akan dilakukan pengecekkan apakah atribut tersebut relevan untuk di-mining. Atribut yang tidak relevan atau atribut yang mengalami redudansi tidak akan digunakan atau diabaikan. Atribut yang akan digunakan adalah atribut yang bersifat independen. Atribut yang independen adalah atribut yang antara satu atribut dengan atribut yang lainnya tidak saling mempengaruhi.
4.
Transformasi data ( data transformation ) Pada proses ini data ditransformasikan ke dalam bentuk yang tepat untuk di-mining. Yang termasuk dalam proses transformasi data adalah penghalusan ( smooting ) yaitu proses menghilangkan noise
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
yang ada pada data, generalisasi ( generalization ) yaitu mengganti data primitive atau data level rendah menjadi data level tinggi, normalisasi ( normalization ) yaitu mengemas data atribut ke dalam skala yang kecil, dan konstruksi atribut atau fitur ( attribute construction atau feature construction ) yaitu mengkonstruksi dan menambahkan
atribut
baru
untuk
membantu
dalam
proses
penambangan. 5.
Penambangan data ( data mining ) Pada proses ini akan diaplikasikan metode yang tepat untuk mengekstrak pola data.
6.
Evaluasi pola ( pattern evaluation ) Proses ini dilakukan untuk mengidentifikasi pola yang benar dan menarik. Pola tersebut akan direpresentasikan dalam bentuk pengetahuan berdasarkan beberapa pengukuran yang penting.
7.
Presentasi pengetahuan ( knowledge presentation ) Pada langkah ini informasi yang sudah ditambang akan divisualisasikan dan direpresentasikan kepada pengguna. Tahapan tersebut dapat diilustrasikan kedalam gambar berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
14
Gambar 2.1 Tahapan dalam Data Mining Sumber : Han&Kamber(2006)
2.5
Multi Dimensional Modelling Teknologi OLAP menganut multi dimensional modeling yang berarti user
dapat
melihat
analisis
pengukuran
dengan
berbagai
dimensi
sebagai
pandangannya. Di dalam konsep ini, istilah - istilah yang berkaitan dengan OLAP adalah : 1. Cube : struktur multi dimensional konseptual, terdiri dari dimension dan measure dan biasanya mencakup pandangan bisnis tertentu. 2. Dimension : disebut juga dengan dimensi, merupakan view / sudut pandang yang menyusun cube. Dimensi terdiri dari berbagai level. 3. Measure : nilai pengukuran
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
15
4. Member : isi / anggota dari suatu dimensi / measure tertentu. Di dalam model multi-dimensional, database terdiri dari beberapa tabel fakta dan tabel dimensi yang saling berkaitan. Tabel fakta merupakan tabel yang berisi fakta numerik. Suatu tabel fakta berisi berbagai nilai agregasi yang menjadi dasar pengukuran (measure) serta beberapa key yang terkait ke tabel dimensi yang akan menjadi sudut pandang dari measure tersebut. Tabel dimensi yaitu tabel yang berisi petunjuk ke tabel fakta, digunakan untuk menunjukan darimana data dapat ditemukan dan tabel terpisah dibutuhkan untuk setiap dimensi. Pada tabel dimensi terdapat surrogate key yang merupakan primary key untuk tabel tersebut. Nilai ini biasanya berupa nilai sekuensial dan tidak memiliki arti dari proses bisnis darimana sumber data berasal. Dalam perkembangannya, susunan tabel fakta dan tabel dimensi ini memiliki standar perancangan atau yang disebut dengan schema karena terbukti meningkatkan performa dan kemudahan dalam penerjemahan ke sistem OLAP. Schema inilah yang nantinya menjadi dasar untuk melakukan data warehousing. Dua schema yang paling umum digunakan oleh berbagai OLAP engine adalah skema bintang (star schema) dan skema butir salju (snowflake schema).
2.6
Skema Bintang (Star Schema) Skema bintang berpusat pada satu tabel fakta yang dikelilingi oleh satu
atau beberapa tabel dimensi sebagai cabangnya sehingga terlihat seperti bintang. Setiap percabangan berhenti pada satu tabel dimensi atau dengan kata lain tabel dimensi dengan skema ini semuanya berupa leaf (daun) dan tidak ada percabangan lain dapat dilihat pada gambar 2.2 di bawah ini.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
16
Gambar 2.2 : Skema Bintang dari PHI-Minimart Dalam skema bintang tergambar dua jenis tabel, yaitu tabel dimensi dan tabel fakta. Kedua tabel tersebut mempunyai karakteristik masing-masing yang akan dijelaskan sebagai berikut : 1. Tabel Dimensi, karakteristiknya adalah :
Key tabel dimensi, merupakan primary key dari tabel dimensi yang mengidentifikasi setiap baris dalam tabel secara unik.
Merupakan tabel yang lebar. Tabel dimensi memiliki jumlah kolom atau atribut yang banyak, oleh karena itu tabel dimensi bersifat lebar.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
Atribut berupa teks. Dalam tabel dimensi, jarang ditemukan nilai numerik untuk perhitungan, atribut umumnya berupa teks yang merepresentasikan deskripsi tekstual dari komponen-komponen dalam dimensi bisnis.
Atribut-atribut tidak berhubungan secara langsung.
Tidak dinormalisasi. Untuk kinerja query yang efektif, paling baik jika query mengambil dari tabel dimensi dan langsung ke tabel fakta tanpa melalui tabel perantara yang akan terbentuk jika tabel dimensi dinormalisasi.
Kemampuan drill-down dan roll-up. Atribut-atribut dalam tabel dimensi menyediakan kemampuan untuk mendapatkan detail dari tingkat tinggi agregasi sampai tingkat detail yang rendah.
Terdapat beberapa hirarki. Berbagai bagian perusahaan dapat mengelompokkan dimensi dengan cara yang berbeda, sehingga terbentuk lebih dari 1 hirarki.
Jumlah record yang lebih sedikit. Tabel dimensi umumnya memiliki jumlah record atau baris yang lebih sedikit dari tabel fakta.
2. Tabel fakta, karakteristiknya adalah :
Concatenated key. Baris dalam tabel fakta diidentifikasi dengan menggunakan primary key dari tabel-tabel dimensi, maka primary
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
18
key dari tabel fakta merupakan gabungan primary key dari semua tabel dimensi.
Data grain, merupakan tingkat detail untuk pengukuran. Sebagai contoh, jumlah pemesanan berhubungan dengan jumlah produk tertentu pada suatu pesanan, tanggal tertentu, untuk pelanggan spesifik dan diperoleh oleh seorang perwakilan penjualan spesifik tertentu. Jika jumlah pesanan dilihat sebagai jumlah untuk suatu produk perbulan, maka data grain-nya berbeda dan pada tingkat yang lebih tinggi.
Fully additive measures. Agregasi dari fully additive measures dilaksanakan dengan penjumlahan sederhana nilai-nilai atribut tersebut.
Semiadditive measures. Semiadditive measures merupakan nilai yang tidak dapat langsung dijumlahkan, sebagai contoh persentase keuntungan. Tabel besar, tidak lebar. Tabel fakta umumnya memiliki lebih sedikit atribut daripada tabel dimensi, namun memiliki jumlah record yang lebih banyak.
Sparse data. Tabel fakta tidak perlu menyimpan record yang nilainya null. Maka tabel fakta dapat memiliki gap.
Degenerate dimensions. Terdapat elemen-elemen data dari sistem operasional yang bukan merupakan fakta ataupun dimensi, seperti nomor pesanan, nomor tagihan, dan lain-lain. Namun atributatribut tersebut dapat berguna dalam jenis analisis tertentu. Sebagai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
contoh, mencari rata-rata jumlah produk per pesanan, maka produk harus dihubungkan ke nomor pesanan untuk mendapatkan nilai rata-rata. Atribut-atribut tersebut disebut degenerate dimension dan disimpan sebagai atribut dari tabel fakta.
2.7
Multiway Array Aggregation For Full Cube Computation Multiway Array Aggregation merupakan metode untuk menghitung
ukuran data cube dengan menggunakan array multidimensi sebagai struktur data yang dasar. Metode ini, digunakan dengan tujuan dapat mempersingkat waktu dalam menampilkan data. Metode ini menggunakan array untuk menangani perhitungan nilai-nilai dimensi. Nilai – nilai itu diakses melalui posisi atau indeks lokasi array yang terkait. Metode ini menggunakan langkah – langkah untuk menghitung ukuran data cube, sebagai berikut : 1. Mempartisi array menjadi chunk. Chunk merupakan sub-cube yang cukup kecil untuk dapat dimasukkan ke dalam memori yang tersedia yang digunakan untuk melakukan perhitungan cube. Chunking adalah metode untuk membagi array n-dimensi menjadi n-dimensi potongan, di mana potongan disimpan sebagai objek pada disk. Potongan dikompres sehingga dapat digunakan untuk menghapus ruang kosong yang dihasilkan dari sel array kosong (sel-sel yang tidak mengandung data yang valid atau yang jumlah selnya adalah nol). Untuk lebih jelasnya, dapat diperhatikan contoh berikut ini :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
20
Misalkan, dimiliki cube dengan ukuran tiga dimensi (3D). Kemudian data dari dimensi ini diubah ke dalam data array untuk dapat dilakukan perhitungan. 3-D Data array yang berisi tiga dimensi A, B, dan C dipartisi menjadi chunk (sub-cube). Misalkan, dimensi A dibagi dalam empat sama besar partisi a0, a1, a2, a3 begitu pula Dimensi B dan C sama-sama diatur dalam empat partisi. Dalam contoh ini, array dibagi menjadi 64 potongan seperti yang ditunjukkan pada Gambar 2.3. dibawah ini.
Gambar 2.3 : 3-D array untuk dimensi A, B, dan C, yang dipartisi menjadi 64 chunks
2. Menghitung aggregate. Untuk menghitung aggregate, dilakukan dengan mengakses nilainilai yang ada pada sel di cube. Urutan dimana sel – sel yang dikunjungi dapat dioptimalkan sehingga dapat meminimalkan pengunjungan sel kembali, maka dari itu metode ini akan dapat mengurangi akses memori dan biaya penyimpanan. Teknik ini
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
21
melibatkan chunking beberapa perhitungan agregasi sehingga disebut sebagai multiway array aggregation. Pada metode ini, penghitungan agregasi dilakukan secara bersamaan pada beberapa dimensi. Untuk lebih jelasnya, dapat diperhatikan contoh berikut ini : Misalkan, dimiliki cube dengan ukuran tiga dimensi (3D) yaitu A, B, C dengan ukuran data untuk masing – masing dimensi adalah 40, 400, 4000. Kemudian untuk langkah pertama yang dilakukan adalah mempartisi ke dalam chunk. Masing – masing besar data dibagi sama besar yaitu dibagi dalam partisi 4 maka hasilnya adalah 10, 100, 1000. Kemudian urutan dari cubenya adalah sebagai berikut :
Base cuboid : ABC
2- cuboid : AB , AC, BC
1-cuboid : A, B, C
0-cuboid : all
Setelah itu dilakukan penghitungan agregasi, dengan mengakses nilai-nilai yang ada pada sel di dalam cube melewati dua alur yaitu kanan dan kiri, contohnya adalah :
ABC
ABC
AB A
AC
BC C
B (a)
AB
AC A
BC B
(b)
C
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
22
Untuk perhitungannya adalah perkalian antara besar data setiap dimensi yang dilewati, namun ketika melewati dimensi yang pernah dilewati maka perkalian dilakukan dengan nilai partisi dari dimensi yang telah dilewati. Perhitungan untuk alur AB adalah sebagai berikut (A*B) + ((A`)*C) + ((B`)*(C`)) = (40*400)+(10*4000)+(100*1000) = 16000+40000+100000=156.000 memory unit, kemudian perhitungan untuk
alur
BC
adalah
sebagai
berikut
(B*C)+(A*(C`))+((A`)*(B`))=(400*4000)+(40*1000)+(10*100) 1600000+40000+1000=1641000
memori
unit.
=
Kemudian
dibandingkan cube dengan memory unit yang minimum yang terbaik yang dipilih, oleh sebab itu cube (a) yang lebih efisien daripada cube (b).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III ANALISIS DAN DESAIN
Bab ini menjelaskan mengenai analisis dan perancangan metode Multiway Array Aggregation untuk mendapatkan cube dari data penyakit yang ada di Puskesmas Jebed,Pemalang, Jawa Tengah dengan ukuran yang tepat untuk sebuah OLAP agar dapat merepresentasikan data penyakit secara cepat.
3.1.
Identifikasi dan Analisis Kebutuhan Puskesmas Jebed Kabupaten Pemalang membutuhkan sistem gudang
data yang baik untuk memantau jumlah penyakit dengan penderita setiap bulan dalam setiap tahunnya. Hasil dari pemantauan jumlah penyakit tersebut dapat digunakan untuk menghitung jumlah penyakit dengan penderita terbanyak setiap bulan dalam setiap tahunnya untuk diprioritaskan dalam program pencegahan. Data yang digunakan bertipe spreadsheet. Data tersebut meliputi jenis penyakit, jumlah kasus baru, lama kunjungan kasus menurut golongan umur, jumlah. Berikut ini contoh data laporan bulanan data penyakit dan kunjungan total periode bulan Januari tahun 2010.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 24
SP2TP
ICD-X
JENIS PENYAKIT
0102
A01
Typus perut
0106
A06
Amoebiasis
0105
A09
Diare dan Gastroenteritis non spesifik
0201
A15
TB Paru BTA (+)
0204
A16
TB Klinis Termasuk Rongent (+) BTA (-)
0407
B01
Varicella
0408
B02
Herpes Zoster
0409
B05
Campak
0416
B26
Parotitis
0701
B35
Penyakit kulit karena jamur
......
.......
.........
JUMLAH KASUS BARU, LAMA DAN KUNJUNGAN KASUS MENURUT GOLONGAN UMUR 0-
0-
0-
1-
1-
1-
5-
5-
5-
28hr
28hr
28hr
28hr-
28hr-
28hr-
4th
4th
4th
14th
14th
14th
B
L
K
1th B
1th L
1th K
B
L
K
B
L
K
0
0
0
0
0
0
4
0
0
14
0
0
0
0
0
0
0
5
0
0
4
0
0
0
7
0
0
31
0
0
20
>
>
>
15-
15-
15-
45-
45-
45-
55-
55-
55-
60th
60th
60th
44th B
44th L
44th K
54th B
54th L
54th K
60th B
60th L
60th K
B
L
K
0
11
0
0
3
0
0
1
0
0
1
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
17
0
0
2
0
0
1
0
0
1
0
0
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 25
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
0
9
0
0
2
0
0
4
0
0
1
0
0
0
0
0
0
0
0
1
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
JUMLAH B
L
K
B+L+K
34
0
0
34
14
0
0
14
79
0
0
79
1
0
0
1
3
0
0
3
22
0
0
22
6
0
0
6
1
0
0
1
16
0
0
16
3
0
0
3
2
0
0
2
Gambar 3.1 Contoh data laporan bulanan data penyakit dan kunjungan total bulan Januari tahun 2010
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.2
26
Mengumpulkan dan Menganalisa Sumber Data Data penyakit dan kunjungan Total di Puskesmas Jebed, Kabupaten
Pemalang periode tahun 2010 hingga 2012 berupa data Excel yang bertipe .xls. Dikarenakan pemantauan dari Puskesmas Jebed, Pemalang berdasarkan bulan dan tahun maka file terbagi dalam banyak sheet, di mana dalam satu sheet terdapat data yang meliputi jenis penyakit, jumlah kasus baru, lama kunjungan kasus menurut golongan umur, jumlah. Namun setelah melihat data yang ada, diharapkan penelitian ini dapat membantu memecahkan masalah tersebut dengan membuat gudang data untuk Puskesmas Jebed, Pemalang di mana gudang data tersebut menggunakan cube dengan ukuran yang baik. Berikut Diagram Usecase yang digunakan dalam sistem.
Pemantauan Jumlah penyakit Dinas Puskesmas Jebed Pemalang Mengelola Gudang Data Penyakit Admin
Gambar 3.2 Diagram Usecase Ada dua aktor yang berperan menjalankan sistem ini, yaitu: 1.
Admin Aktor yang berperan dalam mengelola gudang data penyakit. Jika ada
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
27
penambahan data yang digunakan di dalam sistem maka admin dapat menambahkannya. 2.
Dinas Puskesmas Jebed Pemalang Aktor yang berperan dalam memilih pemantauan jumlah penyakit. Dinas Puskesmas Jebed Pemalang dapat melihat hasil data penyakit yang telah diolah oleh sistem.
3.3
Mengubah data penyakit ke dalam gudang data (data warehouse)
3.3.1 Membaca Data Legacy Data yang digunakan dalam tugas akhir ini berupa Laporan Bulanan Data Kesakitan Kunjungan Total di Puskesmas Jebed, Kabupaten Pemalang periode tahun 2010 hingga 2012. Bahan data tersebut berupa dokumen excel yang berisi : 1. Jenis Penyakit 2. Jumlah Kasus Baru 3. Jumlah Kasus Lama 4. Jumlah Kunjungan 5. Kelompok Umur 6. Jumlah Total 7. Bulan Pada studi kasus ini, sumber data dari gudang data berbentuk dalam dokumen excel. Sebelum data dipindahkan dalam gudang data, harus dilakukan tahap preprocessing. Untuk tahap-tahap pre-processing yang dilakukan adalah : Mengubah spasi pada header dengan garis bawah ( _ )
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
28
Menghilangkan data yang bukan merupakan penyakit Menambahkan kolom bulan dan tahun
1.
Mengubah spasi pada header dengan garis bawah ( _ ) karena pada database untuk penamaan kolom tidak bisa menggunakan spasi, sedangkan header pada excel digunakan untuk penamaan kolom. JENIS_PENYAKIT JENIS PENYAKIT
Typus Perut Infeksi Bakteri Lain
Typus Perut
Amoebiasis Infeksi Bakteri Lain
Diare dan Gastroenteritis non spesifik
Amoebiasis
TB paru BTA (+)
Diare dan Gastroenteritis non
TB Klinis Termasuk Rongent (+) BTA (-)
spesifik
Varicella
TB paru BTA (+)
Herpes Zoster
TB Klinis Termasuk Rongent (+)
Campak Hepatitis A Akuta
BTA (-) Kusta MB Varicella Herpes Zoster Campak
Gambar 3.3 Langkah preprocessing mengubah header
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.
29
Menghilangkan data yang bukan merupakan penyakit, misalkan kecelakaan.
3805
L08
Penyakit kulit infeksi lain
3805
L08
Penyakit kulit infeksi lain
3808
L23
Penyakit Kontak Alergi
3808
L23
Penyakit Kontak Alergi
3809
L29
Pruritus
3809
L29
Pruritus
3812
L50
Urticaria
3812
L50
Urticaria
4001
M06
Rhumatoid Arthritis lain
4001
M06
Rhumatoid Arthritis lain
4002
M10
Goot
4002
M10
Goot
4008
M13
Arthritis tidak spesifik
4008
M13
Arthritis tidak spesifik
4701
V89
Kecelakaan lalu lintas
4702
W19
Jatuh
4708
Y07
Kecelakaan kerja Follow up tindakan operasi misal bk
4804
Z48
jhitn, bk pmbalut
Gambar 3.4 Langkah preprocessing menghapus data bukan penyakit
3.
Menambah kolom bulan dan tahun, agar laporan dapat didapatkan informasi laporan dalam periode bulan ataupun tahun. ICDSP2TP
JENIS PENYAKIT X
0101
A00
Kolera
0102
A01
Typus Perut
0103
A04
Infeksi Bakteri Lain
0106
A06
Amoebiasis
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
30
Diare dan Gastroenteritis non 0105
A09
spesifik
0201
A15
TB paru BTA (+) TB Klinis Termasuk Rongent (+)
0204
A16
BTA (-)
0209
A16
TB Anak
0304
A30
Kusta PB
0305
A30A
Kusta MB
SP2TP
ICD-X
BULAN
TAHUN
JENIS_PENYAKIT
0102
A01
1
2011
Typus perut
0103
A04
1
2011
Infeksi Bakteri Lain
0106
A06
1
2011
Amoebiasis
0105
A09
1
2011
Diare dan Gastroenteritis non spesifik 0201
A15
1
2011
0204
A16
1
2011
TB Paru BTA (+) TB Klinis Termasuk Rongent (+) BTA (-)
0305
A30A
1
2011
Kusta MB
0404
A90
1
2011
Dengue Fever
0407
B01
1
2011
Varicella
0408
B02
1
2011
Herpes Zoster
Gambar 3.5 Langkah preprocessing menambah kolom bulan dan tahun
Kemudian data laporan tersebut dipisah-pisah sesuai dengan kebutuhan pengguna untuk melihat laporan. Data yang terpisah ini nantinya juga akan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
31
digunakan dalam tugas akhir ini sebagai tabel dimensi dan tabel fakta. Data laporan tersebut dipisahkan sebagai berikut : 1. Nama penyakit, meliputi SP2TP, ICD-X, dan Jenis_Penyakit 2. Waktu, meliputi id_bulan, id_tahun, nama_bulan, tahun 3. Kelompok Umur, meliputi id_klpk_umur, nama_kelompok_umur 4. Penyakit, meliputi SP2TP, ICD-X, Bulan, Tahun, Jenis_Penyakit, 028hr_B, 0-28hr_L, 0-28hr_K, 28hr-1th_B, 28hr-1th_L, 28hr1th_K, 1-4th_B, 1-4th_L, 1-4th_K, 5-14th_B, 5-14th_L, 5-14th_K, 15-44th_B, 15-44th_L, 15-44th_K, 45-54th_B, 45-54th_L, 4554th_K,
55-60th_B,
55-60th_L,
55-60th_K,
diatas_60th_B,
diatas_60th_L, diatas_60th_K, B, L, K, B+L+K.
3.3.2 Menggabungkan data dari berbagai sumber terpisah Data yang digunakan dalam tugas akhir ini dibuat dalam satu dokumen excel dari tahun 2010 hingga 2012. Data yang digunakan ini merupakan data yang sudah melalui proses pembersihan. Berikut ini akan ditampilkan gambar data yang telah disatukan dalam satu dokumen excel dari tahun 2010 hingga 2012 yang akan ditampilkan dalam gambar 3.6-3.8.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
32
Gambar 3.6 Contoh Data I Pada gambar 3.6 merupakan contoh data bersih dari tahun 2010, data tersebut terdiri dari SP2TP, ICD-X, Bulan, Tahun, Jenis Penyakit, Kelompok Umur disetiap kunjungan penyakitnya, kunjungan penyakit terdiri dari baru, lama, kunjungan.
Gambar 3.7 Contoh Data II Pada gambar 3.7 merupakan contoh data bersih dari tahun 2011, data tersebut terdiri dari SP2TP, ICD-X, Bulan, Tahun, Jenis Penyakit, Kelompok Umur disetiap kunjungan penyakitnya, kunjungan penyakit terdiri dari baru, lama,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
33
kunjungan
Gambar 3.8 Contoh Data III Pada gambar 3.8 merupakan contoh data bersih dari tahun 2012, data tersebut terdiri dari SP2TP, ICD-X, Bulan, Tahun, Jenis Penyakit, Kelompok Umur disetiap kunjungan penyakitnya, kunjungan penyakit terdiri dari baru, lama, kunjungan
3.3.3 Memindahkan data dari sumber ke server gudang data Setelah melakukan tahap preprocessing kemudian memulai membuat gudang data dengan memasukkan data excel yang telah dipisah-pisah ke dalam database. Data-data excel itu dimasukkan dalam tabel-tabel yang digunakan sebagai dimensi dalam OLAP. Tabel-tabel tersebut disimpan dalam database penyakit. Untuk memasukkan data ke dalam database digunakan aplikasi kettle (Pentaho Data Integration).
Database untuk menyimpan tabel-tabel tersebut
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
34
diberi nama penyakit.
Gambar 3.9 Database Penyakit
3.3.3.1
Nama penyakit, meliputi SP2TP, ICD-X, dan Jenis_Penyakit
PK
Nama Penyakit sk_nama_penyakit SP2TP ICD-X Jenis_Penyakit
Tabel nama_penyakit
File excel nama_penyakit Merupakan
pembentukan
tabel
nama_penyakit
dari
file
excel
nama_penyakit. Berisi atribut SP2TP, ICD-X, dan Jenis_Penyakit, serta ditambah dengan surrogate key yaitu sk_nama_penyakit.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.3.3.2
35
Waktu, meliputi id_bulan, id_tahun, nama_bulan, tahun, sk_waktu
PK
Waktu sk_waktu id_bulan id_tahun nama_bulan tahun
Tabel waktu
File excel waktu Merupakan pembentukan tabel waktu dari file excel waktu. Berisi atribut id_bulan, id_tahun, nama_bulan, tahun, serta ditambah dengan surrogate key yaitu sk_waktu.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.3.3.3
36
Kelompok Umur, meliputi id_klpk_umur, nama_kelompok_umur
PK
Kelompok Umur sk_kelompok_umur id_klpk_umur nama_kelompok_umur
Tabel kelompok umur
File excel kelompok_umur Merupakan pembentukan tabel kelompok umur dari file excel kelompok umur. Berisi atribut id_klpk_umur, nama_kelompok_umur, serta ditambah dengan surrogate key yaitu sk_kelompok_umur.
3.3.3.4
Penyakit, meliputi SP2TP, ICD-X, Bulan, Tahun, Jenis_Penyakit, 028hr_B, 0-28hr_L, 0-28hr_K, 28hr-1th_B, 28hr-1th_L, 28hr-1th_K, 14th_B, 1-4th_L, 1-4th_K, 5-14th_B, 5-14th_L, 5-14th_K, 15-44th_B, 15-44th_L, 15-44th_K, 45-54th_B, 45-54th_L, 45-54th_K, 55-60th_B, 55-60th_L, 55-60th_K, diatas_60th_B, diatas_60th_L, diatas_60th_K, B, L, K, B+L+K
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
37
File excel penyakit
penyakit PK
SP2TP id_bulan id_tahun id_klpk_umur B L K Tabel penyakit
Merupakan pembentukan tabel penyakit dari file excel penyakit. Berisi atribut SP2TP, id_bulan, id_tahun, id_klpk_umur, B, L, K.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.3.4
38
Memecah gudang data dalam tabel fakta dan tabel dimensi
dim_kelompok_umur
Tabel Fakta_Penyakit
dim_waktu
id_klpk_umur nama sk_kelompok_umur
B L K sk_bulan sk_tahun sk_kelompok_umur sk_nama_penyakit
id_bulan nama_bulan id_tahun tahun sk_waktu
dim_nama_penyakit sk_nama_penyakit SP2TP ICD-X jenis_penyakit
Berikut ini akan dijelaskan pembuatan tabel-tabel yang akan disimpan dalam database penyakit yang kemudian akan dipakai untuk dimensi dalam OLAP: 1.
Nama Penyakit
Gambar 3.10 nama penyakit.ktr Gambar
3.10
merupakan
rangkaian
pembentukan
tabel
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
39
dim_nama_penyakit yang bertujuan untuk mengambil data excel nama penyakit untuk kemudian diletakkan dalam database dengan langkah sebagai berikut : a.
Ambil data dari excel
b.
Menambahkan surrogate key dengan menggunakan step “add sequence”
c.
Merubah metadata dengan menggunakan step “select values”
d.
Memasukkan
data
yang
telah
diolah
ke
dalam
tabel
dim_nama_penyakit pada database penyakit
Gambar 3.11 Tabel dim_nama_penyakit Gambar 3.11 merupakan tabel dim_nama_penyakit. Terdapat kolom sk_nama_penyakit
yang
merupakan
surrogate
key,
jenis_penyakit. Jumlah data record pada tabel ini adalah 109.
SP2TP,
ICD-X,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.
40
Waktu
Gambar 3.12 waktu.ktr Gambar 3.12 merupakan rangkaian pembentukan tabel dim_waktu yang bertujuan untuk mengambil data excel waktu untuk kemudian diletakkan dalam database dengan langkah sebagai berikut : a.
Ambil data dari excel
b.
Menambahkan surrogate key dengan menggunakan step “add sequence”
c.
Merubah metadata dengan menggunakan step “select values”
d.
Memasukkan data yang telah diolah ke dalam tabel dim_waktu pada database penyakit
Gambar 3.13 Tabel dim_waktu
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
41
Gambar 3.13 merupakan tabel dim_waktu. Terdapat kolom sk_waktu yang merupakan surrogate key, id_bulan, id_tahun, nama_bulan, tahun.
3.
Kelompok Umur
Gambar 3.14 Kelompok Umur.ktr Gambar
3.14
dim_kelompok_umur
yang
merupakan bertujuan
rangkaian untuk
pembentukan
mengambil
data
tabel excel
kelompok_umur untuk kemudian diletakkan dalam database dengan langkah sebagai berikut : a.
Ambil data dari excel
b.
Menambahkan surrogate key dengan menggunakan step “add sequence”
c.
Merubah metadata dengan menggunakan step “select values”
d.
Memasukkan
data
yang
telah
diolah
ke
dim_kelompok_umur pada database penyakit
Gambar 3.15 Tabel dim_kelompok_umur
dalam
tabel
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
Gambar 3.15 merupakan tabel dim_kelompok_umur. Terdapat kolom sk_kelompok_umur
yang
merupakan
surrogate
key,
id_klpk_umur,
nama_kelompok_umur.
4.
Penyakit
Gambar 3.16 Penyakit.ktr Gambar 3.16 merupakan rangkaian pembentukan tabel penyakit dimana dalam tabel ini terdapat transaksi penyakit (dalam arti jumlah kunjungan penyakit), diawali dengan mengambil data excel penyakit untuk kemudian dilakukan perubaham metadata selanjutnya dinormalisasikan setelah itu dirubah kembali metadanya dan kemudian disimpan dalam tabel fact_penyakit untuk diletakkan dalam database penyakit.
Gambar 3.17 Tabel penyakit Gambar 3.17 merupakan tabel penyakit. Terdapat kolom SP2TP,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
id_bulan, B, L, K, id_klpk_umur, id_tahun. Jumlah recordnya adalah 5224. Setelah pembentukan tabel-tabel dimensi dilakukan, langkah berikutnya adalah membentuk tabel fakta.
Gambar 3.18 fact_penyakit.ktr Gambar 3.18 merupakan rangkaian pembentukan tabel fact_penyakit dimana tabel ini digunakan dalam proses OLAP, diawali dengan memasukkan data dari tabel penyakit_tr kemudian menyamakan dengan dimensi-dimensi, merubah metadata atau memilih data, dan selanjutnya dinormalisasikan setelah itu dirubah kembali metadanya dan kemudian memasukkan data ke dalam tabel fact_peyakit untuk diletakkan dalam database penyakit.
Gambar 3.19 Tabel fact_penyakit
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
44
Gambar 3.19 merupakan tabel fakta yang terdiri dari B (merupakan pasien baru), L (merupakan pasien lama), K (merupakan psien kunjungan atau pasien dari luar daerah). Didalam tabel ini juga berisi semua sk dari semua dimensi
yang
ada
yakni
sk_bulan,
sk_tahun,
sk_kelompok_umur,
sk_nama_penyakit.
3.4
Membuat skema bintang Dari tabel – tabel dimensi serta tabel fakta yang terbentuk, maka
dibuatlah skema bintang seperti di bawah ini : Tabel Fakta_Penyakit dim_kelompok_umur id_klpk_umur nama sk_kelompok_umur
dim_waktu B L K sk_bulan sk_tahun sk_kelompok_umur sk_nama_penyakit
dim_nama_penyakit sk_nama_penyakit SP2TP ICD-X jenis_penyakit
Gambar 3.20 Skema Bintang
id_bulan id_tahun nama_bulan tahun sk_waktu
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
45
Skema bintang yang dibentuk ini berpusat pada tabel fakta yaitu fact_penyakit dan dikelilingi oleh 4 tabel dimensi, yaitu dimensi bulan, tahun, kelompok umur, dan nama penyakit.
3.5
Membangun cube Pada tugas akhir ini, cube dibangun dengan dua cara yaitu dengan
menggunakan Schema Workbench dan menggunakan Netbeans untuk simulasi dari Multiway Array Aggregation.
Cube Penyakit
measure
Dimensi nama_penyakit
Dimensi waktu
Dimensi kelompok_umur
Gambar 3.21 Cube Penyakit
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
46
Gambar 3.21 merupakan proses pembuatan cube yang memiliki tabel fakta fact_table2 dan 3 measure (nilai pengukuran) yaitu jumlah B, jumlah L, jumlah K. terdapat 3 dimensi yaitu NamaPenyakit, KelompokUmur, dan Waktu. Dalam implementasi pembuatan cube menggunakan netbeans terdapat 6 kelas, diantaranya adalah : 1.
InputDimensi.jsp Pada kelas ini, dilakukan input data dimensi-dimensi untuk kemudian dipecah di dalam kelas berikutnya.
2.
PecahDimensi.jsp Pada kelas ini, dilakukan pemecahan dimensi untuk mendapatkan kombinasi dan jalur dari dimensi untuk dilakukan perhitungan menggunakan multiway array aggregation.
3.
Coba.jsp Pada kelas ini, memanggil kelas HitungHasil.java untuk menghitung inputan jalur serta menyimpannya ke dalam tabel pada sql untuk dapat ditampilkan hasilnya.
4.
Generate.jsp Kelas ini melakukan pembentukan file bertipe xml.
5.
HitungHasil.java Kelas ini terdapat method-method untuk dilakukannya perhitungan multiway array aggregation. Algoritma multiway array aggregation adalah sebagai berikut : - Mempartisi array
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
- Mengakses nilai-nilai dimensi - Menghitung aggregate nilai-nilai - Mengambil hasil minimum dari perhitungan Dalam studi kasus ini, dimiliki 3 dimensi untuk membentuk suatu cube. Dimensi – dimensi tersebut adalah Nama Penyakit (N), Waktu (W), Kelompok Umur (K). Besar data untuk masing – masing dimensi tersebut adalah 109, 36, 8 kemudian masing – masing dimensi besar datanya dibagi sama besar yaitu dibagi dalam partisi 2 maka hasilnya adalah 55, 18, 4. Kemudian dari 3 dimensi itu didapatkan urutan cubenya adalah sebagai berikut : Tabel 3.1 Tabel daftar cube dan cuboid No.
Base Cuboid
2-cuboid
1-cuboid
0-cuboid
1.
NKW
NK, NW, KW
N,K,W
all
2.
NWK
NW,NK,WK
N,W,K
all
3.
KNW
KN,KW,NW
K,N,W
all
4.
KWN
KW,KN,WN
K,W,N
all
5.
WKN
WK,WN,KN
W,K,N
all
6.
WNK
WN,WK,NK
W,N,K
all
Setelah didapatkan urutan cube, dilakukan perhitungan agregasi dari alur kiri dan kanan. Berikut ini adalah perhitungan manual dari multiway array aggregation dari kiri dan kanan :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
NK
N
KIRI
KANAN
NKW
NKW
NW
K
KW
NK
NW
W
N
NK
W
NWK
WK
K
NW
NK
N
109 * 36 = 3924 55 * 8 = 440 18 * 4 = 72 4436
K
KW
N
W
8 * 109 = 872 4 * 36 = 144 55 * 18 = 990 2006
WK
K
W
36 * 8 = 288 109 * 4 = 436 55 * 18 = 990 1714 KNW
KNW
KN
W
K
8 * 36 = 872 109 * 18 = 1980 55 * 4 = 72 2470
NWK
NW
KW
N
109 * 8 = 872 55 * 36 = 1980 4 * 18 = 72 2924
48
NW
KN
KW
K 109 * 36 = 3924 8 * 18 = 144 4 * 55 = 220 4288
NW
N
W
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KWN
KW
K
KN
W
KWN
WN
KW
N
W
K
36 8 4
KN
WK
N
W
N
K
36 * 109= 3924 18 * 8 = 144 55 * 4 = 220 4288
WN
W
N
KN
N
K
8 * 109 = 872 36 * 55 = 1980 18 * 4 = 72 2924
WNK
WK
W
WKN
*8 = 288 * 109 = 1962 * 55 = 220 2470
WN
WN
36 * 109 = 3924 8 * 55 = 440 4 * 18 = 72 4436
WKN
WN
KN
K
8 * 36 = 288 4 * 109 = 436 18 * 55 = 990 1714
WK
49
WNK
NK
WN
WK
W 109 * 8 = 872 36 * 4 = 144 18 * 55 = 990 2006
NK
N
K
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
50
Dari hasil perhitungan di atas, kemudian diambil nilai paling kecil yaitu 1714 yang dimiliki oleh KWN dan NWK, maka cube itulah yang baik karena dari perhitungan di atas cube tersebut memiliki jumlah memory unit yang kecil. 6.
DatabaseConnection.java Pada kelas ini terdapat pengaturan koneksi database yang digunakan untuk penyimpanan data.
3.6
Menganalisis cube Setelah cube penyakit terbentuk maka selanjutnya dilakukan pembuatan
gudang data dengan cube yang terbaik dari perhitungan multiway array aggregation. Untuk mendapatkan cube yang terbaik dilakukan perbandingan. Proses perbandingan dilihat dari kecepatan saat proses load gudang data dari database. Pada proses ini, dilakukan pengujian dengan metode yang disebut calculating page loading time. Pengujian tersebut dilakukan dengan cara mencatat waktu load page saat mengakses cube dari gudang data yang telah terbentuk.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB IV IMPLEMENTASI
Pada bab IV ini akan menjelaskan implementasi sistem.
4.1
Arsitektur Sistem
Gambar 4.1 Arsitektur Sistem Gambar 4.1 di atas merupakan arsitektur sistem yang akan digunakan untuk pembuatan gudang data di daam penelitian tugas akhir ini. Proses pembuatan gudang data penyakit berasal dari file-file excel atau yang bertipe .xls didapatkan dari studi kasus pada puskesmas jebed, kabupaten pemalang. Data file yang bertipe .xls tersebut kemudian diolah agae dapat disimpan dalam satu database yaitu database penyakit yang selanjutnya akan dilakukan proses ETL (Extract, Transform, Load). Hasil yang didapat dari proses ETL akan disimpan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
52
sebagai gudang data kemudian dilakukan proses OLAP. Melalui proses OLAP, dinas puskesmas Jebed dapat memantau jumlahpenyakit yang ada di kabupaten Pemalang. Untuk mendukung arsitektur di atas, maka diperlukan beberapa software dan hardware dalam pembuatannya, yaitu : 1.
Dalam proses pembentukan gudang data ini akan memakai database MySQL.
2.
Tools
yang
digunakan
adalah
Kettle-Spoon-4.1.0,
Schema
Workbench, Mondrian, dan aoache-tomcat-7.0.16 3.
Spesifikasi hardware yang digunakan dalam penelitian ini adalah sebagai berikut : Processor : IntelIntel(R) Core(TM) i3-2330M CPU @ 2.20GHz (4 CPUs), ~2.2GHz Memory: 2048MB RAM Hardisk : 500GB Web browser : Mozilla Operating – System : Windows 7 Ultimate 32-bit (6.1, Build 7600)
4.2
Implementasi Usecase Di dalam implementasi ini, penulis membuat pembentukan OLAP
menggunakan cube terbaik dari perhitungan menggunakan Multiway Array Aggregation. Informasi yang diperoleh dari implementasi usecase memantau kunjungan wisatawan adalah nama penyakit yang tercatat pada puskesmas Jebed,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
53
waktu, kelompok umur, kemudian jumlahnya. Hasil dari implementasi tersebut dapat dilihat pada gambar 4.2 di bawah ini :
Gambar 4.2 Pemantauan Data Penyakit
Implementasi dalam pembuatan cube menggunakan 6 kelas, diantaranya adalah : Tabel 4.1 Tabel daftar kelas No.
Nama Kelas
Fungsi
1.
InputDimensi.jsp
input dimensi – dimensi untuk kemudian dikirim ke kelas berikutnya untuk dipecah
2.
PecahDimensi.jsp
mendapatkan kombinasi dan jalur dari dimensi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
untuk
54
dilakukan
perhitungan menggunakan
multiway
array aggregation 3.
Coba.jsp
memanggil
kelas
HitungHasil.java
untuk
menghitung inputan jalur serta menyimpannya ke dalam tabel
pada sql
untuk dapat ditampilkan hasilnya 4.
Generate.jsp
generate perhitungan,
hasil kemudian
dibentuk menjadi file xml 5.
HitungHasil.java
terdapat method untuk perhitungan
multiway
array aggregation 6.
DatabaseConnection.java
pengaturan database.
koneksi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1.
55
HitungHasil.java
Kelas ini terdapat method-method untuk dilakukannya perhitungan multiway array aggregation. for (int j = jalur.size() - 1; j >= 0; j--) { int bil1; int bil2; switch (j) { case 2: { if (jalur.get(j).charAt(0) == 'N') { bil1 = N; } else if (jalur.get(j).charAt(0) == 'K') { bil1 = K; } else { bil1 = W; } if (jalur.get(j).charAt(1) == 'N') { bil2 = N; } else if (jalur.get(j).charAt(1) == 'K') { bil2 = K; } else { bil2 = W; } hasil2 += bil1 * bil2; break; }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
case 1: { if (jalur.get(j).charAt(1) == 'N') { bil2 = Math.round((float) N / 2); } else if (jalur.get(j).charAt(1) == 'K') { bil2 = Math.round((float) K / 2); } else { bil2 = Math.round((float) W / 2); } if (jalur.get(j).charAt(0) == 'N') { bil1 = N; } else if (jalur.get(j).charAt(0) == 'K') { bil1 = K; } else { bil1 = W; } hasil2 += bil1 * bil2; break; } case 0: { if (jalur.get(j).charAt(0) == 'N') { bil1 = Math.round((float) N / 2); } else if (jalur.get(j).charAt(0) == 'K') { bil1 = Math.round((float) K / 2); } else { bil1 = Math.round((float) W / 2); } if (jalur.get(j).charAt(1) == 'N') { bil2 = Math.round((float) N / 2); } else if (jalur.get(j).charAt(1) == 'K') { bil2 = Math.round((float) K / 2); } else { bil2 = Math.round((float) W / 2); } hasil2 += bil1 * bil2; break; } }
56
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
for (int i = 0; i < jalur.size(); i++) { switch (i) { case 0: { int bil1; int bil2; if (jalur.get(i).charAt(0) == 'N') { bil1 = N; } else if (jalur.get(i).charAt(0) == 'K') { bil1 = K; } else { bil1 = W; } if (jalur.get(i).charAt(1) == 'N') { bil2 = N; } else if (jalur.get(i).charAt(1) == 'K') { bil2 = K; } else { bil2 = W; } hasil1 += (bil1 * bil2); break; } case 1: { int bil1; int bil2; if (jalur.get(i).charAt(0) == 'N') { bil1 = Math.round((float) N / 2); } else if (jalur.get(i).charAt(0) == 'K') { bil1 = Math.round((float) K / 2); } else { bil1 = Math.round((float) W / 2); } if (jalur.get(i).charAt(1) == 'N') { bil2 = N; } else if (jalur.get(i).charAt(1) == 'K') { bil2 = K; } else { bil2 = W; } hasil1 += (bil1 * bil2); break; }
57
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
case 2: { int bil1; int bil2; if (jalur.get(i).charAt(0) == 'N') { bil1 = Math.round((float) N / 2); } else if (jalur.get(i).charAt(0) == 'K') { bil1 = Math.round((float) K / 2); } else { bil1 = Math.round((float) W / 2); } if (jalur.get(i).charAt(1) == 'N') { bil2 = Math.round((float) N / 2); } else if (jalur.get(i).charAt(1) == 'K') { bil2 = Math.round((float) K / 2); } else { bil2 = Math.round((float) W / 2); } hasil1 += (bil1 * bil2); break; } } } return hasil1; }
58
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
public static void data(int[] jumlah) { N = jumlah[0]; W = jumlah[1]; K = jumlah[2]; }
try { com.penyakit.DataBaseConnection conn = new com.penyakit.DataBaseConnection(); conn.getDataBaseConnection(); String query1 = "insert into simpanHasil values ('" + pilihDimensi + "','" + pilihJalur + "','" + hasil1 + "','" + hasil2 + "')"; Statement statement = conn.getConnection().createStatement(); statement.executeUpdate(query1); conn.getConnection().close(); } catch (SQLException ex) { Logger.getLogger(HitungHasil.class.getName()).log(Level.SEVERE, null, ex); }
59
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.
60
DatabaseConnection.java
Pada kelas ini terdapat pengaturan koneksi database yang digunakan untuk penyimpanan data. private String jdbcURL = "jdbc:mysql://localhost:3306/penyakit"; private String user = "root"; private String password = "admin"; private Connection connection; public boolean isConnected(){ if (connection!=null) return true; else return false; } public boolean getClosed(){ if(isConnected()){ try { connection.close(); connection=null; } catch (SQLException ex) { } return true; } else return false; } public void getDataBaseConnection() { try { Class.forName("org.gjt.mm.mysql.Driver"); connection = DriverManager.getConnection(jdbcURL, user, password); System.out.println("koneksi berhasil"); } catch (Exception ex) { System.out.println("message: " + ex.getMessage()); } }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB V ANALISIS HASIL
Bab V akan membahas mengenai analisa hasil dari implementasi sistem. 5.1.
Penyelesaian Rumusan Masalah Pada bab pendahuluan yang dibuat penulis, penulis merumuskan masalah
yang akan diselesaikan dalam penelitian ini. Adapun rumusan masalah yang dibuat adalah Bagaimana Multiway Array Aggregation menentukan cube yang tepat untuk pembuatan OLAP bagi data penyakit dari Puskesmas Jebed, Kabupaten Pemalang, Jawa Tengah sehingga data dapat ditampilkan dengan cepat. Tujuan dari perumusan masalah ini adalah mendapatkan cube yang tepat untuk pembuatan database Online Analytical Process (OLAP) dari data penyakit dari Puskesmas Jebed, Kabupaten Pemalang, Jawa Tengah tahun 2010 hingga 2012 sehingga dapat ditampilkan dengan cepat untuk pemantauan data penyakit di puskesmas Jebed, Kabupaten Pemalang. Hasil dari perhitungan Multiway Array Aggregation dari masing-masing cube dengan jumlah data N = 192, W = 36, dan K
=
8
adalah
sebagai
berikut
:
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
62
Gambar 5.1 Hasil Implementasi Perhitungan Multiway Array Aggregation Dari hasil yang didapatkan di atas dapat diketahui bahwa perhitungan program simulasi Multiway Array Aggregation dengan perhitungan manual menghasilkan hasil yang sama, maka program dapat dikatakan valid. Dari hasil di atas maka didapatkan jumlah nilai memori yang terkecil adalah 1714 yang dimiliki oleh cube NWK dan KWN, setelah itu dilakukan pengujian untuk mengambil cube yang terbaik antara keduanya. Untuk mendapatkan cube yang terbaik dilakukan proses perhitungan akses waktu
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
63
menggunakan metode calculating page loading time. Penulis memberikan rentang waktu yang baik dalam akses cepat cube adalah 0,1 s hingga 4 s. Apabila waktu akses berada di dalam rentang waktu yang telah ditentukan maka program dapat dikatakan valid. Untuk mendapatkan cube yang terbaik, diambil cube yang memiliki rentang waktu paling kecil. Pada bab ini, hasil implementasi gudang data menggunakan database MySQL dengan mengambil cube yang terbaik dari Multiway Array Aggregation dan memiliki rentang waktu terkecil.
Gambar 5.2 Hasil Implementasi Gambar 5.2 merupakan hasil implementasi gudang data untuk memantau jumlah penyakit pada setiap waktu dan golongan umur menggunakan cube dari Multiway Array Aggregation.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
64
Gambar 5.3 Hasil Implementasi olap Gambar 5.3 merupakan hasil implementasi gudang data untuk memantau jumlah penyakit pada setiap waktu dan golongan umur menggunakan cube dari Schema Workbench. Hasil pembentukan OLAP dengan menggunakan cube terbaik dari Multiway Array Aggregation yang telah dibuat mempunyai hasil sama dengan OLAP menggunakan cube dari Schema Workbench.
5.2
Pengujian Pada langkah ini, dilakukan pengujian proses perhitungan akses waktu
menggunakan metode calculating page loading time untuk mengetahui berapa lama waktu yang dibutuhkan setiap database mengakses gudang data dengan cube masing-masing, serta dilakukan pengujian terhadap waktu akses berdasarkan jumlah data. Contoh penggunaaan metode calculating page loading time adalah sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
65
Gambar 5.4 Contoh penggunaaan metode calculating page loading time Hasil pengujian perhitungan akses waktu menggunakan metode calculating page loading time untuk masing – masing cube dan OLAP biasa adalah sebagai berikut : Tabel 5.1 Tabel Pengujian Waktu NO.
NWK
KWN
NKW
WKN
WNK
KNW
OLAP
1.
0.11 s
0.103 s
0.102 s
0.17 s
0.147 s
0.161 s
0.128 s
2.
0.102 s
0.134 s
0.143 s
0.162 s
0.133 s
0.157 s
0.158 s
3.
0.112 s
0.102 s
0.157 s
0.191 s
0.126 s
0.216 s
0.149 s
4.
0.1 s
0.102 s
0.147 s
0.155 s
0.122 s
0.194 s
0.155 s
5.
0.143 s
0.142 s
0.195 s
0.167 s
0.138 s
0.187 s
0.2 s
6.
0.12 s
0.102 s
0.223 s
0.155 s
0.19 s
0.16 s
0.124 s
7.
0.135 s
0.075 s
0.198 s
0.169 s
0.22 s
0.145 s
0.137 s
8.
0.102 s
0.096 s
0.187 s
0.162 s
0.175 s
0.111 s
0.176 s
9.
0.084 s
0.117 s
0.292 s
0.174 s
0.247 s
0.133 s
0.147 s
10.
0.124 s
0.137 s
0.155 s
0.176 s
0.125 s
0.138 s
0.158 s
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
66
11.
0.122 s
0.122 s
0.115 s
0.145 s
0.137 s
0.145 s
0.103 s
12.
0.121 s
0.194 s
0.176 s
0.21 s
0.136 s
0.109 s
0.22 s
13.
0.096 s
0.143 s
0.137 s
0.187 s
0.111 s
0.126 s
0.167 s
14.
0.095 s
0.093 s
0.135 s
0.166 s
0.124 s
0.151 s
0.143 s
15.
0.106 s
0.11 s
0.146 s
0.151 s
0.148 s
0.138 s
0.139 s
Rerata 1.672/15 1.772/15 2.51/15 2.54/15 2.279/15 2.271/15 2.304/15 0.111 s
0.118 s
0.167 s
0.169 s
0.151 s
0.1514 s
0.1536 s
Tabel 5.1 merupakan tabel pengujian waktu akses masing – masing cube untuk membandingkan kembali cube mana yang terbaik. Pada tabel diatas dilakukan pengujian sebanyak 15 kali kemudian didapatkan rata – rata waktu untuk setiap cube yang diakses. Dari tabel diatas dapat terlihat cube yang terbaik adalah NWK karena memiliki rata-rata waktu akses 0,111 s dari rentang waktu yang telah ditentukan adalah 0,1 s hingga 4 s sehingga waktu akses cube NWK merupakan waktu akses yang minimum sehingga ketika representasi data di dalam gudang data dapat dikatakan cepat. Untuk pengujian waktu akses berdasarkan jumlah data, digunakan jumlah data N = 1920, W = 365, K = 80 yang menghasilkan hasil perhitungan, seperti di bawah ini :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
67
Gambar 5.5 Hasil Implementasi Multiway Array Aggregation dengan penambahan data Dari hasil perhitungan di atas, didapatkan cube dengan jumlah memori unit sedikit adalah NWK dan KWN dengan jumlah memori untuk masing – masing cube tersebut adalah 281680. Setelah itu dilakukan pengujian terhadap waktu akses dari masing – masing cube tersebut untuk mendapatkan waktu akses terkecil sehingga dapat disimpulkan cube manakah yang mempunyai waktu akses kecil. Berikut ini adalah hasil pengujian perhitungan akses waktu menggunakan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
68
metode calculating page loading time untuk masing – masing cube dengan jumlah data N = 1920, W=365, K=80. Tabel 5.2 Tabel pengujian waktu berdasarkan penambahan jumlah data NO.
NWK
KWN
NKW
WKN
WNK
KNW
1.
0.66 s
0.458 s
0.98 s
0.92 s
0.761 s
0.847 s
2.
0.589 s
0.548 s
0.739 s
0.9 s
0.857 s
0.733 s
3.
0.458 s
0.3 s
0.882 s
0.7 s
0.816 s
0.626 s
4.
0.389 s
0.45 s
0.655 s
0.889 s
0.695 s
0.52 s
5.
0.475 s
0.67 s
0.576 s
0.775 s
0.789 s
0.738 s
6.
0.599 s
0.378 s
0.8 s
0.68 s
0.698 s
0.89 s
7.
0.479 s
0.599 s
0.669 s
0.834 s
0.745 s
0.542 s
8.
0.52 s
0.475 s
0.462 s
0.97 s
0.787 s
0.875 s
9.
0.458 s
0.36 s
0.574 s
0.675 s
0.733 s
0.647 s
10.
0.43 s
0.57 s
0.789 s
0.545 s
0.538 s
0.925 s
11.
0.418 s
0.63 s
0.545 s
0.511 s
0.744 s
0.937 s
12.
0.35 s
0.458 s
0.624 s
0.68 s
0.719 s
0.743 s
13.
0.47s
0.46 s
0.787 s
0.522 s
0.826 s
0.811 s
14.
0.35 s
0.375 s
0.766 s
0.328 s
0.651 s
0.624 s
15.
0.38 s
0.3 s
0.551 s
0.489 s
0.893 s
0.848 s
7.031/15 0.468733 s
10.399/15 10.418/15 11.252/15 0.693267 s 0.694533 s 0.750133 s
Rerata 7.025/15 0.468333 s
11.306/15 0.753733 s
Tabel 5.2 merupakan tabel pengujian waktu akses masing – masing cube dengan jumlah data N = 1920, K = 80, W = 365 untuk membandingkan kembali
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
69
cube mana yang terbaik. Pada tabel diatas dilakukan pengujian sebanyak 15 kali kemudian didapatkan rata – rata waktu untuk setiap cube yang diakses. Dari tabel diatas dapat terlihat cube yang terbaik adalah NWK karena memiliki rata-rata waktu akses 0,4683 s dari rentang waktu yang telah ditentukan adalah 0,1 s hingga 4 s sehingga waktu akses cube NWK merupakan waktu akses yang minimum sehingga ketika representasi data di dalam gudang data dapat dikatakan cepat. Dalam pengujian ini dilakukan penambahan data untuk melihat bagaimana struktur cube yang baik saat terjadi penambahan data. Berikut ini adalah tabel – tabel pengujian waktu berdasarkan penambahan jumlah data :
Tabel 5.3 Tabel pengujian waktu berdasarkan penambahan jumlah data N = 1920,W = 36,K = 8 NO.
NWK
KWN
NKW
WKN
WNK
KNW
1.
0.21 s
0.17 s
0.202 s
0.27 s
0.161 s
0.247 s
2.
0.202 s
0.162 s
0.243 s
0.262 s
0.157 s
0.133 s
3.
0.112 s
0.191 s
0.197 s
0.191 s
0.216 s
0.126 s
4.
0.2 s
0.155 s
0.195 s
0.185 s
0.194 s
0.222 s
5.
0.243 s
0.167 s
0.18 s
0.1767 s
0.187 s
0.138 s
6.
0.112 s
0.155 s
0.223 s
0.185 s
0.2 s
0.19 s
7.
0.135 s
0.169 s
0.198 s
0.169 s
0.145 s
0.22 s
8.
0.122 s
0.162 s
0.187 s
0.178 s
0.19 s
0.175 s
9.
0.184 s
0.174 s
0.292 s
0.174 s
0.133 s
0.247 s
10.
0.224 s
0.176 s
0.255 s
0.18 s
0.158 s
0.125 s
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
70
11.
0.122 s
0.145 s
0.176 s
0.1875 s
0.145 s
0.237 s
12.
0.2 s
0.21 s
0.1 s
0.215 s
0.19 s
0.136 s
13.
0.16 s
0.187 s
0.137 s
0.187 s
0.186 s
0.211 s
14.
0.195 s
0.166 s
0.135 s
0.166 s
0.151 s
0.124 s
15.
0.106 s
0.151 s
0.156 s
0.161 s
0.138 s
0.148 s
Rerata
2.527/15 0.168467 s
2.54/15 0.16933 s
2.876/15 0.19173 s
2.8872/15 0.19248 s
2.551/15 0.17007 s
2.679/15 0.1786 s
Tabel 5.4 Tabel pengujian waktu berdasarkan penambahan jumlah data N= 192, W = 365, K = 8 NO.
NWK
KWN
NKW
WKN
WNK
KNW
1.
0.17 s
0.1 s
0.2 s
0.2 s
0.1 s
0.176 s
2.
0.12 s
0.162 s
0.162 s
0.162 s
0.102 s
0.12 s
3.
0.198 s
0.171 s
0.171 s
0.181 s
0.11 s
0.191 s
4.
0.15 s
0.17 s
0.17 s
0.18 s
0.1 s
0.155 s
5.
0.17 s
0.167 s
0.167 s
0.167 s
0.143 s
0.167 s
6.
0.1 s
0.151 s
0.151 s
0.15 s
0.112 s
0.1 s
7.
0.169 s
0.17 s
0.17 s
0.17 s
0.135 s
0.169 s
8.
0.12 s
0.16 s
0.16 s
0.178 s
0.122 s
0.162 s
9.
0.14 s
0.172 s
0.172 s
0.174 s
0.184 s
0.14 s
10.
0.176 s
0.15 s
0.15 s
0.18 s
0.224 s
0.1 s
11.
0.15 s
0.16 s
0.16 s
0.16 s
0.122 s
0.145 s
12.
0.132 s
0.135 s
0.135 s
0.135 s
0.2 s
0.11 s
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
71
13.
0.187 s
0.146 s
0.146 s
0.17 s
0.16 s
0.187 s
14.
0.168 s
0.15 s
0.15 s
0.16 s
0.195 s
0.166 s
15.
0.15 s
0.151 s
0.151 s
0.151 s
0.106 s
0.151 s
Rerata
2.3/15 0.15333 s
2.315/15 0.15433 s
2.415/15 0.161 s
2.518/15 0.16787 s
2.115/15 0.141 s
2.239/15 0.14927 s
Tabel 5.5 Tabel pengujian waktu berdasarkan penambahan jumlah data N=192, K=80, W=36 NO.
NWK
KWN
NKW
WKN
WNK
KNW
1.
0.17 s
0.1 s
0.1 s
0.16 s
0.2 s
0.212 s
2.
0.1 s
0.162 s
0.12 s
0.12 s
0.152 s
0.162 s
3.
0.138 s
0.171 s
0.11 s
0.191 s
0.161 s
0.171 s
4.
0.15 s
0.17 s
0.1 s
0.155 s
0.171 s
0.163 s
5.
0.17 s
0.167 s
0.13 s
0.167 s
0.17 s
0.16 s
6.
0.1 s
0.151 s
0.112 s
0.1 s
0.165 s
0.15 s
7.
0.16 s
0.17 s
0.125 s
0.139 s
0.162 s
0.17 s
8.
0.12 s
0.13 s
0.122 s
0.12 s
0.15 s
0.17 s
9.
0.14 s
0.152 s
0.14 s
0.14 s
0.172 s
0.174 s
10.
0.16 s
0.15 s
0.124 s
0.1 s
0.143 s
0.156 s
11.
0.15 s
0.14 s
0.122 s
0.135 s
0.16 s
0.161 s
12.
0.132 s
0.135 s
0.2 s
0.11 s
0.155 s
0.15 s
13.
0.167 s
0.146 s
0.16 s
0.177 s
0.14 s
0.148 s
14.
0.168 s
0.15 s
0.195 s
0.166 s
0.155 s
0.158 s
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
72
15.
0.15 s
0.155 s
0.106 s
0.11 s
0.151 s
0.162 s
Rerata
2.175/15 0.145 s
2.249/15 0.14993 s
1.966/15 0.131067 s
2.09/15 0.13933 s
2.407/15 0.16047 s
2.467/15 0.16447 s
Tabel 5.6 Tabel perbandingan pengujian waktu dengan jumlah data N = 192,K = 8,W = 36 Cube NWK
Jumlah Data N = 192,K = 8,W = 36
KWN
N = 192,K = 8,W = 36
NKW
N = 192,K = 8,W = 36
WKN
N = 192,K = 8,W = 36
WNK
N = 192,K = 8,W = 36
KNW
N = 192,K = 8,W = 36
Jumlah Memori Kanan = 1714, Kiri = 4436 Kanan = 4436, Kiri = 1714 Kanan = 2470, Kiri = 2924 Kanan = 2924, Kiri = 2470 Kanan = 2006, Kiri = 4288 Kanan = 4288, Kiri = 2006
Rerata Waktu 0.111 s 0.118 s 0.167 s 0.169 s 0.151 s 0.1514 s
Tabel 5.7 Tabel perbandingan pengujian waktu dengan jumlah data N = 1920, W = 36,K = 8 Cube NWK KWN NKW WKN WNK KNW
Jumlah Data N = 1920,W = 36,K = 8 N = 1920,W = 36,K = 8 N = 1920,W = 36,K = 8 N = 1920,W = 36,K = 8 N = 1920,W = 36,K = 8 N = 1920,W = 36,K = 8
Jumlah Memori Kanan = 25248, Kiri = 76872 Kanan = 76872, Kiri = 25248 Kanan = 38688, Kiri = 49992 Kanan = 49992, Kiri = 38688 Kanan = 32784, Kiri = 73104 Kanan = 73104, Kiri = 32784
Rerata Waktu 0.168467 s 0.16933 s 0.19173 s 0.19248 s 0.17007 s 0.1786 s
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Tabel 5.8 Tabel perbandingan pengujian waktu dengan jumlah data N= 192, W = 365, K = 8 Cube NWK KWN NKW WKN WNK KNW
Jumlah Data N= 192, W = 365, K = 8 N= 192, W = 365, K = 8 N= 192, W = 365, K = 8 N= 192, W = 365, K = 8 N= 192, W = 365, K = 8 N= 192, W = 365, K = 8
Jumlah Memori Kanan = 21256, Kiri = 71580 Kanan = 71580 Kiri = 21256 Kanan = 38440, Kiri = 37308 Kanan = 37308, Kiri = 38440 Kanan = 20564, Kiri = 71928 Kanan = 71928, Kiri = 20564
Rerata Waktu 0.15333 s 0.15433 s 0.161 s 0.16787 s 0.141 s 0.14927 s
Tabel 5.9 Tabel perbandingan pengujian waktu dengan jumlah data N=192, K=80, W=36 Cube NWK
Jumlah Data N=192, K=80, W=36
KWN
N=192, K=80, W=36
NKW
N=192, K=80, W=36
WKN
N=192, K=80, W=36
WNK
N=192, K=80, W=36
KNW
N=192, K=80, W=36
Jumlah Memori Kanan = 12288, Kiri = 15312 Kanan = 15312, Kiri = 12288 Kanan = 10176, Kiri = 19536 Kanan = 19536, Kiri = 10176 Kanan = 18528, Kiri = 12192 Kanan = 12192, Kiri = 18528
Rerata Waktu 0.145 s 0.14993 s 0.131067 s 0.13933 s 0.16047 s 0.16447 s
Tabel 5.10 Tabel perbandingan pengujian waktu dengan jumlah data N=1920, K=80, W=365 Cube NWK
Jumlah Data N=1920, K=80, W=365
Jumlah Memori Kanan = 186280, Kiri = 709212
Rerata Waktu 0.468333 s
73
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KWN NKW WKN WNK KNW
N=1920, K=80, W=365 N=1920, K=80, W=365 N=1920, K=80, W=365 N=1920, K=80, W=365 N=192, K=80, W=36
Kanan = 709212, Kiri = 186280 Kanan = 358120, Kiri = 366492 Kanan = 366492, Kiri = 358120 Kanan = 192500, Kiri = 706104 Kanan = 706104, Kiri = 192500
74
0.468733 s 0.693267 s 0.694533 s 0.750133 s 0.753733 s
Tabel – tabel di atas merupakan tabel pengujian waktu akses berdasarkan penambahan jumlah data. Dari tabel di atas didapatkan hasil cube yang baik dari masing – masing penambahan data di mana cube yang baik itu memiliki jumlah memori sedikit dan waktu akses paling cepat. Dengan dilakukan penambahan jumlah data memberikan hasil bahwa dengan penambahan jumlah data maka jumlah memori menjadi bertambah sehingga menyebabkan waktu akses bertambah pula. Selain itu dengan adanya penambahan data, struktur cube juga berubah sesuai dengan besar jumlah data, sehingga jumlah data yang besar akan berada di awal. Misalkan dalam Tabel 5.7 Tabel perbandingan pengujian waktu dengan jumlah data N = 1920, W = 36, K = 8 cube terbaik dengan menggunakan data tersebut adalah NWK dengan rerata waktu akses 0.168467 s. struktu cube NWK karena jumlah data N > W > K begitu pula dengan Tabel 5.8 Tabel perbandingan pengujian waktu dengan jumlah data N= 192, W = 365, K = 8 menghasilkan cube terbaik adalah WNK karena penambahan data W sehingga W > N > K sehingga struktur cube menjadi WNK sesuai dengan besar data dan merupakan cube yang baik karena jumlah memori yang dibutuhkan sedikit serta membutuhkan waktu akses lebih cepat.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
75
Maka dari hasil di atas, Multiway Array Aggregation mampu menghasilkan cube terbaik dengan melihat jumlah memori yang sedikit sehingga waktu akses untuk cube yang didapatkan itu menjadi lebih relevan karena dapat ditampilkan
dengan
cepat.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB VI KESIMPULAN DAN SARAN
Bab VI akan membahas mengenai penutup skripsi ini yang berisi tentang kesimpulan mengenai penelitian dan saran untuk pengembangan sistem lebih lanjut. 6.1
Kesimpulan Setelah dilakukan perbandingan pengujian proses waktu akses cube dalam
gudang data penyakit, maka didapatkan hasil bahwa cube terbaik diambil dari perhitungan multiway array aggregation yang menghasilkan jumlah memori yang kecil sehingga dapat memberikan waktu akses yang cepat. Dengan penambahan data, dapat disimpulkan bahwa jumlah memori juga bertambah, hal tersebut membuat waktu akses untuk cube tersebut juga bertambah. Dengan penambahan data, struktur cube yang terbaik juga dapat berubah, penyusunan sesuai dengan jumlah data dari masing – masing dimensi. Apabila lebih besar, maka dimensi diletakkan di awal sehingga cube tersebut yang menghasikan jumlah memori yang minimal dan waktu akses yang cepat. 6.2
Saran Setelah penelitian dilakukan, pembentukan gudang data dan pengujian
cube ini dapat bermanfaat dan dapat dikembangkan lagi untuk dibentuk sebuah sistem yang lebih baik lagi untuk semakin meningkatkan kinerja dan fungsi sistem.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
77
Diharapkan untuk penelitian selanjutnya, dapat membuat simulasi algoritma Multiway Array Aggregation menjadi lebih dinamis lagi, dengan menambahkan jumlah dimensinya dan menambahkan dengan jumlah data yang lebih besar sehingga menjadi sebuah template yang dapat digunakan untuk semua data.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR PUSTAKA
Connoly, Thomas., Carolyn, Begg. 2005. Database Systems A Practical Approach to Design, Implementation and Management. 4th Edition. Addison Wesley : Universitas of The West of Scotland. Data Warehouse with Kettle (Pentaho Date Integration), http://pentaho.phiintegration.com/kettle, 6 Januari 2013. Dwitanto, Markus Herjuno. 2012. Membandingkan Aplikasi MYSQL< LUCIDDB dan ORACLEXE untuk pengolahan gudang data wisatawan di obyek wisata
DIY
dalam
memamntau
kunjungan
wisatawan
yang
diimplementasikan menggunakan teknik ON LINE ANALYTICAL PROCESSING (OLAP). Yogyakarta : Universitas Sanata Dharma. Han, J., Kamber, M. 2006. Data Mining Concepts and Techniques. 2nd Edition. San Francisco : Morgan Kaufmann Publishers. Kriteria
Website
yang
Baik
Dibahas
Lengkap
di
Sini,
http://teknologi.kompasiana.com/internet/2013/02/21/kriteria-websiteyang-baik-dibahas-lengkap-di-sini-536831.html, 6 Januari 2013 Modul Pelatihan, “Data Warehouse with Kettle (Pentaho Data Integration)”. Wasito, Setiawan. 2010. Implementasi Gudang Data untuk Keperluan Akademik Studi Kasus Fakultas Teknik Informatika Universitas Sanata Dharma. Yogyakarta
:
Universitas
78
Sanata
Dharma.