53 BAB IV IMPLEMENTASI DAN EVALUASI NEURAL NETWORK PADA DATA PASIEN DEMAM BERDARAH
Pada bab ini disajukan pengujian program aplikasi dan ahsil pengujiannya termasuk spesifikasi komputer yang digunakan untuk menjalankan program aplikasi dengan 14 sample data. Parameter yang akan diuji adalah Alpha, dan Jumlah node pada hidden layer. Sebelumnya akan dijelaskan terlebih dahulu sumber data apa saja yang akan menjadi variable input.
4.1 Struktur Data
Tabel data yang akan digunakan pada aplikasi ini dapat dilihat pada halaman lampiran. Variabel-variabel dari data yang diperoleh didefinisikan sebagai berikut: 1. Jenis kelamin Adalah jenis kelamin dari pasien demam berdarah yaitu: 1
= Laki-laki
2
= Perempuan
2. Lama rawat Adalah lamanya pasien dirawat di rumah sakit tersebut 3. Diagnosi Adalah diagnosis awal, diagnosis yang dilakukan oleh dokter sewaktu pasien pertama kali datang ke rumah sakit.
54 1
= DBD tingkat 1
2
= DBD tingkat 2
3
= DBD tingkat 3
4
= DBD tingkat 4
5
= Ensefalopati DBD
4. Diagno_a Adalah diagnosis akhir, yaitu diagnosis yang dilakukan oleh dokter sewaktu pasien terakhir di periksa. 5. Keadaan Adalah keadaan pasien sewaktu meninggalkan rumah sakit 1
= Sembuh
2
= Tidak sembuh atau meninggal
6. lama_dem Adalah lamanya demam sebelum pasien datang ke rumah sakit 7. Keluhan Adalah keluhan lain pasien. Data ini berupa string sehingga susah untuk diproses. Data ini sebenarnya dapat dikelompokan berdasarkan kesamaan, namun kenyataannya berdasarkan ilmu kedokteran bahwa keluhan-keluhan tersebut adalah keluhan yang bersifat sangat umum atau dengan kata lain hampir selalu muncul jika seseorang mengalami demam. 8. Dbd_dise Adalah ada atau tidaknya orang lain yang tinggal disekitar tempat tinggal pasien yang juga mengalami DBD. 1
= (+), ada orang lain yang menderita DBD disekitar tempat
tinggal pasien
55 2
= (-), ada orang lain yang menderita DBD disekitar tempat
tinggal pasien 9. Bb dan tb Adalah berat badan dan tinggi badan pasien. Suatu prosedur umum untuk orang yang dicurigai menderita DBD. 10. Status_g Adalah status gizi, ukuran dalam ilmu kedokteran untuk ukuran gizi seseorang berdasarkan perhitungan antara Bb dan Tb. 1
= baik
2
= cukup
3
= kurang
4
= lebih
11. Kesadaran Adalah suatu ukuran untuk menentukan tingkat kesadaran seorang pasien DBD. Data diperoleh pada pemeriksaan awal atau sewaktu pasien datang pertama kali ke rumah sakit. 1
= sadar, berarti pasien masih dapat dalam keadaan yang baik
2
= gelisah, pasien dapat diajak bicara namun sudah tidak konsentrasi lagi
3
= apatis, keadaan seperti orang mengantuk
4
= somnolen, keadaan tidur namun dapat dibangunkan dengan rasa sakit
5
= sopor, pingsan
12. Suhu_tti Adalah suhu tertinggi pasien selama berada di rumah sakit.
56 13. Tekanan Adalah tekanan darah pasien 14. Nadi Adalah pengukuran terhadap nadi pasien.
Pemeriksaan dilakukan dengan
meraba daerah di sekitar pergelangan tangan pasien tersebut. 1
=
cukup, teraba dengan baik
2
=
halus, teraba tapi terasa lemah
3
=
kurang, nyaris tak terasa
15. Hepatome Adalah hepatomegali, yaitu pembesaran hati (hepar). Umumnya pemeriksaan hanya dilakukan dengan meraba daerah sekitar perut namun untuk beberapa kondisi pemeriksaan dapat dilakukan dengan rontgen. 1
=
(+), sewaktu diraba terasa ada perbesaran hati
2
=
(-), tidak ada perbesaran hati
16. Perdarah Adalah perdarahan, yaitu perdarahan yang terjadi pada pasien. 1
=
RL, perdarahan yang kelihatan seperti bintik-bintik merah
2
=
Ptekie, bintik merah pada tubuh seperti gigitan nyamuk
3
=
Epistaksis, yaitu mimisan
4
=
Hematemesis, yaitu muntah darah
5
=
Melena, yaitu berak darah
17. Akral Adalah tangan dan kaki.
Pada pasien yang dicurigai menderita demam
berdarah salah satu prosedur pemeriksaannya adalah dengan meraba telapak
57 tangan dan telapak kaki pasien dengan memeriksa hangat atau tidaknya bagian tersebut. 18. Perfusi Adalah menilai aliran baik atau buruknya aliran darah ke akral. Caranya dengan menekan ibu jari pasien dengan jari tangan lain kemudian dilepaskan dan dilihat perubahan warnanya.
Jika dalam hitungan pertama langsung
kembali normal maka dikatakan baik, pada hitungan kedua sampai ketiga kurang dan diatas hitungan ketiga dikatakan buruk. 19. Hb Adalah haemoglobin.
Yaitu jumlah haemoglobin dalam darah, satuannya
gr/dL. Nilai Hb normal seorang manusia adalah 13gr/dL – 14gr/dL. 20. Leukosit Adalah jumlah sel darah putih dalam darah pasien saat masuk rumah sakit. Untuk kondisi normal setiap 1 mm3 darah mengandung 5000-10.000 sel darah putih 21. Hematokr Adalah hematokrit, yaitu kadar kekentalan darah. Nilai normal 37%-43%. Seseorang dapat dikategorikan menderita demam berdarah jika hematokritnya di atas nilai tersebut. Hematokrit yang ada pada tabel adalah hematokrit tertinggi pasien selama di rumah sakit. 22. Hemakons Adalah hemakonsentrasi, yaitu persentasi kenaikan hematokrit. Jika kenaikan hemakonsentrasi seseorang di atas 45% maka dapat dikatakan orang tersebut menderita DBD.
58 23. Trombosit Fungsi dari trombosit adalah menghasilkan sel darah merah. Jumlah normal trombosit pada manusia adalah 15000-400000. 24. Rothorak Adalah rontgen thorak, yaitu pemeriksaan rontgen pada paru-paru pasien. Jika dilihat ada cairan di paru-paru pasien maka dapat dikategorikan pasien menderita DBD. 25. IgM dan IgG Adalah imonuglobulin M dan Imonuglobulin G, yaitu suatu zat dalam tubuh yang antibodi.
Dari variabel-variabel tersebut, variabel keadaan dijadikan variabel respon yaitu variabel yang akan diprediksi dan variabel-variabel yang lain dijadikan variabel prediktor. Seperti sudah diterangkan di atas bahwa ada 1 variabel respon dan 25 variabel prediktor namun penulis hanya akan menggunakan 8 variable prediktor, yaitu diagnosis, lama demam, kesadaran, nadi, perdarahan, akral dan rontgen thorak. Penjelasan pemilihan variabel tersebut akan dijelaskan pada sub bab berikutnya.
4.2 Prosedur Analisis Data
Dengan menggunakan crosstab akan dilihat hubungan antara variabel respon dengan variabel-variabel prediktor. Hasil dari crosstab dan variabel-variabel yang signifikan akan digunakan sebagai variabel prediktor dalam neural network dengan tingkat signifikansi α = 0,125.
59 Variabel nadi, akral, dan rontgen thorak yang akan digunakan dalam neural network didasarkan pada nilai yang sebenarnya. Sedangkan variabel penyakit lain dan diagnosa didasrkan pada data yang sudah dikategorikan. Dari data dengan 145 sampel random dibagi menjadi dua contoh sampel, yaitu sampel training dan sampel testing. Model network yang digunakan terdiri dari tiga komponen, yaitu: input layer, hidden layer dan output layer. Dalam hal ini fungsi aktivasi yang digunakan adalah fungsi aktivasi sigmoid logistic.
4.2.1 Hasil analisis data No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
variabel Jenis kelamin Diagnosis Lama demam Dbd disekitar status gizi kesadaran nadi hepatomegali perdarahan akral perfusi Hb Leukosit Rontgen Thorak Igm Igg
Metode Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square Pearson Chi-Square
Signifikasi 0.18 0.000 0.038 0.528 0.937 0.000 0.000 0.617 0.123 0.001 0.006 0.395 0.380 0.008 0.603 0.666
Tabel 4.1 Hasil Crosstabs Dapat dilihat dari data tabel ini bahwa variabel-variabel yang memenuhi kriteria signifikansi α = 0,125 adalah diagnosis, lama demam, kesadaran, nadi, perdarahan, akral, perfusi, rontgen thorak. Sedangkan variabel yang tidak masuk seperti
lama
rawat,
diagnosis
akhir,
suhu
tertinggi,
hematokrit
dan
60 hemakonsentrasi dikarenakan nilai-nilai yang diperoleh adalah setelah pasien dirawat di rumah sakit.
Sehingga dapat disimpulkan: 1.
Dari 25 variabel yang diperoleh, satu variabel respon yaitu variabel status diprediksi berdasarkan 24 variabel prediktor.
2.
Karena neural network tidak dapat digunakan untuk menentukan variabel-variabel yang signifikan memprediksi variabel respon, maka digunakan bantuan crosstab untuk mendapatkan variabel-variabel yang signifikan memprediksi variabel respon.
3.
Dari hasil crosstab didapat 8 varabel prediktor yaitu diagnosis, lama demam, kesadaran, nadi, perdarahan, akral, perfusi, rontgen thorak.
4.3 Implementasi 4.3.1 Implementasi Perangkat Keras Program aplikasi peramalan kesembuhan pasien demam berdarah dengan algoritma Backpropagation ini diuji pada computer dengan spesifikasi sebagai berikut: a.
Processor: Intel Pentium 4 2.4 GHz.
b.
Memory: 256MB
c.
Hard Disk: 438Kbytes (application only)
d.
Monitor: 14” (resolusi 800 x 600)
Untuk tahap inplementasi spesifikasi hardware di atas dipenuhi, dan lebih baik lagi jika ditingkatkan. Spesifikasi hardware yang dianjurkan:
61 4.3.2 Implementasi Perangkat Lunak Aplikasi data dibuat dengan menggunakan Borland Delphi 6 dengan Microsoft Windows XP sebagai operating sistemnya. Dengan demikian, semua data hasil pengujian yang disajikan dalam bab ini adalah hasil pengujian dengan menggunakan perangkat keras dan perangkat lunak dengan spesifikasi seperti yang disebutkan di atas.
4.3.3 Implementasi Program Aplikasi Cara kerja program aplikasi yaitu pada tampilan awal program user diperbolehkan untuk mengubah nilai alpha, nilai target error (yaitu nilai maksimal error yang diinginkan) dan jumlah node pada hidden layer.
Gambar 4.1 Tampilan Awal Program
62 Jika sudah mengubah nilai-nilai tersebut atau tidak mengubahnya sama sekali dengan menggunakan nilai default maka user diarahkan untuk meload data dari database dengan menekan tombol Add Training Pair.
Gambar 4.2 Load Data From File
Apabila user sudah meload data yang diinginkan maka akan program kembali ke layar utama. Perbedaan layar sebelum dan setelah menekan tombol “Add Training Pair” adalah pada tombol “Add Training Pair” dan tombol “Training”. Pada gambar akan terlihat bahwa tombol “Add Training Pair” tidak diaktifkan sehingga user tidak akan melakukan kesalahan dalam penekanan tombol. diaktifkan adalah tombol training.
Sedangkan yang sudah
63
Gambar 4.3 Setelah load data from file
Sekarang user sudah diarahkan untuk menekan tombol “Training” untuk mulai melakukan training, namun jika user ingin me-load data yang berbeda dari file maka user harus menekan tombol “File”-“New”.
64
Gambar 4.4 Pilihan Jumlah node hidden layer
Karena aplikasi ini bersifat penelitian maka penulis menyediakan pilihan untuk user mengubah nilai alpha dan jumlah node hidden layer. Nilai default yang diberikan oleh penulis adalah 0.5 untuk alfa dan 7 hidden layer.
65
Gambar 4.5 New
Ketika user melakukan training maka timer akan mulai berjalan menghitung berapa lama proses ini berjalan.
Salah satu alasan mengapa penulis memakai
pendekatan nilai target error 0.14 adalah karena lamanya proses yang dilakukan jika nilai diatas nilai tersebut. Hal itu disebabkan karena pada aplikasi neural network nilai weight yang digunakan sewaktu setiap kali training akan berbeda-beda sebab setiap aplikasi dijalankan maka program akan membangkitkan kembali nilai acak untuk weight sewaktu training. Gambar diatas adalah pilihan “New” jika user ingin melakukan training ulang
66
Gambar 4.6 Setelah melakukan training
Gambar di atas menjelaskan bahwa user melakukan training dengan nilai α=0.5 dan jumlah node pada hidden layer sebanyak 7 node. Sedangkan waktu yang tercatat adalah 1.125 detik. Sekarang kolom-kolom input sudah diaktifkan dan user diarahkan untuk menekan tombol “Simulate”.
67
Gambar 4.7 Setelah Simulasi
Setelah diberi nilai pada kolom inputan maka user tinggal menekan tombol “Simulate” untuk melakukan simulasi. Setelah melakukan simulasi program akan memberikan keterangan bahwa program telah selesai melakukan simulasi. Pada gambar diatas kolom output memberikan nilai output = -0.999561402 hal ini berarti harus dilakukan penangan yang lebih intensif terhadap pasien karena kemungkinan pasien keadaannya akan memburuk yang akan membawa kepada kematian.
68 4.4 Evaluasi 4.4.1 Waktu Training Seperti yang sudah disebutkan bahwa setiap user mengulang melakukan training maka akan dibangkitkan nilai acak yang baru bagi weight akibatnya waktu setiap training akan berbeda. Oleh karena itu penulis mencoba berbagai kombinasi antara nilai alfa, jumlah node hidden layer dan nilai target error. Percobaan 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 30
α 0.1 0.1 0.1 0.1 0.1 0.1 0.2 0.2 0.2 0.2 0.2 0.2 0.3 0.3 0.3 0.3 0.3 0.3 0.4 0.4 0.4 0.4 0.4 0.4 0.5 0.5 0.5 0.5 0.5 0.5
node hidden layer 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7
target error 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13
I unfinish unfinish unfinish unfinish unfinish 3.125 unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish 1.244 unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish 3.61
II unfinish unfinish unfinish unfinish unfinish 59.001 unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish unfinish 2’ 18.128 unfinish unfinish unfinish unfinish unfinish unfinish
69
Percobaan 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
α 0.1 0.1 0.1 0.1 0.1 0.1 0.2 0.2 0.2 0.2 0.2 0.2 0.3 0.3 0.3 0.3 0.3 0.3 0.4 0.4 0.4 0.4 0.4 0.4 0.5 0.5 0.5 0.5 0.5 0.5
node hidden layer 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7
target error 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14 0.14
I 1.574 3.848 unfinish 12.857 0.985 1.669 1.209 0.164 unfinish 54.008 3.895 8.157 0.132 0.852 2.227 2.905 13.696 8.348 2.411 0.682 0.733 0.718 0.233 0.249 0.269 1.389 0.687 0.41 1.005 0.235
II 0.884 0.235 5.337 1.019 0.321 0.762 0.149 unfinish unfinish 2.218 0.273 0.995 3.649 0.241 unfinish unfinish 7.778 0.653 1.151 0.985 0.623 0.748 0.377 0.394 0.586 0.401 0.871 0.463 0.904 0.216
Tabel 4.2 Hasil training
Dari 120 hasil percobaan diatas maka dapat disimpulkan pendekatan nilai target error yang dapat digunakan adalah 0.14. Hasil di atas semuanya dalam detik kecuali pada percobaan yang ke-24 yaitu 2 menit 18.128 detik. Sedangkan “unfinish” berarti percobaan tersebut tidak akan pernah mencapai nilai minimum error yang
70 diinginkan.
Hal itu disebabkan selisih error yang semakin kecil sehingga
pengurangan error dengan selisihnya akan semakin kecil pula.
4.4.2 Hasil Learning
Untuk melakukan learning penulis hanya akan mencoba melakukan kombinasi antara alfa 0.5 dengan jumlah node hidden atau 7. Hal ini dilakukan karena adanya kesulitan untuk mencoba semua kombinasi dengan jumlah data learning yang berjumlah 20, sebab jika hal ini dilakukan maka akan ada: 60 kombinasi x 20 data learning = 1200 hasil learning.
71
No
diagnosis
lama demam
kesadaran
nadi
perdarahan
akral
perfusi
rontgen thorak
output
hasil learning
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
4 4 4 4 4 2 4 2 2 4 3 3 4 3 2
6 3 5 5 3 3 4 4 5 5 4 4 5 5 5
3 2 4 2 3 3 3 3 1 1 2 2 2 -1 2
0 0 -1 1 1 1 1 0 1 1 1 0 0 -1 0
4 4 2 4 4 4 3 2 2 0 4 4 3 3 2
1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1 -1
1 0 0 1 1 1 1 -1 0 0 1 -1 0 0 1
-1 -1 1 1 -1 1 1 1 1 1 1 -1 -1 -1 1
1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1 1
0.514377732 -0.791516796 -0.993167937 -0.999993462 -0.987651698 0.682834555 -0.999836971 0.999999999 0.999989586 0.999985944 0.012916402 0.999830724 -0.887970365 -0.328169886 0.999994853
Tabel 4.3 hasil learning
72 Dari hasil percobaan dapat dilihat bahwa terdapat 1 kali percobaan yang menghasilkan output yang berbeda dari yang seharusnya yaitu pada percobaan ke7 sehingga hasil ketelitian dari aplikasi ini adalah 14 dari 15 percobaan atau 93.33% tingkat ketelitian.