Analisis data Cube menggunakan Multiway Array Agregation for Full Cube Computation studi kasus data penyakit tahun 2010 hingga 2012 di Puskesmas Jebed Kabupaten Pemalang

(1)

i

Analisis Data Cube Menggunakan Multiway Array Aggregation For F ull 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


(2)

ii

Cube Data Analysis Using Multiway Array Aggregation For F ull 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


(3)

(4)

(5)

v

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


(6)

vi

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,


(7)

vii

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.


(8)

viii

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


(9)

ix ABSTRAK

Analisis Data Cube Menggunakan Multiway Array Aggregation For F ull 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.


(10)

x ABSTRACT

Cube Data Analysis Using Multiway Array Aggregation For F ull 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.


(11)

xi 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


(12)

xii

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


(13)

xiii BAB VI KESIMPULAN

6.1 Kesimpulan……….………… 76

6.2 Saran………..……….……… 77


(14)

xiv

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 5.6 Tabel perbandingan pengujian waktu dengan jumlah data N = 192,K = 8,W = 36 ……….. 72

Tabel 5.7 Tabel perbandingan pengujian waktu dengan jumlah data N = 1920, W = 36,K = 8 ……… 72

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


(15)

xv

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


(16)

xvi

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……….. 68


(17)

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.


(18)

“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


(19)

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?


(20)

1.3 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


(21)

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.


(22)

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.


(23)

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.


(24)

4. 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.


(25)

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.


(26)

3. 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


(27)

(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 )


(28)

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


(29)

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.


(30)

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.


(31)

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.


(32)

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.


(33)

 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


(34)

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 atribut-atribut tersebut dapat berguna dalam jenis analisis tertentu. Sebagai


(35)

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 MultiwayArray 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).


(36)

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 nilai-nilai 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


(37)

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

AB AC BC

A B C

ABC

AB AC BC

A B C


(38)

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).


(39)

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.


(40)

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-28hr B 0-28hr L 0-28hr K 28hr-1th B 28hr-1th L 28hr-1th 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 45-54th K 55-60th B 55-60th L 55-60th K > 60th B > 60th L > 60th K

0 0 0 0 0 0 4 0 0 14 0 0 11 0 0 3 0 0 1 0 0 1 0 0

0 0 0 0 0 0 5 0 0 4 0 0 3 0 0 2 0 0 0 0 0 0 0 0


(41)

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

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


(42)

3.2 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.

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 Pemantauan

Jumlah penyakit

Mengelola Gudang Data Penyakit Dinas Puskesmas

Jebed Pemalang


(43)

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 :


(44)

 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.

Gambar 3.3 Langkah preprocessing mengubah header JENIS_PENYAKIT

Typus Perut Infeksi Bakteri Lain

Amoebiasis

Diare dan Gastroenteritis non spesifik TB paru BTA (+)

TB Klinis Termasuk Rongent (+) BTA (-)

Varicella

Herpes Zoster

Campak

Hepatitis A Akuta JENIS PENYAKIT

Typus Perut

Infeksi Bakteri Lain

Amoebiasis

Diare dan Gastroenteritis non

spesifik

TB paru BTA (+)

TB Klinis Termasuk Rongent (+)

BTA (-)

Kusta MB

Varicella

Herpes Zoster


(45)

2. Menghilangkan data yang bukan merupakan penyakit, misalkan kecelakaan.

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.

SP2TP

ICD-X

JENIS PENYAKIT

0101 A00 Kolera

0102 A01 Typus Perut

0103 A04 Infeksi Bakteri Lain

0106 A06 Amoebiasis 3805 L08 Penyakit kulit infeksi lain

3808 L23 Penyakit Kontak Alergi

3809 L29 Pruritus

3812 L50 Urticaria

4001 M06 Rhumatoid Arthritis lain

4002 M10 Goot

4008 M13 Arthritis tidak spesifik

4701 V89 Kecelakaan lalu lintas

4702 W19 Jatuh

4708 Y07 Kecelakaan kerja

4804 Z48

Follow up tindakan operasi misal bk

jhitn, bk pmbalut

3805 L08 Penyakit kulit infeksi lain

3808 L23 Penyakit Kontak Alergi

3809 L29 Pruritus

3812 L50 Urticaria

4001 M06 Rhumatoid Arthritis lain

