bab iii analisa dan perancangan sistem 3.1 analisa malasaheprints.umm.ac.id/39299/4/bab 3.pdf ·...
TRANSCRIPT
15
BAB III
ANALISA DAN PERANCANGAN SISTEM
Bab ini menjelaskan mengenai analisa masalah, analisa data, analisa
kebutuhan sistem klasifikasi penyakit diabetes mellitus, desain keseluruhan
sistem, serta perancangan sistem menggunakan perbandingan algoritma J48 dan
Random Forest yang ada dalam aplikasi.
3.1 Analisa Malasah
Analisa masalah menggambarkan suatu permasalahan yang diangkat dalam
penulisan tugas akhir mengenai pengolahan data dan perbandingan algoritma J48
dan Random Forest untuk proses klasifikasi pada data penderita diabetes mellitus.
Pada latar belakang yang sudah diapaparkan, dengan banyaknya data penderita
diabetes mellitus diperlukan adanya sistem yang dapat membantu proses
pengolahan data maupun proses klasifikasi dengan perbandingan kedua algoritma
tersebut guna membandingkan antara algoritma J48 dan Random Forest.
Pada analisa masalah dalam tugas akhir ini, digunakan perbandingan antara
algoritma J48 dan Random forest, karena keduanya sama-sama memakai teknik
pohon keputusan untuk mengambil keputusan. Dalam penanganan data diabetes
mellitus yang sangat besar ini diperlukan juga suatu algoritma yang dapat
memproses data tersebut, dengan kelebihan masing-masing algoritma sehingga
kedua algoritma tersebut layak untuk dibandingkan.
3.2 Analisa Sistem
Analisa sistem merupakan uraian mengenai sistem kedalam sub-sub sistem
yang bertujian untuk menjelaskan kebutuhan dalam sistem pengolahan data dan
klasifikasi
3.2.1 Alur Sistem
Tahap pertama yang dilakukan yaitu mengambil datapasien penderita
diabetes mellitus di Rumah Sakit Muhammadiyah Lamongan, dengan jumlah data
yang diterima yaitu 2.021 data. Selanjutnya dilakukan proses converter data dari
dalam bentuk data .csv (Comma Separated Values) menjadi bentuk data .arff
(Attribute-Relation File Format) yang akan dilakukan preprocessing data yaitu
dengan data cleaning dan normalisasi fitur. Selanjutnya dilakukan proses
16
klasifikasi dengan menggunakan Metode J48 maupun Random Forest pada data
yang telah berhasil melewati tahap preprocessing.data yang sudah dilakukan pada
tahap klasifikasi akan diuji dengan pengujian Confusion Matrix.
Gambar 3.1 Alur Sistem Klasifikasi Diabetes Mellitus
Start
Data Penderita
Diabetes Mellitus
Data Preprocessing
Normalisasi Missing Values
Data yang siap untuk diklasifikasi
Hasil Random Forest Hasil J48
Klasifikasi
J48 Random Forest
Pengujian
Confusion
Matrix
Hasil pengujian
17
3.3 Pengumpulan Data
Data yang digunakan dalam penelitian tugas akhir ini adalah data pasien
penderita diabetes mellitus di Rumah Sakit Muhammadiyah Lamongan, dengan
jumlah data sebanyak 2021 data. Data yang diambil adalah data dari rumah sakit
muhammadiyah lamongan selama 8 tahun, mulai dari tahun 2008 sampai tahun
2016. Waktu pengumpulan data yaitu Desember 2016 – Februari 2017.
Parameter yang diguanakan adalah cholesterol, gula darah acak, kolesterol
HDL, kolesterol LDL, Trigliserida, Sistole, Diastole, RPD (Riwayat Penyakit
Dalam) dan DX atau diagnosa sebagai target kelasnya. Terdapat 5 target kelas,
yaitu: DM Type I, DM Type II, DM dg Neuropathy diabetic, DM tidak spesifik,
DM gangrene. Data pasien penderita diabetes mellitus ini disimpan ke dalam
format Attribute-Relation File Format (.ARFF). Berikut ini merupakan bebrapa
contoh data set penderita diabetes mellitus.
Tabel 3.1 Tabel Dataset Penderita Diabetes Mellitus
Keterangan :
1. Atribut : Kolesterol, Gula darah, k-LDL, k-HDL, Trigliserida, Sistole,
Diastole, RPD, DX.
2. Atribut Kelas : DM Type I = 329 data, DM Type II 613 data, DM dg
Neuropathy = 312 data, DM tdk spesifik = 305 data, DM Gangrene =
462.
18
3.4 Analisa Pre-processing
Pengolahan dilakukan dengan preprocessing data yang digunakan untuk
pembersihan data, sehingga data siap untuk diklasifikasikan. Tahap preprocessing
dilakukan untuk data set adalah data cleaning dan normalisasi fitur yaitu nilai
atribut yang mempunyai pesebaran yang besar diantaranya adalah untuk atribut
yang bernilai numerik cholesterol, gula darah acak, kolesterol HDL, kolesterol
LDL, Trigliserida, Sistole, Diastole, RPD (Riwayat Penyakit Dalam) dan DX.
Berikut ini adalah rumus normalisasi data.
Gambar 3.2 Alur Data Preprocessing
3.4.1 Normalisasi
Normalisasi disini merupakan proses penskalaan nilai atribut dari data
sehingga bisa jatuh pada range tertentu, pada proses normalisasi menggunakan
metode min-max. metode Min-Max merupakan metode normalisasi dengan
melakukan transformasi linier terhadap data asli.
Berikut rumus dari Metode Min-Max.
𝑑𝑎𝑡𝑎 𝑡𝑒𝑟𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑠𝑎𝑠𝑖 = (𝑥^1 − 𝑥_𝑚𝑖𝑛)/(𝑥_𝑚𝑎𝑥 − 𝑥_𝑚𝑖𝑛 )
Berikut ini adalah tabel data training yang belum dilakukan proses
normalisasi data dan yang sudah dinormalisasi.
Tabel 3.2 Tabel Data Training (yang belum dinormalisasi)
Dataset Normalisasi dan
Missing values
Data train dan data
test
19
Tabel 3.3 Tabel Data Training (yang dinormalisasi)
Pada Tabel 3.2 ditunjukkan data Training dengan yang belum dinormalisasi,
kamudian pada Tabel 3.3 ditunjukkan data testing yang sudah dilakukan proses
normalisasi data.
Berikut ini adalah data testing yang belum dilakukan proses normalisasi dan
data yang sudah dilakukan proses normalisasi data:
Tabel 3.4 Tabel Data Testing (yang belum dinormalisasi)
20
Tabel 3.5 Tabel Data Testing (yang dinormalisasi)
Pada Tabel 3.4 ditunjukkan data Training dengan yang belum dinormalisasi,
kamudian pada Tabel 3.5 ditunjukkan data testing yang sudah dilakukan proses
normalisasi data.
3.4.2 Missing Values
Pada proses data cleaning akan dilakukan yaitu dengan menghapus data yang
kosong atau data bernilai 0, proses cleaning dilakukan pada parameter cholesterol,
gula darah acak, kolesterol LDL, kolesterol HDL, Trigliserida, Sistole dan
Diastole. Berikut ini adalah contoh proses data cleaning dengan menggunakan
teknik imputasi data.
Tabel 3.6 Tabel Pengelolaan Missing Value
Mengisi missing value dengan menghitung nilai rata-rata dari data yang
sebelumnya.
Contoh : Kolesterol HDL : 55+57.7+58+60+62+86.4
6=
379.1
6 = 63.18
21
3.5 Metode J48
Pada metode J48, data yang sudah dilakukan pembersihan data dan sudah
dalam bentuk format file .arff akan dijadikan sebagai inputan, data yang di input
adalah data latih dan data uji. Berikut ini adalah alur metode J48 yang ada pada
Gambar 3.3.
Gambar 3.3 Alur metode J48
Pada Gambar 3.3 yaitu gambar alur metode J48 dilakukan pemilihan data
latih dan data uji, kemudian pemilihan algoritma yaitu J48. Setelah itu terdapat 2
proses dalam pengambilan keputusan dengan J48, yaitu mengubah table menjadi
tree dalam proses ini dilakukan penentuan atribut dari akar cabang hingga menuju
keputusan. Kemudian tahap kedua yaitu mengubah tree menjadi rules. Hingga
hasil akhirnya yaitu hasil klasifikasi dengan Metode J48.
3.6 Metode Random Forest
Gambar 3.4 Alur Metode Random Forest
22
Pada Gambar 3.4 dijelaskan tentang metode Random Forest pada gambar
tersebut dijelaskan bahwa data yang sudah dilakukan pembersihan data dan sudah
dalam bentuk format file .arff akan dijadikan sebagai inputan, data yang di input
adalah data latih dan data uji. Kemudian tahap memilih metode yaitu Random
Forest, pada metode ini dijelaskan pada gambar terdapat 3 proses pertama yaitu
mengambil sample dengan cara Sampling With Replacement. Kemudian
menetukan data In Bag dan Out Of Bag untuk mengestimasi error. Kemudian
voting pada masing-masing tree, dengan begitu hasil voting terbanyaknya adalah
hasil klasifikasi.
3.7 Perancangan Pengujian
3.7.1 Perancangan Pengujian Dalam Pengelolaan Data
Pengujian dalam penelitian ini sebelumnya data latih dan data uji dilakukan
proses pengolahan data terlebih dahulu yaitu preprocessing dengan menggunakan
proses normalisasi data dan Missing Values.
Pada Pengujian ini dilakukan proses perbandingan hasil analisa antara data
yang sudah diproses menggunakan proses Normalisasi dan Missing Values
dengan hasil analisa data yang belu dinormalisasi maupun Missing Values atau
data yang original.
3.7.2 Perancangan Pengujian Menggunakan Confusion Matrix
Pada pengujian ini merupakan cara bagaimana mengukur tingkat akurasi dari
algoritma J48 dan Algoritma Random Forest. Untuk mengetahui tingkat akurasi
dari kedua algoritma tersebut menggunakan pengukuran akurasi klasifikasi
dengan metode Confusion Matrix. Dengan hasil keluaran Recall, Precision dan
Akurasi. Berikut ini adalah contoh perancangan pengujian pada tugas akhir ini.
23
Tabel 3.7 Contoh Perancangan Pengujian Klasifikasi
Dari Tabel 3.7 didapatkan Confusion Matrix yang mempresentasikan hasil
dari klasisfikasi. Berikut ini adalah tabel pengujian Confusion Matrix:
Tabel 3.8 Tabel Skenario Pengujian Confusion Matrix
Kelas
Kelas Hasil Klasifikasi
DM
Type I
DM Type
II
DM dg
Neuropathy
diabetic
DM tidak
spesifik
DM
Gangrene
DM Type I Tdm1=9 Fdm2=2 FdmN=1 FdmT=0 FdmG=2
DM Type II Fdm1=4 Tdm2=10 FdmN=1 FdmT=1 FdmG=0
DM dg Neuropathy
diabetic
Fdm1=1 Fdm2=1 TdmN=12 FdmT=0 FdmG=1
DM tidak spesifik Fdm1=0 Fdm2=0 FdmN=0 TdmT=16 FdmG=0
DM Gangrene Fdm1=0 Fdm2=0 FdmN=0 FdmT=0 TdmG=16
Setelah ditentukan pada tabel Confusion Matrix, langkah selanjutnya yaitu
menghitung nilai presisi, recall dan akurasi dari masing-masing algoritma.
Kemudian menentukan algoritma mana yang paling tinggi akurasinya.
Berikut ini adalah perhitungan nilai akurasi, presisi dan recall:
1. Akurasi
= 𝑇𝑑𝑚1+𝑇𝑑𝑚2+𝑇𝑑𝑚𝑁 +𝑇𝑑𝑚𝑇 +𝑇𝑑𝑚𝐺
𝑇𝑑𝑚1+𝑇𝑑𝑚 2+𝑇𝑑𝑚𝑁 +𝑇𝑑𝑚𝑇 +𝑇𝑑𝑚𝐺 +𝐹𝑑𝑚1+𝐹𝑑𝑚2+𝐹𝑑𝑚𝑁 +𝐹𝑑𝑚𝑇 +𝐹𝑑𝑚𝐺× 100%
= 9+10+12+16+16
9+10+12+16+16+5+3+2+1+3× 100%
24
=63
77× 100%
= 0,8182 × 100% = 81,82%
2. Presisi
= 𝑇𝑑𝑚1
𝑇𝑏𝑑𝑚1 + 𝐹𝑑𝑚1+
𝑇𝑑𝑚2
𝑇𝑑𝑚2 + 𝐹𝑑𝑚2+
𝑇𝑑𝑚𝑁
𝑇𝑑𝑚𝑁 + 𝐹𝑑𝑚𝑁
+𝑇𝑑𝑚𝑇
𝑇𝑑𝑚𝑇 + 𝐹𝑑𝑚𝑁+
𝑇𝑑𝑚𝐺
𝑇𝑑𝑚𝐺 + 𝐹𝑑𝑚𝐺 ÷ 5
= 9
9 + 5+
10
10 + 3+
12
12 + 2+
16
16 + 1+
16
16 + 3 ÷ 5
= 9
14+
10
13+
12
14+
16
17+
16
19 ÷ 5
= 0,814 ×100% = 81,4%
3. Recall
= 𝑇𝑑𝑚1
𝑇𝑏𝑑𝑚1 + 𝐹𝑑𝑚1+
𝑇𝑑𝑚2
𝑇𝑑𝑚2 + 𝐹𝑑𝑚2+
𝑇𝑑𝑚𝑁
𝑇𝑑𝑚𝑁 + 𝐹𝑑𝑚𝑁
+𝑇𝑑𝑚𝑇
𝑇𝑑𝑚𝑇 + 𝐹𝑑𝑚𝑁+
𝑇𝑑𝑚𝐺
𝑇𝑑𝑚𝐺 + 𝐹𝑑𝑚𝐺 ÷ 5
= 9
9 + 5+
10
10 + 3+
12
12 + 2+
16
16 + 1+
16
16 + 3 ÷ 5
= 9
14+
10
13+
12
14+
16
17+
16
19 ÷ 5
= 0,814 ×100% = 81,4%
3.8 Perancangan Antar Muka (Interface)
Perancangan antar muka yaitu bagian yang paling terpenting dari merancang
sebuah sistem. Perancangan antar muka pada sistem perbandingan algoritma J48
dan Random Forest pada penelitian ini terdapat pada Gambar 3.5 dibawah ini:
25
Gambar 3.4 Perancangan Antar Muka Untuk Proses Normalisasi
Gambar diatas yaitu perancangan antar muka untuk bagian normalisasi,
terdapat fitur upload data, pada fitur tersebut user dapat mengunggah data dengan
format .csv maupun .arff. pada data tersebut kemudian dicek otomatis apakah
datatersebut termasuk file.csv atau file .arff, kemudian pada data tersebut
diconvert otomatis untuk dijadikan file .arff pada proses di tombol “Proses”,
kemudian file yang sudah diconvert akan disimpan dan dinormalisasi, kemudian
data yang sudah dinormalisasi dapat disimpan. Pada button “Lanjut”, akan
mengarah pada proses selanjutnya.
Gambar 3.5 Perancangan Antar Muka Untuk Proses Missing Values
Pada Gambar 3.5 yaitu perancangan antar muka untuk proses Missing Values,
terdapat fitur upload data, pada fitur tersebut user dapat mengunggah data dengan
format .csv maupun .arff. pada data tersebut kemudian dicek otomatis apakah
datatersebut termasuk file.csv atau file .arff, kemudian pada data tersebut
diconvert otomatis untuk dijadikan file .arff pada proses di tombol “Proses”,
Missing Values
Pilih file
(csv,arff)
Browse
Proses
Hasil Missing Values
Data yang belum diproses missing
values
Data yang sudah diproses
missing values
SAVE
Normalisasi Data
Pilih file
(csv,arff)
browse
Proses
HasilNormalisasi
Data yang belum dinormalisasi Data yang sudah
dinormalisasi
SAVE Lanjut
26
kemudian file yang sudah diconvert akan disimpan dan dinormalisasi, kemudian
data yang sudah dinormalisasi dapat disimpan.
Gambar 3.6 Perancangan Antar Muka Untuk Proses Klasifikasi
Pada Gambar 3.6 diatas terdapat prototype interface dari sistem. Pada sistem
tersebut terdapat fitur-fitur, diantaranya yaitu fitur mengunggah file dengan
format file .arff, fitur memilih algoritma terdapat 2 pilihan algoritma yaitu J48 dan
Random Forest, dan tombol proses untuk memproses klasifikasi. Kemudian
dibagian kanan terdapat hasil klasifikasi dan rincian berupa nilai presisi dan recall.
Data latih (.arff) Pilih
FileData uji (.arff) Pilih
File
Pilih Algoritma V
Proses
Hasil Klasifikasi
Akurasi :
Presisi :
Recall :