PEMBANGUNAN SISTEM DATA MINING UNTUK DIAGNOSIS PENYAKIT DIABETES MENGGUNAKAN ALGORITME CLASSIFICATION BASED ASSOCIATION
HERWANTO
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2006
1
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa tesis Pembangunan Sistem Data Mining
untuk
Diagnosis
Penyakit
Diabetes
Menggunakan
Algoritme
Classification Based Association adalah karya saya sendiri dan belum diajukan dalam bentuk apa pun kepada pergu ruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.
Bogor, September 2006
Herwanto NIM G651034084
2
PEMBANGUNAN SISTEM DATA MINING UNTUK DIAGNOSIS PENYAKIT DIABETES MENGGUNAKAN ALGORITME CLASSIFICATION BASED ASSOCIATION
HERWANTO
Tesis Sebagai salah satu syarat untuk memperoleh gelar Magister Sains pada Departemen Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2006
3
ABSTRAK HERWANTO. Pembangunan Sistem Data Mining Untuk Diagnosis Penyakit Diabetes Menggunakan Algoritme Classification Based Association. Dibimbin g oleh IMAS S. SITANGGANG dan RINDANG KARYADIN. Basis data rumah sakit umumnya berisi data dalam jumlah besar dengan banyak variasi, tetapi belum dimanfaatkan secara optimal. Diperlukan suatu sistem data mining yang bisa memanfaatkan gunungan data menjadi informasi yang bernilai strategis. Dalam penelitian ini dipelajari bagaimana data bisa digunakan untuk membantu mendiagnosa penyakit, khususnya penyakit diabetes Data-data pasien yang beresiko menderiita penyakit diabetes dikumpulkan ke dalam data warehouse diabetes. Dua tahapan utama yang dilakukan dalam penelitian ini, yaitu proses pembentukan model klasifikasi dan pembuatan program aplikasi untuk mendeteksi penyakit diabetes. Dalam proses pembentukan model klasifikasi ada tiga tahapan yang dilakukan. Tahap pertama adalah menangani data-data yang beragam, tidak lengkap, dan tidak konsisten. Kemudian melakukan proses perubahan data kontinyu menjadi data kategori, dimana setiap variabel dikelompokkan ke dalam sejumlah kategori. Tahap berikutnya adalah membuat rule mining dan klasifikasi. 700 pasien dipilih sebagai data training, 400 pasien dengan diagnosa negatif diabetes dan 300 pasien positif diabetes. Pada pembentukan model klasifikasi dipilih 12 variabel yang digunakan untuk menghasilkan aturan yaitu usia, sex dan hasil-hasil pemeriksaan laboratorium. Didapatkan hasil pemeriksaan glukosa darah 2 jam pasca puasa, glukosa urin 2 jam pasca puasa, serta glukosa darah puasa menjadi penentu utama untuk menentukan apakah pasien positif diabetes atau negatif diabetes. Aturan-aturan yang dihasilkan selanjutnya digunakan dalam program aplikasi untuk mendiagnosa pasien apakah positif diabetes atau negatif diabetes.
.
4
PRAKATA Syukur Alhamdulillah penulis panjatkan kepada Allah SWT atas limpahan rahmat dan karuniaNya sehingga penulis akhirnya dapat menyelesaikan karya ilmiah ini. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Juni 2005 ini adalah sistem data mining, dengan judul Pembangunan Sistem Data Mining
untuk
Diagnosis
Penyakit
Diabetes
Menggunakan
Algoritme
Classification Based Association. Dalam kesempatan ini penulis ingin menyampaikan ucapan terima kasih dan penghargaan kepada Ibu Imas S Sitanggang, S.Si., M.Kom., dan Bapak Rindang Karyadin S.T., M.Kom. selaku pembimbing yang sejak awal penulisan proposal sampai pada penulisan karya ilmiah ini, telah membimbing dengan penuh keikhlasan, dan kesabaran. Di samping itu penghargaan penulis sampaikan kepada para dosen Program Studi Ilmu Komputer, Sekolah Pascasarjana, Institut Pertanian Bogor, yang telah memberikan wawasan dan pengetahuan baru bagi penulis. Atas do’a, pengorbanan, kesabaran, ketulusan, serta dukungan semangatnya, penulis juga menyampaikan ucapan terima kasih dan rasa hormat yang setulus-tulusnya kepada kedua orang tua, serta seluruh keluarga. Semoga karya ilmiah ini bermanfaat.
Bogor, September 2006 Herwanto
5
RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 24 May 1962 dari ayah Paridjan dan ibu Parinah. Penulis merupakan putra kelima dari delapan bersaudara. Pada tahun 1982 penulis lulus dari SMA Negeri 43 Jakarta. Pendidikan sarjana ditempuh pada tahun 1991 di Sekolah Tinggi Manajemen Informatika dan Komputer Gunadarma, jurusan Manajemen Informatika, lulus pada tahun 1996. Kesempatan untuk melanjutkan ke program magister pada Program Studi Ilmu Komputer, Sekolah Pascasarjana IPB diperoleh pada tahun 2004. Penulis bekerja di Rumah Sakit Pusat Pertamina Jakarta pada bagian Sistem Informasi & Telekomunikasi Elektronika sejak tahun 1997. Bidang yang menjadi tanggung jawab penulis ialah pembangunan dan pengembangan sistem informasi rumah sakit. Pada tahun 2005 penulis dipercaya sebagai kepala bagian Sistem Informasi & Telekomunikasi Elektronika.
6
Judul Tesis
Nama NIM
: Pembangunan Sistem Data Mining Untuk Diagnosis Penyakit Diabetes Menggunakan Algoritme Classification Based Association : Herwanto : G651034084
Disetujui Komisi Pembimbing
Imas S Sitanggang, S.Si., M.Kom. Ketua
Rindang Karyadin, S.T., M.Kom. Anggota
Diketahui
Ketua Program Studi Ilmu Komputer
Dr. Sugi Guritman
.
Dekan Sekolah Pascasarjana
Dr. Ir. Khairil A. Notodiputro, MS
Tanggal Ujian: 5 September 2006
7
DAFTAR ISI Halaman DAFTAR GAMBAR
xi
DAFTAR TABEL
xii
DAFTAR LAMPIRAN
xiii
I. PENDAHULUAN 1.1 Latar belakang
1
1.2. Tujuan Penelitian
2
1.3. Ruang lingkup
2
1.4. Manfaat Penelitian
3
II. TINJAUAN PUSTAKA 2.1. Diabetes Melitus
4
2.2 Data Warehouse
5
2.2.1. Metodologi Perancangan Data Warehouse
7
2.2.2. Star Schema
8
2.3. Data Mining
10
2.3.1. Klasifikasi dan Prediksi
13
2.3.2. Metodologi Data Mining
14
2.3.3. Teknik Data Mining
16
2.3.4. Membangun Model Prediksi
26
III. BAHAN DAN METODE 3.1. Bahan
29
3.2. Metode
31
3.2.1. Kerangka Pemikiran
31
3.2.2. Tata Laksana
33
IV. PERANCANGAN ARSITEKTUR SISTEM DATA MINING 4.1 Gambaran umum sistem
35
4.2. Pembangunan Data Warehouse
36
4.3. Pembangunan Model Klasifikasi
38
4.4. Antarmuka Pemakai
40
4.5. Basis Pengetahuan
40
4.4. Modul Diagnosa dan Terapi
41
8
Halaman V. IMPLEMENTASI 5.1. Preproses Data
44
5.2. Pembentukan Sampel Positif dan Sampel Negatif
46
5.3. Pembentukan PN Array
47
5.4. Pembentukan Gain
48
5.5. Program Aplikasi
51
VI. PENGUJIAN DAN PEMBAHASAN 6.1. Mekanisme Pengujian
52
6.2. Pelatihan Dengan Data Training
52
6.3. Proses Optimalisasi
58
VII. KESIMPULAN DAN SARAN 7.1. Kesimpulan
64
7.2. Saran
64
DAFTAR PUSTAKA
65
LAMPIRAN
66
9
DAFTAR GAMBAR Halaman 1. Arsitektur Data Warehouse 2. Relasi antartabel dimensi dan table fakta sederhana
7 10
3. Data mining sebagai salah satu tahapan dalam proses knowledge discovery
11
4. Model proses pembuatan data mining
15
5. Algoritme Appriori
18
6. Algoritme FOIL
22
7. Algoritma PRM
24
8. Metoda startCPAR
25
9. Metoda cparGeneration
25
10. Langkah-langkah membangun model pred iksi
28
11. Kerangka pemikiran pembangunan model untuk diagnosis penyakit diabetes
32
12. Tahapan Proses data mining
33
13. Model aplikasi diabetes
35
14. Relasi antartabel skema bintang data warehouse diabetes
37
15. Ekstraksi dan Transformasi Basis Data SIM RSPP
38
16. Flowchart Algoritme CPAR
39
17 Grafik Gain data training untuk kelas positip diabetes
55
18. Grafik Gain data training untuk kelas negatip diabetes
55
19. Grafik Gain negatif diabetes setelah proses optimalisasi
60
20. Grafik Gain negatif diabetes setelah proses optimalisasi
60
10
DAFTAR TABEL Halaman 1. Transaksi Penjualan Barang
18
2. Karakteristik umum data pasien
30
3. Rata-rata variabel pemeriksaan laboratorium
30
4. Klasifikasi Berat Badan berdasarkan IMT
42
5. Nilai referensi hasil laboratorium
44
6. Kategori untuk tabel sampel_data
45
7. Contoh sampel data
46
8. Sampel positif dari data pada Tabel 7
46
9. Sampel negatif dari data pada Tabel 7
47
10. PN Array
47
11. Kategori dan nilai Gain
48
12. Karakteristik umum data training
53
13. Rata-rata variabel pemeriksaan laboratorium data training
53
14. Perbandingan bobot sampel dan gain
54
15. Aturan yang dihasilkan dengan gain similarity ratio 99%
56
16. Aturan yang dihasilkan dengan gain similarity ratio 80%
56
17. Aturan yang dihasilkan dengan gain similarity ratio 50%
57
18. Aturan yang dihasilkan dengan gain similarity ratio 20%
57
19. Aturan yang dihasilkan dengan gain similarity ratio 10%
58
20. Kategori untuk tabel sampel_data setelah proses optimalisasi
58
21 Aturan setelah proses optimalisasi dengan Gain similarity ratio 99%
61
22 Aturan setelah proses optimalisasi dengan Gain similarity ratio 80%
61
23 Aturan setelah proses optimalisasi dengan Gain similarity ratio 50%
62
24 Aturan setelah proses optimalisasi dengan Gain similarity ratio 20%
62
25 Aturan setelah proses optimalisasi dengan Gain similarity ratio 10%
63
11
DAFTAR LAMPIRAN Halaman 1. Proses Pasien Rawat Jalan
66
2. Proses Pasien rawat Inap
67
3. Kamus Data Pasien Rawat Jalan dan Pasien Rawat Inap
68
4. Kamus Data Data Warehouse diabetes
74
5. Sampel data positif diabetes dan negatif diabetes
76
6. Tampilan halaman Status Pasien
77
7. Tampilan halaman Anamnes is
77
8. Tampilan halaman Riwayat DM
78
9. Tampilan halaman Anamnesis Keluarga
78
10. Tampilan halaman Pemeriksaan Fisis
79
11. Tampilan halaman Laboratoriu
79
12. Tampilan halaman Pemeriksaan Penunjang
80
13. Tampilan halaman Diagnosis
80
14. Tampilan halaman Terapi
81
12
BAB I PENDAHULUAN 1.1. Latar Belakang Organisasi Kesehatan Dunia (WHO) memperkirakan, bahwa 177 juta penduduk dunia mengindap diabetes melitus atau biasa disingkat diabetes. Jumlah ini akan meningkat hingga melebihi 300 juta pada tahun 2025. Dr Paul Zimmet, direktur dari International Diabetes Institute (IDI) di Victoria, Australia, meramalkan bahwa diabetes akan menjadi epidemi yang paling dahsyat dalam sejarah manusia. Tetapi data epidemiologi di negara berkembang memang masih belum banyak. Oleh karena itu angka prevalensi yang dapat ditelusuri terutama berasal dari negara maju. Dengan bertambahnya angka harapan hidup bangsa Indonesia perhatian masalah kesehatan beralih dari penyakit infeksi ke penyakit degeneratif. Selain penyakit jantung koroner dan hipertensi, diabetes merupakan salah satu penyakit degeneratif yang saat ini makin bertambah jumlahnya di Indonesia. Pola prevalensi diabetes telah mengalami pergeseran. Pada awal tahun 1990 an umumnya masih tertanam keyakinan bahwa diabetes hanya menyerang mereka yang berusia lanjut, dan merupakan “penyakit orang kaya”. Kenyataannya sekarang ini diabetes sudah tidak mengenal perbedaan kelas, diabetes dapat menyerang siapa saja, baik di “gedongan”, daerah kumuh, golongan tua maupun muda. Berbagai faktor genetik, lingkungan dan cara hidup berperan dalam perjalanan penyakit diabetes (Lanny et al, 2004). Pada dasarnya diabetes dapat dikelompokkan menjadi dua, yaitu diabetes tipe 1 yang terjadi sejak kecil karena cacat sejak lahir, dan diabetes tipe 2 yang berkembang setelah dewasa sebagai akibat gaya hidup yang salah. Diabetes tipe 2 adalah jenis yang paling banyak ditemukan. Tanpa intervensi yang efektif, jumlah penderita diabetes tipe 2 akan meningkat disebabkan oleh berbagai hal antara lain bertambahnya usia harapan hidup, berkurangnya kematian akibat infeksi dan meningkatnya faktor risiko yang
13
disebabkan karena cara hidup yang salah seperti kegemukan, kurang gerak dan pola makan tidak sehat. Berdasarkan hal tersebut untuk meningkatkan upaya menurunkan angka kesakitan dan prevalensi timbulnya komplikasi pada penyakit diabetes maka perlu kiranya dilakukan penelitian-penelitian yang mengarah pada pembuatan sistem yang dapat mendeteksi timbulnya penyakit diabetes sehingga dapat dilakukan upaya prefentif serta upaya rehabilitatif bagi penderita diabetes dengan pendekatan yang menyeluruh, sehingga dampak terjadinya berbagai penyulit menahun, seperti penyakit jantung koroner, penyulit pada mata, ginjal dan syaraf dapat dikurangi. Salah satu alternatif sebagai solusi dari masalah tersebut adalah membuat suatu sistem data mining yang bisa melakukan penelusuran pada data historis untuk mengidentifikasi pola dan memprediksi trend didasarkan pada sifat-sifat yang teridentifikasi sebelumnya, kemudian memberikan alternatif pengobatan atau pencegahan bila ditemukan indikasi yang mengarah pada timbulnya penyakit diabetes. Informasi yang dihasilkan untuk selanjutnya bisa digunakan oleh edukator diabetes maupun dokter sebagai dasar untuk melakukan tindakan tindakan yang diperlukan.
1.2. Tujuan Penelitian Tujuan penelitian ini adalah membuat suatu aplikasi data mining meliputi : 1. Membuat data warehouse diabetes yang akan dijadikan sebagai sumber data bagi data mining dengan menggunakan star schema. 2. Membuat data mining engine yang dapat melakukan prediksi terhadap penyakit diabetes dengan mengaplikasikan teknik classification-based association. 3. Membuat antarmuka yang memungkinkan pasien diabetes, dokter serta perawat berinteraksi dengan sistem pengobatan diabetes yang terintegrasi.
1.3. Ruang Lingkup Lingkup penelitian yang dilakukan dalam pembuatan model penanganan diabetes adalah :
14
1. Sumber data utama bagi pembentukan model berasal dari Sistem Informasi Rumah Sakit Pusat Pertamina (SIM RSPP) dan Sistem Informasi Laboratorium Rumah Sakit Pusat Pertamina (LIS RSPP), dengan data yang akan digunakan adalah data dari tahun 2004 sampai tahun 2005. 2. Setelah melalui proses penyaringan, informasi tersebut dimasukkan ke dalam data warehouse diabetes yang dirancang dengan menggunakan star schema. 3. Penelitian ini akan membuat aplikasi data mining untuk penyakit diabetes. Teknik data mining yang digunakan adalah classification-based association.
1.4. Manfaat Penelitian Dengan adanya suatu sistem yang dapat digunakan untuk memprediksi penyakit diabetes, maka terjadinya penyakit ini pada seseorang sedini mungkin dapat diprediksi sehingga dapat dilakukan tindakan antisipasi. Sistem ini nantinya juga bisa digunakan untuk memonitor perkembangan kesehatan penderita diabetes dan efektifitas pengobatan yang telah dilakukan pada pasien diabetes melitus. Sehingga hasil akhir dari penelitian ini diharapkan bisa digunakan baik oleh dokter mapun edukator diabetes melitus dalam mengantisipasi peningkatan jumlah pasien diabetes.
15
BAB II TINJAUAN PUSTAKA
2.1. Diabetes Melitus Diabetes adalah suatu penyakit, dimana tubuh penderitanya tidak secara otomatis mengendalikan tingkat gula (glukosa) dalam darahnya. Pada tubuh yang sehat, pankreas melepas hormon insulin yang bertugas mengangkut gula melalui darah ke otot-otot dan jaringan lain untuk memasok energi. Penderita diabetes tidak bisa memproduksi insulin dalam jumlah yang cukup, atau tubuh tidak mampu menggunakan insulin secara efektif, sehingga terjadilah kelebihan gula di dalam darah. Kelebihan gula yang kronis didalam darah (hiperglikemia) ini menjadi racun bagi tubuh. Menurut ADA (Americant Diabetes Assosiation ) 1998, (Soegondo et al, 2002), diabetes merupakan suatu kelompok penyakit metabolik dengan karakteristik hiperglikemia yang terjadi karena kelainan sekresi in sulin, kerja insulin atau kedua-duanya. Sedang sebelumnya WHO 1980 berkata bahwa diabetes merupakan suatu yang tidak dapat dituangkan dalam satu jawaban yang jelas dan singkat tetapi secara umum dapat dikatakan sebagai suatu kumpulan problema anatomik dan kimiawi yang merupakan akibat dari sejumlah faktor dimana didapat defesiensi insulin absolut atau relatif dan gangguan fungsi insulin Diabetes dapat digolongkan ke dalam dua tipe, yaitu tipe 1 dan tipe 2. Diabetes tipe 1 adalah bila tubuh perlu pasokan insulin dari luar. Diabetes tipe 1 ini biasanya ditemukan pada penderita yang mulai mengalami diabetes sejak anak-anak atau remaja. Diabetes tipe 2 terjadi jika insulin hasil produksi pankreas tidak cukup, sehingga terjadi gangguan pengiriman gula ke sel tubuh. Gejala diabetes tipe 1 muncul secara tiba-tiba pada saat usia anak-anak sebagai akibat dari kelainan genetika, sehingga tubuh tidak memproduksi insulin dengan baik. Sedangkan gejala diabetes tipe 2 muncul secara perlahan-lahan sampai menjadi gangguan yang jelas. Gejala -gejala umum pada kedua tipe diabetes hampir sama, antara lain: sering buang air kecil, terus menerus lapar dan
16
haus, cepat lelah, kehilangan tenaga, luka yang lama sembuh, penglihatan kabur. Dikarenakan munculnya gejala-gejala tersebut pada penderita diabetes tipe 2 adalah perlahan-lahan, maka sering terabaikan dan dianggap sebagai keletihan biasa. Orang yang mempunyai resiko tinggi menderita diabetes melitus adalah 1. Orang dengan riwayat keluarga dengan diabetes 2. Orang obeis ( > 20% berat badan ideal) 3. Umur di atas 40 tahun dengan faktor tersebut di atas 4. Orang dengan tekanan darah tinggi 5. Orang dengan dislipidemia (kolesterol HDL < 35 md/dl dan/atau trigliserida > 250 mg/dl) 6. Semua wanita hamil 24-28 minggu 7. Wanita yang melahirkan bayi > 4.000 gram. Diabetes melitus jika tidak dikelola dengan baik akan dapat mengakibatkan terjadinya berbagai penyulit menahun, seperti penyakit jantung koroner, penyulit pada mata, ginjal dan syaraf. Jika kadar glukosa darah dapat selalu dikendalikan dengan baik, diharapkan semua penyulit menahun tersebut dapat dicegah, paling sedikit dihambat. 2.2. Data Warehouse Basis data rumah sakit yang dihasilkan dari sistem informasi rumah sakit umumnya berisi data dalam jumlah besar. Penyaringan serta penyajian informasiinformasi yang relevan dalam basis data yang besar ini adalah pekerjaan yang rumit. Sehingga perlu teknik -teknik tertentu agar proses penyaringan informasi bisa dilakukan secara efesien dan efektif, antara lain dengan membangun data warehouse yang akan berfungsi sebagai pusat penyimpanan data yang terintegrasi sebagai hasil penyaringan data operasional, dan menerapkan data mining yang akan menelusuri pola -pola data untuk tujuan analisis. Data warehouse bukan prasyarat untuk data mining, tetapi dalam prakteknya tugas data mining dibuat lebih mudah dengan mengakses dari data warehouse. Data warehouse dapat dipandang sebagai tempat penampungan data untuk mendukung pembuatan keputusan strategis. Fungsi dari data warehouse adalah untuk menyimpan data historis yang terintegrasi untuk merefleksikan berbagai
17
sudut pandang organisasi. Data mining adalah salah satu aplikasi utama bagi data warehouse, dimana fungsi data warehouse adalah untuk menyediakan informasi pada end user untuk mendukung pembuatan keputusan, sedangkan tool data mining menyediakan kemampuan kepada end user untuk menyaring informasi yang tersembunyi. Data warehouse adalah kumpulan data yang subject oriented, integrated, nonvolatile dan time variant untuk membantu membuat keputusan manajemen (Inmon, 1996). Subject oriented berarti data warehouse diarahkan kepada subyek utama yang akan didefinisikan dalam data model. Subyek-subyek utama ini pada akhirnya akan diimplementasikan secara fisik sebagai sekumpulan tabel-tabel yang saling berelasi dalam data warehouse. Karakteristik yang kedua pada data warehouse adalah integrasi. Data warehouse bisa bersumber dari banyak aplikasi yang biasanya tidak konsisten baik dalam pemrograman, pembuatan tata nama, pembuatan atribut fisik maupun pembuatan atribut pengukuran. Pada data warehouse keragaman tersebut harus dikonversi dengan memodifikasinya agar didapat format atau struktur data yang sesuai. Karakteristik ketiga dari data warehouse adalah non -volatile. Data yang ada pada data warehouse adalah data historis yang umumnya hanya bisa dibaca, tetapi data tersebut tidak dapat di update. Karakteristik keempat pada data warehouse adalah time variant, dimana key struktur data warehouse selalu mengandung komponen waktu. Komponen waktu merupakan hal yang sangat penting pada data warehouse. Salah satu aspek yang sangat penting saat merancang data warehouse adalah yang berkaitan dengan granularity. Granularity menunjukkan tingkatan detil yang ditampung dalam unit data dalam data warehouse. Semakin detil tingkatan yang ditampung dalam unit data, semakin rendah tingkat granularity-nya. Sebaliknya semakin kurang detil, tingkat granularity-nya semakin tinggi. Granularity akan berdampak pada volume data yang menempati data warehouse, dan pada saat yang sama juga berdampak pada jenis kueri yang bisa dilakukan. Dengan volume data yang besar membutuhkan kapasitas penyimpanan yang juga besar. Masalah kedua yang juga penting saat merancang data warehouse adalah partitioning. Partitioning menunjukkan pembagian data ke dalam beberapa unit
18
yang secara fisik berbeda, yang masing-masing bisa ditangani sendiri-sendiri. Hal ini menjadi penting, karena jika data berada dalam unit yang besar, maka data tersebut akan sulit untuk dikelola. Sedangkan salah satu esensi dari pembentukan data warehouse adalah kemudahan dalam mengakses data. 2.2.1 Metodologi Perancangan Data Warehouse Ada banyak pilihan yang bisa dilakukan ketika merancang data warehouse. Tetapi pendekatan yang paling banyak digunakan adalah dengan menggunakan empat data store dan tiga data flow (Corey et al, 2001), seperti pada Gambar 1.
Store 1 Source 1 (Transaction System)
Store 4 Reporting application 1
Store 3 HPQS (DataMart)
Flow 3 Store 1 Source 2 (Transaction System)
Flow 1 Store 1 Source 3 (Transaction System)
Store 1 Source 4 (Transaction System)
Store 4 Reporting application 2 Store 2 Integration Layer (Data Warehouse)
Flow 2
Flow 3 Store 3 HPQS (DataMart)
Store 4 Reporting application 3
Gambar 1 Arsitektur data warehouse dengan menggunakan empat data store dan tiga data flow. Sumber: Corey et al, 2001 Data store 1 adalah source system yaitu berbagai sistem aplikasi yang akan menyediakan data bagi data warehouse. Source system ini bisa juga berasal dari
19
luar organisasi. Masing-masing sistem ini mempunyai basis data yang diperlukan oleh end user untuk mengaksesnya. Flow 1 adalah aliran data dari sumber data ke integration layer. Setelah mengetahui dari mana sumber data berasal, berikutnya perlu mengembangkan mekanisme untuk mendapatkan data tersebut, yaitu dengan melakukan penyaringan data. Tahapan ini disebut juga tahap ekstraksi data.
Data yang
berasal dari berbagai sumb er diintegrasikan dan/atau ditransformasikan sebelum diletakkan ke dalam data warehouse. Data store 2 – Integration Layer atau data warehouse adalah basis data yang dinormalisasikan yang berasal dari berbagai sumber yang diletakkan dalam satu tempat. Adapun alasan membangun integration layer antara lain adalah untuk menghindari pengulangan ekstraksi. Beberapa data mart memerlukan data dari sistem yang sama. Jika tidak ada data warehouse, maka setiap data mart harus mengakses setiap sumber. Dengan membangun data warehouse, setiap data mart hanya membaca dari satu sumber yaitu integration layer yang sudah berisi data yang terintegrasi. Flow 2 merupakan aliran dari dari integration layer ke High Performance Query Structure (HPQS). Pada flow ini data diekstrak dari integration layer dan disisipkan ke data mart. Pada tahapan ini hanya diperlukan Extract, Tranform dan Load (ETL) untuk mempopulasikan data ke data mart. Data store 3 – HPQS atau data mart adalah basis data dan struktur data yang dibentuk secara khusus untuk mendukung kueri yang diperlukan oleh end user. Basis data ini dikelola oleh engine relational database atau engine multidimensional database. Jika disimpan dalam relational database, maka perancangan basis data data mart umumnya menggunakan star schema Data Flow 3 merupakan aliran data dari HPQS ke aplikasi. Untuk mendapatkan data dari data mart diperlukan tool kueri. Tool ini umumnya memerlukan SQL untuk memanggil relational database. Data store 4 menyajikan report yang disimpan dalam basis data. 2.2.2. Star Schema
20
Star schema adalah jenis perancangan basis data yang digunakan untuk mendukung analytical processing. Star schema berisi dua jenis tabel yaitu tabel fakta dan tabel dimensi. Tabel fakta atau disebut juga major table berisi data kuantitatif atau data transaksi sesungguhnya yang ada pada organisasi dimana informasi yang ada didalamnya akan dianalisa. Informasi ini biasanya berupa pengukuran numerikal dan bisa terdiri dari banyak kolom dan jutaan baris. Tabel dimensi atau disebut juga minor table, berisi deskripsi data yang merefleksikan dimensi organisasi. Perancangan basis data dengan menggunakan star schema ini paling banyak digunakan untuk membangun struktur data pada data mart dalam lingkungan relasional (Corey et al, 2001). Dalam star schema akan dilakukan normalisasi yang minimal untuk tujuan mendapatkan unjuk kerja yang baik. Untuk merancang tabel fakta dan tabel dimensi terlebih dahulu harus mengetahui transaksi apa yang akan dimodelkan. Setiap record dalam tabel fakta berisi primary key yang dibentuk dari satu atau lebih foreign key; foreign key adalah kolom yang ada dalam satu tabel yang nilainya ditentukan oleh primary key pada tabel lain. Tabel fakta adalah tabel yang sudah dinormalisasikan. Setiap record berisi sejumlah atribut yang semua atributnya hanya mempunyai satu primary key, sehingga dikatakan sudah memenuhi bentuk normal pertama (1NF). Tidak ada grup yang berulang, seluruh atribut hanya bergantung penuh pada primary key (2NF). Tidak ada satupun atribut yang bergantung pada atribut non key (3NF). Contoh relasi antartabel dimensi dan tabel fakta bisa dilihat pada Gambar 2. Tabel dimensi mempunyai ciri yaitu : 1. Denormalized. Tabel dimensi dibentuk dengan menggabungkan beberapa tabel yang berasal dari berbagai sumber untuk dimasukkan dalam satu tabel denormalized. Tujuannya adalah untuk mengurangi jumlah join yang harus diproses pada kueri, sehingga hal ini akan meningkatkan kinerja basis data. 2. Lebar. Tabel dimensi umumnya lebih lebar dibandingkan dengan tabel dalam aplikasi basis data. Hal ini berarti tabel dimensi memiliki banyak kolom 3. Pendek. Tabel dimensi umumnya jumlah row-nya lebih sedikit jika dibandingkan tabel fakta
21
4. Menggunakan surrogate key, yaitu key yang dibuat sendiri dalam data warehouse. 5. Berisi hubungan ke baris-baris tertentu dalam tabel master. Tabel dimensi berisi referensi ke key yang ada pada tabel master untuk mendapatkan record yang diinginkan. 6. Berisi kolom tanggal atau flag tambahan Tabel Fakta
Tabel Dimensi
Key 1 Key 1
Tabel Dimensi
Atribut
Key 2
Attribut
Attribute
. . . .. . . .
Attribut
Attribute
Key 2
Tabel Dimensi
Key 3
Key 3
Kolom data
Attribute
Data Column
Attribut
..........
. . . .. . . .
Data Column
Attribute
. . . .. . . . Attribute
Gambar 2 Relas i antartabel dimensi dan tabel fakta sederhana
2.3. Data mining Data mining merupakan proses pencarian pola dan relasi-relasi yang tersembunyi dalam sejumlah data yang besar dengan tujuan untuk melakukan klasifikasi, estimasi, prediksi, association rule, clustering, deskripsi dan visualisasi. Berdasarkan aktifitasnya data mining dikelompokkan menjadi dua jenis, yaitu directed data mining dan undirected data mining . Directed data mining digunakan jika sudah diketahui secara pasti apa yang akan diprediksi, sehingga bisa secara langsung menambang data untuk diarahkan pada tujuan tertentu. Misalnya model prediktif yang digunakan untuk membuat prediksi tentang diagnosa penyakit yang belum diketahui. Model prediktif menggunakan pengalaman untuk menentukan bobot dan tingkat kepercayaan. Salah satu kunci
22
keberhasilan model prediktif adalah adanya data yang cukup dengan hasil yang sudah diketahui untuk mengarahkan/melatih model. Undirected data mining berkaitan dengan menelusuri pola-pola baru dalam data. Tidak seperti directed data mining, yang sudah mengetahui apa yang akan diprediksi. Pada undirected data mining, ingin diketahui bagaimana model mengusulkan jawaban. Dalam prakteknya data mining sering berisi kombinasi dari keduanya. Misalnya saat membangun predictive model, sering berguna untuk mencari pola dalam data menggunakan teknik undirected. Secara sederhana data mining bisa dikatakan sebagai proses menyaring atau “menambang” pengetahuan dari sejumlah data yang besar. Istilah lain untuk data mining adalah Knowledge Discovery in Database atau KDD. Walaupun sebenarnya data mining sendiri adalah bagian dari tahapan proses dalam KDD, seperti yang terlihat pada Gambar 3 (Han & Kamber, 2001). Evaluation and Presentation
Pattern Data mining
Selection and Transformation
Cleaning and Integration
Databases
Flat files
Gambar 3 Data mining sebagai salah satu tahapan dalam proses
23
Knowledge Discovery Sumber: Han & Kamber (2001) Tahapan dalam KDD adalah sebagai berikut: 1. Pembersihan data; untuk mengidentifikasi, merubah, membersihkan data yang tidak konsisten atau tidak akurat. 2. Integrasi data; dimana data dari berbagai sumber digabungkan 3. Pemilihan data; dimana data yang relevan untuk melakukan analisis dipilih dari basis data. 4. Transformasi data; dimana data ditransformasikan atau dikonsolidasi ke dalam bentuk yang sesuai untuk mining misalnya dengan melakukan operasi summary atau agregasi. 5. Data mining ; proses yang penting dimana metoda cerdas diterapkan untuk menyaring pola-pola dari data. 6. Evaluasi pola; mengidentifikasikan pola -pola yang benar-benar menarik yang menggambarkan pengetahuan didasarkan pada pengukuran tertentu. 7. Penyajian pengetahuan ; dimana teknik -teknik penyajian serta representasi pengetahuan digunakan untuk menyajikan pengetahuan yang dihasilkan dari mining ke user. Berdasarkan tahapan dalam KDD, arsitektur sistem data mining umumnya mempunyai komponen utama sebagai berikut : 1. Basis data, data warehouse, atau tempat penyimpanan informasi lainnya. Teknik data cleaning dan data integration umumnya diperlukan dalam pembentukan komponen-komponen tersebut. 2. Basis data atau data warehouse server. Basis data atau data warehouse server bertanggungjawab untuk mengambil data yang relevan. 3. Basis pengetahuan. Komponen ini merupakan domain pengetahuan yang digunakan untuk mengarahkan pencarian, atau mengevaluasi kemenarikan pola-pola yang dihasilkan. Pengetahu an tersebut bisa berisi konsep hirarki, yang digunakan untuk menyusun atribut atau nilai-nilai atribut ke dalam tingkatan abstraksi yang berbeda-beda. Pengetahuan seperti keyakinan user, yang bisa digunakan untuk menguji ketertarikan pola -pola didasarkan pada hal-hal yang tidak diharapkannya, dapat juga dimasukkan.
24
4. Data mining engine. Bagian ini adalah yang paling penting bagi sistem data mining dan idealnya berisi sekumpulan modul-modul fungsional untuk melakukan tugas seperti karakterisasi, asosiasi, klasifikasi, analisis cluster, evaluasi dan analisis deviasi. 5. Modul evaluasi pola. Komponen ini berinteraksi dengan modul-modul data mining sedemikian sehingga menfokuskan pencarian ke arah pola-pola yang menarik. Untuk meng -efisienkan data mining, sangat dianjurkan untuk menekankan evaluasi dari pola-pola yang menarik sedalam mungkin ke dalam proses mining sedemikian sehingga memfokuskan pencarian hanya pada pola pola yang menarik saja. 6. Antarmuka pengguna. Modul ini berkomunikasi antara user dan sistem data mining , memungkinkan user untuk berinteraksi dengan sistem dengan menulis kueri, menyediakan informasi untuk membantu memfokuskan pencarian, dan melakukan eksplorasi data mining didasarkan pada hasil antara data mining. Selain itu komponen ini memungkinkan user untuk menelusuri basis data dan skema data warehouse atau struktur data, mengevaluasi pola-pola yang dihasilkan dari proses mining , dan menyajikan pola-pola dalam bentuk yang berbeda-beda.
2.3.1. Klasifikasi dan Prediksi Klasifikasi dan prediksi adalah dua bentuk analisis data yang bisa digunakan untuk mengekstrak model dari data yang berisi kelas-kelas atau untuk memprediksi trend data yang akan datang. Klasifikasi memprediksi data dalam bentuk kategori, sedangkan prediksi memodelkan fungsi-fungsi dari nilai yang kontinyu. Misalnya model klasifikasi bisa dibuat untuk mengelompokkan aplikasi peminjaman pada bank apakah beresiko atau aman, sedangkan model prediksi bisa dibuat untuk memprediksi pengeluaran untuk membeli peralatan komputer dari pelanggan potensial berdasarkan pendapatan dan lokasi tinggalnya. Klasifikasi data dilakukan dengan dua tahapan. Pada tahap pertama, model dibentuk dengan menentukan kelas-kelas data. Model dibentuk dengan menganalisa database tuples yang dinyatakan dengan atribut. Setiap tuple p memiliki kelas tertentu, yang d inyatakan oleh salah satu atributnya yang disebut
25
class label atribute. Dalam konteks klasifikasi data tuples disebut juga sample. Data tuples ini membentuk training data set yang selanjutnya dianalisa untuk membangun model. Setiap tuple yang membentuk training set disebut training sample dan secara acak dipilih dari sample population. Karena label kelas dari setiap training sample telah diketahui, maka tahapan ini disebut juga supervised learning. Supervised learning ini kebalikan dari unsupervised learning, dimana pada unsupervised learning label kelas dari setiap training sample tidak diketahui. Pada tahap kedua, model digunakan untuk klasifikasi. Pertama, akurasi model prediksi (atau classifier) ditentukan menggunakan data test. Sample ini secara acak dipilih, independent dengan training sample. Akurasi dari model pada test set adalah prosentase dari sample test set yang diklasifikasikan oleh model dengan benar. Untuk setiap sample test, label kelas yang telah diketehui dibandingkan dengan model kelas prediksi yang telah dilatih untuk sample tersebut. Jika akurasi dari model bisa diterima, maka model bisa digunakan untuk mengklasifikasikan data tuples dimana label kelasnya tidak diketahui. Misalnya, classification rule yang telah dihasilkan dari analisis data dari pelanggan yang ada dapat digunakan untuk memprediksi credit rating dari pelanggan baru. Prediksi bisa dipandang sebagai pembentukan dan penggunaan model untuk menguji kelas dari sample yang tidak berlabel, atau untuk menguji nilai atau rentang nilai dari suatu atribut. Dalam pandangan ini, klasifikasi dan regresi adalah dua jenis masalah prediksi, dimana klasifikasi digunakan untuk memprediksi nilai-nilai diskrit atau nominal, sedangkan regresi digunakan untuk memprediksi nilai-nilai yang kontinyu. Untuk selanjutnya penggunaan istilah prediction untuk memprediksi kelas yang berlabel disebut classification, dan pengggunaan istilah prediksi untuk memprediksi nilai-nilai yang kontinyu sebagai prediction (Han & Kamber, 2001). 2.3.2 Metodologi Data mining Ada beberapa konsep yang penting pada data mining. Konsep pertama berkaitan dengan mencari pola di dalam data. Biasanya berupa kumpulan data yang sering muncul. Tetapi secara umum berupa suatu daftar atau pola data yang muncul lebih sering dari yang diharapkan saat dilakukan secara acak. Konsep
26
yang kedua adalah sampling, yang bertujuan untuk memperoleh keterangan mengenai populasi dengan mengamati hanya sebahagian saja dari populasi itu. Hal lain yang juga penting yang berhubungan dengan data mining adalah validasi model prediksi yang muncul dari algoritme data mining. Khususnya, jika menemukan pola dalam data, model yang dibangun untuk memprediksi pola tersebut harus juga bisa digunakan untuk memprediksi pola ditempat lain. Akhirnya jika menemukan pola, dan yakin bahwa model tersebut bisa diproduksi, maka seluruh turunan untuk mencari pola atau model tersebut adalah yang terbaik. Model digunakan untuk membuat prediksi tentang suatu record yang menggambarkan keadaan nyata yang baru, dan merefleksikan
model terbatas hanya
basis data histori dimana model tersebut dibuat, seperti yang
ditunjukkan pada Gambar 4. Model adalah deskripsi dari data historis dimana model tersebut dibangun untuk bisa diterapkan ke data baru dengan tujuan membuat prediksi tentang nilainilai yang terputus atau untuk membuat pernyataan tentang nilai yang diharapkan. Pola adalah suatu kejadian atau kombinasi kejadian dalam suatu basis data yang terjadi atau muncul lebih sering dari yang diharapkan (Berson et al., 2001).
Data Historis
Pembuatan Model 143 Record
Model
Prediksi
Gambar 4 Model proses pembuatan data mining Sumber: Berson et al., 2001.
27
2.3.3. Teknik Data mining Ada tiga hal pokok yang harus diperhatikan untuk keberhasilan penerapan data mining , yaitu; teknik data mining, data, dan model data. Teknik adalah pendekatan umum untuk memecahkan masalah, dan biasanya terdapat banyak cara yang bisa digunakan. Masing -masing cara mempunyai algoritmenya sendirisendiri.
Istilah teknik digunakan untuk menunjukkan pendekatan konseptual
untuk menyaring informasi dari data. Algoritme menunjukkan detil tahap demi tahap dari cara tertentu untuk mengimplementasikan suatu teknik. Data mining bisa berupa predictive atau descriptive. Perbedaan ini menunjukkan tujuan dari penggunaan data mining . Tujuan utama predictive data mining adalah mengotomatisasikan proses pembuatan keputusan dengan membuat model yang punya kemampuan untuk melakukan prediksi atau mengestimasi suatu nilai. Umumnya hasil dalam predictive data mining akan langsung ditindak lanjuti Sehingga tolok ukur yang paling penting pada model adalah akurasinya. Data mining sering juga bersifat descriptive. Tujuan utama descriptive data mining adalah untuk menggali pengertian yang mendalam dari apa yang terjadi di dalam data. Descriptive data mining sering menghasilkan action, tetapi bukan berupa urutan aksi yang bisa diotomatisasikan secara langsung dari hasil model (Berry & Linoff, 2000). Descriptive mining, yaitu proses untuk menemukan karakteristik penting dari data dalam suatu basis data. Clustering, Association , dan Sequential mining adalah beberapa contoh dari teknik descriptive mining. Predictive mining, yaitu proses untuk menemukan pola dari data untuk membuat prediksi. Classification, Reg ression dan Deviation adalah teknik dalam predictive mining. a. Association Rule Association rule merupakan salah satu teknik data mining yang paling banyak
digunakan
dalam
penelusuran
pola
pada
sistem
pembelajaran
unsupervised . Metodologi ini akan mengambil seluruh kemungkinan pola-pola yang diamati dalam basis data. Association rule menjelaskan kejadian -kejadian
28
yang sering muncul dalam suatu kelompok. Misalnya metodologi ini bisa digunakan untuk menganalisa produk-produk mana saja yang sering dibeli oleh seorang pelanggan secara bersamaan (analisa keranjang belanja). Hasil analisis tersebut bisa digunakan untuk menentukan peletakan produk di toko. Satu itemset adalah himpunan bagian A dari semua kemungkinan item I. Satu itemset yang mengandung i item disebut i-itemset. Prosentase transaksi yang mengandung itemset disebut support. Untuk suatu itemset yang akan diamati, support-nya harus lebih besar atau sama dengan nilai yang dinyatakan oleh user, sehingga itemset tersebut dikatakan sering muncul (frequent). Bentuk umum aturan asosiasi adalah A1,A2,…,An → B1,B2,…,Bm, yang berarti jika item Ai muncul, item Bj juga muncul dengan peluang tertentu. Misalkan X adalah itemset. transaksi T dikatakan mengandung X jika dan hanya jika X ⊆ T. Aturan X ⇒ Y menyatakan himpunan basis data transaksi dengan tingkat kepercayaan (confidence) C, jika C% dari transaksi dalam D yang mengandung X juga mengandung Y. Rule X ⇒ Y mempunyai support dalam transaksi set D jika S% dari transaksi dalam basis data berisi X ∪ Y. Tingkat kepercayaan menunjukkan kekuatan implikasi, dan support menunjukkan seringnya pola terjadi dalam rule. Sebagai contoh diberikan aturan : A, B ⇒ C dengan S = 0.01 dan C = 0.8. Hal ini berarti bahwa 80% dari semua pelanggan yang membeli A dan B juga membeli C, dan 1% dari semua pelanggan membeli ketiga item tersebut. Mining association rule dilakukan dalam dua tahap, yaitu 1. Mencari semua association rule yang mempunyai minimum support Smin dan minimum confidence Cmin. Itemset dikatakan sering muncul (frequent) jika Support(A) ≥ Smin. 2. Menggunakan itemset yang besar untuk menentukan association rule untuk basis data yang mempunyai tingkat kepercayaan C di atas nilai minimum yang telah ditentukan (C min.). b. Algoritme Appriori Algoritme apriori menghitung seringnya itemset muncul dalam basis data melalui beberapa iterasi. Setiap iterasi mempunyai dua tahapan; menentukan
29
kandidat dan memilih serta menghitung kandidat. Pada tahap pertama iterasi pertama, himpunan yang dihasilkan dari kandidat itemset berisi seluruh 1-itemset, yaitu seluruh item dalam basis data. Pada tahap kedua, algoritme ini menghitung support-nya mencari melalui keseluruhan basis data Pada akhirnya hanya iitemset dengan batas minimum tertentu saja yang dianggap sering muncul (frequent). Sehingga setelah iterasi pertama, seluruh i-itemset yang sering muncul akan diketahui. Pada iterasi kedua, algoritme appriori mengurangi sekelompok kandidat itemset yang dihasilkan dari iterasi pertama dengan menghapus kandidat itemset yang tidak sering muncul. Penghapusan ini berdasarkan pengamatan yaitu apakah itemset tersebut sering muncul atau tidak. 1. k = 1 2. C1 = I (semua item) 3. While Ck > 0 ( a ). Sk = Ck ( b ).Ck+1 = Semua himpunan dengan k=1 elemen yang terbentuk dengan menggabungkan dua itemset dalam sk ( c ). Ck+1 = Ck+1 ( d ). S = S + Sk ( e ). k ++ 4. return S Gambar 5. Algoritme Appriori
Tabel 1. Transaksi Penjualan Barang A
B
C
D
E
Pelanggan 1
1
0
1
1
0
Pelanggan 2
0
1
1
0
1
Pelanggan 3
1
1
1
0
1
Pelanggan 4
0
1
0
0
0
Misalkan pada tabel 1, akan dicari seluruh itemset dengan minimal support Smin = 50%. Sehingga itemset dianggap sering muncul jika ia terdapat pada paling
30
tidak di 50% transaksi. Dalam setiap iterasi, algoritme appriori membentuk kandidat set, menghitung jumlah kejadian dari setiap kandidat dan memilih itemset didasarkan pada minimum support yang telah ditentukan sebelumnya yaitu 50%. Pada tahap pertama iterasi pertama, semua item adalah kandidat. Algoritme appriori hanya menelusuri semua transaksi dalam basis data dan membuat daftar kandidat, yaitu ; C1 = A, B, C, D, E L1 = A, B, C, D, E Pada tahap berikutnya , algoritme appriori menghitung terjadinya setiap kandidat dan berdasarkan nilai minimum support S min, kemudian menentukan itemset yang sering muncul, setelah tahap ini kandidat berisi: L1 = A, B, C, E D dikeluarkan karena nilai S = 25%, hanya ada satu transaksi dari keseluruhan empat transaksi.. Untuk menelusuri himpunan 2-itemset, karena himpunan bagian (subset) dari 2itemset juga mempunyai minimum support yang sama, algoritme appriori menggunakan L1 * L1 untuk membuat kandidat. Operasi * didefinisikan sebagai berikut ; Lk * Lk = XUY dimana X,Y Ε Lk, (X∩Y=K-1 , Untuk k =1 ⇒ |L1| . |(L1)-1)/2| = 4 . 3/2 = 6 Pada iterasi kedua kandidat berisi : C2 = A,B, A,C, A,E, B,C, B,E, C,E . Pada tahap berikutnya , algoritme appriori menghitung terjadinya setiap kandidat dan berdasarkan nilai minimum support S min, kemudian menentukan itemset yang sering muncul, setelah tahap ini kandidat berisi: L2 = A,C, B,C , B,E, C,E Himpunan 3-itemset dihasilkan dari S2 menggunakan operasi yang sudah ditentukan sebelumnya L2 * L2. Langkah praktisnya, dari L2 dengan item yang pertama sama, yaitu B,C, B,E,dinyatakan pertama. Kemudian algoritme appriori akan mencek apakah 2-itemset C,E, yang berisi item kedua dari B,C,
31
B,E terdapat pada L2 atau tidak. Karena C,E ada dalam L2, maka B,C,E menjadi kandidat 3-itemset. Karena tidak ada kandidat 4 -itemset, maka algoritme ini berakhir. c. Membuat Association Rule berdasarkan Frequent Itemset Tahap kedua dalam penelusuran assosiation rule didasarkan pada seluruh iitemset yang sering muncul, yang didapat dari tahap pertama. Untuk rule yang mengandung X1, X2, X3 → X4, rule tersebut dianggap bermakna jika kedua itemset tersebut X1, X2, X3, X4 dan X1, X2, X3 adalah frequent. Sehingga tingkat kepercayaan C dari rule tersebut dihitung sebagai hasil bagi dari support itemset, yaitu : C = S(X1, X2, X3, X4) / S(X1, X2, X3). Strong association rule adalah rule dengan tingkat kepercayaan C diatas Smin. Misalkan dari tabel 1 akan dicek apakah association rule (B,C) → E adalah strong rule. Pertama harus dipilih hubungan support dari tabel L2 dan L3. S(B,C) = 2, S(B,C,E) = 2 C((B,C) → E ) = S(B,C,E)/S(B,C) = 2/2 = 1 (100%) Karena tingkat kepercayaan adalah maksimal, maka jika transaksi berisi item B dan C maka transaksi tersebut juga berisi item E. d. Classification-Based Association Saat ini, salah satu teknik data mining telah dikembangkan adalah dengan menerapkan konsep association rule mining dalam masalah klasifikasi. Ada beberapa metode yang bisa digunakan, antara lain association rule clustering system (ARCS) dan associative classification (Han & Kamber, 2001). Metode ARCS melakukan association rule mining didasarkan pada clustering kemudian menggunakan aturan yang dihasilkan untuk klasifikasi. ARCS, melakukan association rule mining dalam bentuk Aquant1 ∧ Aquant2 ⇒ Acat , dimana bentuk Aquant1 dan Aquant2 adalah data test yang atributnya punya rentang nilai, Acat menunjukkan label kelas untuk atribut kategori yang diberikan dari training data . Metode associative classification mining menghasilkan aturan dalam bentuk condset ⇒ y, dimana condset adalah sekumpulan item dan y adalah label kelas.
32
Aturan yang sesuai dengan minimum support tertentu disebut frequent. Rule mempunyai support s jika s% dari sample dalam data set yang mengandung condset dan memiliki kelas y. Aturan yang sesuai dengan minimum confidence disebut accurate. Aturan mempunyai confidence c jika c% dari sample dalam data set yang mengandung condset memiliki kelas y. Jika beberapa rule mempunyai condset yang sama, maka rule dengan confidence tertinggi d ipilih sebagai possible rule (PR). Metode associative classification mining menggunakan algoritme association rule, seperti algoritme Appriori untuk menghasilkan association rule, kemudian memilih sekelompok aturan yang mempunyai kualitas tinggi dan menggunakan aturan tersebut untuk memprediksi data. Associative classification masih kurang efisien karena seringkali menghasilkan aturan dalam jumlah yang besar (Yin & Han, 2003). Metode
classification -based
association
lainnya
adalah
CPAR
(Classification based on Predictive Association Rule). Algoritme ini mengambil ide dari FOIL (First Order Inductive Leaner) dalam menghasilkan aturan dan mengintegrasikannya dengan associative classification. e. Classification based on Predictive Association Rules (CPAR) Klasifikasi pada penelitian ini menggunakan association rule. Menurut Yin & Han (2003) algoritme yang efektif untuk digunakan dalam masalah klasifikasi adalah CPAR. Pada algoritme ini klasifikasi diimplementasikan dalam tiga tahap: rule generation, rule evaluation dan classification. Pada
proses
rule
generation,
CPAR
membangun
rule
dengan
menambahkan literal satu persatu. Pada setiap tahapan proses, CPAR menghitung Gain dari setiap literal. Setelah masing-masing sampel diproses untuk mendapatkan rule, sampel ini digunakan kembali di dalam perhitungan Gain tetapi dengan mengurangi bobot dengan decay factor. Bobot sampel dikurangi hingga mencapai nilai minimum yang dihitung oleh parameter w yaitu bobot seluruh sampel positif. Bobot seluruh contoh pada awal proses ditetapkan sama dengan 1.
33
Setelah proses rule generation, CPAR mengevaluasi setiap rule untuk menentukan kekuatan prediksinya. Untuk rule r = p1
∧
p2
... ∧
p n → c, CPAR
mendefinisikan ekspektasi akurasi sebagai sebagai berikut : L.A = (nc+1) / (ntot+f) Dimana L.A adalah Laplace accuracy, f adalah jumlah kelas, ntot adalah jumlah total sampel yang memenuhi body dari aturan, nc adalah jumlah sampel yang memenuhi kelas c. Klasifikasi
berupa
sekumpulan
aturan
untuk
setiap
kelas, CPAR
menggunakan s aturan terbaik setiap kelas, yang dipilih berdasarkan Laplace accuracy. Ide dasar CPAR berasal dari FOIL yang menggunakan algoritme greedy untuk mempelajari aturan yang membedakan contoh positif dengan contoh negatif. FOIL secara berulang mencari aturan terbaik dan memindahkan seluruh contoh positif yang dicakup oleh aturan sampai seluruh contoh positif dalam data set tercakup. Algoritme FOIL diperlihatkan pada Gambar 6 (Yin & Han ,2003). Masukan: Training set D = P ∪ N. (P dan N adalah himpunan contoh positif dan contoh negatif) Keluaran: Himpunan aturan untuk memprediksi label kelas dari contoh. Procedure FOIL rule set R ← Φ while |P| > 0 N’ ← N, P’ ← P rule r ← empty_rule while |N| > 0 and r.length < max_rule_length find the literal p that brings most Gain according to P’ and N’ append p to r remove from P’ all examples not satisfying r remove from N’ all examples not satisfying r end R ← R ∪ {r} Remove from p all examples satisfying r’s body end return R Gambar 6. Algoritme FOIL Definisi
34
•
Literal p adalah pasangan nilai atribut, dalam bentuk (A i,v), dimana Ai adalah atribut dan v adalah nilai atribut Ai. Tuple t memenuhi literal p = (Ai,v) jika dan hanya jika ti = v, dimana t i adalah nilai atribut ke-i.
•
Aturan r, berbentuk “p 1∧p 2∧ ..... ∧p t ⇒ c,” Tuple t memenuhi body dari aturan r jika dan hanya jika tuple tersebut memenuhi setiap literal dalam rule. Jika t memenuhi body dari r, r memprediksi bahwa t adalah dari kelas c.
Algoritme FOIL pertama kali membaca data masukan berupa himpunan contoh positif dan contoh negatif, menghasilkan keluaran berupa aturan -aturan yang berguna untuk memprediksi label kelas dari contoh positif atau contoh negatif. Pada awal proses himpunan aturan R ditetapkan kosong. Proses pembentukan aturan terus berulang selama jumlah contoh positif lebih besar dari 0, dan selama proses pembentukan aturan algoritme FOIL melakukan penyalinan contoh positif ke contoh positif sementara, contoh negatif ke contoh negatif sementara, membaca atribut contoh positif satu persatu dan menambahkan ke rule list jika nilai Gain sesui dengan yang ditetapkan. Pada saat memilih literal, FOIL Gain digunakan untuk mengukur informasi yang diperoleh dari penambahan literal tersebut ke current rule. Misalkan terdapat |P| contoh positif dan |N| contoh negatif memenuhi body dari aturan r. Setelah literal p ditambahkan ke r, terdapat |P*| contoh positif dan |N*| contoh negatif yang memenuhi body dari aturan r yang baru. FOIL Gain p didefinisikan sebagai berikut (Yin & Han, 2003). | P* | |P| Gain ( p ) = | P * | log − log | P * | + | N * | | P | +|N
|
dimana |P| dan |N| adalah jumlah contoh positif dan jumlah contoh negatif yang memenuhi body dari aturan r. |P*| dan |N*| adalah jumlah contoh positif dan jumlah contoh negatif yang memenuhi body dari aturan r yang baru, yang dihasilkan dengan menambahkan p ke r. Predictive Rule Mining (PRM) adalah suatu algoritme yang memodifikasi FOIL untuk mendapatkan akurasi dan efesiensi yang lebih baik. Pada PRM,
35
setelah contoh yang benar tercakup dalam aturan, selain mengeluarkannya, bobotnya dikurangi dengan faktor perkalian. Algoritme PRM diperlihatkan pada Gambar 7 (Yin & Han, 2003). Masukan: Training set D = P ∪ N. (P dan N adalah himpunan contoh positif dan contoh negatif) Keluaran: Himpunan aturan untuk memprediksi label kelas dari contoh. Procedure Predictive Rule Mining Set the weight of every example to 1 Rule set R ← φ Totalweight ← TotalWeight(P) A ← Compute PNArray from D While TotalWeight(P) > δ. totalWeight N’ ← N, P’← P, A’ ← A Rule r ← emptyrule While true Find best literal p according to A’ If Gain(p) < min_Gain then break Append p to r For each example t in P’ ∪ N’ not satifying r’s body Remove t from P’ or N’ Change A’ according to the removal of t End End R ← R ∪ {r} For each example t in P satisfying r’s body t.weight ← α.t.weight change A according to the weight decreased end end return R Gambar 7. Algoritme PRM
Algoritme CPAR merupakan pengembangan dari algoritme PRM. Perbedaan diantara CPAR dan PRM adalah selain hanya memilih atribut yang mempunyai gain terbaik pada setiap iterasi, CPAR dapat memilih sejumlah atribut yang nilai gain-nya hampir sama. Pemilihan atribut tersebut dilakukan dengan menghitung dan menerapkan gain_similarity_ratio. Semua atribut dengan nilai gain lebih besar dari bestGain X gain_similarity_ratio akan dipilih dan diproses
36
lebih lanjut. Algoritme CPAR diperlihatkan pada Gambar 8 dan Gambar 9 (Coenan, 2004). Method : startCPAR Parameters : none Global access to : R, C generate an empty global attributes array A For each c in C generate global P and N example arrays generate global PN array determine minimum total weight threshold while (total weight P > minimum total weight threshold) A’ ? A, N’ ? N, P’ ? P, PN’ ? PN If no attributes exist with weightings that can produce a gain above minimum break cparGeneration end loop end loop Gambar 8. Metoda startCPAR Method : cparGeneration Parameters : parameters ante (antecedent) and Cons (consequent) for current rule. For each a in A If (a not in antecedent) calculated gain using information in PN array and add to attribute array End loop I = “available” column in A with best gain If (A[i][0] <= MIN_BEST_GAIN ) return loop through attribute array and find attribute a’ with best gain If (best gain <= MIN_BEST_GAIN) add antecedent ? c to rule list for all records in P reduce weighting by decay factor and adjust PN array accordingly return gainThreshold = bestGain×GAIN_SIMILARITY_RATIO for each a in A if a available and a.gain > gainThreshold tempP’ ? P’, tempN’ ? N’, tempA’ ? A’, tempNP’ ? NP’ add a’ to antecedent remove examples from N’ and P’ that do not contain antecedent and adjust NP array accordingly if (N’ == {}) add antecedent ? c to rule list for all records in P reduce weighting by decay factor and adjust NP array accordingly
37
else prmGeneration(antecedent,c) P’ ? tempP, N’ ? tempN’, A’ ? tempA’, NP’ ? tempNP’ End loop Gambar 9. Metoda cparGeneration Pada metoda startCPAR proses dimulai dengan membaca data berupa sekumpulan bilangan array dua dimensi yang setiap kolomnya diberi atribut A dan
atribut
terakhir
menunjukkan
kelas.
Data
masukan
selanjutnya
dikelompokkan menjadi contoh positif P dan contoh negative N sesuai dengan kelasnya. Bobot contoh positif |P| dan bobot contoh negative |N| setiap atribut dijumlahkan untuk membentuk PN array, berupa array dua dimensi berisi daftar semua atribut, bobot contoh positif, dan bobot contoh negative. Total weight threshold (TWT) dihitung dengan mengalikan jumlah bobot positif dengan konstanta yang selama percobaan ditetapkan sama dengan 0.05. Proses pembentukan aturan dilakukan berulang-ulang sampai jumlah bobot contoh positif lebih kecil dari TWT. Pada setiap proses dilakukan penyalinan P, N, A dan PN ke P’, N’, A’ dan PN’. Menghitung Gain dan menyisipkan aturan ke rule list. Pada percobaan yang dilakukan konstanta minimum gain adalah 0.7, dan decay factor 1/3. Membuat Rule Dalam CPAR Dalam PRM, setiap aturan di-generate dari dataset yang tersisa, memilih hanya literal yang terbaik dan mengabaikan seluruh literal lainnya. CPAR membuat rule s dengan menambahkan literal satu per satu, yang mirip dengan PRM. Pada CPAR setelah menemukan literal terbaik p, literal lainnya q yang Gain-nya mirip dengan p (misalnya hanya berbeda 1%) akan dicari. Selain terus membangun rule dengan menambahkan p ke r, q juga ditambahkan ke current rule r untuk membuat rule baru r’
2.3.4. Membangun Model Prediksi Secara umum, proses dasar membangun model prediksi adalah sama, apapun teknik data mining yang akan digunakan. Keberhasilan dalam membangun model lebih banyak tergantung pada proses bukan pada teknik yang digunakan, dan
38
proses tersebut sangat tergantung pada data yang digunakan untuk menghasilkan model .
Tantangan utama dalam membangun model prediksi adalah mengumpulkan data awal yang cukup. Dalam preclassified, hasilnya sudah diketahui, dan karenanya preclassified digunakan untuk melatih model, himpunan data tersebut disebut model set. Gambar 10 menggambarkan langkah-langkah dasar dalam membangun model prediksi (Berry & Linoff, 2000). Langkah-langkah tersebut adalah : 1. Model dilatih menggunakan preclassified data, dengan mengambil sebagian data dari dataset yang disebut training set. Pada tahap ini, algoritme data mining mencari pola-pola dari nilai yang diprediksi. 2. Model diperbaiki menggunakan himpunan bagian lain dari data yang disebut test set. Model perlu diperbaiki agar tidak hanya bisa bekerja pada training set. 3. Performance model diestimasi atau membandingkan performance beberapa model, dengan menggunakan himpunan data ketiga, yang didapat dari gabungan himpunan data pertama dan kedua, yang disebut evaluation set. 4. Model diterapkan ke score set. Score set bukan preclassified, dan bukan bagian dari model set. Hasil dari data tersebut tidak diketahui. Predictive score akan digunakan untuk membuat keputusan. Dataset adalah preclassified data yang digunakan untuk membangun model. Dataset perlu d ipecah ke dalam tiga komponan, training set, test set dan evaluation set.
39
Training set digunakan untuk membangun model
Training Set
Test set digunakan untuk memperbaiki model
Model (Kasar)
Model (Perbaikan)
Test Set
Evaluation set digunakan untuk menilai akurasi yang diharapkan dari model saat diterapkan ke data di luar model set
Evaluation Set
Model yang terbaik Score Set diterapkan ke score set untuk menghasilkan prediksi
Model (terbaik)
Prediksi
Gambar 10 Langkah -langkah membangun model prediksi Sumber: Berry & Linoff, 2000
40
BAB III BAHAN DAN METODE 3.1. BAHAN Sampel penelitian bersumber dari basis data dalam Sistem Informasi Manajemen Rumah Sakit Pusat Pertamina dan Sistem Informasi Laboratorium Rumah Sakit Pusat Pertamina. Periode pengambilan data dari tanggal 1 oktober 2004 sampai dengan 31 Desember 2005. Data tersebut meliputi: 1. Data pasien yang diduga menderita penyakit diabetes berjumlah 9.919 pasien. Pasien yang dipilih adalah pasien dengan minimal satu kali kunjungannya didiagnosa diabetes, pasien yang melahirkan bayi di atas 4.000 gr, pasien dengan tekanan darah tinggi, pasien dengan berat badan yang termasuk ke dalam kategori obesitas. 2. Data terapi obat serta hasil pemeriksaan laboratorium yang dilakukan pada pasien selama periode 01 Oktober 2004 sampai dengan 31 Desember 2005 baik yang berasal dari rawat jalan maupun rawat inap dikumpulkan. Persyaratan catatan medis yang dijadikan sampel mengacu pada international classification of deseases tenth revision (ICD 10 ) dimana penyakit diabetes melitus diberi kode E.10 Insulin-dependent diabetes mellitus, E.11 Noninsulin -dependent diabetes mellitus, E.12 Malnutrition-related diabetes mellitus, E.13 Other specified diabetes mellitus dan E.14 Unspecified diabetes mellitus. Dari 9.919 pasien yang diduga menderita penyakit diabetes didapat 159.476 record terapi obat dan 211.694 hasil laboratorium. Untuk membentuk data training dan testing, diambil 10 jenis data pemeriksaan hasil laboratorium yang paling banyak dilakukan yaitu Kolesterol Total (CHOL), Trigliserida (TG), Glukosa Urin Puasa (URN), Aseton Urin Puasa (ACTN), Glukosa Darah Puasa (GLUN), Kolesterol HDL (HDL), Kolesterol LDL (LDL), Glukosa Urin 2 jam PP (UPOST), Aseton Urin 2 jam PP (ACTPP). Terdapat 41.958 record hasil pemeriksaan laboratorium yang memenuhi kriteria tersebut.
41
Banyaknya pasien yang mempunyai catatan medis lengkap adalah 1.386 orang. Rata-rata umur ± standar deviasi (SD) dari data tersebut adalah 59.29 ± 10.25 tahun. Dari data tersebut diperoleh rasio laki-laki : perempuan adalah 4 : 6. Karakteristik umum data yang ditambang dapat dilihat pada Tabel 2, sedangkan rata-rata variabel hasil pemeriksaan laboratorium dapat dilihat pada Tabel 3. Tab el 2 Karakteristik umum data pasien Data Diabetes
Sex Laki-laki Perempuan
Bukan Daibetes
Laki-laki Perempuan
Jumlah Baris
Prosentase Setiap Kelas
Umur
±
SD
121
7.37
59.88
±
8.31
60.49
±
8.71
59.20
±
10.69
58.81
±
10.72
283
17.24
469
28.56
769
46.83
Tabel 3 Rata-rata variabel pemeriksaan laboratorium Variabel
Mean
±
SD
Glukosa Darah Puasa (mg/dl) Glukosa Darah 2 jam PP (mg/dl) Glukosa Urin 2 jam PP Aseton Urin Puasa Glukosa Urin Puasa Aseton Urin 2 jam PP Kolesterol LDL (mg/dl) Kolesterol HDL (mg/dl) Kolesterol Total (mg/dl) Trigliserida (mg/dl)
125.33 171.19 0.74 0.03 0.27 0.01 129.37 47.26 207.82 159.40
± ± ± ± ± ± ± ± ± ±
55.59 86.50 1.21 0.23 0.80 0.16 38.66 12.61 45.21 100.58
Sumber data yang digunakan dalam penelitian ini selain dari basis data yang sudah tersedia juga berasal dari isian pertanyaan. Pertanyaan yang diajukan ke pasien terdiri dari pemeriksaan fisik meliputi tinggi badan, berat badan dan tekanan darah, serta riwayat diabetes. Riwayat diabetes meliputi awal diagnosis diabetes ditetapkan, riwayat keluarga diabetes, riwayat merokok, riwayat kehamilan, dan pengobatan diabetes yang dilakukan.
42
3.2. METODE 3.2.1. Kerangka Pemikiran Meningkatnya penderita penyakit diabetes melitus di beberapa negara berkembang, akibat peningkatan kemakmuran di negara bersangkutan, akhir -akhir ini banyak disoroti. Peningkatan pendapatan per kapita dan perubahan gaya hidup terutama di kota-kota besar, menyebabkan peningkatan prevalansi penyakit degeneratif, seperti jantung koroner, hipertensi, hiperlipidemia, diabetes dan lainlain. Menghadapi jumlah pasien diabetes melitus yang semakin meningkat, diperlukan
peningkatan
Penanggulangan
diabetes
peran melitus
semua perlu
tingkat
pelayanan
dilakukan
secara
kesehatan. tepat
dan
berkesinambungan dengan keterlibatan program dan sektor terkait. Atas dasar pemikiran di atas, perlu kiranya dilakukan upaya-upaya penanganan agar dampak negatif penyakit ini dapat diminimalkan, dengan membuat dan menerapkan suatu sistem yang dapat memprediksi timbulnya penyakit diabetes melitus dalam upaya peringatan dini bagi pasien. Sebagai langkah awal maka perlu adanya studi pustaka berkenaan dengan penyakit diabetes melitus untuk lebih mengenal dan memahami permasalahan penyakit ini. Kemudian dilakukan identifikasi dari permasalahan yang akan diteliti untuk memperjelas permasalahan dan penentuan alternatif solusi. Selanjutnya dilakukan pengumpulan data untuk menentukan parameter-parameter yang dapat menyebabkan timbulnya penyakit diabetes melitus. Sumber data yang dikumpulkan pada penelitian nanti barasal dari SIM RSPP dan LIS RSPP. Data tersebut kemudian akan disimpan dalam suatu data warehouse, yang selanjutnya dibuat suatu model menggunakan teknik classification based association untuk mengetahui keterkaitan antara parameter-parameter yang diduga sebagai penyebab timbulnya gejala penyakit diabetes. Gambar 9 menunjukkan garis besar kerangka pemikiran dari penelitian ini.
43
Mulai
Identifikasi Masalah
Pengumpulan Data
Pembuatan Clinical Data Warehouse dengan Star Schema
Pembuatan Model Prediksi Penyakit Diabetes Melitus
Pembuatan Program Aplikasi
Pengujian
Tidak
Sesuai Harapan
Ya Kelayakan Penerapan
Selesai
44
Gambar 11 Kerangka pemikiran pembuatan aplikasi data mining untuk diagnosis penyakit diabetes 3.2.2. Tata Laksana Kegiatan penelitian ini dilakukan dengan dua tahapan utama, yaitu proses pembentukan model klasifikasi dan pembuatan program aplikasi untuk mendeteksi penyakit diabetes. Proses pembentukan model klasifikasi dilakukan berdasarkan urutan proses pada Gambar 12. Proses dimulai dengan pendefinisian masalah serta mempelajari bisnis proses dari sistem yang sedang berjalan. Pada tahap kedua yaitu pembentukan data warehouse diabetes dilakukan melalui dua tahapan yaitu membuat rancangan logik dan rancangan fisik serta melakukan proses Extraction, Transformation, Loading (ETL).
Membuat rancangan logik dan rancangan fisik Pembuatan rancangan logik dilakukan dengan menentukan jenis in formasi yang dibutuhkan. Salah satu tekniknya adalah dengan menggunakan entity relationship modelling. Perancangan fisik dilakukan dengan menggunakan Structure Query Language (SQL). Extraction, Transformation, Loading (ETL) Setelah membuat basis data, langkah selanjutnya adalah melakukan proses Extraction Transformation dan Loading (ETL). Ekstraksi adalah operasi mengekstrak data dari sistem sumber untuk selanjutnya digunakan dalam lingkungan data warehouse. Setelah ekstraksi, data tersebut ditransformasi dan dimuat kedalam data warehouse. Metode ekstraksi yang dipilih adalah full extraction yaitu dengan mengekstrak seluruh data yang ada pada sistem sumber menggunakan export file.
Data Warehouse Diabetes
Visualisasi Ekstraksi
Pendefinisian Masalah
Data Mining
Analisis Hasil
Working database 45
Asimilasi Pengetahuan Gambar 12 Tahapan proses data mining Data mining Metodologi data mining didasarkan pada tiga tahapan yang dilakukan untuk mendeteksi penyakit diabetes. Ketiga tahapan tersebut adalah a) menangani data yang tidak lengkap melalui ekstraksi, b) merubah data yang bernilai kontinyu menjadi data yang bernilai diskrit serta c) rule mining dan klasifikasi. Pada tahap pertama, pemrosesan awal data diabetes dilakukan untuk menghapus data yang tidak
lengkap
dan
mengekstrak
data
yang
akan
digunakan
untuk
mengelompokkan penyakit diabetes atau bukan. Pada tahap kedua setiap data yang bernilai kontinyu didiskritkan.. Hasil dari tahap pertama dan kedua diatas disimpan dalam working database. Pada tahap ketiga, algoritme association rule mining digunakan untuk menghasilkan aturan-aturan, yang berguna untuk mendeteksi penyakit diabetes atau bukan. Merubah Data Kontinyu Menjadi Data Diskrit Data sampel yang digunakan pada penelitian ini mempunyai atribut yang nilainya numerik, sedangkan algoritme CPAR bekerja dengan atribut-atribut yang nilainya nominal. Untuk menggunakan algoritme tersebut atribute yang bernilai numerik tersebut diganti dengan atribute yang bernilai nominal yang menunjukkan interval nilai dengan nilai-nilai diskrit. Proses ini dikenal sebagai diskritisasi dan berisi transformasi dari variabel quantitatif ke dalam variabel kualitatif.
46
BAB IV RANCANG BANGUN SISTEM 4.1. Gambaran Umum Sistem Aplikasi yang dibuat dalam penelitian ini digunakan untuk memasukkan data pasien dan melakukan prediksi terhadap penyakit diabetes serta anjuran terapinya. Perangkat lunak ini dikembangkan dengan menggunakan metode pemrograman prosedural, dapat dijalankan oleh server pada lingkungan sistem operasi
Microsoft
Windows
95/98/NT/2000/XP
dan
dibangun
dengan
menggunakan Oracle Form Developer 6i. Pengguna sistem dapat berupa pengguna yang memiliki tingkat otorisasi khusus dalam hal ini adalah dokter, namun sistem dapat juga digunakan oleh praktisi kesehatan lainnya seperti perawat, edukator diabetes maupun masyarakat umum. Dokter dibantu dalam pengambilan keputusan mendiagnosa penyakit diabetes dan menentukan terapi obat maupun terapi gizi yang harus dilakukan pasien, sedangkan masyarakat umum dapat melakukan diagnosa sendiri dengan tujuan untuk kewaspadaan dini dan segera mencari pertolongan ke dokter bila sistem menyimpulkan sakit diabetes. Dari hasil analisis kebutuhan maka dikembangkan model seperti ditunjukkan dalam Gambar 13. Pengguna Modul Diagnosa & Terapi
Antarmuka pengguna
Evaluasi model klasifikasi
Model klasifikasi
seleksi, pembersihan
Basis pengetahuan
Data warehouse
47
Basis data Gambar 13 Model aplikasi diabetes 4.2. Antarmuka Pemakai
Antarmuka pemakai dikembangkan dengan menggunakan modus grafik dan berbasis client/server. Pemakai berinteraksi dengan perangkat lunak melalui antarmuka form builder. Aplikasi menerima masukan dari pemakai melalui perintah yang diketikkan melalui papan ketik (keyboard) atau diklik pada tikusan (mouse). Keluaran dari perangkat lunak dapat dilihat pemakai dengan menggunakan monitor secara langsung. Adapun fungsi-fungsi yang dimiliki oleh aplikasi ini adalah: 1. Memasukkan dan menampilkan informasi pasien. Informasi pasien yang ditampilkan nantinya dapat digunakan untuk prediksi penyakit diabetes dan terapinya. 2. Mengubah informasi pasien. Informasi pasien dapat diubah sewaktu-waktu oleh pengguna 3. Melakukan prediksi diagnosa penyakit. Hasil prediksi diagnosa berupa kemungkinan diagnosa penyakit yang diderita pasien. Aturan yang digunakan untuk melakukan prediksi diagnosa penyakit diambil dari hasil model klasifikasi yang dibuat menggunakan algoritme CPAR. 4. Memberikan anjuran terapi. Hasil anjuran terapi berupa anjuran yang perlu dilakukan oleh pasien didasarkan atas hasil diagnosa penyakitnya. 4.3. Basis Pengetahuan Sistem yang dikembangkan dirancang untuk memprediksi penyakit diabetes dan anjuran terapi obat serta terapi gizi. Prediksi yang berkaitan dengan diagnosa penyakit dibuat berdasar implementasi algoritme CPAR dan diperkuat oleh pendapat pakar, sedangkan anjuran terapi obat dan terapi gizi dibuat berdasar pendapat pakar. Basis pengetahuan yang dikembangkan pada penelitian ini menggunakan kaidah aturan IF THEN. Pada penelitian ini terdapat 3 klasifikasi diagnosa yang digunakan yaitu pasien positif diabetes, negatif diabetes, dan beresiko diabetes.
48
4.4 Modul Diagnosa dan Terapi Penentuan diagnosa penyakit diabetes di rumah sakit dilakukan melalui beberapa tahap. Pada saat pasien masuk rumah sakit pertama kali yang dilakukan dokter adalah pemeriksaan klinis baik melalui wawancara maupun pemeriksaan fisik. Kesimpulan awal pemeriksaan klinis menuntun dokter untuk menetapkan jenis pemeriksaan pendukung seperti pemeriksaan laboratorium. Kriteria penentuan diagnosa diabetes menurut pakar harus didasarkan atas pemeriksaan laboratorium dan tidak dapat ditetapkan hanya atas dasar adanya glukosaria saja. Penentuan berapa kadar glukosa darah dan kadar pemeriksaan laboratorium lainnya yang berakibat timbulnya penyakit diabetes diambil dari hasil algoritme klasifikasi, sedangkan data penunjang lainnya diambil dari masukan yang disediakan dalam program aplikasi. Diagnosis klinis pada diabetes sering didahului dengan gejala-gejala seperti bertambahnya rasa haus dan jumlah volume urin, penurunan berat badan. Keluhan lain yang mungkin dirasakan pasien adalah rasa lemah, rasa kesemutan, penglihatan kabur dan pada kasus yang lebih berat sampai koma. Pasien yang teridentifikasi mempunyai gejala khas diabetes dianjurkan untuk melakukan pemeriksaan laboratorium untuk memastikan diagnosis definitif. Pemeriksaan laboratorium perlu juga dilakukan pada kelompok dengan salah satu risiko diabetes. Salah satu faktor resiko penyebab diabetes adalah orang yang obesitas. Obesitas adalah suatu keadaan dimana ditemukan adanya kelebihan lemak dalam tubuh sehingga bertambahnya berat badan. Ukuran untuk menentukan seseorang mempunyai berat badan lebih digunakan indeks masa tubuh (IMT). Nilai IMT dihitung berdasarkan formula berikut :
IMT =
Berat _ badan( kg ) [Tinggi _ badan (m)] 2
IMT normal wanita = 18.5 – 23.5 kg/m2
49
IMT normal pria
= 22.5 – 25 kg/m2
Klasifikasi berat badan berdasarkan IMT dapat dilihat pada Tabel 5. Tabel 4. Klasifikasi berat badan berdasarkan IMT IMT Wanita (kg/m2 )
Klasifikasi
IMT Pria (kg/m2 )
Berat badan kurang
< 16.65
< 20.25
Berat badan normal
16.65 – 25.85
20.25 -27.5
Berat badan lebih
15.86 – 28.2
27.6 – 30
Berat badan gemuk
> 28.2
> 30
Terapi gizi merupakan komponen utama keberhasilan penatalaksanaan diabetes. Tujuan umum terapi gizi adalah membantu orang dengan diabetes memperbaiki kebiasaan gizi dan olah raga untuk mendapatkan kontrol metabolik yang lebih baik, memberikan energi yang cukup untuk mencapai atau mempertahankan berat badan yang memadai serta meningkatkan kesehatan secara keseluruhan melalui gizi yang optimal. Kebutuhan kalori sesuai untuk mencapai dan mempertahankan berat badan ideal. Salah satu cara untuk menentukan jumlah kalori yang dibutuhkan orang dengan obesitas adalah dengan memperhitungkan berdasarkan kebutuhan kalori basal yang besarnya 25 – 30 kalori / Kg berat badan ideal. Adapun perhitungan kalori yang digunakan adalah :
•
Kalori basal: Laki-laki:
•
BBI (kg) × 30 Kal Perempuan: BBI (kg) × 25 Kal
Koreksi Umur 40-59th : - 5 % Kal Basal 60-69 th : - 10% Kal Basal > 70 th
•
: - 20% Kal Basal
Aktifitas Istirahat : + 10% Kal Basal Ringan: + 20% Kal Basal Sedang: + 30% Kal Basal
50
Berat:+40-50% Kal Basal
•
Berat badan Gemuk: - 20% Kal Basal Lebih : - 10% Kal Basal Kurang: + 20%
• • •
Stress metabolik: + 10 - 30% Hamil trimester I&II: + 300 Kal Hamil trimester III : + 500 Kal
51
BAB V IMPLEMENTASI 5.1. Pembangunan Data Warehouse Dalam penelitian ini tahap an yang dilakukan dalam proses pembangunan data warehouse adalah : 1. Memilih bisnis proses yang akan dimodelkan. Dalam hal ini akan dibuat data warehouse diabetes yang akan dijadikan sebagai sumber data bagi implemetasi algoritme CPAR . Sumber data bagi data warehouse diabetes berasal dari basis data sistem informasi pasien rawat jalan, pasien rawat inap RSPP . Data flow diagram serta kamus data dari sistem informasi pasien rawat jalan, sistem informasi pasien rawat inap RSPP terdapat pada Lampiran 1 sampai dengan Lampiran 3. 2. Memilih bagian kecil dari bisnis proses SIM RSPP. Data pasien rawat jalan dan pasien rawat inap dikumpulkan dari registrasi pasien rawat jalan, registrasi pasien rawat inap serta dari masukkan yang ada dimasing-masing unit layanan. Modul Registrasi Unit ini berfungsi sebagai pintu masuk pasien ke RSPP, oleh karena itu hal pertama yang harus dilakukan pasien ketika hendak berobat adalah mendaftar. Modul registrasi bertugas memberikan sebuah nomor medical record (MR) kepada pasien baru, melakukan pendaftaran dan penjadwalan pasien ke unit layanan. Data registrasi yang dimasukkan akan menjadi acuan unit lain ketika memberikan pelayanan. Pada modul registrasi semua data pasien (pasien baru atau pasien lama) dipelihara dan disimpan. Data pasien ini akan digunakan oleh setiap unit layanan dalam memberikan pelayanan. Setiap pasien yang akan berobat atau mengunakan unit layanan, diberikan sebuah nomor regis trasi. Nomor registrasi ini berfungsi sebagai pengenal pasien ketika melakukan transaksi di setiap poliklinik atau unit layanan.
52
Modul Unit Layanan Secara umum, hal-hal yang dialkukan di setiap unit layanan adalah memberikan diagnosa, memberikan tindakan, jika diperlukan memberikan obat-obatan atau peralatan yang dibutuhkan untuk melakukan tindakan, mengeluarkan resep jika ada, dan terakhir mengeluarkan tagihan berdasarkan tindakan dan obat-obatan yang diberikan. 3. Memilih dimensi yang akan diimplementasikan ke setiap fact table. Hasil dari proses perancangan data warehouse diabetes terdapat pada Gambar 13. Kamus data data warehouse diabetes terdapat pada Lampiran 4. 4. Melakukan proses ekstraksi dan transformasi dari basis data SIM RSPP ke data warehouse menggunakan perintah-perintah SQL diperlihatkan pada Gambar 14.
Gambar 14. Relasi antartabel skema bintang data warehouse diabetes.
53
Mst_pasien
Basis data SIM RSPP
Ekstraksi dan Transformasi
Catatan_medis
Transaksi Pasien
Hasil_lab
Mst_jasa_item
Gambar 15. Ekstraksi dan transformasi basis data SIM RSPP
5.2. Pembangunan Model Klasifikasi Pembuatan model klasifikasi menggunakan algoritme CPAR dengan tahapan seperti pada Gambar 8 dan Gambar 9. Pada tahap awal algoritme CPAR membaca data dalam bentuk array dua dimensi dimana kolom terakhir menunjukkan kelas. Berdasarkan kelas tersebut data dikelompokkan menjadi contoh positif (P) dan contoh negatif (N). Setiap atribut pada contoh positif dan contoh negatif dihitung bobot totalnya, dimasukkan kedalam tabel PN array. Tabel PN array berisi informasi tentang atribut serta bobot total contoh positif (WP) dan bobot total contoh negatif (WN). Menghitung total weight threshold (TWT) dengan mengalikan jumlah bobot po sitif dan konstanta yang telah ditetapkan yaitu 0.05. Proses pembentukan aturan secara berulang dilakukan selama nilai total bobot contoh positif lebih besar dari nilai TWT. Selama proses pembentukan aturan, algoritme CPAR menyalin contoh positif P ke contoh positif sementara P’, contoh negatif N ke contoh negatif sementara N’, atribut A ke atribut sementara A’, PN array ke PN’ array sementara. Nilai-ilai yang ada pada PN’ array akan menjadi acuan untuk menghitung gain. Atribut-atribut yang dipilih sebagai kandidat pembentuk aturan diambil berdasarkan atribut yang memiliki nilai gain terbesar atau yang memiliki nilai gain yang serupa (gain similarity ratio). Flowchart algoritme CPAR diperlihatkan pada Gambar 15.
54
Mulai
Local Gain Threshold (LGT) = Gain terbesar × 0.6
Baca Data
2
Tentukan contoh positif (P) Tentukan contoh negatif (N)
Baca atribut A[i] Satu persatu
Ya
Tentukan bobot contoh positif (WP) Tentukan bobot contoh negatif (WN) Tentukan daftar atribut A Tentukan daftar contoh positif dan contoh negatif PN array
EOF
1
Tidak Hitung Gain A[i] 1
TWT = total bobot contoh positif × 0.05
Gain(A[i]) 〉 LGT
Tidak 2
Ya Rule_list = Rule_list_temp
Tidak
Selesai
Total bobot contoh positif 〉 TWT
Sisipkan A[i] ke rule_list_temp
Hapus record pada P’ dan N’yang tidak mengandung A[i]; P’_temp = P’; N’_temp = N’; Tentukan PN_temp berdasarkan P’_temp dan N’_temp
Ya P’ = P; N’ = N;A’ = A; PN’ array = PN array
Perhitungan Gain | P* | |P | Gain ( p ) = | P * | log − log | P* | + | N * | | P | + | N |
Total bobot Contoh negatif=0
Tidak 2
Ya Tentukan Gain Terbesar
Tidak Rule_list = Rule_list_temp
1
Gain te rbesar 〉 TWT
Ya
Rule_list=Rule_list_temp; Revisi bobot contoh positif dengan decay factor ; Sesuaikan PN array berdasarkan bobot contoh positif yang baru
2
55
Gambar 16 Flowchart algoritme CPAR 5.2.1. Preproses Data Pembangunan model klasifikasi dengan algoritme CPAR menggunakan PL/SQL. Pada penelitian ini digunakan DBMS Oracle 9i. Pada tahap awal data yang berasal dari relasi antara tabel mst_pasien, hasil_lab dan catatan_medis yang terdapat pada data warehouse diabetes ditransformasi ke dalam working database sampel_data, selanjutnya diubah ke dalam bentuk kategori.
Penentuan
pembentukan nilai kategori terhadap data-data hasil laboratorium didasarkan atas referensi yang ada di SIM RSPP seperti diperlihatkan pada Tabel 5. Penentuan kelas positif diabetes atau negatif diabetes ditentukan oleh diagnosa yang terdapat pada tabel catatan_medis. Kelas ditetapkan sebagai positif diabetes jika kode ICD pada diagnosa adalah E.10 Insulin -dependent diabetes mellitus atau E.11 Noninsulin-dependent diabetes mellitus atau E.12 Malnutrition -related diabetes mellitus atau E.13 Other specified diabetes mellitus atau E.14 Unspecified diabetes mellitus. Pembentukan nilai kategori selengkapnya diperlihatkan pada Tabel 6.
Tabel 5. Nilai referensi hasil laboratorium Kode Pemeriksaan ACTN ACTPP CHOL GLUN GPOST HDL LDL TG UPOST URN
Ketarangan
Satuan
Aseton Urin Puasa Aseton Urin 2 jam PP Kolesterol Total Glukosa Darah Puasa Glukosa Darah 2 jam PP Kolesterol HDL Kolesterol LDL Trigliserida Glukosa Urin 2 jam PP Glukosa Urin Puasa
mg/dL mg/dL mg/dL mg/dL mg/dL mg/dL
Nilai Normal negatif negatif < 200 70 ~ 110 100 ~ 140 40 ~ 60 < 130 50 ~ 150 negatif negatif
56
Tabel 6. Kategori untuk tabel sampel_data Atribut Umur Umur Umur Sex Sex Glun Glun Glun Gpost Gpost Gpost Upost Upost Actn Actn Urn Urn Actpp Actpp Ldl Ldl Hdl Hdl Hdl Chol Chol Tg Tg Tg
Keterangan Umur Pasien Umur Pasien Umur Pasien Jenis Kelamin Jenis Kelamin Glukosa Darah Puasa Glukosa Darah Puasa Glukosa Darah Puasa Glukosa Darah 2 jam PP Glukosa Darah 2 jam PP Glukosa Darah 2 jam PP Glukosa Urin 2 jam PP Glukosa Urin 2 jam PP Aseton Urin Puasa Aseton Urin Puasa Glukosa Urin Puasa Glukosa Urin Puasa Aseton Urin 2 jam PP Aseton Urin 2 jam PP Kolesterol LDL Kolesterol LDL Kolesterol HDL Kolesterol HDL Kolesterol HDL Kolesterol Total Kolesterol Total Trigliserida Trigliserida Trigliserida
Nilai Kontinyu Umur < 20 20 <= Umur <= 40 Umur > 40 Sex = Laki-Laki Sex = Perempuan Glun < 70 70 <= Glun < 110 Glun >= 110 Gpost < 100 110 <= Gpost < 140 Gpost >= 140 Upost <= 0 Upost > 0 Actn <= 0 Actn > 0 Urn <= 0 Urn > 0 Actpp <= 0 Actpp > 0 Ldl < 130 Ldl >= 130 Hdl < 40 40 <= Hdl < 60 Hdl >= 60 Chol < 200 Chol >= 200 Tg < 50 50 <= Tg < 150 Tg >= 150
Kategori 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Data yang sudah dalam bentuk kategori selanjutnya ditransformasi ke dalam bentuk array dua dimensi dan dilakukan proses cleaning dengan menghapus baris -baris yang tidak lengkap. Sampel hasil transformasi, integrasi dan cleaning data yang berasal dari tabel mst_pasien, hasil_lab serta catatan_medis pada data warehouse diabetes seperti pada Lampiran 5. Untuk
57
menjelaskan tahapan pembuatan model klasifikasi, digunakan contoh sampel data yang terdiri dari 20 record sebagai data training (Tabel 7). Tabel 7. Contoh sampel data. Sex 5 5 4 5 5 5 5 5 4 5 5 5 4 5 5 5 5 4 5 5
Umur 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 2
Glun 7 7 8 8 8 7 8 7 8 7 7 7 8 7 7 8 7 7 7 8
Gpost 9 11 11 10 11 11 11 10 11 9 9 11 11 9 11 11 9 9 9 11
Upost 12 12 13 12 13 12 13 12 13 12 12 12 12 12 12 13 12 12 12 12
Actn 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
Urn 16 16 16 16 17 16 16 16 16 16 16 16 17 16 16 16 16 16 16 16
Actpp Ldl Hdl Chol 18 21 22 26 18 21 23 26 18 21 23 26 18 21 23 26 18 21 24 26 18 20 24 25 18 21 23 26 18 21 23 26 18 20 23 26 18 20 23 25 18 20 23 25 18 20 24 25 18 20 24 25 18 21 23 26 18 21 23 26 18 21 23 26 18 21 23 26 18 20 23 25 18 21 23 26 18 20 24 25
Tg 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
Kelas 31 31 30 31 30 31 30 31 30 31 31 31 31 31 30 30 31 31 31 31
5.2.2. Pembentukan sampel positif dan sampel negatif Kolom terakhir pada sampel data pada Tabel 7 menunjukkan kelas. Angka 30 menunjukkan kelas positif diabetes dan 31 menunjukkan kelas negatif diabetes. Data training kemudian dipisahkan menjadi sampel positif (data pasien dengan diagnosa positif diabetes) dan sampel negatif (data pasien dengan diagnosa negatif diabetes).
Sampel data positif dari Tabel 7 diberikan dalam
Tabel 8, sedangkan sampel negatif diberikan dalam Tabel 9. Kolom 1 sampai dengan kolom ke 12 pada Tabel 9 dan Tabel 10 berisi kategori 1 sampai dengan 29. Kolom ke 14 berisi bobot total setiap record dari contoh positif P dan contoh negatif N. Tabel 8. Sampel positif dari data pada Tabel 7 Umur Sex Glun Gpost Upost Actn Urn Actpp Ldl 3
4
8
11
13
14
16
18
21
Hdl Chol Tg Kelas 23
26
29
30
Bobot 1.0
58
3 3 3 3 3
5 5 4 5 5
8 8 8 7 8
11 11 11 11 11
13 13 13 12 13
14 14 14 14 14
17 16 16 16 16
18 18 18 18 18
21 21 20 21 21
24 23 23 23 23
26 26 26 26 26
29 29 29 29 29
30 30 30 30 30
1.0 1.0 1.0 1.0 1.0
Tabel 9. Sampel negatif dari data pada Tabel. 7. Umur Sex Glun Gpost Upost Actn Urn Actpp Ldl 3 3 3 3 3 3 3 3 3 3 3 1 3 2
5 5 5 5 5 5 5 5 4 5 5 4 5 5
7 7 8 7 7 7 7 7 8 7 7 7 7 8
9 11 10 11 10 9 9 11 11 9 9 9 9 11
12 12 12 12 12 12 12 12 12 12 12 12 12 12
14 14 14 14 14 14 14 14 14 14 14 14 14 14
16 16 16 16 16 16 16 16 17 16 16 16 16 16
18 18 18 18 18 18 18 18 18 18 18 18 18 18
21 21 21 20 21 20 20 20 20 21 21 20 21 20
Hdl Chol Tg Kelas Bobot 22 23 23 24 23 23 23 24 24 23 23 23 23 24
26 26 26 25 26 25 25 25 25 26 26 25 26 25
29 29 29 29 29 29 29 29 29 29 29 29 29 29
31 31 31 31 31 31 31 31 31 31 31 31 31 31
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
5.2.3. Pembentukan PN array Pada awal proses setiap record mempunyai bobot 1.0. Kategori 1 dan 2 tidak muncul pada sampel positif dan muncul satu kali pada sampel negatif, sehingga bobot sampel positif (Wp) dan bobot sampel negatif (Wn) pada kategori 1 dan 2 adalah 0 dan 1. Bobot sampel positif dan bobot sampel negatif untuk setiap kategori selengkapnya diperlihatkan pada Tabel 10.
Tabel 10. PN array Kategori
Bobot sampel positif
Bobot sampel negatif
Kategori
Bobot sampel positif
Bobot sampel negatif
1 2 3 4 5 6 7 8 9 10 11
0 0 6 2 4 0 1 5 0 0 6
1 1 12 2 12 0 11 3 7 2 5
16 17 18 19 20 21 22 23 24 25 26
5 1 6 0 1 5 0 5 1 0 6
13 1 14 0 7 7 1 9 4 7 7
59
12 13 14 15
1 5 6 0
14 0 14 0
27 28 29
0 0 6
0 0 14
Jumlah record pada sampel positif pada Tabel 8 adalah 6 dan setiap record pada awal proses berbobot 1, sehingga bobot total dari sampel positif pada awal proses adalah 6. Total Weight Threshold (TWT) dihitung berdasarkan rumus : TWT = total bobot sampel positif × 0.05 = 6 × 0.05 = 0.3 Seluruh kategori pada sampel positif selanjutnya diproses satu persatu sampai bobot totalnya lebih kecil dari nilai TWT yaitu 0.3. 5.2.4. Pembentukan Gain Sebagai contoh untuk menghitung Gain dipilih kategori 4 yang muncul 2 kali pada sampel positif (Wp) dan 2 kali pada sampel negatif (Wn), sehingga sesuai dengan formula Gain (p) didapat : 2 6 Gain ( 4 ) = 2 log − log 2+ 2 6 + 14
= 1.02
nilai Gain pada atribut 4 adalah 1.02. Bobot sampel positif, bobot sampel negatif serta nilai Gain untuk setiap kategori selengkapnya diperlihatkan pada Tabel 11. Dalam penelitian ini decay factor ditentukan 0.3 dan global minimum threshold 0.7.
Tabel 11. Kategori dan nilai Gain Kategori
Bobot sampel positif
Bobot sampel negatif
Gain
Kategori
Bobot sampel positif
Bobot sampel negatif
Gain
1 2 3 4 5 6 7 8 9 10 11
0 0 6 2 4 0 1 5 0 0 6
1 1 12 2 12 0 11 3 7 2 5
0.00 0.00 0.63 1.02 -0.73 0.00 -1.28 3.67 0.00 0.00 3.58
16 17 18 19 20 21 22 23 24 25 26
5 1 6 0 1 5 0 5 1 0 6
13 1 14 0 7 7 1 9 4 7 7
-0.38 0.51 0.00 0.00 -0.87 1.64 0.00 0.87 -0.41 0.00 2.58
60
12 13 14 15
1 5 6 0
14 0 14 0
-1.50 6.02 0.00 0.00
27 28 29
0 0 6
0 0 14
0.00 0.00 0.00
Pada Tabel 11 terlihat Gain terbesar adalah pada kategori 13 (Gain = 6.02). Local Gain Threshold (LGT) dihitung berdasarkan rumus : LGT = Gain terbesar × Gain_similarity_ratio = 6.02 × Gain_similarity_ratio = 6.02 × 0.6 = 3.61 Ada dua kategori yang nilai Gain -nya di atas LGT yaitu 13 dan 8. Selanjutnya kedua kategori tersebut diproses satu persatu, yaitu dengan menyisipkan rule 13 → 30 ke rule list sementara, menyalin sampel positif dan sampel negatif dengan menghapus baris yang tidak berisi atribut 13, sehingga record kelima pada Tabel 8 dihapus. Sehingga sampel positif menjadi: Umur Sex Glun Gpost Upost Actn Urn Actpp Ldl 3 3 3 3 3
4 5 5 4 5
8 8 8 8 8
11 11 11 11 11
13 13 13 13 13
14 14 14 14 14
16 17 16 16 16
18 18 18 18 18
21 21 21 20 21
Hdl Chol Tg Kelas 23 24 23 23 23
26 26 26 26 26
29 29 29 29 29
30 30 30 30 30
Bobot 1.0 1.0 1.0 1.0 1.0
Sedangkan untuk sampel negatif tidak memiliki anggota. Karena sampel negatif kosong, maka rule 13 → 30 disisipkan ke dalam rule list. Laplace accuracy (LA) yang berguna untuk mengetahui kekuatan prediksi dihitung berdasarkan formula : L.A = (nc+1) / (ntot+f) Dimana nc adalah jumlah sampel yang memenuhi kelas 30 yaitu 5 (jumlah kategori 13 pada kelas 30), ntot adalah jumlah total sampel yang memenuhi body dari aturan yaitu 5 (jumlah kategori 13 pada keseluruhan sampel), f adalah jumlah kelas yaitu 2 (kelas 30 dan 31). Sehingga didapat LA= (5+1)/(5+2)=0.86. Bobot sampel positif selanjutnya direvisi dengan menggunakan decay factor. Bobot sampel positif yang baru adalah:
61
Umur Sex Glun Gpost Upost Actn Urn Actpp Ldl 3 3 3 3 3 3
4 5 5 4 5 5
8 8 8 8 7 8
11 11 11 11 11 11
13 13 13 13 12 13
14 14 14 14 14 14
16 17 16 16 16 16
18 18 18 18 18 18
21 21 21 20 21 21
Hdl Chol Tg Kelas 23 24 23 23 23 23
26 26 26 26 26 26
29 29 29 29 29 29
30 30 30 30 30 30
Bobot 0.33 0.33 0.33 0.33 1.0 0.33
Nilai bobot sampel positif sekarang adalah 2.65, masih lebih besar dari 0.3, sehingga kategori berikutnya yaitu 8 yang memiliki nilai Gain diatas LGT diproses den gan menyisipkan atribut 8 → 30 ke rule list sementara dan menyalin sampel positif dan sampel negatif sebelumnya dengan menghapus baris yang tidak berisi kategori 8. Sampel positif setelah dilakukan penghapusan baris yang tidak berisi kategori 8 adalah:
Umur Sex Glun Gpost Upost Actn Urn Actpp Ldl 3 3 3 3 3
4 5 5 4 5
8 8 8 8 8
11 11 11 11 11
13 13 13 13 13
14 14 14 14 14
16 17 16 16 16
18 18 18 18 18
21 21 21 20 21
Hdl Chol Tg Kelas 23 24 23 23 23
26 26 26 26 26
29 29 29 29 29
30 30 30 30 30
Bobot 1.0 1.0 1.0 1.0 1.0
Sedangkan untuk sampel negatif tidak memiliki anggota. Karena sampel negatif kosong, maka kategori 8 → 30 disisipkan ke dalam rule list. Laplace accuracy untuk aturan tersebut adalah: LA= (5+1)/(8+2)=0.60. Bobot sampel positif selanjutnya direvisi dengan menggunakan decay factor. Bobot sampel positif yang baru adalah: Umur Sex Glun Gpost Upost Actn Urn Actpp Ldl 3 3 3 3 3 3
4 5 5 4 5 5
8 8 8 8 7 8
11 11 11 11 11 11
13 13 13 13 12 13
14 14 14 14 14 14
16 17 16 16 16 16
18 18 18 18 18 18
21 21 21 20 21 21
Hdl Chol Tg Kelas Bobot 23 24 23 23 23 23
26 26 26 26 26 26
29 29 29 29 29 29
30 30 30 30 30 30
0.11 0.11 0.11 0.11 1.0 0.11
62
Setelah kedua kategori 13 dan 8 d iproses, langkah selanjutnya menghitung Gain dengan bobot sampel yang sudah disesuaikan . Hasil perhitungan Gain tersebut diberikan pada Tabel 12. Tabel 12. Hasil perhitungan Gain setelah kategori 13 dan 8 diproses . Kategori
Bobot sampel positif
Bobot sampel negatif
Gain
Kategori
Bobot sampel positif
Bobot sampel negatif
Gain
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 2.65 0.66 1.99 0 1 1.65 0 0 2.65 1 1.65 2.65 0
1 1 12 2 12 0 11 3 7 2 5 14 0 14 0
0.00 0.00 -1.34 -0.13 -1.48 0.00 -1.28 0.28 0.00 0.00 0.38 -1.50 1.99 -1.68 0.00
16 17 18 19 20 21 22 23 24 25 26 27 28 29
2.32 0.33 2.65 0 0.33 2.32 0 2.32 0.33 0 2.65 0 0 2.65
13 1 14 0 7 7 1 9 4 7 7 0 0 14
-1.58 -0.06 -1.68 0.00 -0.63 -0.43 0.00 -0.88 -0.45 0.00 -0.23 0.00 0.00 -1.68
Kategori 13 dan 8 tidak disertakan pada proses selanjutnya sehingga nilai Gain pada kategori 13 dan 8 diabaikan, Gain maksimum sekarang adalah 0.38 yang berarti lebih kecil dari global minimu m 0.7, sehingga proses dihentikan. Cara yang sama digunakan untuk kelas 31. Pada akhir proses semua rule d isisipkan ke dalam rule list, dan dihitung akurasinya menggunakan Laplace accuracy (LA) sehingga didapat : No.
Rule
1 2 3 4 5
13 8 7 ∧ 12 9 25
LA → → → → →
30 30 31 31 31
0.86 0.60 0.88 0.89 0.89
5.3. Program Aplikasi Untuk memudahkan penggunaan aplikasi oleh pemakai maka dibuat program antarmuka yang dibangun dengan menggunakan modus grafik.
Dua
63
proses yang digunakan yaitu proses prediksi diagnosa dan proses terapi. Aturan untuk kedua proses tersebut dibangun berdasarkan hasil proses menggunakan algoritme CPAR dan diperkuat oleh pendapat pakar. Tampilan antarmuka pemakai dapat dilihat pada Lampiran 6 sampai dengan Lampiran 14. BAB VI PENGUJIAN DAN PEMBAHASAN
6.1. Mekanisme Pengujian Pengujian dilakukan terhadap model identifikasi yang dibangun. Tujuan pengujian adalah untuk menemukan model yang ideal. Sebelum dilakukan pengujian terlebih dahulu dilakukan pelatihan terhadap model. Pelatihan model menggunakan data training adapun pengujian model menggunakan data testing. Data training dan data testing memuat informasi tentang data input berupa umur, sex, hasil tes laboratorium, data output berupa diagnosa penyakit (positif diabetes, negatif diabetes atau beresiko diabetes). Model yang sudah terbetuk dibandingkan dengan hasil pengujian pada data testing. Semakin sama hasil perbandingan output kedua model berarti model semakin akurat. Pengujian dilakukan terhadap data training dengan mengambil data sampel contoh positif dan contoh negatif. Pada kedua kelompok data tersebut algoritme CPAR digunakan untuk mencari pola-pola dari nilai yang diprediksi. Selanjutnya model diperbaiki dengan menggunakan sampel data lain agar tidak hanya bisa bekerja dengan data training. 6.2. Pelatihan dengan Data Training Proses pelatihan model data mining menggunakan algoritme CPAR. Pelatihan dilakukan dengan mengambil sebanyak 700 sampel, dengan perbandingan sampel positif diabetes dan negatif diabetes 4 : 6. 700 sampel data yang mempunyai catatan medis lengkap dikumpulkan. Rata-rata umur 57 ± 17 tahun. 51.14% pada kelompok usia di atas 60 tahun, 34,37% pada kelompok usia 51 – 60 tahun, 11.39% pada kelompok usia 41 – 50 tahun dan 3.11% pada kelompok usia di bawah 40 tahun. 17.6 % diantaranya mempunyai hubungan keluarga. Karakteristik sampel data bisa dilihat pada Tabel 12, dan Tabel 13.
64
Keseluruhan data testing perbandingan antara bobot sampel positif, sampel negatif, nilai Gain sampel positif dan nilai Gain sampel negatif pada awal proses dapat dilihat pada Tabel 14. Grafik pada Gambar 16 memperlihatkan data dari 29 kategori yang dihubungkan dengan nilai Gain sampel positif. Grafik pada Gambar 17 menunjukkan data dari 29 kategori yang dihubungkan dengan nilai Gain sampel negatif.
Tabel 12. Karakteristik umum data training Data Positif Diabetes Negatif Daibetes
Sex
Jumlah Baris
Prosentase Umur ± SD Setiap Kelas Mean
Laki-laki
93
13.29
58
±
14
Perempuan
207
29.57
56
±
16
Laki-laki
138
19.71
54
±
23
Perempuan
262
37.43
59
±
14
Tabel 13. Rata-rata variabel pemeriksaan laboratorium data training
Positif Diabetes
Negatif Diabetes
Mean
±
Mean ±
Glukosa Darah Puasa (mg/dl)
165.12
±
68.43 110.43 ±
38.51
Glukosa Darah 2 jam PP (mg/dl)
240.90
±
92.62 140.84 ±
61.93
Glukosa Urin 2 jam PP
1.50
±
1.40
0.42 ±
0.95
Aseton Urin Puasa
0.05
±
0.23
0.03 ±
0.25
Glukosa Urin Puasa
0.57
±
1.10
0.17 ±
0.62
Aseton Urin 2 jam PP
0.03
±
0.19
0.02 ±
0.19
Kolesterol LDL (mg/dl)
128.45
±
37.73 132.40 ±
39.08
Kolesterol HDL (mg/dl)
47.22
±
11.44
48.49 ±
12.88
Kolesterol Total (mg/dl)
208.83
±
42.46 210.23 ±
46.04
Trigliserida (mg/dl)
165.98
±
83.10 153.41 ± 120.40
Variabel
SD
SD
65
Tabel 14. Perbandingan bobot sampel dan Gain Kategori
Bobot Positif Diabetes
Bobot Negatif Diabetes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
0 9 291 93 207 2 62 236 5 28 267 128 172 292 8 230 70 296 4 167 133 35 193 72 140 160 1 0 299
2 15 383 138 262 0 293 107 106 149 145 329 71 394 6 369 31 396 4 222 178 41 253 106 190 210 4 0 396
Gain Positif Diabetes 0.00 -1.20 2.15 -5.81 6.08 1.69 -55.62 111.65 -11.26 -27.89 110.34 -54.41 86.24 -1.99 2.30 -25.26 33.63 -0.57 0.62 0.29 -0.29 2.52 1.86 -4.16 -1.42 1.43 -0.76 0.00 1.14
Gain Negatif Diabetes 1.12 1.34 -2.14 6.13 -5.93 0.00 107.66 -64.72 54.40 57.69 -70.23 75.95 -47.59 2.00 -1.73 27.71 -19.25 0.57 -0.53 -0.29 0.29 -2.36 -1.85 4.37 1.43 -1.42 1.35 0.00 -1.14
66
140.00
120.00
100.00
80.00
60.00
Gain
40.00
20.00
0.00 0
5
10
15
20
25
30
35
30
35
-20.00
-40.00
-60.00
-80.00 Atribut
Gambar 17. Grafik Gain data training untuk kelas positif diabetes
120.00
100.00
80.00
60.00
Gain
40.00
20.00
0.00 0
5
10
15
20
25
-20.00
-40.00
-60.00
-80.00 Atribut
Gambar 18. Garfik Gain data training untuk kelas negatif diabetes
67
Hasil proses data mining dari 700 sampel data training dengan berbagai variasi Gain similarity ratio dapat dilihat pada Tabel 15 sampai dengan Tabel 19.
Tabel 15. Aturan yang dihasilkan dengan Gain similarity ratio 99% No. 1 2 3 4 5 6 7
Aturan IF Glun >= 110 Then Positif Diabetes IF Gpost >= 140 Then Positif Diabetes IF Upost > 0 Then Positif Diabetes IF 70 <= Glun < 110 Then Negatif Diabetes IF Upost <= 0 Then Negatif Diabetes IF 100 <= Gpost < 140 Then Negatif Diabetes IF Gpost < 100 Then Negatif Diabetes
Laplace Accuracy 0.69 0.65 0.71 0.82 0.72 0.84 0.95
Data pada Tabel 15. memperlihatkan bahwa aturan IF Upost > 0 Then Positif Diabetes mempunyai Laplace Accuracy paling tinggi pada kelas positif diabetes yaitu 71%. Ini berarti bahwa pasien dengan hasil pemeriksaan glukosa urin 2 jam pp (Upost) lebih besar dari 0 mempunyai peluang terkena penyakit diabetes sebesar 71%. Aturan IF Gpost < 100 Then Negatif Diabetes mempunyai Laplace Accuracy paling tinggi pada kelas negatif diabetes yaitu 95%. Ini berarti pasien dengan hasil pemeriksaan glukosa darah 2 jam pp (Gpost) kurang dari 100 mg/dl mempunyai peluang tidak terkena penyakit diabetes sebesar 95%. Berdasarkan data pada Tabel 15 terlihat juga bahwa pemeriksaan glukosa darah 2 jam pp (Gpost), glukosa urin 2 jam pp (Upost), glukosa darah puasa (Glun) menjadi penentu utama untuk menentukan apakah pasien positif diabetes atau negatif diabetes.
Tabel 16. Aturan yang dihasilkan dengan Gain similarity ratio 80% No. 1 2 3 4
Aturan IF Gpost >= 140 Then Positif Diabetes AND IF Glun >= 110 Then Positif Diabetes IF 70 <= Glun < 110 Then Negatif Diabetes IF Upost <= 0 Then Negatif Diabetes IF Gpost < 100 Then Negatif Diabetes AND IF 100 <= Gpost < 140 Then Negatif Diabetes
Laplace Accuracy 0.69 0.82 0.72 -
68
Dengan menggunakan Gain similarity ratio 80% dihasilkan 4 aturan. Aturan pertama mengandung 2 variabel yaitu Gpost dan Glun. Hal ini berarti jika pemeriksaan glukosa darah 2 jam PP pasien hasilnya lebih besar ataun sama dengan 140 mg/dl dan hasil pemeriksaan glukosa darah puasa lebih besar atau sama dengan 110 mg/dl, maka peluang pasien tersebut positif diabetes sebesar 69%. Data pada Tabel 16. memperlihatkan bahwa nilai Laplace accuracy pada aturan ke 4 adalah kosong, hal ini disebabkan karena tidak ada dua hasil pada satu jenis pemeriksaan yang muncul bersamaan, sehin gga aturan tersebut tidak bisa digunakan untuk melakukan prediksi.
Tabel 17. Aturan yang dihasilkan dengan Gain similarity ratio 50% No.
Aturan
1
IF Glun >= 110 Then Positif Diabetes AND IF Gpost >= 140 Then Positif Diabetes IF Upost > 0 Then Positif Diabetes IF 70 <= Glun < 110 Then Negatif Diabetes AND IF Upost <= 0 Then Negatif Diabetes IF 100 <= Gpost < 140 Then Negatif Diabetes IF Gpost < 100 Then Negatif Diabetes
2 3 4 5
Laplace Accuracy 0.67 0.71 0.82 0.84 0.95
Dengan menurunkan nilai Gain similarity ratio dari 80% menjadi 50% dihasilkan jumlah 5 buah aturan seperti diperlihatkan pada Tabel 17.
Tabel 18. Aturan yang dihasilkan dengan Gain similarity ratio 20% No.
Aturan
1
IF Glun >= 110 Then Positif Diabetes AND IF Gpost >= 140 Then Positif Diabetes IF Upost > 0 Then Positif Diabetes IF Urn > 0 Then Positif Diabetes IF 70 <= Glun < 110 Then Negatif Diabetes AND IF Upost <= 0 Then Negatif Diabetes IF 100 <= Gpost < 140 Then Negatif Diabetes IF Gpost < 100 Then Negatif Diabetes IF Urn <= 0 Then Negatif Diabetes
2 3 4 5 6 7
Laplace Accuracy 0.69 0.71 0.69 0.82 0.84 0.95 0.62
69
Tabel 19. Aturan yang dihasilkan dengan Gain similarity ratio 10% No.
Aturan
1
IF Glun >= 110 Then Positif Diabetes AND IF Gpost >= 140 Then Positif Diabetes IF Upost > 0 Then Positif Diabetes IF Urn > 0 Then Positif Diabetes IF 70 <= Glun < 110 Then Negatif Diabetes AND IF Upost <= 0 Then Negatif Diabetes IF 100 <= Gpost < 140 Then Negatif Diabetes IF Gpost < 100 Then Negatif Diabetes IF Urn <= 0 Then Negatif Diabetes
2 3 4 5 6 7
Laplace Accuracy 0.69 0.71 0.69 0.82 0.84 0.95 0.62
6.3. Proses Optimalisasi Proses dilakukan dengan merubah kategori Glun dan Gpost yang menjadi penentu utama positif diabetes atau negatif diabetes. Kategori untuk tabel sampel_data setelah proses optimalisasi diperlihatkan pada Tabel 20. Grafik perbandingan Nilai Gain positif diabetes dan negatif diabetes setelah proses optimalisasi diperlihatkan pada Gambar 19 dan Gambar 20. Aturan yang dihasilkan setelah proses optimalisasi dengan berbagai vaiasi Gain similarity ratio diperlihatkan pada Tabel 21 sampai dengan Tabel 25. Tabel 20. Kategori untuk tabel sampel_data setelah proses optimalisasi Atribut Keterangan Nilai Kontinyu Kategori Umur Umur Pasien Umur < 20 1 Umur Umur Sex Sex Glun Glun Glun Glun Gpost Gpost Gpost
Umur Pasien Umur Pasien Jenis Kelamin Jenis Kelamin Glukosa Darah Puasa Glukosa Darah Puasa Glukosa Darah Puasa Glukosa Darah Puasa Glukosa Darah 2 jam PP Glukosa Darah 2 jam PP Glukosa Darah 2 jam PP
20<= Umur<= 40 Umur > 40 Sex = Laki-Laki Sex = Perempuan Glun < 70 70 <= Glun < 110 110 <= Glun < 140 Glun >= 140 Gpost < 100 100<= Gpost <140 140 <= Gpost < 200
2 3 4 5 6 7 8 9 10 11 12
70
Atribut Gpost Upost Upost Actn
Keterangan Glukosa Darah 2 jam PP Glukosa Urin 2 jam PP Glukosa Urin 2 jam PP Aseton Urin Puasa
Nilai Kontinyu Gpost >= 200 Upost <= 0 Upost > 0 Actn <= 0
Kategori 13 14 15 16
Actn Urn Urn Actpp Actpp Ldl Ldl Hdl Hdl Hdl Chol Chol Tg Tg Tg
Aseton Urin Puasa Glukosa Urin Puasa Glukosa Urin Puasa Aseton Urin 2 jam PP Aseton Urin 2 jam PP Kolesterol LDL Kolesterol LDL Kolesterol HDL Kolesterol HDL Kolesterol HDL Kolesterol Total Kolesterol Total Trigliserida Trigliserida Trigliserida
Actn > 0 Urn <= 0 Urn > 0 Actpp <= 0 Actpp > 0 Ldl< 130 Ldl>=130 Hdl < 40 40<= Hdl< 60 Hdl>=60 Chol<200 Chol>=200 Tg<50 50<=Tg< 150 Tg>=150
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
120.00
13
100.00 9
15
80.00
60.00
40.00 Gain
19 31
8 20.00 12 0.00
1 0
2
5
3
6
16
45
10
17
15
10
20
24 25 28 29 20 21 22 2 3 27 26 25 30
-20.00 18
11
35
30
-40.00
-60.00
7
14
-80.00 Kategori
Gambar 19. Grafik Gain negatif diabetes setelah proses optimalisasi
71
120.00 7 100.00
80.00 14 60.00 10
11
Gain
40.00 18
30
20.00 4 1
0.00 0
2
3
16
6 5 5
10
17
15
20
20 21 22 2 3 24 25 25
26
27
28
29 30
35
12 -20.00
8
19
31
-40.00 9 13
15
-60.00 Kategori
Gambar 20. Grafik Gain negatif diabetes setelah proses optimalisasi
Tabel 21 Aturan setelah proses optimalisasi dengan Gain similarity ratio 99% No 1 2 3 4 5 6 7
Aturan IF Gpost >= 200 Then Positif Diabetes IF Glun >= 140 Then Positif Diabetes IF Upost > 0 Then Positif Diabetes IF 70 <= Glun < 110 Then Negatif Diabetes IF Upost <= 0 Then Negatif Diabetes IF 100<=Gpost<140 Then Negatif Diabetes IF Gpost < 100 Then Negatif Diabetes
Laplace Accuracy 0.74 0.73 0.70 0.82 0.72 0.84 0.95
Tabel 22 Aturan setelah prosesoptimalisasi dengan Gain similarity ratio 80% No. 1 2 3 4 5
Aturan IF Glun >= 140 AND IF Gpost >= 200 Then Positif Diabetes IF Upost > 0 Then Positif Diabetes IF 70 <= Glun < 110 Then Negatif Diabetes IF Upost <= 0 Then Negatif Diabetes IF 100<= Gpost <140 AND IF Gpost < 100 Then Negatif Diabetes
Laplace Accuracy 0.73 0.74 0.70 0.82 0.72 -
72
Tabel 23 Aturan setelah proses optimalisasi dengan Gain similarity ratio 50% No. 1 2 3 4 5
Aturan IF Glun >= 140 AND IF Gpost >= 200 Then Positif Diabetes IF Upost > 0 Then Positif Diabetes IF Upost <= 0 AND IF 70 <= Glun < 110 Then Negatif Diabetes IF 100<= Gpost <140 Then Negatif Diabetes IF Gpost < 100 Then Negatif Diabetes
Laplace Accuracy 0.74 0.70 0.77 0.80 0.95
Tabel 24 Aturan setelah proses optimalisasi dengan Gain similarity ratio 20% No. 1 2 3 4 5 1 2 3 4 5
Aturan IF Gpost >= 200 AND IF Glun >= 140 Then Positif Diabetes IF Upost > 0 Then Positif Diabetes IF Urn > 0 Then Positif Diabetes IF Tg>=150 Then Positif Diabetes IF 110 <= Glun < 140 Then Positif Diabetes IF Upost <= 0 AND IF 70 <= Glun < 110 Then Negatif Diabetes IF 100<= Gpost <140 Then Negatif Diabetes IF Gpost < 100 Then Negatif Diabetes IF Urn <= 0 Then Negatif Diabetes IF 50<=Tg< 150 Then Negatif Diabetes
Laplace Accuracy 0.74 0.70 0.69 0.51 0.60 0.77 0.84 0.95 0.62 0.63
Tabel 25 Aturan setelah proses optimalisasi dengan Gain similarity ratio 10%
No.
Aturan
1
IF Glun >= 140 AND IF Gpost >= 200 Then Positif Diabetes IF Upost > 0 Then Positif Diabetes IF Urn > 0 Then Positif Diabetes IF Tg>=150 Then Positif Diabetes IF 110 <= Glun < 140 Then Positif Diabetes IF 140 <= Gpost < 200 Then Positif Diabetes IF 70 <= Glun < 110 AND IF Upost <= 0 Then Negatif Diabetes IF 100<= Gpost <140 Then Negatif Diabetes IF Gpost < 100 Then Negatif Diabetes IF Urn <= 0 Then Negatif Diabetes IF 50<=Tg< 150 Then Negatif Diabetes
2 3 4 5 6 7 8 9 10 11
Laplace Accuracy 0.74 0.70 0.69 0.51 0.60 0.50 0.77 0.84 0.95 0.62 0.63
73
BAB VII KESIMPULAN DAN SARAN
7.1. Kesimpulan Dari hasil yang diperoleh catatan sebagai kesimpulan dari penelitian ini yakni: 1. Data
mining menggunakan algoritme CPAR dapat digunakan untuk
membantu mendiagnosa penyakit diabetes. 2. Pemeriksaan glukosa darah 2 jam pp (Gpost), glukosa urin 2 jam pp (Upost), glukosa darah puasa (Glun) menjadi penentu utama untuk menentukan apakah pasien positif diabetes atau negatif diabetes. 3. Menurunkan nilai Gain similarity ratio tidak banyak berpengaruh terhadap hasil pembentukan aturan. 4. Kekuatan prediksi tidak ditentukan secara langsung oleh nilai Gain . 5. Algoritme CPAR hanya memilih kategori yang memiliki nilai Gain terbaik, sehingga ada kemungkinan kategori yang mempunyai kekuatan prediksi yang tinggi tidak muncul dalam aturan. 6. Algoritme CPAR menerima input dalam bentuk kategori, sehingga proses penentuan data kontinyu menjadi data kategori sangat berpengaruh terhadap hasil prediksi.
7.2. Saran Untuk pengembangan lebih lanjut, penulis menyarankan : 1. Perlu d ikembangkan keterkaitan variabel-variabel selain pemeriksaan laboratorium yang mempunyai potensi sebagai penyebab penyakit diabetes. Antara lain berat badan, tinggi badan dan tekanan darah . 2. Perlu dikembangkan pengelompokkan hasil lab oratorium ke dalam bentuk kategori yang lebih detil agar dihasilkan akurasi aturan yang lebih baik.
74
DAFTAR PUSTAKA Berry MJ, Linoff GS, 2000, Mastering Data mining : The Art and science of Customer Relationship Management, New York: John Wiley & Sons, Inc. Berson A., Smith S, Thearling K, 2001, Building Data mining Application for CRM, mcGraw-Hill.
Coenen F, 2004, The LUCS-KDD Implementations of CPAR (Classification Based on Predictive Association Rules), Department of Computer Science The University of Liverpool. . Corey M, Abbey M, Abramson I, Taub B, 2001, Oracle 8i : Data Warehousing , Osborne/McGraw-Hill. Han J, Kamber M, 2001, Data mining Concepts and Techniques, The Morgan Kaufmann Publishers. Inmon WH, 1993, Building The Data Warehouese, Wellesley: QED Publishing Group. Lanny S., Alam S, Iwan H., 2004, Diabetes : Informasi Lengkap Untuk Penderita dan Keluarga.
Soegondo S, Soewondo P, Subekti I, 2002, Penatalaksanaan Diabetes Melitus Terpadu, Jakarta: Balai Penerbit FK-UI. Yin X, Han J, 2003, CPAR: Classification based on Predictive Association Rules, University of Illinois at Urbana-Champaign.
75
Lampiran 1. Proses Pasien Rawat Jalan
Pasien Entry Data Master Pasien
Pasien Baru SPK, SJ,
PASIEN
Verifikasi Master Pasien Pasien
Kartu Berobat
Pasien Lama
Jasa_item
Registrasi Pasien RJ
Registrasi_rj
Ekspedisi_mr
Pasien Tunai Pencatatan Pembayaran
Laporan harian
Pasien Jaminan TBP
Jasa_item
Kunjungan Ke Poliklinik
Pencatatan Medical Record
Transaksi_rj Registrasi RJ
SPM/APOTIK
Entry Data Biaya Layanan
Entry Data Layanan Medik
Catatan_medis_rj
Registrasi RJ
76
Lampiran 2. Proses Pasien rawat Inap
Registrasi Pasien Rawat Inap
Sistem Registrasi Pasien Rawat Jalan
Bagian_perawatan
Registrasi_ri Pasien Tunai Ekspedisi_mr Pencatatan Pembayaran
Pasien Jaminan
Jasa_item Laporan Harian
TBP
RUANG PERAWATAN
Pebcatatan Medical Record
Bagian_perawatan
Jasa_item Transaksi_ri
SPM/APOTIK
Entry Data Biaya Layanan
Pencatatan Lepas Rwt
Entry Layanan Medik RI
Lepas_rawat
Registrasi_Ri
Catatan_medis_ri
77
Lampiran 3. Kamus Data Pasien Rawat Jalan dan Pasien Rawat Inap File Name : Pasien Keterangan :File Master pasien, menampung seluruh data pasien yg pernah berobat di RSPP Jenis Keterangan Nama Field Data Panjang Dec. NO_RM varchar2 12 Kode Pasien NAMA _PASIEN varchar2 40 Nama Pasien ALAMAT varchar2 50 Alamat Pasien TELP varchar2 12 No.Telpon T_LAHIR date Tanggal Lahir S_KAWIN varchar2 10 Status Kawin SEX varchar2 10 Jenis Kelamin PEKERJAAN varchar2 20 Pekerjaan KODE_CR varchar2 2 Kelompok Perusahaan NIPP_PENANGGUNG varchar2 25 No.Pegawai HUBUNGAN_KELUARGA varchar2 1 Hubungan Keluarga PELANGGAN varchar2 6 Kode Bagian WILAYAH varchar2 3 Kode Wilayah NAMA_AYAH varchar2 25 Nama Ayah NAMA_IBU varchar2 25 Nama Ibu TMP_LAHIR varchar2 20 tempat Lahir UMUR number 2 Umur TINGGI_BADAN number 3 Tinggi Badan BERAT number 5 2 Berat Badan G_DARAH varchar2 2 Tinggi Badan UPD_TS date Tgl. Update
File name : regitrasi_rj Keterangan : File ini digunakan untuk menampung data detil registrasi rawat jalan Nama Field Jenis Data Panjang Prec. Keterangan KEY_TRANSAKSI NUMBER 11 Key Transaksi TANGGAL_REGISTRASI DATE Tanggal Registrasi KODE_GROUP CHAR 3 Kode Poli KODE_PENERIMA CHAR 4 Kode Dokter NO_REGISTRASI NUMBER 3 No.Urut Registrasi NO_RM VARCHAR2 12 Kode Pasien JAM_REGISTRASI CHAR 8 Jam Registrasi UPD_TS DATE Tanggal Update
78
Lampiran 3. Lanjutan File Name : Transaksi_rj Keterangan : File untuk menampung semua transaksi pasien rawat jalan diluar Obat Dan Alkes Nama Field Jenis Data Panjang Prec. Keterangan KEY_TRANSAKSI TANGGAL_TRANSAKSI JASA_ITEM QUANTITY HARGA PERSEN_DISCOUNT JUMLAH_DISCOUNT JML_HARGA KODE_PENERIMA UPD_TS
NUMBER DATE VARCHAR2 NUMBER NUMBER NUMBER NUMBER NUMBER CHAR DATE
11 6 8 15 6 15 15 4
3 2 2 2 2
File Name : jasa_item Keterangan : File Master Untuk menampung Kode Item Nama Field Jenis Data Panjang Prec. KODE_JASA VARCHAR2 6 NAMA_JASA VARCHAR2 40 KETERANGAN VARCHAR2 30 JUMLAH NUMBER 10 UPD_TS DATE
Key Transaksi DD-MON-YY Kode Item Jumlah Item Harga Satuan Discount Item Jumlah harga discount Total Harga Item Kode Dokter Penerima Tanggal Update
Keterangan kode item Nama item Ketarangan Harga Item Tanggal Update
File Name : Ekspdedisi_mr Keterangan : File ekspedisi medical record pasien rawat jalan Nama Field Jenis Data Panjang Prec. KEY_TRANSAKSI TANGGAL_PENGIRIMAN JAM_PENGIRIMAN LOKASI_AWAL_KIRIM LOKASI_TUJUAN_KIRIM NAMA_PETUGAS_KIRIM STATUS_TERIMA TANGGAL_TERIMA JAM_PENERIMAAN NAMA_PETUGAS_TERIMA STATUS_PENERIMAAN TANGGAL_KEMBALI JAM_KEMBALI UPD_TS
NUMBER DATE CHAR CHAR CHAR VARCHAR2 CHAR DATE CHAR VARCHAR2 CHAR DATE CHAR DATE
11 8 3 3 20 1 8 20 1 8
Keterangan Key Transaksi Tanggal Pengiriman Jam Pengiriman Kode Poliklinik asal Kode Poliklinik Tujuan Petugas Pengirim Y (Sudah Dikirim) Tanggal Penerimaan Jam Penerimaan Nama Petugas Penerima Y (Sudah Diterima) Tanggal Kembali Jam Kembali Tanggal Update
79
Lampiran 3. Lanjutan Catatan_medis_rj Keterangan : File ini digunakan untuk mencatat catatan medis pasien rawat jalan Keterangan Nama Field Jenis Data Panjang Prec. KEY_TRANSAKSI TGL_PEMERIKSAAN NOMOR_RM JAM_PERIKSA_AWAL JAM_PERIKSA_AKHIR KELUHAN_UTAMA RIWAYAT_PENYAKIT TENSI NADI SUHU NAFAS TINGGI_BADAN BERAT_BADAN DIAGNOSA_UTAMA DIAGNOSA_KE2 DIAGNOSA_KE3 DIAGNOSA_KE4 DIAGNOSA_PENYEBAB TERAPI TGL_MASUK_RAWAT TGL_MENINGGAL JAM_MENINGGAL UPD_TS
NUMBER DATE VARCHAR2 CHAR CHAR VARCHAR2 VARCHAR2 CHAR CHAR CHAR CHAR NUMBER NUMBER VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 DATE DATE CHAR DATE
File Name: icd Nama Field KODE_ICD JENIS_PENYAKIT UPD_TS
Jenis Data VARCHAR2 VARCHAR2 DATE
11 12 8 8 512 512 7 3 5 3 5 5 7 7 7 7 7 512
2 2
8
Panjang 7 255
Prec.
Key Transaksi Tanggal Periksa Kode Psien Jam Periksa awal Jam Periksa Akhir Keluhan Penyakit Riwayat Penyakit Tensi Nadi Suhu Nafas Tinggi Badan Berat Badan Diagnosa Utama Diagnosa Ke 2 Diagnosa Ke 3 Diagnosa Ke 4 Diagnosa Penyebab Terapi Tgl Masuk Rawat Tanggal Meninggal Jam Meninggal Tanggal Update
Keterangan Kode ICD Keterangan Tanggal Update
80
Lampiran 3. Lanjutan File Name : Laporan_harian Keterangan : File laporan harian Nama Field Jenis Data KODE_UNIT KODE_LAYANAN TAHUN NOMOR_LH TANGGAL_LH NO_REGISTRASI NOMOR_MR TGL_REGISTRASI KODE_PENERIMA COMP_RELATION KODE_PELANGGAN NOMOR_BUKTI DEPOSIT KONSUL PEMERIKSAAN TINDAKAN SPM QUANTITY OBAT ALKES PPN ADMINISTRASI DISCOUNT SELISIH_BIAYA KEY_TRANSAKSI UPD_TS
VARCHAR2 CHAR CHAR NUMBER DATE VARCHAR2 VARCHAR2 DATE CHAR CHAR CHAR VARCHAR2 NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER DATE
Panjang
Prec.
3 2 4 12 35 12 4 2 6 12 15 15 15 15 15 15 15 15 15 15 15 15 12
2 2 2 2 2 2 2 2 2 2 2 2
Keterangan Kode poliklinik kode Pelayanan Tahun Nomor laporan Tanggal Laporan Nomor Registrasi Kode Pasien Tanggal Registrasi Kode Dokter Kode Perusahaan Bagian Nomor Bukti Uang Deposit Biaya Konsultasi Biaya Pemeriksaan Biaya Tindakan Biaya Penunjang Jumlah Biaya Obat Biaya Alat Kes. PPN Biaya administrasi Jumlah Diskon Sisa Pembayaran Key Transaksi Tanggal Update
File Name : registrasi_ri Keterangan : File ini digunakan untuk menampung data detil registrasi rawat inap Nama Field Jenis Data Panjang Prec. Keterangan NO_REGISTRASI NO_RM DIREGISTRASI_OLEH TANGGAL_REGISTRASI JAM_REGISTRASI TANGGAL_KELUAR JAM_KELUAR KODE_PENERIMA_RAWAT DIAGNOSA_AWAL COMPANY_RELATION KODE_PELANGGAN KODE_PENJAMIN HAK_KELAS UPD_TS
NUMBER VARCHAR2 CHAR DATE CHAR DATE CHAR CHAR VARCHAR2 CHAR CHAR VARCHAR2 CHAR DATE
11 12 8 8 8 4 50 2 6 15 1
Nomor Registrasi Kode Pasien Petugas Tgl Registrasi Jam Registrasi Tgl Pulang Rawat Jam Pulang Rawat Kode Dokter Diagnosa Awal Kode Perusahaan Kode Bagian Nopeg.Penjamin Hak Kelas Rawat Tanggal Update
81
Lampiran 3. Lanjutan File Name : bagian_perawatan Keterangan ; File Master Bagian Perawatan Nama Field Jenis Data KODE_BAGIAN NAMA_BAGIAN UPD_TS
CHAR VARCHAR2 DATE
Panjang
Prec.
3 30
Keterangan Bag.Perawatan Keterangan Tanggal Update
File Name : transaksi_ri Keterangan : File ini digunakan untuk menampung seluruh transaksi pasien rawat inap Keterangan Nama Field Jenis Data Panjang Prec. KEY_TRANSAKSI NUMBER 11 Key Transaksi NO_URUT_TRANSAKSI NUMBER 5 No.Urut Transaksi TANGGAL_TRANSAKSI DATE Tanggal Transaksi KODE_ITEM VARCHAR2 6 Kode Item/Kamar QUANTITY NUMBER 7 2 Jumlah HARGA NUMBER 15 2 Harga Satuan JML_HARGA NUMBER 15 2 Total Harga LOKASI_LAYANAN CHAR 3 Kode /Lantai KODE_PENERIMA CHAR 4 Kode Dokter PERSEN_DISCOUNT NUMBER 6 2 Persen Diskon JUMLAH_DISCOUNT NUMBER 15 2 Jumlah Diskon K_QUANTITY NUMBER 7 2 Jumlah Item K_HARGA NUMBER 15 2 Harga Satuan K_JML_HARGA NUMBER 15 2 Total Harga UPD_TS DATE Tanggal Update
File Name : ekspedisi_mr_ri Keterangan : File ekspedis i medical record pasien rawat inap Nama Field Jenis Data Panjang KEY_TRANSAKSI TANGGAL_PENGIRIMAN JAM_PENGIRIMAN LOKAS I_AWAL_PENGIRIMAN LOKASI_TUJUAN_PENGIRIMAN NAMA_PETUGAS_PENGIRIM STATUS_PENGIRIMAN TANGGAL_PENERIMAAN JAM_PENERIMAAN NAMA_PETUGAS_PENERIMA STATUS_PENERIMAAN TANGGAL_KEMBALI JAM_KEMBALI STATUS_KEMBALI UPD_TS
NUMBER DATE CHAR CHAR CHAR VARCHAR2 CHAR DATE CHAR VARCHAR2 CHAR DATE CHAR CHAR DATE
11 8 3 2 20 1 8 20 1 8 1
Prec.
Keterangan Key Transaksi Tanggal Kirim Jam Kirim Lokasi awal Lokasi Tujuan Nama Pengirim Status Kirim Tanggal Terima Jam Terima Status Terima Nama Penerima Tanggal Kembali Jam Kembali Status Kembali Tanggal Update
82
Lampiran 3. Lanjutan File Name : catatan_medis_ri Keterangan : File ini berisi tentang catatan medis pasien rawat inap (sesuai dengan file medical record) Nama Field Jenis Data Panjang Prec. Keterangan KEY_TRANSAKSI TANGGAL_PEMERIKSAAN JAM_PEMERIKSAAN NO_RM KODE_PENERIMA_PEMERIKSA KELUHAN_UTAMA RIWAYAT_PENYAKIT TENSI NADI SUHU NAFAS TINGGI_BADAN BERAT_BADAN DIAGNOSA_UTAMA DIAGNOSA_KE2 DIAGNOSA_KE3 DIAGNOSA_KE4 DIAGNOSA_PENYEBAB TERAPI ANJURAN HASIL_PENUNJANG BEDAH TANGGAL_BEDAH KODE_PENERIMA_BEDAH KONSUL_KLINIK UPD_TS
NUMBER DATE CHAR VARCHAR2 CHAR VARCHAR2 VARCHAR2 CHAR CHAR CHAR CHAR NUMBER NUMBER VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 CHAR DATE CHAR CHAR DATE
11 8 12 4 512 512 7 3 5 3 5 5 7 7 7 7 7 512 512 512 1 4 1
2 2
Key Transaksi Tanggal Periksa Jam Periksa Kode Pasien Kode Dokter Keluhan Utama Riwayat Penyakit Tensi Nadi Suhu Nafas Tinggi Badan Berat Badan Diagnosa Utama Diagnosa Ke 2 Diagnosa Ke 3 Diagnosa Ke 4 Diagnosa Penyebab Terapi Anjuran Hasil Penunjang Y (Ya), T (Tidak) Tanggal Bedah Kode Dokter Y (Ya), T (Tidak) Tanggal Update
File Name : lepas_rawat Keterangan : File ini berisi data mengenai pasien yang telah pulang rawat Nama Field Jenis Data Panjang Prec. Keterangan KEY_TRANSAKSI NUMBER 11 Key Transaksi TANGGAL_PROSES DATE Tanggal Proses JAM_LEPAS_RAWAT VARCHAR2 8 Jam Lepas Rawat TGL_MASUK DATE Tgl Masuk Rawat JAM_MASUK VARCHAR2 8 Jam Masuk rawat BAGIAN_RAWAT CHAR 3 Bagian Perawatan KODE_JASA VARCHAR2 6 Kode Kamar NO_BED CHAR 2 Nomor Bed MENINGGAL CHAR 1 Y (Meninggal) TANGGAL_MENINGGAL DATE Tanggal Meninggal JAM_MENINGGAL CHAR 8 Jam Meninggal SEMBUH CHAR 1 Y (Ya), T (Tidak) UPD_DATE DATE Tanggal Update
83
Lampiran 4. Kamus Data Data Warehouse diabetes NAMA TABEL KETERANGAN
: Mst_pasien : Mencatat master pasien yang terindikasi diabetes
NAMA KOLOM TYPE/LENGTH NO_RM VARCHAR2 12 NAMA VARCHAR2 40 KODE_CR VARCHAR2 2 KODE_PELANGGAN VARCHAR2 6 NIPP_PENANGGUNG VARCHAR2 25 HUB_KELUARGA VARCHAR2 1 T_LAHIR DATE SEX VARCHAR2 10
NAMA TABEL KETERANGAN
KEY P F F F
KETERANGAN Nomor Medical Record Nama Pasien Kode Group Pelanggan Kode Bagian Pelanggan Nopeg Penangung HubKeluarga dg penanggung Tanggal Lahir Jenis Kelamin
: Transaksi_pasien : Menyimpan data transaksi pasien rawat jalan dan rawat inap
NAMA KOLOM TYPE/LENGTH NO_REGISTRASI NUMBER 11 KEY_ID NUMBER 11 EY_TRANSAKSI NUMBER 11 NO_RM VARCHAR2 12 TANGGAL_REGIST DATE TANGGAL_KELUAR DATE TANGGAL_TRANS DATE LOKASI_LAYANAN VARCHAR2 5 KODE_PENERIMA VARCHAR2 4 GROUP_JASA VARCHAR2 9 KODE_JASA VARCHAR2 5 NAMA_ITEM VARCHAR2 50 QUANTITY NUMBER 8,2 JUMLAH_HARGA NUMBER 15,2 JUMLAH_DISCOUNT NUMBER 15,2 STATUS VARCHAR2 2
KEY p F F F
F
KETERANGAN Nomor Registrasi Pasien
Nomor Medical Record Tgl Kunjungan/Tgl Msk Rawat Tanggal Lepas Rawat Tanggal Transaksi Lokasi Pelayanan Kode Dokter Rawat Kelompok Jasa Kode Material Nama Material Jumlah Total Rupiah Jumlah Discount Status Pasien "RI" atau "RJ"
NAMA TABEL: Jasa_Item KETERANGAN :Menyimpan data Master Item Layanan NAMA KOLOM GROUP_JASA KODE_KELAS KODE_ITEM NAMA_ITEM JENIS KODE_GENERIK NAMA_GENERIK KODE_GUNA SATUAN
TYPE/LENGTH VARCHAR2 6 VARCHAR2 1 VARCHAR2 5 VARCHAR2 50 VARCHAR2 4 VARCHAR2 8 VARCHAR2 50 VARCHAR2 4 VARCHAR2 6
KEY
KETERANGAN Kelompok Jasa Kode Kelas Perawatan Kode item Keterangan Item Jenis item: Obat/Lab/Radiologi Kode Generik Obat Keterangan Generik Obat Kode Kegunaan Obat Satuan Obat
84
Lampiran 4. Lanjutan NAMA TABEL: Catatan_medis KETERANGAN :Menyimpan data Catatan Medis Pasien Rawat Inap dan Rawat Jalan NAMA KOLOM
TYPE/LENGTH
KEY_ID NUMBER TGL_PEMERIKSAAN DATE NO_RM VARCHAR2 KODE_PENERIMA VARCHAR2 KELUHAN_UTAMA VARCHAR2 RIWAYAT_PENYAKI VARCHAR2 TENSI VARCHAR2 TINGI_BADAN NUMBER BERAT_BADAN NUMBER DIAGNOSA_UTAMA VARCHAR2 DIAGNOSA_KE2 VARCHAR2 DIAGNOSA_KE3 VARCHAR3 DIAGNOSA_KE4 VARCHAR4
11
KEY
KETERANGAN
p Tanggal Pemeriksaan Nomor Medical Record Kode Dokter Yang Merawat Keluhan Pasien Riwayat penyakit pasien Tekanan Darah Pasien Tinggi Badan Pasien Berat Badan Pasien Kode Diagnosa Utama Kode Diagnosa ke 2 Kode Diagnosa ke 3 Kode Diagnosa ke 4
12 4 512 512 7 5,2 5,2 7 7 7 7
NAMA TABEL KETERANGAN
: Hasil_Lab :Data Hasil Pemeriksaan Lab.Pasien Rawat Inap dan Rawat Jalan
NAMA KOLOM
TYPE/LENGTH
KEY
KEY_TRANSAKSI NO_RM TGL_PROSES KODE_POLI KODE_DOKTER ORDER_TESTID KODE_TEST NAMA_TEST HASIL UNIT FLAG RANGE_REF STATUS
NUMBER VARCHAR2 DATE VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2
p
NAMA TABEL KETERANGAN
: Mst_diagnosa : Menyimpan data Master Kode Diagnosa
NAMA KOLOM
TYPE/LENGTH
KEY
KETERANGAN
KODE_DIAGNOSA JENIS_PENYAKIT
VARCHAR2 VARCHAR2
p
Kode Diagnosa Keterangan Diagnosa
11 12
Nomor Medical Record Tanggal Pemeriksaan Kode Poliklinik Kode Dokter Yang Merawat Id Test Laboratoriun Kode Test Laboratorium Nama Test Laboratorium Hasil Pemeriksaan Unit hasil Flag Referensi Hasil Laboratorium
4 4 50 6 25 30 15 30 30 20
7 256
KETERANGAN
85
Lampiarn 5. Sampel data positif diabetes dan negatif diabetes Umur 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 2 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3
Sex Glun 5 7 5 7 4 8 5 8 5 8 5 7 5 8 5 7 4 8 5 7 5 7 5 7 4 8 5 7 5 7 5 8 5 7 4 7 5 7 5 8 4 7 5 8 5 7 5 8 5 8 4 7 5 8 4 8 5 8 5 7 4 8 5 7 5 8 5 8 4 8 5 8 4 7 4 8 5 8 4 7 4 8 5 7 5 8 4 7 4 7 4 8 4 7 5 7 5 7
Gpost Upost 9 12 11 12 11 13 10 12 11 13 11 12 11 13 10 12 11 13 9 12 9 12 11 12 11 13 9 12 11 12 11 13 9 12 9 12 9 13 11 12 10 12 10 12 11 12 11 13 11 13 10 12 11 13 10 13 11 13 11 12 11 13 10 12 11 12 11 12 11 13 10 12 9 12 11 13 11 12 11 12 11 13 10 12 11 12 11 12 9 12 11 13 10 12 10 12 9 12
Actn 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
Urn Actpp 16 18 16 18 16 18 16 18 17 18 16 18 16 18 16 18 16 18 16 18 16 18 16 18 17 18 16 18 16 18 16 18 16 18 16 18 16 18 16 18 16 18 16 18 16 18 17 19 17 18 16 18 17 18 16 18 16 18 16 18 17 18 16 18 16 18 16 18 17 18 16 18 16 18 17 18 16 18 16 18 16 18 16 18 16 18 16 18 16 18 17 18 16 18 16 18 16 18
Ldl Hdl Chol 21 22 26 21 23 26 21 23 26 21 23 26 21 24 26 20 24 25 21 23 26 21 23 26 20 23 26 20 23 25 20 23 25 20 24 25 20 24 25 21 23 26 21 23 26 21 23 26 21 23 26 20 23 25 21 23 26 20 24 25 20 22 25 20 23 26 20 23 25 20 22 25 20 23 25 21 24 26 20 24 25 21 23 26 20 22 26 20 24 26 21 23 26 21 23 26 21 24 26 21 24 26 21 23 26 21 23 26 21 23 25 20 22 25 21 23 26 21 23 26 20 23 26 21 23 26 21 23 26 21 24 26 20 23 26 20 24 25 20 23 25 21 23 26 21 22 26
Tg 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
Kelas 31 31 30 31 30 31 30 31 30 31 31 31 31 31 30 30 31 31 31 31 31 30 31 30 30 31 30 31 31 31 31 31 30 30 31 31 31 31 30 30 30 31 31 30 31 31 31 31 31
86
Lampiran 6. Tampilan halaman Status Pasien
Lampiran 7. Tampilan halaman Anamnesis
87
Lampiran 8. Tampilan halaman Riwayat DM
Lampiran 9. Tampilan halaman Anamnesis Keluarga
88
Lampiran 10. Tampilan halaman Pemeriksaan Fisis
Lampiran 11. Tampilan halaman Laboratorium
89
Lampiran 12. Tampilan halaman Pemeriksaan Penunjang
Lampiran 13. Tampilan halaman Diagnosis
90
Lampiran 14. Tampilan halaman Terapi
91