4002 M10 Goot


(46)

0105 A09

Diare dan Gastroenteritis non

spesifik

0201 A15 TB paru BTA (+)

0204 A16

TB Klinis Termasuk Rongent (+)

BTA (-)

0209 A16 TB Anak

0304 A30 Kusta PB

0305 A30A Kusta MB

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

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 TB Paru BTA (+)

0204 A16 1 2011

TB Klinis Termasuk Rongent (+)

BTA (-)

0305 A30A 1 2011 Kusta MB

0404 A90 1 2011 Dengue Fever

0407 B01 1 2011 Varicella


(47)

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,

0-28hr_B, 0-28hr_L, 0-28hr_K, 1th_B, 1th_L, 28hr-1th_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, 54th_B, 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.

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.


(48)

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,


(49)

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


(50)

diberi nama penyakit.

Gambar 3.9 Database Penyakit

3.3.3.1 Nama penyakit, meliputi SP2TP, ICD-X, dan Jenis_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.

Nama Penyakit PK sk_nama_penyakit SP2TP

ICD-X

Jenis_Penyakit Tabel nama_penyakit


(51)

3.3.3.2 Waktu, meliputi id_bulan, id_tahun, nama_bulan, tahun, sk_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.

Waktu PK sk_waktu id_bulan id_tahun nama_bulan tahun


(52)

3.3.3.3 Kelompok Umur, meliputi id_klpk_umur, nama_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, 0-28hr_B, 0-28hr_L, 0-28hr_K, 28hr-1th_B, 28hr-1th_L, 28hr-1th_K, 1-4th_B, 1-4th_L, 1-4th_K, 5-11-4th_B, 5-14th_L, 5-14th_K, 15-41-4th_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

Kelompok Umur PK sk_kelompok_umur id_klpk_umur

nama_kelompok_umur


(53)

File excel penyakit

Merupakan pembentukan tabel penyakit dari file excel penyakit. Berisi atribut SP2TP, id_bulan, id_tahun, id_klpk_umur, B, L, K.

penyakit PK SP2TP id_bulan id_tahun id_klpk_umur B

L K


(54)

3.3.4 Memecah gudang data dalam tabel fakta dan tabel dimensi

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 Tabel Fakta_Penyakit

B L K

sk_bulan sk_tahun

sk_kelompok_umur sk_nama_penyakit dim_kelompok_umur

id_klpk_umur nama

sk_kelompok_umur

dim_nama_penyakit sk_nama_penyakit SP2TP

ICD-X

jenis_penyakit

dim_waktu id_bulan nama_bulan id_tahun tahun sk_waktu


(55)

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, SP2TP, ICD-X, jenis_penyakit. Jumlah data record pada tabel ini adalah 109.


(56)

2. 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


(57)

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 merupakan rangkaian pembentukan tabel dim_kelompok_umur yang bertujuan untuk mengambil data 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 dalam tabel dim_kelompok_umur pada database penyakit


(58)

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


(59)

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.


(60)

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 :

Gambar 3.20 Skema Bintang Tabel Fakta_Penyakit B L K sk_bulan sk_tahun sk_kelompok_umur sk_nama_penyakit dim_kelompok_umur id_klpk_umur nama sk_kelompok_umur dim_nama_penyakit sk_nama_penyakit SP2TP ICD-X jenis_penyakit dim_waktu id_bulan id_tahun nama_bulan tahun sk_waktu


(61)

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.

Gambar 3.21 Cube Penyakit Cube Penyakit

measure

Dimensi nama_penyakit

Dimensi waktu


(62)

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 :


(63)

- 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 :


(64)

KIRI KANAN

109 * 8 = 872 55 * 36 = 1980 4 * 18 = 72 2924

NKW

NK NW KW

N K W

NKW

NK NW KW

N K W

8 * 36 = 872 109 * 18 = 1980 55 * 4 = 72 2470 NWK

NW NK WK

N W K

109 * 36 = 3924 55 * 8 = 440 18 * 4 = 72 4436

NWK

NW NK WK

N W K

36 * 8 = 288 109 * 4 = 436 55 * 18 = 990 1714 KNW

KN KW NW

K N W

8 * 109 = 872 4 * 36 = 144 55 * 18 = 990 2006

KNW

KN KW NW

K N W

109 * 36 = 3924 8 * 18 = 144 4 * 55 = 220 4288


(65)

KW KN WN

K W N

8 * 36 = 288 4 * 109 = 436 18 * 55 = 990 1714

KW KN WN

K W N

36 * 109 = 3924 8 * 55 = 440 4 * 18 = 72 4436 WKN

WK WN KN

W K N

36 * 8 = 288 8 * 109 = 1962 4 * 55 = 220 2470

WKN

WK WN KN

W K N

8 * 109 = 872 36 * 55 = 1980 18 * 4 = 72 2924 WNK

WN WK NK

W N K

36 * 109= 3924 18 * 8 = 144 55 * 4 = 220 4288

WNK

WN WK NK

W N K

109 * 8 = 872 36 * 4 = 144 18 * 55 = 990 2006


(66)

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.


(67)

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


(68)

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,


(69)

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


(70)

untuk 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 hasil

perhitungan, kemudian dibentuk menjadi file xml

5. HitungHasil.java terdapat method untuk

perhitungan multiway array aggregation

6. DatabaseConnection.java pengaturan koneksi


(71)

1. 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;


(72)

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;

} }


(73)

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;


(74)

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; }


(75)

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);


(76)

2. 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()); }


(77)

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


(78)

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


(79)

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.


(80)

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 :


(81)

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


(82)

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 :


(83)

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


(84)

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

Rerata 7.025/15 7.031/15 10.399/15 10.418/15 11.252/15 11.306/15 0.468333 s 0.468733 s 0.693267 s 0.694533 s 0.750133 s 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


(85)

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


(86)

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 2.54/15 2.876/15 2.8872/15 2.551/15 2.679/15

0.168467 s 0.16933 s 0.19173 s 0.19248 s 0.17007 s 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


(1)

Tabel 5.8 Tabel perbandingan pengujian waktu dengan jumlah data N= 192, W = 365, K = 8

Cube Jumlah Data Jumlah Memori Rerata Waktu NWK N= 192, W = 365, K =

8

Kanan = 21256, Kiri = 71580

0.15333 s KWN N= 192, W = 365, K =

8

Kanan = 71580 Kiri = 21256

0.15433 s NKW N= 192, W = 365, K =

8

Kanan = 38440, Kiri = 37308

0.161 s WKN N= 192, W = 365, K =

8

Kanan = 37308, Kiri = 38440

0.16787 s WNK N= 192, W = 365, K =

8

Kanan = 20564, Kiri = 71928

0.141 s KNW N= 192, W = 365, K =

8

Kanan = 71928, Kiri = 20564

0.14927 s

Tabel 5.9 Tabel perbandingan pengujian waktu dengan jumlah data N=192, K=80, W=36

Cube Jumlah Data Jumlah Memori Rerata Waktu NWK N=192, K=80, W=36 Kanan = 12288,

Kiri = 15312

0.145 s KWN N=192, K=80, W=36 Kanan = 15312,

Kiri = 12288

0.14993 s NKW N=192, K=80, W=36 Kanan = 10176,

Kiri = 19536

0.131067 s WKN N=192, K=80, W=36 Kanan = 19536,

Kiri = 10176

0.13933 s WNK N=192, K=80, W=36 Kanan = 18528,

Kiri = 12192

0.16047 s KNW N=192, K=80, W=36 Kanan = 12192,

Kiri = 18528

0.16447 s

Tabel 5.10 Tabel perbandingan pengujian waktu dengan jumlah data N=1920, K=80, W=365

Cube Jumlah Data Jumlah Memori Rerata Waktu NWK N=1920, K=80,

W=365

Kanan = 186280, Kiri = 709212


(2)

KWN N=1920, K=80, W=365

Kanan = 709212, Kiri = 186280

0.468733 s NKW N=1920, K=80,

W=365

Kanan = 358120, Kiri = 366492

0.693267 s WKN N=1920, K=80,

W=365

Kanan = 366492, Kiri = 358120

0.694533 s WNK N=1920, K=80,

W=365

Kanan = 192500, Kiri = 706104

0.750133 s KNW N=192, K=80, W=36 Kanan = 706104,

Kiri = 192500

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.


(3)

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


(4)

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.


(5)

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.


(6)

78

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.phi-integration.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-website-yang-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.