implementasi jaringan syaraf tiruan - selamat datang -lib.unnes.ac.id/19094/1/4111409005.pdf ·...
TRANSCRIPT
i
IMPLEMENTASI JARINGAN SYARAF TIRUAN
BACKPROPAGATION SEBAGAI SISTEM DETEKSI
PENYAKIT TUBERCULOSIS (TBC)
skripsi
disajikan sebagai salah satu syarat
untuk memperoleh gelar Sarjana Sains
Program Studi Matematika
oleh
Ratnaningtyas Widyani Purnamasari
4111409005
JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI SEMARANG
2013
ii
PERNYATAAN
Saya menyatakan bahwa skripsi ini bebas plagiat, dan apabila di kemudian hari
terbukti terdapat plagiat dalam skripsi ini, maka saya bersedia menerima sanksi
sesuai ketentuan peraturan perundang-undangan.
Semarang, Juli 2013
Ratnaningtyas WP.
4111409005
iii
PENGESAHAN
Skripsi yang berjudul
Implementasi Jaringan Syaraf Tiruan Backpropagation sebagai Sistem
Deteksi Tuberculosis (TBC)
disusun oleh
Ratnaningtyas Widyani Purnamasari
4111409005
telah dipertahankan di hadapan sidang Panitia Ujian Skripsi FMIPA UNNES pada
tanggal 30 Juli 2013
Panitia:
Ketua Sekretaris
Prof. Dr. Wiyanto, M.Si. Drs. Arief Agoestanto, M.Si
NIP. 19631012 198803 1 001 NIP. 19680722 199303 1 005
Ketua Penguji
Zaenal Abidin, S. Si., M. Cs.
NIP. 19820504 200501 1 001
Anggota Penguji/ Anggota Penguji/
Pembimbing Utama Pembimbing Pendamping
Dr. Dwijanto, M. S. Endang Sugiharti, S. Si., M. Kom.
NIP. 19580430 198403 1 006 NIP. 19740107 199903 2 001
iv
MOTTO DAN PERSEMBAHAN
Motto
Sesungguhnya bersama kesulitan ada kemudahan, maka apabila engkau telah selesai (dari
sesuatu urusan), tetaplah bekerja keras (untuk urusan yang lain) (Q.S. Al Insyiraah : 6-7).
Education is the most powerful weapon which you can use to change the world (Nelson
Mandela).
Manisnya keberhasilan akan menghapus pahitnya kesabaran, nikmatnya kemenangan
melenyapkan letihnya perjuangan, menuntaskan pekerjaan dengan baik akan melenyapkan
lelahnya jerih payah (Dr. Aidh bin Abdullah Al Qarni).
Persembahan
Skripsi ini kupersembahkan untuk:
Ibuku Winatul Ratnawati dan Bapakku Purnomo
Dwi Atmojo atas samudra kasih sayang, doa, dan
bimbingan yang diberikan.
Kakakku Mas Anggoro Ami Luhur atas doa dan
dukungannya.
Mas Nor Sholeh atas kesetiaannya untuk menemani,
menyemangati, dan menghiburku.
Sahabatku Erna, Azka, Putut, Fresti , dan teman-
teman seperjuangan Matematika 2009 atas
semangatnya.
Teman-teman kos atas dukungan dan canda tawanya.
Almamaterku Universitas Negeri Semarang.
v
PRAKATA
Puji syukur alhamdulillah senantiasa penulis panjatkan kepada Tuhan Yang
Maha Esa atas segala limpahan rahmat dan karunia-Nya sehingga penulis dapat
menyelesaikan skripsi yang berjudul “Implementasi Jaringan Syaraf Tiruan
Backpropagation sebagai Sistem Deteksi Penyakit Tuberculosis (TBC)”.
Penulisan skripsi ini dapat diselesaikan berkat bimbingan, bantuan,
dukungan, dan kerjasama dari berbagai pihak. Oleh karena itu, penulis
mengucapkan terima kasih kepada:
1. Ibu, bapak, dan kakak tercinta yang selalu memberikan doa serta dukungan
baik secara moral maupun spiritual.
2. Prof. Dr. Fathur Rokhman, M. Hum., Rektor Universitas Negeri Semarang.
3. Prof. Dr. Wiyanto, M.Si., Dekan FMIPA Universitas Negeri Semarang.
4. Drs. Arief Agoestanto, M.Si., Ketua Jurusan Matematika FMIPA Universitas
Negeri Semarang.
5. Dra. Kristina Wijayanti, M.S., Ketua Prodi Matematika FMIPA Universitas
Negeri Semarang.
6. Dr. Dwijanto, M.S., Dosen Pembimbing Utama yang telah memberikan
bimbingan, motivasi, dan pengarahan.
7. Endang Sugiharti, S.Si., M.Kom., Dosen Pembimbing Pendamping yang
telah memberikan bimbingan, motivasi, dan pengarahan.
8. dr. Budi Santoso, Penanggung Jawab BKPM Kota Pekalongan yang telah
memberikan ijin penelitian.
vi
9. Segenap civitas matematika Unnes, khususnya Bapak dan Ibu dosen yang
telah memberikan ilmunya dengan tulus.
10. Mahasiswa matematika angkatan 2009 yang telah berjuang bersama dalam
suka dan duka.
11. Semua pihak yang telah membantu terselesaikannya penulisan skripsi ini.
Akhirnya penulis berharap semoga skripsi ini dapat bermanfaat bagi para
pembaca.
Semarang, Juli 2013
Penulis
vii
ABSTRAK
Purnamasari, Ratnaningtyas Widyani. 2013. Implementasi Jaringan Syaraf Tiruan
Backpropagation sebagai Sistem Deteksi Penyakit Tuberculosis (TBC). Skripsi,
Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Negeri Semarang. Pembimbing Utama Dr. Dwijanto, M.S. dan
Pembimbing Pendamping Endang Sugiharti, S.Si., M.Kom.
Kata kunci: Jaringan Syaraf Tiruan (JST), Backpropagation, Software Matlab,
Tuberculosis (TBC).
Penelitian tentang hubungan di antara fenomena-fenomena real merupakan
dasar dari tujuan sains dan memainkan peranan penting dalam pengambilan
keputusan di dalam kehidupan sehari-hari. Sebagai contoh adalah untuk
mendeteksi penyakit TBC. Teknologi pengenalan pola dengan jaringan syaraf
tiruan (JST) dapat dimanfaatkan dalam permasalahan ini dengan cara membuat
sistem deteksi dini suspek atau tidaknya pasien mengidap TBC.
Permasalahan yang diangkat dalam penelitian ini adalah (1) Bagaimana
menciptakan suatu sistem yang dapat mendeteksi penyakit Tuberculosis (TBC)
secara dini menggunakan model jaringan syaraf tiruan backpropagation? (2)
Bagaimana tingkat akurasi sistem dalam mendeteksi suspek atau tidaknya pasien
mengidap penyakit Tuberculosis (TBC) berdasarkan data-data yang ada? Metode yang digunakan untuk menganalisis permasalahan dalam
penelitian ini adalah dengan studi pustaka, perumusan masalah, mengumpulkan
dan mengolah data-data penelitian, merancang sistem, membuat sistem, menguji
sistem, dan penarikan kesimpulan.
Pembahasan dilakukan yaitu tentang sistem deteksi penyakit Tuberculosis
(TBC) dengan menggunakan JST backpropagation dengan memanfaatkan
software matlab R2009a. Dari hasil pengujian sistem diperoleh tingkat akurasi
sistem dalam mendeteksi penyakit Tuberculosis (TBC) sebesar 100%. Arsitektur
jaringan yang paling baik digunakan dalam proses mendeteksi penyakit TBC
adalah dengan variasi jumlah iterasi 1000, toleransi 0,001, learning rate 0,5 dan
banyaknya neuron hidden layer 100. Arsitektur jaringan tersebut menghasilkan
MSE sebesar 0,00144 dengan waktu training 11 detik.
Penelitian ini menghasilkan simpulan, yaitu (1) Pembuatan sistem deteksi
penyakit TBC menggunakan software Matlab bisa mendapatkan hasil sistem
deteksi dengan tingkat akurasi yang lebih optimal. (2) Dalam proses pelatihan dan
pengujian sistem dapat diperoleh tingkat akurasi sebesar 100% dengan arsitektur
jaringan yang optimal sebagai berikut: variasi jumlah iterasi 1000, toleransi 0,001,
learning rate 0,5 dan banyaknya neuron hidden layer 100. Dalam sistem deteksi
ini hanya ada enam variabel input, sehingga peneliti menyarankan untuk
penelitian selanjutnya diharapkan adanya variabel input yang lebih rinci untuk
digunakan sebagai data uji dan data target karena mungkin masih banyak faktor
yang menyebabkan seseorang mengidap TBC.
viii
DAFTAR ISI
Halaman
PRAKATA ............................................................................................................... v
ABSTRAK ............................................................................................................ vii
DAFTAR ISI ........................................................................................................ viii
DAFTAR TABEL ................................................................................................ xiv
DAFTAR GAMBAR ........................................................................................... xvi
DAFTAR LAMPIRAN ...................................................................................... xviii
BAB
1. PENDAHULUAN ............................................................................................... 1
1.1 Latar Belakang ............................................................................................. 1
1.2 Perumusan Masalah ..................................................................................... 7
1.3 Batasan Masalah .......................................................................................... 8
1.4 Tujuan dan Manfaat .................................................................................... 8
1.4.1 Tujuan Penulisan ................................................................................. 8
1.4.2 Manfaat Penulisan ............................................................................... 9
1.5 Sistematika Penulisan ................................................................................ 10
1.5.1 Bagian Awal ..................................................................................... 10
1.5.2 Bagian Pokok .................................................................................... 10
1.5.3 Bagian Akhir ..................................................................................... 11
2. LANDASAN TEORI ........................................................................................ 12
2.1 Tuberculosis (TBC) .................................................................................... 12
2.2 Jaringan Syaraf Tiruan .............................................................................. 14
ix
2.2.1 Sejarah Jaringan Syaraf Tiruan ......................................................... 14
2.2.2 Definisi Jaringan Syaraf Tiruan ........................................................ 15
2.2.3 Komponen Jaringan Syaraf Tiruan ................................................... 18
2.2.3.1 Input Layer.......................................................................... 18
2.2.3.2 Hidden Layer ...................................................................... 18
2.2.3.3 Output Layer ....................................................................... 18
2.2.4 Arsitektur Jaringan Syaraf Tiruan ..................................................... 18
2.2.4.1 Jaringan Layer Tunggal ...................................................... 20
2.2.4.2 Jaringan Layer Jamak ......................................................... 21
2.2.4.3 Jaringan Reccurent.............................................................. 22
2.2.5 Backpropagation ............................................................................... 22
2.2.6 Fungsi Aktivasi ................................................................................. 24
2.2.6.1 Fungsi Sigmoid Biner ......................................................... 24
2.2.6.2 Fungsi Sigmoid Bipolar ...................................................... 25
2.2.6.3 Fungsi Tangen Hiperbolik .................................................. 25
2.2.7 Pelatihan Standar Backpropagation .................................................. 26
2.2.7.1 Fase 1 .................................................................................. 26
2.2.7.2 Fase 2 .................................................................................. 26
2.2.7.3 Fase 3 .................................................................................. 27
2.2.8 Algoritma Pelatihan .......................................................................... 27
2.2.9 Mean Square Error (MSE) ............................................................... 30
2.3. Pengenalan Pola ......................................................................................... 30
2.3.1 Deteksi .............................................................................................. 31
x
2.3.2 Klasifikasi ......................................................................................... 31
2.3.3 Pengenalan ........................................................................................ 31
2.4 Matrix Laboratory (Matlab) ....................................................................... 31
2.4.1 Jendela-jendela pada Matlab ............................................................. 32
2.4.1.1 Command Window/ Editor ................................................. 32
2.4.1.2 Current Directory ............................................................... 34
2.4.1.3 Command History ............................................................... 34
2.4.1.4 Editor/ Debugger (Editor M-File/ Pencarian Kesalahan) .. 35
2.4.1.5 Figure Windows ................................................................. 35
2.4.1.6 Workspace .......................................................................... 36
2.4.1.7 Matlab Help Window ......................................................... 36
2.4.2 Kelengkapan pada Sistem Matlab .................................................... 37
2.4.2.1 Development Environment ................................................. 37
2.4.2.2 Matlab Mathematical Function Library ............................ 37
2.4.2.3 Matlab Language ............................................................... 37
2.4.2.4 Graphics ............................................................................ 38
2.4.2.5 Matlab Application Program Interface (API) .................... 38
2.4.3 GUIDE Matlab ................................................................................. 38
2.4.3.1 Keunggulan GUIDE Matlab .............................................. 39
2.4.3.2 Komponen GUIDE Matlab ................................................ 39
2.4.3.2.1 Push Button ..................................................... 40
2.4.3.2.2 Toggle Button .................................................. 40
2.4.3.2.3 Radio Button ................................................... 40
xi
2.4.3.2.4 Checkboxes ..................................................... 40
2.4.3.2.5 Edit Text .......................................................... 41
2.4.3.2.6 Static Text ....................................................... 41
2.4.3.2.7 Slider ............................................................... 41
2.4.3.2.8 Frames ............................................................ 41
2.4.3.2.9 Listboxes ......................................................... 42
2.4.3.2.10 Popup Menu .................................................... 42
2.4.3.2.11 Axes ................................................................. 42
2.4.4 Toolbox Backpropagation di Matlab ............................................... 42
2.5 Confusion Matrix ...................................................................................... 43
3. METODE PENELITIAN .................................................................................. 46
3.1 Studi Pustaka ............................................................................................. 46
3.2 Perumusan Masalah .................................................................................. 46
3.3 Pemecahan Masalah .................................................................................. 47
3.3.1 Pengumpulan Data dan Pengolahan Data ........................................ 47
3.3.2 Perancangan, Pembuatan, dan Pengujian Sistem .............................. 48
3.3.2.1 Perancangan Sistem ............................................................ 48
3.3.2.2 Pembuatan Sistem ............................................................... 48
3.3.2.3 Pengujian Sistem ................................................................ 48
3.4 Penarikan Kesimpulan .............................................................................. 49
4. HASIL DAN PEMBAHASAN ......................................................................... 50
4.1 Hasil Penelitian ......................................................................................... 50
4.1.1 Tahap Pengambilan Data .................................................................. 50
xii
4.1.2 Pendefinisian Input dan Target ......................................................... 51
4.1.2.1 Pendefinisian Input............................................................. 51
4.1.2.2 Penetapan Target ................................................................ 52
4.1.3 Tahap Pengolahan Data .................................................................... 55
4.1.4 Tahap Perancangan Sistem ............................................................... 56
4.1.4.1 Perancangan Sistem Pelatihan ........................................... 56
4.1.4.2 Perancangan Arsitektur Jaringan Syaraf Tiruan ................. 57
4.1.4.2.1 Bobot dan Bias ................................................... 57
4.1.4.2.2 Jumlah Neuron pada Lapisan Tersembunyi ....... 57
4.1.4.2.3 Error Goal (Kinerja Tujuan) .............................. 58
4.1.4.2.4 Learning Rate (Laju Pembelajaran) ................... 58
4.1.4.2.5 Fungsi Aktivasi ................................................. 59
4.1.4.2.6 Maksimum Epoh ............................................... 59
4.1.4.3 Perancangan Pengujian Sistem Deteksi .............................. 62
4.1.4.4 Perancangan Desain Sistem ................................................ 63
4.1.4.4.1 Desain Tampilan Form Halaman Depan ........... 63
4.1.4.4.2 Desain Tampilan Form Pelatihan ...................... 64
4.1.4.4.3 Desain Tampilan Form Deteksi Penyakit TBC . 65
4.2 Tahap Implementasi Sistem ....................................................................... 66
4.2.1 Tampilan Form Halaman Depan ..................................................... 66
4.2.2 Implementasi Form Pelatihan .......................................................... 67
4.2.3 Implementasi Form Deteksi ............................................................. 69
4.3 Pengukuran Evaluasi Unjuk Kerja Sistem ................................................ 71
xiii
4.3.1 Pembahasan Hasil Arsitektur Jaringan Syaraf Tiruan
Backpropagation .............................................................................. 71
4.3.2 Pembahasan Hasil Pendeteksian ...................................................... 73
4.4 Analisis Hasil Kerja Sistem ...................................................................... 83
5. PENUTUP ......................................................................................................... 86
5.1 Simpulan .................................................................................................... 86
5.2 Saran ........................................................................................................... 87
DAFTAR PUSTAKA ............................................................................................ 88
LAMPIRAN ........................................................................................................... 90
xiv
DAFTAR TABEL
Tabel Halaman
1.1 Peringkat Penderita TBC di Dunia Tahun 2010 ............................................. 3
2.1 Contoh Confussion Matrix ........................................................................... 44
4.1 Data Pelatihan ............................................................................................... 53
4.2 Data Pengujian .............................................................................................. 55
4.3 Variasi Learning Rate dan Banyaknya Neuron Hidden Layer .................... 59
4.4. Analisis Hasil Variasi Arsitektur Jaringan .................................................. 72
4.5 Confusion Matrix Hasil Deteksi Data Latih Variasi 1 .................................. 73
4.6 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 1 .......................... 74
4.7 Confusion Matrix Hasil Deteksi Data Latih Variasi 2 .................................. 74
4.8 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 2 .......................... 75
4.9 Confusion Matrix Hasil Deteksi Data Latih Variasi 3 .................................. 75
4.10 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 3 .......................... 75
4.11 Confusion Matrix Hasil Deteksi Data Latih Variasi 4 .................................. 76
4.12 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 4 .......................... 76
4.13 Confusion Matrix Hasil Deteksi Data Latih Variasi 5 .................................. 76
4.14 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 5 .......................... 77
4.15 Confusion Matrix Hasil Deteksi Data Latih Variasi 6 .................................. 77
4.16 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 6 .......................... 77
4.17 Confusion Matrix Hasil Deteksi Data Latih Variasi 7 .................................. 78
4.18 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 7 .......................... 78
4.19 Confusion Matrix Hasil Deteksi Data Latih Variasi 8 .................................. 78
xv
4.20 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 8 .......................... 78
4.21 Confusion Matrix Hasil Deteksi Data Latih Variasi 9 .................................. 79
4.22 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 9 .......................... 79
4.23 Confusion Matrix Hasil Deteksi Data Latih Variasi 10 ................................ 79
4.24 Confusion Matrix Hasil Deteksi Non Data Latih Variasi 10 ........................ 80
4.25 Confusion Matrix Hasil Deteksi Data Latih Variasi 11 ................................ 80
4.26 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 11 ........................ 80
4.27 Confusion Matrix Hasil Deteksi Data Latih Variasi 12 ................................ 81
4.28 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 12 ........................ 81
4.29 Confusion Matrix Hasil Deteksi Data Latih Variasi 13 ................................ 81
4.30 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 13 ........................ 82
4.31 Confusion Matrix Hasil Deteksi Data Latih Variasi 14 ................................ 82
4.32 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 14 ........................ 82
4.33 Confusion Matrix Hasil Deteksi Data Latih Variasi 15 ................................ 83
4.34 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 15 ........................ 83
xvi
DAFTAR GAMBAR
Gambar Halaman
1.1 Diagram Populasi Penderita TBC Tahun 2007 di Jawa Tengah Menurut Usia
dan Jenis Kelamin ............................................................................................. 1
1.2 Grafik Angka Penjaringan Suspek TBC di Indonesia Tahun 2007 – 2011 ...... 2
1.3 Peringkat Penderita TBC di Dunia.................................................................... 3
1.4 Grafik Angka Penemuan TB Paru Kota Pekalongan Tahun 2008-2010 .......... 4
2.1 Sebuah Sel Syaraf Tiruan ............................................................................... 19
2.2 Jaringan Layer Tunggal .................................................................................. 20
2.3 Jaringan Layer Jamak ..................................................................................... 21
2.4 Jaringan Recurrent .......................................................................................... 22
2.5 Arsitektur Backpropagation ............................................................................ 23
2.6 Fungsi Sigmoid Biner dengan Range (0,1) ..................................................... 24
2.7 Fungsi Sigmoid Bipolar dengan Range (-1,1) ............................................... 25
2.8 Matlab Command Window .............................................................................. 33
2.9 Matlab Current Directory ............................................................................... 34
2.10 Matlab Command History .............................................................................. 34
2.11 Matlab Editor M-File ..................................................................................... 35
2.12 Matlab Figure Windows ................................................................................. 35
2.13 Matlab Workspace .......................................................................................... 36
2.14 Matlab Help Window ..................................................................................... 36
2.15 Tampilan GUIDE Matlab ............................................................................... 39
4.1 Arsitektur Jaringan dengan 10 Neuron Hidden .............................................. 60
xvii
4.2 Flowchart Proses Pelatihan ............................................................................. 61
4.3 Flowchart Proses Pendeteksian ...................................................................... 62
4.4 Desain Tampilan Form Halaman Depan ........................................................ 63
4.5 Desain Tampilan Form Pelatihan .................................................................. 64
4.6 Desain Tampilan Form Deteksi Penyakit TBC .............................................. 65
4.7 Tampilan Form Halaman Depan .................................................................... 66
4.8 Tampilan Form Pelatihan Sistem ................................................................... 67
4.9 Tampilan Form Deteksi ................................................................................. 69
xviii
DAFTAR LAMPIRAN
Lampiran Halaman
Desain Tampilan Halaman Depan Program dengan Propertinya ......................... 90
Kode Program untuk Halaman Depan ................................................................... 91
Desain Tampilan Pelatihan Sistem dengan Propertinya ....................................... 94
Kode Program untuk Pelatihan Sistem ................................................................. 95
Desain Tampilan Pendeteksian TBC dengan Propertinya ................................... 100
Kode Program untuk Pendeteksian TBC ............................................................. 102
Desain Tampilan Halaman Profil ........................................................................ 114
Kode Program untuk Halaman Profil ................................................................... 115
Kode Program untuk Fungsi Backpropagation ................................................... 118
Contoh Program Saat Dijalankan ........................................................................ 119
Data Pasien Suspek TBC di BKPM Kota Pekalongan ........................................ 122
Data Pasien Non Suspek TBC di BKPM Kota Pekalongan ................................ 125
Data Uji Coba Variabel Pelatihan ........................................................................ 127
Surat Ketetapan Dosen Pembimbing .................................................................. 131
Surat Ijin Penelitian dari Fakultas ........................................................................ 132
Surat Ijin Penelitian dari BAPPEDA Kota Pekalongan ...................................... 133
Surat Ijin Penelitian dari Dinas Kesehatan Kota Pekalongan ............................. 134
1
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Penyakit Tuberculosis (TBC) merupakan suatu penyakit infeksi kronis atau
menahun dan menular langsung yang disebabkan oleh bakteri Mycobacterium
tuberculosis yang dapat menyerang pada siapa saja tanpa memandang usia dan
jenis kelamin, namun sesuai fakta yang ada bahwa penyakit TBC lebih banyak
menyerang mereka yang berusia produktif, yaitu berkisar antara usia 15 tahun –
35 tahun.
Gambar 1.1 Diagram Populasi Penderita TBC Tahun 2007 di Jawa
Tengah Menurut Usia dan Jenis Kelamin (Kemenkes R.I.,
2012)
Udara merupakan media penyebaran bakteri Mycobacterium tuberculosis
dalam penularan penyakit TBC, biasanya bakteri ini terbawa pada saat penderita
TBC batuk atau mengeluarkan dahak dan meludahkannya ke sembarang tempat.
Jika bakteri ini sering masuk dan berkumpul di dalam paru-paru, maka
perkembangbiakan bakteri ini akan semakin cepat terutama pada orang dengan
2
daya tahan tubuh yang rendah. Setelah terjadi infeksi, maka akan dengan mudah
menyebar melalui pembuluh darah atau kelenjar getah bening. Oleh sebab itu,
infeksi TBC dapat menginfeksi hampir seluruh organ tubuh, seperti paru-paru,
otak, ginjal, saluran pencernaan, tulang, kelenjar getah bening, dan lain-lain.
Meskipun demikian, organ tubuh yang paling sering terkena yaitu paru-paru.
Menurut Zain, sebagaimana dikutip oleh Muttaqin (2008: 72), berdasarkan
Survei Kesehatan Rumah Tangga (SKRT) 1992, penyakit TBC di Indonesia
merupakan penyebab kematian nomor dua terbesar setelah penyakit jantung.
Sebagian besar penderita TB paru berasal dari kelompok masyarakat usia
produktif dan berpenghasilan rendah. Adanya wabah HIV/AIDS di seluruh dunia
juga turut memengaruhi jumlah penderita TB paru, termasuk Asia Tenggara.
Selain itu, peningkatan jumlah penderita TB juga dipengaruhi oleh industrialisasi,
kemudahan transportasi, serta perubahan ekosistem. Dari hasil survei yang
dilakukan oleh WHO didapatkan fakta bahwa kematian wanita akibat TB lebih
besar daripada kematian akibat kehamilan dan persalinan.
Gambar 1.2 Grafik Angka Penjaringan Suspek TBC di Indonesia Tahun
2007 – 2011 (Kemenkes R.I., 2012)
3
Semenjak tahun 2000, TBC telah dinyatakan oleh WHO sebagai remerging
disease karena angka kejadian TBC yang telah dinyatakan menurun pada tahun
1990-an kembali meningkat. Meskipun demikian, untuk kasus di Indonesia, angka
TBC tidak pernah menurun bahkan cenderung meningkat. Hampir 10 tahun
lamanya Indonesia menempati urutan ke-3 sedunia dalam hal jumlah penderita
Tuberculosis (TBC). Baru pada tahun 2009 turun ke peringkat lima dan masuk
dalam milestone atau pencapaian kinerja satu tahun Kementerian Kesehatan.
Berdasarkan Data Badan Kesehatan Dunia (WHO) pada tahun 2007, menyatakan
jumlah penderita TBC di Indonesia sekitar 528 ribu atau berada di posisi tiga di
dunia setelah India dan Cina. Laporan WHO pada tahun 2010, mencatat peringkat
Indonesia menurun ke posisi empat dengan jumlah penderita TBC sebesar 450
ribu orang. Lima negara dengan jumlah terbesar kasus insiden pada tahun 2010
adalah India, Cina, Afrika Selatan, Indonesia, dan Pakistan (http://www.
globalhealthfacts.org).
Tabel 1.1 Peringkat Penderita TBC di Dunia Tahun 2010
Peringkat Negara Jumlah Penderita TBC
1 India 2.300.000
2 Cina 1.000.000
3 Afrika Selatan 490.000
4 Indonesia 450.000
5 Pakistan 400.000
6 Bangladesh 330.000
7 Filipina 260.000
8 Kongo 220.000
8 Ethiopia 220.000
9 Nigeria 210.000
10 Myanmar 180.000
10 Vietnam 180.000
(http://www. globalhealthfacts.org)
4
Menurut data dari Dinas Kesehatan kota Pekalongan tahun 2010, angka
penemuan penderita TB dengan Basil Tahan Asam (BTA) (+) di kota Pekalongan
tahun 2010 di 12 Puskesmas sebanyak 145 penderita (Case Detection Rate/ CDR
43,54%) meningkat dibandingkan tahun 2009 sebanyak 127 penderita (CDR
39,81%). Sedangkan angka penemuan kasus dari BKPM dan rumah sakit
sebanyak 175 penderita (CDR 52,55%). Sehingga apabila digabungkan, maka
pencapaian CDR tahun 2010 adalah sebesar 96,1% dan angka tersebut sudah di
atas target nasional yaitu sebesar 70%.
Gambar 1.3 Grafik Angka Penemuan TB Paru Kota Pekalongan
Tahun 2008-2010
Balai Kesehatan Paru Masyarakat (BKPM) kota Pekalongan yang
beralamat di jalan W.R. Supratman nomor 77 kota Pekalongan merupakan
instansi milik pemerintah kota Pekalongan di bawah naungan Dinas Kesehatan
kota Pekalongan. Dengan motto “Paruku Sehat Hidupku Nikmat”, BKPM kota
Pekalongan ini memiliki tujuan meningkatkan derajat kesehatan masyarakat
dengan memberikan pelayanan kesehatan paru-paru meliputi kegiatan (1)
meningkatkan cakupan penderita baru TBC; (2) mengobati dan mencegah
penyakit paru lainnya; (3) mengobati penderita TBC sesuai panduan; (4)
5
meningkatkan kesembuhan sampai dengan 85%; serta (5) menekan angka putus
berobat atau mangkir. Beberapa pelayanan unggulan yang disediakan oleh BKPM
kota Pekalongan antara lain, (1) pelayanan klinik berhenti merokok yang
bertujuan mengajak pasien untuk mengurangi faktor risiko penyakit paru kronik
melalui konseling berhenti merokok dan (2) pelayanan klinik TB HIV-AIDS yang
bertujuan membantu klien mengenali perilaku atau kegiatan yang dapat menjadi
sarana penularan TB/ HIV, menyediakan informasi tentang HIV, testing HIV,
pencegahan dan pengobatannya, serta memberikan dukungan moril untuk
perubahan yang lebih sehat.
Penelitian tentang hubungan di antara fenomena-fenomena real merupakan
dasar dari tujuan sains dan memainkan peranan penting dalam pengambilan
keputusan di dalam kehidupan sehari-hari. Seiring dengan perkembangan zaman
banyak perubahan teknologi dan informasi yang mengalami kemajuan yang pesat.
Peranan komputer sangat penting untuk membantu pekerjaan manusia sehari-hari
dalam segala aspek bidang. Sejalan dengan perkembangan saat ini, para ahli
mencoba menggantikan komputer menjadi suatu alat bantu yang dapat meniru
cara kerja otak manusia, sehingga diharapkan suatu saat akan tercipta komputer
yang dapat menimbang dan mengambil keputusan sendiri. Hal inilah yang
mendorong lahirnya teknologi kecerdasan tiruan (Artificial Intelligece/ AI). Salah
satu teknik komputasi yang dikelompokkan dalam AI adalah jaringan syaraf
tiruan (Artificial Neural Network/ ANN).
6
Berdasarkan hasil pengamatan Fausset (1994: 2), saat ini jaringan syaraf
tiruan (JST) sangat menarik bagi para peneliti di berbagai bidang untuk alasan
yang berbeda.
... electrical engineers find numerous applications in signal processing and
control theory. Computer engineers are intrigued by potential for hardware
to implement neural nets efficiently and by applications of neural nets
robotics. Computer scientists find that neural nets show promise for difficult
problems in areas such as artificial intelligence and pattern recognition.
For applied mathematicians, neural nets are a powerful tool for modeling
problems for which the explicit form of the relationships among certain
variables is not known.
JST merupakan sistem pemrosesan informasi yang mempunyai penampilan
karakteristik menyerupai jaringan syaraf biologi (Fausett, 1994: 3). JST adalah
salah satu alternatif pemecahan masalah dan banyak diminati oleh para peneliti
pada saat ini. Hal ini adalah karena keluwesan yang dimiliki oleh JST, baik dalam
perancangan maupun penggunaannya. JST merupakan salah satu sistem
pemrosesan yang dirancang dan dilatih untuk memiliki kemampuan seperti yang
dimiliki oleh manusia dalam menyelesaikan persoalan yang rumit dengan
melakukan proses belajar melalui perubahan bobot sinapsisnya. Jaringan syaraf
menyimulasi struktur proses-proses otak (fungsi syaraf biologis) dan kemudian
membawanya kepada perangkat lunak kelas baru yang dapat mengenali pola-pola
yang kompleks serta belajar dari pengalaman-pengalaman masa lalu.
Banyak aplikasi-aplikasi yang telah dihasilkan seiring berkembangnya
teknologi. Penelitian-penelitian tentang aplikasi penggunaan JST telah banyak
dikaji dalam berbagai ilmu pengetahuan, misalnya di bidang kedokteran adalah
Application of Neural Networks to the Interpretation of Laboratory Data in
Cancer Diagnosis (Astion et all., 1992). Jaringan syaraf tiruan juga digunakan
7
dalam bidang ekonomi seperti Prediksi Harga Saham Menggunakan Jaringan
Syaraf Tiruan Multilayer Feed Forward Network dengan Algoritma
Backpropagation (Setiawan, 2008).
Berdasarkan permasalahan tersebut dan dengan perkembangan teknologi
jaringan syaraf, muncul gagasan untuk membuat suatu sistem yang dapat
mendeteksi dini penyakit TBC yang dapat bekerja dengan efektif.
Akan sangat membantu jika ada suatu alat untuk mendeteksi penyakit
(TBC) pada pasien agar dapat dilakukan penanganan sedini mungkin. Untuk itu,
pada penelitian ini dipelajari dan dicoba membuat aplikasi JST untuk mendeteksi
penyakit (TBC). JST dalam mendiagnosis jenis penyakit menyimpan sejumlah
data, yaitu informasi gejala-gejala yang terdapat pada pasien. Pelatihan jaringan
dapat dipresentasikan dengan input yang terdiri atas serangkaian gejala yang
diidap oleh penderita. Setelah itu, jaringan syaraf akan melatih input gejala
tersebut, sehingga ditemukan suatu akibat dari gejala tersebut yaitu suspek atau
tidaknya pasien mengidap Tuberculosis.
1.2 Perumusan Masalah
Berdasarkan permasalahan yang telah diuraikan pada bagian latar belakang,
maka permasalahan yang timbul antara lain:
a. Bagaimana menciptakan suatu sistem yang dapat mendeteksi penyakit
Tuberculosis (TBC) secara dini menggunakan model jaringan syaraf tiruan
backpropagation?
8
b. Bagaimana tingkat akurasi sistem dalam mendeteksi suspek atau tidaknya
pasien mengidap penyakit Tuberculosis (TBC) berdasarkan data-data yang
ada?
1.3 Batasan Masalah
Agar dalam pembahasan skripsi ini tidak terlalu meluas, maka penulis
mencantumkan pembatasan masalah sebagai berikut.
a. Penyakit Tuberculosis (TBC) yang dimaksud dalam penelitian ini adalah TBC
paru.
b. Menciptakan suatu sistem untuk mendeteksi dini penyakit TBC berdasarkan
gejala-gejala umum TBC dengan bantuan software Matlab R2009a.
c. Mengetahui pengaruh perubahan variasi jumlah neuron hidden layer dan
learning rate dalam sistem terhadap tingkat akurasi pendeteksian.
d. Data yang digunakan dalam penelitian ini hanya diambil dari Balai Kesehatan
Paru Masyarakat (BKPM) kota Pekalongan, Jawa Tengah.
1.4 Tujuan dan Manfaat
1.4.1 Tujuan Penulisan
Tujuan penulisan skripsi ini adalah:
a. Merancang suatu sistem yang dapat mendeteksi penyakit TBC secara dini
supaya pasien mendapat pengobatan sedini mungkin dengan menggunakan
jaringan syaraf tiruan backpropagation.
b. Mengetahui tingkat akurasi sistem dalam mendeteksi penyakit TBC.
c. Menentukan arsitektur jaringan yang optimal untuk JST dalam mendeteksi
penyakit TBC.
9
1.4.2 Manfaat Penulisan
Manfaat yang bisa diperoleh dari penyusunan skripsi ini adalah:
a. Bagi peneliti
1) Peneliti dapat membuat suatu sistem yang dapat mendeteksi penyakit TBC
secara dini dengan jaringan syaraf tiruan backpropagation.
2) Peneliti dapat menentukan dan mengetahui arsitektur jaringan syaraf tiruan
yang paling optimal untuk mendeteksi penyakit TBC.
3) Peneliti dapat mengetahui tingkat keakuratan sistem yang digunakan untuk
mendeteksi penyakit TBC berdasarkan gejala-gejala yang ada pada pasien.
b. Bagi Mahasiswa
Penelitian ini dapat memberikan inspirasi dan gagasan baru bagi mahasiswa
untuk mengembangkan dan merancang aplikasi menggunakan JST yang nantinya
dapat dimanfaatkan di berbagai bidang ilmu pengetahuan sehingga berguna dalam
kehidupan sehari-hari.
c. Bagi instansi terkait
Hasil penelitian ini dapat bermanfaat bagi instansi yang berkaitan dengan
kesehatan dalam mendignosis serta memberikan informasi kepada para pasien
guna mengantisipasi penyebaran penyakit TBC sehingga dapat melakukan
langkah-langkah konkret untuk menanggulanginya.
10
1.5 Sistematika Penulisan
Secara garis besar penulisan skripsi ini terdiri atas tiga bagian, yaitu bagian
awal, bagian isi, dan bagian pokok, yang masing-masing diuraikan sebagai
berikut.
1.5.1 Bagian Awal
Dalam penulisan skripsi ini, bagian awal berisi halaman judul, halaman
pengesahan, motto dan persembahan, kata pengantar, abstrak, daftar isi, daftar
tabel, daftar gambar, dan daftar lampiran.
1.5.2 Bagian Pokok
Bagian pokok dari penulisan skripsi ini adalah isi skripsi yang terdiri atas
lima bab, yaitu:
(1) BAB I PENDAHULUAN
Berisi tentang latar belakang, perumusan masalah, batasan masalah, tujuan
dan manfaat, serta sistematika penulisan skripsi.
(2) BAB II LANDASAN TEORI
Berisi tentang Tuberculosis, jaringan syaraf tiruan, Matrix Laboratory
(Matlab), dan confusion matrix.
(3) BAB III METODE PENELITIAN
Berisi tentang prosedur atau langkah-langkah yang dilakukan dalam
penelitian ini meliputi studi pustaka, perumusan masalah, pemecahan masalah,
analisis pemecahan masalah, dan penarikan simpulan.
11
(4) BAB IV HASIL DAN PEMBAHASAN
Berisi tentang perancangan sistem deteksi dini penyakit TBC dengan metode
jaringan syaraf tiruan backpropagation, pengambilan data, pengolahan data,
pengukuran evaluasi unjuk kerja sistem, dan analisis hasil kerja sistem
(5) BAB V PENUTUP
Berisi simpulan hasil penelitian dan saran-saran peneliti.
1.5.3 Bagian Akhir
Berisi daftar pustaka sebagai acuan penulisan yang mendukung kelengkapan
skripsi ini dan lampiran-lampiran yang melengkapi uraian pada bagian isi.
12
BAB 2
LANDASAN TEORI
2.1 Tuberculosis (TBC)
Menurut Misnadiarly (2006: 11), penyakit TBC (Tuberkulosa) merupakan
penyakit kronis (menahun) yang telah lama dikenal oleh masyarakat luas dan
ditakuti karena menular. Pada 1882, Robert Kock secara meyakinkan telah dapat
memberikan bukti bahwa TBC adalah suatu penyakit infeksi yang disebabkan
oleh bakteri yang diberi nama Mycobacterium tuberculosis. Bakteri tersebut
berwarna merah, berbentuk batang, dan tahan asam disebut Basil Tahan Asam
(BTA). Orang yang pertama kali dapat membuktikan bahwa TBC adalah penyakit
yang dapat ditularkan adalah Villemin yang hidup pada tahun 1827-1894.
Menurut Robbins, sebagaimana dikutip oleh Misnadiarly (2006: 11), TBC adalah
penyakit infeksi kronis yang disebabkan oleh Mycobacterium tuberculosis, dan
biasa terdapat pada paru-paru, tetapi mungkin juga pada organ lain seperti
kelenjar getah bening (nodus lymphaticus). Bakteri TBC yang masuk ke dalam
kelenjar getah bening dapat menimbulkan peradangan pada kelenjar tersebut
disertai perubahan struktur jaringan.
Gejala-gejala umum dari penyakit Tuberculosis adalah sebagai berikut
(Muttaqin: 2008).
13
1. Batuk berdahak
Keluhan batuk timbul paling awal dan merupakan gangguan yang paling
sering dikeluhkan. Jika penyakit TBC sudah cukup parah, maka batuk akan
disertai dengan darah.
2. Sesak napas
Keluhan ini ditemukan bila kerusakan parenkim paru sudah luas atau
karena ada hal lain yang menyertai, seperti efusi pleura (adanya cairan di
dada), pneumothoraks (rongga pleura terisi udara), anemia, dan lain-lain.
3. Nyeri dada
Nyeri dada pada TBC termasuk nyeri pleuritik ringan (dada terinfeksi
bakteri). Gejala ini timbul apabila sistem pernapasan di pleura terkena TBC.
4. Demam pada sore atau malam hari
Keluhan yang sering dijumpai dan biasanya timbul pada sore atau malam
hari mirip demam influenza, hilang timbul, dan semakin lama semakin panjang
serangannya, sedangkan masa bebas serangan semakin pendek.
5. Keluhan lain yang biasa timbul ialah keringat malam, anoreksia, penurunan
berat badan, dan badan lemah (malaise). Timbulnya keluhan biasanya bersifat
gradual muncul dalam beberapa minggu – bulan.
Berkembangnya penyakit TBC di Indonesia tidak lain berkaitan dengan
memburuknya kondisi sosial ekonomi, belum optimalnya fasilitas pelayanan
kesehatan masyarakat, meningkatnya jumlah penduduk yang tidak mempunyai
tempat tinggal, dan adanya epidemik dari infeksi HIV. Hal ini juga tentunya
14
mendapat pengaruh besar dari daya tahan tubuh yang lemah atau menurun dan
jumlah kuman yang memegang peranan penting dalam terjadinya infeksi TBC.
2.2 Jaringan Syaraf Tiruan (JST)
2.2.1 Sejarah Jaringan Syaraf Tiruan
Jaringan syaraf tiruan sederhana pertama kali diperkenalkan oleh
McCulloch dan Pitts di tahun 1943. McCulloch dan Pitts menyimpulkan bahwa
kombinasi beberapa neuron sederhana menjadi sebuah sistem neural akan
meningkatkan kemampuan komputasinya. Bobot dalam jaringan yang diusulkan
oleh McCulloch dan Pitts diatur untuk melakukan fungsi logika sederhana. Fungsi
aktivasi yang dipakai adalah fungsi threshold. Tahun 1949, Hebb mencoba
mengkaji proses belajar yang dilakukan oleh neuron. Teori ini dikenal sebagai
Hebbian Law. Tahun 1958, Rosenblatt memperkenalkan dan mulai
mengembangkan model jaringan yang disebut perceptron. Metode pelatihan
diperkenalkan untuk mengoptimalkan hasil iterasinya.
Pada tahun 1960, Widrow dan Hoff mengembangkan perceptron dengan
memperkenalkan aturan pelatihan jaringan yang dikenal sebagai aturan delta (atau
sering disebut kuadrat rata-rata terkecil). Aturan ini akan mengubah bobot
perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang
diinginkan. Tahun 1969, Minsky dan Papert melontarkan suatu kritikan tentang
kelemahan perceptronnya Rosenblatt di dalam memilah-milah pola yang tidak
linier. Sejak saat itu, penelitian di bidang JST telah mengalami masa vakum untuk
kurang lebih satu dasawarsa.
15
Tahun 1982, Hopfield telah memperluas aplikasi JST untuk memecahkan
masalah-masalah optimasi. Hopfield telah berhasil memperhitungkan fungsi
energi ke dalam jaringan syaraf, yaitu agar jaringan memiliki kemampuan
mengingat atau memperhitungkan suatu obyek dengan obyek yang pernah dikenal
atau diingat sebelumnya (associative memory). Konfigurasi jaringan yang
demikian dikenal sebagai recurrent network. Salah satu aplikasinya adalah
Travelling Salesman Problem (TSP) (Puspitaningrum, 2006).
Pada tahun 1986, Rumelhart menciptakan suatu algoritma belajar yang
dikenal sebagai propagasi balik (backpropagation). Bila algoritma ini diterapkan
pada perceptron yang memiliki lapisan banyak (multi layer perceptron), maka
dapat dibuktikan bahwa pemilahan pola-pola yang tidak linier dapat diselesaikan.
Perkembangan JST yang ramai dibicarakan sejak tahun 1990-an adalah aplikasi
model-model jaringan syaraf tiruan untuk menyelesaikan berbagai masalah di
dunia nyata (Siang, 2009).
2.2.2 Definisi Jaringan Syaraf Tiruan
Jaringan syaraf tiruan (JST) didefinisikan sebagai suatu sistem pemrosesan
informasi yang mempunyai karakteristik menyerupai jaringan syaraf manusia
(Hermawan, 2006). Beberapa istilah dalam JST yang sering ditemui adalah
sebagai berikut.
a) Neuron atau node atau unit: sel syaraf tiruan yang merupakan elemen
pengolahan jaringan syaraf tiruan. Setiap neuron menerima data input,
memproses input tersebut kemudian mengirimkan hasilnya berupa sebuah
output.
16
b) Jaringan: kumpulan neuron yang saling terhubung dan membentuk lapisan.
c) Lapisan tersembunyi (hidden layer): lapisan yang tidak secara langsung
berinteraksi dengan dunia luar. Lapisan ini memperluas kemampuan jaringan
syaraf tiruan dalam menghadapi masalah-masalah yang kompleks.
d) Input: sebuah nilai input yang akan diproses menjadi nilai output.
e) Output: solusi dari nilai input.
f) Bobot: nilai matematis dari sebuah koneksi antar-neuron.
g) Fungsi aktivasi: fungsi yang digunakan untuk meng-update nilai-nilai bobot
per-iterasi dari semua nilai input.
h) Fungsi aktivasi sederhana adalah mengalikan input dengan bobotnya dan
kemudian menjumlahkannya (disebut penjumlahan sigma) berbentuk linier
atau tidak linier dan sigmoid.
i) Paradigma pembelajaran: bentuk pembelajaran, supervised learning, atau
unsupervised learning.
Menurut Siang (2009:2), JST adalah sistem pemroses informasi yang
memiliki karakteristik mirip dengan jaringan syaraf biologi. JST dibentuk sebagai
generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa
a. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
b. Sinyal dikirimkan di antara neuron-neuron melalui penghubung-penghubung.
c. Penghubung antar-neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
d. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
(biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang
17
diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas
ambang (threshold).
JST ditentukan oleh tiga hal, yaitu
(1) Pola hubungan antar-neuron (disebut arsitektur jaringan).
(2) Metode untuk menentukan bobot penghubung (disebut metode training/
learning/ algoritma).
(3) Fungsi aktivasi (fungsi transfer).
Neuron adalah unit pemroses informasi yang menjadi dasar dalam
pengoperasian jaringan syaraf tiruan (Siang, 2009:23). Neuron terdiri atas tiga
elemen pembentuk sebagai berikut.
(1) Himpunan unit-unit yang dihubungkan dengan jalur koneksi.
(2) Suatu unit penjumlah yang akan menjumlahkan masukan-masukan sinyal
yang sudah dikalikan dengan bobotnya.
(3) Fungsi aktivasi yang menentukan apakah sinyal dari input neuron akan
diteruskan ke neuron lain ataukah tidak.
Neuron dalam jaringan syaraf tiruan sering diganti dengan istilah simpul.
Setiap simpul tersebut berfungsi untuk menerima atau mengirim sinyal dari atau
ke simpul-simpul lainnya. Pengiriman sinyal disampaikan melalui penghubung.
Kekuatan hubungan yang terjadi antara setiap simpul yang saling terhubung
dikenal dengan nama bobot.
18
2.2.3 Komponen Jaringan Syaraf Tiruan
Pada umumnya JST memiliki dua lapisan, yaitu input layer dan output
layer. Tetapi pada perkembangannya, adapula JST yang memiliki satu lapisan lagi
yang terletak di antara input layer dan output layer. Lapisan ini disebut lapisan
hidden layer. Menurut Halim et all. (2004: 12), berikut penjelasan mengenai
komponen JST.
2.2.3.1 Input Layer
Input layer berisi node-node yang masing-masing menyimpan sebuah nilai
masukan yang tidak berubah pada fase latih dan hanya bisa berubah jika diberikan
nilai masukan baru. Node pada lapisan ini tergantung pada banyaknya input dari
suatu pola.
2.2.3.2 Hidden Layer
Lapisan ini tidak pernah muncul sehingga dinamakan hidden layer. Akan
tetapi semua proses pada fase pelatihan dan fase pengenalan dijalankan di lapisan
ini. Jumlah lapisan ini tergantung dari arsitektur yang akan dirancang, tetapi pada
umumnya terdiri dari satu lapisan hidden layer.
2.2.3.3 Output Layer
Output layer berfungsi untuk menampilkan hasil perhitungan sistem oleh
fungsi aktivasi pada lapisan hidden layer berdasarkan input yang diterima.
2.2.4 Arsitektur Jaringan Syaraf Tiruan
Arsitektur jaringan dan algoritma pelatihan sangat menentukan model-
model JST. Arsitektur tersebut gunanya untuk menjelaskan arah perjalanan sinyal
atau data di dalam jaringan. Sedangkan algoritma belajar menjelaskan bagaimana
19
bobot koneksi harus diubah agar pasangan masukan-keluaran yang diinginkan
dapat tercapai. Dalam setiap perubahan harga bobot koneksi dapat dilakukan
dengan berbagai cara, tergantung pada jenis algoritma pelatihan yang digunakan.
Dengan mengatur besarnya nilai bobot ini diharapkan bahwa kinerja jaringan
dalam mempelajari berbagai macam pola yang dinyatakan oleh setiap pasangan
masukan-keluaran akan meningkat. Sebagai contoh, perhatikan neuron 𝑌 pada
Gambar 2.1 berikut.
Gambar 2.1 Sebuah Sel Syaraf Tiruan
Pada Gambar 2.1 diperlihatkan sebuah sel syaraf tiruan sebagai elemen
penghitung. Simpul 𝑌 menerima masukan dari neuron 𝑥1, 𝑥2, dan 𝑥3 dengan
bobot hubungan masing-masing adalah 𝑤1, 𝑤2, dan 𝑤3. Argumen fungsi aktivasi
adalah net masukan (kombinasi linear masukan dan bobotnya). Ketiga sinyal
simpul yang ada dijumlahkan 𝑛𝑒𝑡 = 𝑥1𝑤1 + 𝑥2𝑤2 + 𝑥3𝑤3. Besarnya sinyal yang
diterima oleh 𝑌 mengikuti fungsi aktivasi 𝑦 = 𝑓(𝑛𝑒𝑡). Apabila nilai fungsi
aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran
model jaringan) juga dapat dipakai sebagai dasar untuk merubah bobot (Hartono,
2012).
X2
X1
X3
Y
W1
W2
W3
20
Arsitektur jaringan syaraf tiruan digolongkan menjadi tiga model.
2.2.4.1 Jaringan Layer Tunggal
Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung dengan
sekumpulan output-nya, seperti Gambar 2.2.
Keterangan:
𝑥1, 𝑥𝑖 , 𝑥𝑛 : Nilai input ke 1 sampai 𝑛
𝑦1, 𝑦𝑗 , 𝑦𝑚 : Nilai output hasil pembangkitan nilai input oleh suatu fungsi
aktivasi
𝑤𝑖 : Bobot atau nilai
Pada Gambar 2.2 diperlihatkan bahwa arsitektur jaringan layer tunggal
dengan 𝑛 buah masukan (𝑥1, 𝑥2, 𝑥𝑛) dan 𝑚 buah keluaran (𝑦1,𝑦2, 𝑦𝑚 ). Dalam
jaringan ini semua unit input dihubungkan dengan semua unit output. Tidak ada
Gambar 2.2 Jaringan Layer Tunggal
Input Units Output Units
X1
Xi
Xn Ym
Yj
Y1
W11
W1j
W1m Wi1
Wij
Wim
Wn1 Wnj
Wnm
21
unit input yang dihubungkan dengan unit input lainnya dan unit output-pun
demikian.
2.2.4.2 Jaringan Layer Jamak
Keterangan:
𝑥1, 𝑥𝑖 , 𝑥𝑛 : Nilai input ke 1 sampai 𝑛
𝑧1, 𝑧𝑗 , 𝑧𝑝 : Nilai dari neuron hidden layer
𝑦1, 𝑦𝑘 , 𝑦𝑚 : Nilai output hasil pembangkitan nilai input oleh suatu
fungsi aktivasi
𝑣𝑖 , 𝑤𝑗 : Bobot atau nilai
Pada Gambar 2.3 memperlihatkan jaringan dengan 𝑛 buah unit masukan
(𝑥1, 𝑥2, … , 𝑥𝑛), sebuah layer tersembunyi yang terdiri dari 𝑝 buah unit
(𝑧1, 𝑧2, … , 𝑧𝑝) dan 𝑚 buah unit keluaran (𝑦1,𝑦2, … , 𝑦𝑚). Jaringan layer jamak
dapat menyelesaikan masalah yang lebih kompleks dibandingkan dengan layer
tunggal, meskipun kadangkala proses pelatihan lebih kompleks dan lama.
Gambar 2.3 Jaringan Layer Jamak
Xi
Xn
Zp
Zj
Z1
Ym
Yk
Y1 X1 V11
V1j
V1p
Vi1
Vij
Vip
Vn1
Vnj
Vnp
W11
W1k
W1m
Wj1
Wjk
Wjm
Wp1
Wpk
Wpm
Input Units Hidden Units Output Units
22
2.2.4.3 Jaringan Reccurent
Model jaringan recurrent mirip dengan jaringan layer tunggal ataupun
ganda. Hanya saja, ada neuron output yang memberikan sinyal pada unit input
(sering disebut feedback loop). Dengan kata lain, sinyal mengalir dua arah, yaitu
maju dan mundur.
2.2.5 Backpropagation
Backpropagation merupakan salah satu dari metode pelatihan pada jaringan
syaraf, dimana ciri dari metode ini adalah meminimalkan error pada output yang
dihasilkan oleh jaringan (Puspita & Eunike, 2007). Backpropagation melatih
jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan
mengenali pola yang digunakan selama training serta kemampuan jaringan untuk
memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak
sama) dengan pola yang dipakai selama pelatihan (Siang, 2009: 97).
Sebagian besar pelatihan untuk jaringan feedforward (umpan maju)
menggunakan gradien dari fungsi aktivasi untuk menentukan bagaimana mengatur
bobot-bobot dalam rangka meminimumkan kinerja. Gradien ini ditentukan dengan
Gambar 2.4 Jaringan Recurrent
A1
Ai Aj
Am
1 1
1
1
−휀
−휀 −휀
−휀
−휀
−휀
23
Gambar 2.5 Arsitektur Backpropagation
menggunakan suatu teknik yang disebut backpropagation. Pada dasarnya,
algoritma pelatihan standar backpropagation akan menggerakkan bobot dengan
arah gradien negatif. Prinsip dasar dari algoritma backpropagation adalah
memperbaiki bobot-bobot jaringan dengan arah yang membuat fungsi aktivasi
menjadi turun dengan cepat.
Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih
layer tersembunyi (Siang, 2009: 98). Gambar 2.5 adalah arsitektur back-
propagation dengan 𝑛 buah masukan (ditambah sebuah bias), sebuah layer
tersembunyi yang terdiri atas 𝑝 unit (ditambah sebuah bias), serta 𝑚 buah
keluaran. Arsitektur jaringan ini disebut jaringan layer jamak.
𝑣𝑗𝑖 merupakan bobot garis dari unit masukan 𝑥𝑖 ke unit layer tersembunyi 𝑧𝑗 (𝑣𝑗0
merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layer
Z1 Zj
Yk Ym
1 Zp
1 X1 Xi
Xn
Y1
V10 Vj0
Vp0
V11 Vj1
Vp1 V1i
Vji Vpi V1n
Vjn Vkn
W10 Wk0
Wm0 W11
Wk1 Wm1 W1j
Wmj
Wkj
W1p
Wkp
Wmp
. . . . . .
. . . . . .
. . . . . .
24
Gambar 2.6 Fungsi Sigmoid Biner dengan range (0,1)
tersembunyi 𝑧𝑗 ). 𝑤𝑘𝑗 merupakan bobot dari layer tersembunyi 𝑧𝑗 ke unit keluaran
𝑦𝑘 (𝑤𝑘0 merupakan bobot dari bias di layer tersembunyi ke unit keluaran 𝑧𝑘).
2.2.6 Fungsi Aktivasi
Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi
beberapa syarat, yaitu kontinu, terdiferensial dengan mudah, dan merupakan
fungsi yang tidak turun (Siang, 2009: 99). Fungsi aktivasi diharapkan jenuh
(mendekati nilai-nilai maksimum dan minimum secara asimtot) (Puspitaningrum,
2006: 133).
Beberapa fungsi aktivasi dalam JST adalah sebagai berikut
(Puspitaningrum, 2006: 133).
2.2.6.1 Fungsi Sigmoid Biner
Fungsi ini merupakan fungsi yang umum digunakan. Range-nya adalah
(0,1) dan didefinisikan sebagai berikut.
𝑓1 𝑥 =1
1 + 𝑒−𝑥
dengan turunan
𝑓1′ 𝑥 = 𝑓1 𝑥 (1 − 𝑓1 𝑥 )
Fungsi sigmoid biner diilustrasikan sebagai berikut.
25
2.2.6.2 Fungsi Sigmoid Bipolar
Fungsi sigmoid bipolar merupakan fungsi yang umum digunakan dan
memiliki range (-1,1) yang didefinisikan sebagai
𝑓2 𝑥 = 2𝑓1 𝑥 − 1
dengan turunan
𝑓2′ 𝑥 =
1
2 1 + 𝑓2 𝑥 1 − 𝑓2 𝑥
Fungsi sigmoid bipolar diilustrasikan sebagai berikut.
2.2.6.3 Fungsi Tangen Hiperbolik
Fungsi tangen hiperbolik didefinisikan sebagai
𝑡𝑎𝑛 𝑥 =𝑒𝑥 − 𝑒−𝑥
𝑒𝑥 + 𝑒−𝑥
dengan turunan
𝑡𝑎𝑛′ 𝑥 = 1 + 𝑡𝑎𝑛 𝑥 1 − 𝑡𝑎𝑛 𝑥 .
Gambar 2.7 Fungsi Sigmoid Bipolar dengan Range (-1,1)
26
2.2.7 Pelatihan Standar Backpropagation
Ada tiga fase pelatihan backpropagation, antara lain (Siang, 2009:100-101):
2.2.7.1 Fase 1, yaitu propagasi maju
Dalam propagasi maju, setiap sinyal masukan (= 𝑥𝑖) dipropagasikan ke
layer tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari
setiap unit layer tersembunyi (= 𝑧𝑗 ) tersebut selanjutnya dipropagasikan maju
lagi ke layer tersembunyi diatasnya menggunakan fungsi aktivasi, demikian
seterusnya hingga menghasilkan keluaran jaringan(= 𝑦𝑘). Berikutnya, keluaran
jaringan (= 𝑦𝑘) dibandingkan dengan target yang harus dicapai (= 𝑡𝑘). Selisih
𝑡𝑘 − 𝑦𝑘 adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas
toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi, apabila kesalahan
masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan
akan dimodifikasi untuk mengurangi kesalahan yang terjadi.
2.2.7.2 Fase 2, yaitu propagasi mundur
Berdasarkan kesalahan 𝑡𝑘 − 𝑦𝑘 , dihitung faktor 𝛿𝑘(𝑘 = 1, … , 𝑚) yang
dipakai untuk mendistribusikan kesalahan di unit 𝑦𝑘 ke semua unit tersembunyi
yang terhubung langsung dengan 𝑦𝑘 . 𝛿𝑘 juga dipakai untuk mengubah bobot garis
yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama,
dihitung faktor 𝛿𝑗 di setiap unit di layer tersembunyi sebagai dasar perubahan
bobot semua garis yang berasal dari unit tersembunyi di layer dibawahnya.
Demikian seterusnya hingga semua faktor 𝛿 di unit tersembunyi yang
berhubungan langsung dengan unit masukan dihitung.
27
2.2.7.3 Fase 3, yaitu perubahan bobot
Setelah semua faktor 𝛿 dihitung, bobot semua garis dimodifikasi bersamaan.
Perubahan bobot suatu garis didasarkan atas faktor 𝛿 neuron di layer atasnya.
Sebagai contoh, perubahan bobot garis yang menuju ke layer keluaran didasarkan
atas 𝛿𝑘 yang ada di unit keluaran.
Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian
dipenuhi. Umumnya, kondisi penghentian yang sering dipakai adalah jumlah
iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan
sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan
yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.
2.2.8 Algoritma Pelatihan
Menurut Siang (2009:102), algoritma pelatihan untuk jaringan dengan satu
layer tersembunyi (dengan fungsi aktivasi sigmoid biner) adalah sebagai berikut.
Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil.
Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9.
Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3-8.
Fase I : Propagasi Maju
Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya ke unit
tersembunyi diatasnya.
Langkah 4 : Hitung semua keluaran di unit tersembunyi 𝑧𝑗 (𝑗 = 1,2, … , 𝑝).
𝑧_𝑛𝑒𝑡𝑗 = 𝑣𝑗0 + 𝑥𝑖𝑣𝑗𝑖
𝑛
𝑖=1
𝑧𝑗 = 𝑓 𝑧_𝑛𝑒𝑡𝑗 =1
1 + 𝑒−𝑧_𝑛𝑒𝑡 𝑗
28
Langkah 5 : Hitung semua keluaran jaringan di unit 𝑦𝑘 (𝑘 = 1,2, … , 𝑚).
𝑦_𝑛𝑒𝑡𝑘 = 𝑤𝑘0 + 𝑧𝑗𝑤𝑘𝑗
𝑝
𝑗=1
𝑦𝑘 = 𝑓 𝑦_𝑛𝑒𝑡𝑘 =1
1 + 𝑒−𝑦_𝑛𝑒𝑡 𝑘
Fase II: Propagasi Mundur
Langkah 6 : Hitung faktor 𝛿 unit keluaran berdasarkan kesalahan di setiap unit
keluaran 𝑦𝑘 𝑘 = 1,2, … , 𝑚
𝛿𝑘 = 𝑡𝑘 − 𝑦𝑘 𝑓′ 𝑦_𝑛𝑒𝑡𝑘 = 𝑡𝑦 − 𝑦𝑘 𝑦𝑘 1 − 𝑦𝑘
𝛿𝑘 merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layer di
bawahnya (langkah 7).
Hitung suku perubahan bobot 𝑤𝑘𝑗 (yang akan dipakai nanti untuk merubah bobot
𝑤𝑘𝑗 ) dengan laju percepatan 𝛼.
∆𝑤𝑘𝑗 = 𝛼 𝛿𝑘𝑧𝑗 ; 𝑘 = 1,2, … , 𝑚 ; 𝑗 = 0,1, … , 𝑝
Langkah 7 : Hitung faktor 𝛿 unit tersembunyi berdasarkan kesalahan di setiap
unit tersembunyi 𝑧𝑗 (𝑗 = 1,2, … , 𝑝)
𝛿_𝑛𝑒𝑡𝑗 = 𝛿𝑘𝑤𝑘𝑗
𝑚
𝑘=1
Faktor 𝛿 unit tersembunyi
𝛿𝑗 = 𝛿_𝑛𝑒𝑡𝑗 𝑓 ′ 𝑧_𝑛𝑒𝑡𝑗 = 𝛿_𝑛𝑒𝑡𝑗 𝑧𝑗 1 − 𝑧𝑗
Hitung suku perubahan bobot 𝑣𝑗𝑖 (yang dipakai nanti untuk merubah bobot 𝑣𝑗𝑖 )
∆𝑣𝑗𝑖 = 𝛼 𝛿𝑗𝑥𝑖 ; 𝑗 = 1,2, … , 𝑝 ; 𝑖 = 0,1, … , 𝑛
29
Fase III: Perubahan Bobot
Langkah 8 : Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran
𝑤𝑘𝑗 𝑏𝑎𝑟𝑢 = 𝑤𝑘𝑗 𝑙𝑎𝑚𝑎 + ∆𝑤𝑘𝑗 , 𝑘 = 1,2, … , 𝑚 ; 𝑗 = 0,1, … , 𝑝
Perubahan bobot garis yang menuju ke unit tersembunyi
𝑣𝑗𝑖 𝑏𝑎𝑟𝑢 = 𝑣𝑗𝑖 𝑙𝑎𝑚𝑎 + ∆𝑣𝑗𝑖 ( 𝑗 = 1, … , 𝑝 ; 𝑖 = 1,2, … , 𝑛).
Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan
pola. Dalam hal ini, hanya propagasi maju (langkah 4 dan 5) saja yang dipakai
untuk menentukan keluaran jaringan. Apabila fungsi aktivasi yang dipakai bukan
sigmoid biner, maka langkah 4 dan 5 harus disesuaikan. Demikian juga
turunannya pada langkah 6 dan 7.
Dalam beberapa kasus pelatihan yang dilakukan memerlukan iterasi yang
banyak sehingga membuat proses pelatihan menjadi lama. Untuk mempercepat
iterasi dapat dilakukan dengan parameter 𝛼 atau laju pemahaman. Nilai 𝛼 terletak
antara 0 dan 1 (0 ≤ 𝛼 ≤ 1). Jika harga 𝛼 semakin besar, maka iterasi yang
dipakai semakin sedikit. Hal ini menyebabkan pola yang sudah benar menjadi
rusak sehingga pemahaman menjadi lambat. Proses pelatihan yang baik
dipengaruhi pada pemilihan bobot awal karena bobot awal sangat memengaruhi
apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat
konvergensinya. Oleh karena itu, dalam standar backpropagation, bobot dan bias
diisi dengan bilangan acak kecil dan biasanya bobot awal diinisialisasi secara
random dengan nilai antara -0,5 sampai 0,5 (atau -1 sampai 1 atau interval yang
lainnya) (Amin, 2012).
30
2.2.9 Mean Square Error (MSE)
Menurut Kusumadewi (2004: 116), dalam pelatihan dengan
backpropagation sama halnya seperti pelatihan pada jaringan syaraf yang lain.
Pada jaringan feedforward (umpan maju), pelatihan dilakukan dalam rangka
perhitungan bobot sehingga pada akhir pelatihan akan diperoleh bobot-bobot yang
baik. Selama proses pelatihan, bobot-bobot diatur secara iteratif untuk
meminimumkan error (kesalahan) yang terjadi. Kesalahan dihitung berdasarkan
rata-rata kuadrat kesalahan (MSE). Rata-rata kuadrat kesalahan juga dijadikan
dasar perhitungan unjuk kerja fungsi aktivasi.
Menurut Pratiwi (2011), pelatihan dilakukan berulang-ulang dan berhenti
jika telah mencapai batas iterasi maksimum yang ditentukan dan nilai error
kurang dari Mean Square Error. Semakin kecil nilai MSE, maka dapat dianggap
bahwa arsitektur jaringan semakin baik, demikian sebaliknya.
2.3 Pengenalan Pola
Menurut Gonzalez dan Woods, sebagaimana dikutip oleh Abidin (2010),
pola adalah suatu kuantitatif atau gambaran struktural dari suatu objek atau
beberapa entitas yang menarik dari suatu citra. Secara umum, pola terbentuk oleh
satu atau lebih ciri citra. Dengan kata lain, pola adalah susunan dari ciri-ciri citra.
Ciri-ciri yang dapat diperoleh dari suatu citra, misalnya histrogram, arah, dan
magnitudo tepi, warna, luas daerah dan sebagainya. Ilmu yang mempelajari
klasifikasi atau penggambaran pola dari suatu objek berdasarkan ciri-cirinya
adalah pengenalan pola.
31
Pengenalan pola dibedakan menjadi tiga, yaitu:
2.3.1 Deteksi
Deteksi adalah usaha untuk menemukan keberadaan, anggapan, atau
kenyataan (Poerwadarminta, 2007). Deteksi umumnya berkaitan dengan
segmentasi dan proses thresholding, misalnya dalam mendeteksi daun pada suatu
gambar, maka benda yang berwarna hijau akan terdeteksi sebagai daun (Rupam,
2011).
2.3.2 Klasifikasi
Klasifikasi adalah proses menemukan sekumpulan model/ fungsi yang
menjelaskan dan membedakan data ke dalam kelas-kelas tertentu dengan tujuan
menggunakan model tersebut dalam menentukan kelas dari suatu obyek yang
belum diketahui kelasnya (Maharani, 2009). Misalnya dalam pengklasifikasian
mobil.
2.3.3 Pengenalan
Pengenalan pola bertujuan menentukan kelompok atau kategori pola
berdasarkan ciri-ciri yang dimiliki oleh pola tersebut. Tujuan pengelompokan
adalah untuk mengenali suatu objek dalam citra (Sari, 2010). Misalnya, dalam
mengenali suatu wajah pada gambar, maka wajah akan dideteksi dan diproses
untuk dibandingkan dengan database wajah yang dikenal sebelumnya untuk
menentukan siapa orang tersebut.
2.4 Matrix Laboratory (Matlab)
Dalam deteksi dini penyakit TBC ini, diperlukan suatu software yang dapat
membantu mengimplementasikan deteksi dini menjadi sebuah angka-angka yang
32
selanjutnya dapat diolah menjadi suatu informasi. Dalam skripsi ini, penulis
menggunakan software Matrix Laboratory (Matlab) untuk mencari penyelesaian
masalah pengenalan pola dari suatu data yang telah disiapkan.
Menurut Iqbal (2009), Matlab adalah sebuah bahasa dengan (high-
performance) kinerja tinggi untuk komputasi masalah teknik. Matlab
mengintegrasikan komputasi, visualisasi, dan pemrograman dalam suatu model
yang sangat mudah untuk pakai dimana masalah-masalah dan penyelesaiannya
diekspresikan dalam notasi matematika yang familiar. Penggunaan Matlab
meliputi bidang-bidang:
(1) matematika dan komputansi,
(2) pembentukan algorithm,
(3) akusisi data,
(4) pemodelan, simulasi, dan pembuatan prototype,
(5) analisis data, eksplorasi, dan visualisasi,
(6) grafik keilmuan dan bidang rekayasa.
2.4.1 Jendela-jendela pada Matlab
Ada beberapa macam jendela yang tersedia dalam Matlab, yang dapat
dijelaskan sebagai berikut.
2.4.1.1 Command Window/ Editor
Matlab command window/ editor merupakan jendela yang dibuka pertama
kali setiap kali Matlab dijalankan. Pada jendela di atas dapat dilakukan akses-
akses ke command-command Matlab dengan cara mengetikkan barisan-barisan
ekspresi Matlab, seperti mengakses help window dan lain-lainnya.
33
Gambar 2.8 Matlab Command Window
Command window juga digunakan untuk memanggil tool Matlab seperti
editor, debugger atau fungsi. Ciri dari jendela ini adalah adanya prompt (>>) yang
menyatakan Matlab siap menerima perintah. Perintah dapat berupa fungsi-fungsi
pengaturan file (seperti perintah DOS/UNIX) maupun fungsi-fungsi bawaan atau
toolbox Matlab sendiri. Berikut ini beberapa fungsi pengaturan file dalam Matlab.
dir/ls : digunakan untuk melihat isi dari sebuah direktori aktif;
cd : digunakan untuk melakukan perpindahan dari direktori aktif;
pwd : digunakan untuk melihat direktori yang sedang aktif;
mkdir : digunakan untuk membuat sebuah direktori;
what : digunakan untuk melihat nama file m dalam direktori aktif;
who : digunakan untuk melihat variabel yang sedang aktif;
whos : digunakan untuk menampilkan nama setiap variabel;
delete : digunakan untuk menghapus file;
clear : digunakan untuk menghapus variabel;
clc : digunakan untuk membersihkan layar;
doc : digunakan untuk melihat dokumentasi The Math Works, Inc. dalam
format html secara online;
34
demo : digunakan untuk mencoba beberapa tampilan demo yang disediakan
oleh Matlab.
2.4.1.2 Current Directory
Jendela ini menampilkan isi dari direktori kerja saat menggunakan Matlab.
Direktori ini dapat diganti sesuai dengan tempat direktori kerja yang diinginkan.
Default dari alamat direktori berada dalam folder works tempat program files
Matlab berada.
Gambar 2.9 Matlab Current Directory
2.4.1.3 Command History
Jendela ini berfungsi untuk menyimpan perintah-perintah apa saja yang
sebelumnya dilakukan oleh pengguna terhadap Matlab.
Gambar 2.10 Matlab Command History
35
2.4.1.4 Editor/ Debugger (Editor M-File/ Pencarian Kesalahan)
Jendela ini merupakan tool yang disediakan oleh Matlab 5 ke atas.
Berfungsi sebagai editorscript Matlab (M-file). Walaupun sebenarnya script ini
untuk pemrograman Matlab, dapat saja menggunakan editor yang lain seperi
notepad, wordpad bahkan Microssoft Word.
Gambar 2.11 Matlab Editor M-File
2.4.1.5 Figure Windows
Jendela ini adalah hasil visualisasi dari script Matlab, namun Matlab
memberi kemudahan bagi programer untuk mengedit jendela ini sekaligus
memberikan program khusus untuk itu. Sehingga jendela ini selain berfungsi
sebagai visualisasi output dapat juga sekaligus menjadi media input yang
interaktif.
Gambar 2.12 Matlab Figure Windows
36
2.4.1.6 Workspace
Workspace berfungsi untuk menampilkan seluruh variabel-variabel yang
sedang aktif pada saat pemakaian Matlab. Apabila variabel berupa data matriks
berukuran besar maka pengguna dapat melihat isi dari seluruh data dengan
melakukan double klik pada variabel tersebut. Matlab secara otomatis akan
menampilkan jendela “array editor” yang berisikan data pada setiap variabel yang
dipilih pengguna.
Gambar 2.13 Matlab Workspace
2.4.1.7 Matlab Help Window
Matlab menyediakan sistem help yang dapat diakses dengan perintah help.
Misalnya, untuk memperoleh informasi mengenai fungsi elfun yaitu fungsi untuk
trigonometri, eksponensial, compleks dan lain-lain.
Gambar 2.14 Matlab Help Window
37
2.4.2 Kelengkapan pada Sistem Matlab
Sebagai sebuah sistem, Matlab tersusun dari lima bagian utama (Iqbal,
2009)
2.4.2.1 Development Environment
Merupakan sekumpulan perangkat dan fasilitas yang membantu untuk
menggunakan fungsi-fungsi dan file-file Matlab. Beberapa perangkat ini
merupakan sebuah graphical user interfaces (GUI). Termasuk didalamnya adalah
Matlab desktop dan command window, command history, sebuah editor dan
debugger, dan browsers untuk melihat help, workspace, files, dan search path.
2.4.2.2 Matlab Mathematical Function Library
Merupakan sekumpulan algoritma komputasi mulai dari fungsi-fungsi
dasar seperti: sum, sin, cos, dan complexarithmetic, sampai dengan fungsi-fungsi
yang lebih kompleks seperti matrix inverse, matrix eigenvalues, bessel functions,
dan fast fourier transforms.
2.4.2.3 Matlab Language
Merupakan suatu high-level matrix/ array language dengan control flow
statements, functions, data structures, input/ output, dan fitur-fitur object-oriented
programming. Ini memungkinkan untuk melakukan kedua hal baik "pemrograman
dalam lingkup sederhana" untuk mendapatkan hasil yang cepat, dan
"pemrograman dalam lingkup yang lebih besar" untuk memperoleh hasil-hasil dan
aplikasi yang kompleks.
38
2.4.2.4 Graphics
Matlab memiliki fasilitas untuk menampilkan vektor dan matriks sebagai
suatu grafik. Di dalamnya melibatkan high-level functions (fungsi-fungsi tingkat
tinggi) untuk visualisasi data dua dimensi dan data tiga dimensi, image
processing, animation, dan presentation graphics. Ini juga melibatkan fungsi
level rendah yang memungkinkan untuk memunculkan grafik mulai dari bentuk
yang sederhana sampai dengan tingkatan graphical user interface pada aplikasi
Matlab.
2.4.2.5 Matlab Application Program Interface (API)
Merupakan suatu library yang memungkinkan program yang telah Anda
tulis dalam bahasa C dan Fortran mampu berinteraksi dengan Matlab. Ini
melibatkan fasilitas untuk pemanggilan routines dari Matlab (dynamic linking),
pemanggilan Matlab sebagai contoh computational engine dan untuk membaca
dan menuliskan Mat-files.
2.4.3 GUIDE Matlab
GUIDE atau GUI builder merupakan Matlab script file yang dibuat utuk
analisis suatu permasalahan khusus. Penggunaan GUIDE memberikan/
menyediakan fasilitas, seperti menu, pushbutton, slider, dan sebagainya sesuai
dengan program yang diinginkan atau digunakan tanpa knowledge dari Matlab.
GUIDE juga memberikan cara untuk efisiennya manajemen data (Luthfianto et
all.)
39
Gambar 2.15 Tampilan GUIDE Matlab
2.4.3.1 Keunggulan GUIDE Matlab
GUIDE Matlab mempunyai kelebihan tersendiri dibandingkan dengan
bahasa pemrograman lainnya, antara lain:
(1) GUIDE Matlab banyak digunakan dan cocok untuk aplikasi-aplikasi
berorientasi sains, sehingga banyak peneliti dan mahasiswa menggunakan
GUIDE Matlab untuk menyelesaikan riset atau tugas akhirnya.
(2) GUIDE Matlab mempunyai fungsi built-in yang siap digunakan dan pemakai
tidak perlu repot membuatnya sendiri.
(3) Ukuran file, baik FIG-file maupun M-file yang dihasilkan relatif kecil.
(4) Kemampuan grafisnya cukup handal dan tidak kalah dibandingkan dengan
bahasa pemrograman lainnya.
2.4.3.2 Komponen GUIDE Matlab
Untuk membuat sebuah user interface Matlab dengan fasilitas GUIDE harus
mulai dengan membuat sebuah desain figure. Untuk membuat sebuah desain
figure dapat memanfaatkan uicontrol (kontrol user interface). Beberapa uicontrol
yang ada pada Matlab, antara lain:
40
2.4.3.2.1 Push Button
Push button merupakan jenis kontrol berupa tombol tekan yang akan
menghasilkan tindakan jika diklik, misalnya OK, Cancel, Hitung, Hapus, dan
sebagainya. Untuk menampilkan tulisan pada push button, pengaturannya dapat
melalui property inspector atau menggunakan klik kanan dan pilih property
inspector. Selanjutnya, isilah tab string dengan label yang diinginkan.
2.4.3.2.2 Toggle Button
Toggle button menghasilkan efek yang hampir sama dengan push button.
Perbedaannya adalah saat push button ditekan, maka tombol akan kembali pada
posisi semula jika tombol mouse dilepas, sedangkan pada toogle button, tombol
tidak akan kembali pada posisi semula, kecuali jika menekannya kembali.
2.4.3.2.3 Radio Button
Radio button digunakan untuk memilih atau menandai satu pilihan dari
beberapa pilihan yang ada. Misalnya, sewaktu akan dibuat aplikasi konversi suhu.
Suhu awal dalam derajat Celcius diinputkan dan selanjutnya pilihan untuk
mengonversi suhu Celcius ke Reamur, Fahrenheit, atau Kelvin.
2.4.3.2.4 Checkboxes
Kontrol checkboxes berguna jika terdapat beberapa pilihan mandiri atau
tidak bergantung dengan pilihan-pilihan lainnya. Contoh aplikasi penggunaan
checkboxes adalah saat pemilihan hobi. Karena hobi bisa lebih dari satu, maka
checkboxes dapat diklik lebih dari satu kali.
41
2.4.3.2.5 Edit Text
Kontrol edit text merupakan sebuah tempat yang memungkinkan untuk
memasukkan atau memodifikasi text. String property berisi teks yang akan
memunculkan pada kotak edit text. Kemudian, edit text bermanfaaat pula untuk
menginputkan suatu data dari keyboard. Sebagai contoh, suatu aplikasi untuk
menentukan luas dan keliling sebuah lingkaran. Input dan outputnya disajikan dari
edit text.
2.4.3.2.6 Static Text
Kontrol static text akan menghasilkan teks bersifat statis (tetap), sehingga
pemakai tidak dapat melakukan perubahan padanya. Pada static text, teks dapat
diatur dengan beberapa fasilitas, antara lain jenis dan ukuran font, warna
justifikasi (left, center, right), dan lain-lain. Semuanya juga dapat dimodifikasi
melalui property inspector.
2.4.3.2.7 Slider
Slider berguna jika inputan nilai yang diinginkan tidak menggunakan
keyboard, tetapi hanya dengan cara menggeser slider secara vertikal maupun
horizontal ke nilai yang kita inginkan. Dengan menggunakan slider, pemasukan
nilai data dapat dilakukan secara lebih fleksibel karena nilai max, nilai min, serta
sliderstep dapat diatur sendiri.
2.4.3.2.8 Frames
Frames merupakan kotak tertutup yang dapat digunakan untuk
mengelompokkan kontrol-kontrol yang berhubungan. Tidak seperti kontrol
lainnya, frames tidak memiliki rutin callback.
42
2.4.3.2.9 Listboxes
Kontrol listbox menampilkan semua daftar item yang terdapat pada string
property dan item yang ada dapat dipilih satu atau lebih. Value property berisi
indeks yang dihubungkan dengan daftar item yang dapat dipilih. Jika item yang
dipilih lebih dari satu, maka nilai yang dikirimkan merupakan sebuah vektor.
Indeks-indeks item sebuah listbox merupakan bilangan bulat, dimana item
pertama diberi indeks 0, item kedua diberi indeks 1, dan seterusnya.
2.4.3.2.10 Popup Menu
Popup menu berguna menampilkan daftar pilihan yang didefinisikan pada
string property ketika mengklik tanda panah pada aplikasi dan memiliki fungsi
yang sama seperti radio button. Ketika tidak dibuka, popup menu hanya
menampilkan satu item yang menjadi pilihan pertama pada string property. Popup
menu sangat bermanfaat ketika sebuah pilihan tanpa jarak diberikan, tidak seperti
radio button.
2.4.3.2.11 Axes
Axes berguna untuk menampilkan sebuah grafik atau gambar (image). Axes
sebenarnya tidak masuk dalam uicontrol, tetapi axes dapat diprogram agar
pemakai dapat berinteraksi dengan axes dan objek grafik yang ditampilkan
melalui axes.
2.4.4 Toolbox Backpropagation di Matlab
Software Matlab mempunyai beberapa perintah yang dapat digunakan untuk
membuat jaringan syaraf tiruan backpropagation. Perintah-perintah tersebut
adalah (Suharjito, 2008):
43
(1) newff : digunakan untuk membentuk jaringan syaraf dengan
backpropagation;
(2) train : digunakan untuk melakukan pelatihan jaringan;
(3) sim : digunakan untuk melakukan output dari jaringan yang sudah
dilatih;
(4) minmax : digunakan untuk mencari nilai minimum dan maksimum data
input;
(5) trainParam : digunakan untuk menentukan parameter pelatihan jaringan
seperti epoch, goal, learning rate, dan momentum coefisient
(mc);
(6) tansig, logsig : parameter fungsi aktivasi dari suatu layer jaringan: tansig
adalah fungsi aktivasi bipolar sigmoid dan logsig fungsi
aktivasi binary sigmoid.
2.5 Confusion Matrix
Setelah dilakukan pemodelan data untuk klasifikasi, maka hal yang harus
dikerjakan selanjutnya adalah menentukan seberapa besar tingkat akurasi sistem
tersebut dalam mengenali data set pengujian.
Suatu confusion matrix merupakan alat yang berguna untuk menganalisis
seberapa baik pengklasifikasi tersebut dapat mengenali tupel dalam kelas-kelas
yang berbeda (Hermoza et all., 2011). Misalnya terdapat m kelas data, confusion
matrix adalah tabel ukuran minimal 𝑚 × 𝑚. Entri 𝐶𝑀𝑖 ,𝑗 dalam 𝑚 baris pertama
dan 𝑚 kolom menunjukkan jumlah tupel kelas 𝑖 yang dilabeli oleh pengelompok
sebagai kelas 𝑗. Agar pengelompok memiliki akurasi yang baik, idealnya sebagian
44
besar tupel akan diwakili sepanjang diagonal dari confusion matrix, dari entri
𝐶𝑀1,1 sampai entri 𝐶𝑀𝑚 ,𝑚 , dengan sisa entri yang mendekati nol. Tabel ini dapat
memiliki tambahan baris atau kolom untuk nilai total atau tingkat persentase per
kelas.
Tabel 2.1 Contoh Confussion Matrix
Kelas Prediksi
Kelas Utama
Suspek TBC Negatif TBC
Suspek TBC True Positive False Negative
Negatif TBC False Positive True Negative
Diberikan dua kelas, yaitu tupel positif (tupel dari kelas utama, misalnya,
suspek TBC) versus tupel negatif (misalnya, negatif TBC).
a. True positives mengacu pada tupel positif yang dikelompokkan dengan benar
sebagai positif.
b. True negatives adalah tupel negatif yang dikelompokkan dengan benar sebagai
negatif.
c. False positives adalah tupel negatif yang berlabel salah (misalnya, tupel kelas
“negatif TBC” oleh pengelompok dikenali “suspek TBC”).
d. False negatives adalah tupel positif yang dilabelkan dengan salah (misalnya,
tupel dari kelas “suspek TBC” tetapi pengelompok dikenali sebagai “negatif
TBC”).
Untuk mengetahui seberapa baik program tersebut dapat mengenali tupel
“suspek TBC” (tupel positif) dan seberapa baik pengelompok dapat mengenali
tupel “negatif TBC” (tupel negatif). Ukuran sensitivitas dan spesifisitas dapat
digunakan secara berurutan untuk tujuan ini.
45
Sensitivitas dapat disebut sebagai angka positif benar (true positive) yaitu
proporsi dari tupel positif yang dikenali dengan benar, sedangkan spesifisitas
adalah angka negatif benar yaitu proporsi dari tupel negatif yang dikenali dengan
benar. Ukuran ini didefinisikan sebagai berikut (Hermoza et all., 2011).
𝑠𝑒𝑛𝑠𝑖𝑣𝑖𝑡𝑎𝑠 =𝑡_𝑝𝑜𝑠
𝑝𝑜𝑠
𝑠𝑝𝑒𝑠𝑖𝑓𝑖𝑠𝑖𝑡𝑎𝑠 =𝑡_𝑛𝑒𝑔
𝑛𝑒𝑔
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 =𝑡_𝑝𝑜𝑠
𝑡_𝑝𝑜𝑠 + 𝑓_𝑝𝑜𝑠
Keterangan:
t_pos : jumlah dari positif benar (misalnya tupel “suspek TBC” yang
dikelompokkan dengan benar);
pos : jumlah dari tupel positif (“suspek TBC”);
t_neg : jumlah dari negatif benar (misalnya tupel “negatif TBC ” yang
dikelompokkan dengan benar);
neg : jumlah dari tupel negatif (“negatif TBC”);
f_pos : jumlah dari positif salah (misalnya tupel “negatif TBC” yang dilabelkan
salah sebagai “suspek TBC”).
46
BAB 3
METODE PENELITIAN
Pada penelitian ini metode atau langkah-langkah yang digunakan adalah
sebagai berikut.
3.1 Studi Pustaka
Dalam studi pustaka ini digunakan sumber pustaka yang relevan yang
digunakan untuk mengumpulkan informasi yang diperlukan dalam penelitian.
Studi pustaka dengan mengumpulkan sumber pustaka yang dapat berupa buku,
teks, makalah, dan sebagainya. Setelah sumber pustaka terkumpul dilanjutkan
dengan penelaahan dari sumber pustaka tersebut. Pada akhirnya sumber pustaka
itu dijadikan landasan untuk menganalisis permasalahan.
Dalam skripsi ini, perlu adanya studi pustaka yang berkaitan dengan
permasalahan yang ada, yaitu tentang apa saja gejala-gejala umum penyakit TBC,
jaringan syaraf tiruan backpropagation dan software Matlab yang akan
dimanfaatkan untuk membantu menyelesaikan masalah yang ada.
3.2 Perumusan Masalah
Tahap ini dimaksudkan untuk memperjelas permasalahan sehingga
mempermudah pembahasan selanjutnya. Selain itu, perumusan masalah juga
menjadi sangat penting karena hal ini menjadi dasar dan tujuan akhir kenapa
dilakukan penelitian ini. Masalah yang diangkat dalam penelitian ini adalah
bagaimana mengimplementasikan jaringan syaraf tiruan backpropagation sebagai
sistem deteksi penyakit Tuberculosis. Agar bisa dimanfaatkan sebagai upaya
47
untuk memberikan peringatan sedini mungkin berdasarkan pada data-data yang
ada sebelumnya.
3.3 Pemecahan Masalah
3.3.1 Pengumpulan Data dan Pengolahan Data
Dalam perancangan sistem jaringan syaraf tiruan ini, variabel yang
digunakan adalah gejala-gejala umum penyakit TBC yang meliputi batuk, sesak
napas, nyeri dada, demam pada sore atau malam hari, penurunan nafsu makan,
dan badan lemah (malaise). Sebagai outputnya merupakan prediksi seseorang
suspek TBC atau tidak.
Pengumpulan data dilakukan dengan cara mengumpulkan data-data terkait
dengan gejala-gejala TBC, seperti batuk berdahak, sesak napas, nyeri dada,
demam pada sore hari, penurunan nafsu makan, dan badan lemah (malaise). Data-
data yang digunakan untuk melakukan pelatihan program dan sebagai data latih
serta data uji untuk sistem melalui proses wawancara secara langsung kepada
pasien BKPM kota Pekalongan serta dengan menganalisis data rekam medis
setiap pasien. Data-data yang telah ada kemudian diolah berdasarkan kebutuhan
agar bisa dijadikan data input serta akan dijadikan data latih dan data target
sistem. Hal ini bertujuan untuk mempermudah penulis dalam merancang sistem
deteksi dini penyakit TBC.
48
3.3.2 Perancangan, Pembuatan, dan Pengujian Sistem
3.3.2.1 Perancangan Sistem
Setelah data-data terkait gejala-gejala TBC telah diperoleh, langkah
selanjutnya adalah merancang sistem deteksi penyakit TBC. Sistem deteksi
penyakit TBC ini dirancang sebagai tahap awal untuk membuat sistem. Pada
dasarnya tahap perancangan sistem ini merupakan kombinasi dari komponen-
komponen perangkat lunak dan perangkat keras dari suatu sistem. Ada beberapa
tahap yang dibuat dalam perancangan sistem ini adalah perancangan sistem
pelatihan, arsitektur jaringan, dan perancangan sistem deteksi.
3.3.2.2 Pembuatan Sistem
Pembuatan sistem deteksi penyakit TBC ini menggunakan software Matlab.
Software ini memiliki tools yang dapat memudahkan dalam proses pembuatan
program khususnya jaringan syaraf tiruan. Dalam pembuatan sistem tahap yang
harus dilakukan mulai dari pembuatan desain program dengan menggunakan
Grapics User Interface (GUI) kemudian dilanjutkan dengan melengkapi coding
Matlab agar desain program bisa berfungsi.
3.3.2.3 Pengujian Sistem
Pada tahap ini dilakukan pengujian terhadap sistem yang telah dibangun.
Pengujian sistem dilakukan dengan menghitung tingkat keakuratan sistem dalam
mendeteksi positif atau negatifnya penyakit TBC pada pasien. Langkah yang
harus ditempuh yakni menggunakan confusion matrix.
49
Untuk melihat arsitektur jaringan yang paling efektif, dapat dilihat dari
Mean Square Error (MSE) dari proses pelatihan serta melihat recognition rate
dari proses perhitungan dengan melihat hasil confusion matrix.
3.4 Penarikan Kesimpulan
Langkah ini merupakan langkah terakhir dari penelitan. Penarikan
kesimpulan didasarkan pada studi pustaka dan pembahasan permasalahan serta
merupakan hasil analisis dari penelitian. Simpulan yang diperoleh adalah tentang
bagaimana cara membuat sistem deteksi penyakit TBC dengan menggunakan
jaringan syaraf tiruan backpropagation. Sehingga dapat diketahui besar tingkat
akurasi sistem yang dihasilkan pada proses mendeteksi penyakit TBC.
50
BAB 4
HASIL DAN PEMBAHASAN
4.1 Hasil Penelitian
4.1.1 Tahap Pengambilan Data
Pada penelitian ini, dibuat sistem deteksi untuk mengetahui suspek atau
tidaknya pasien menderita penyakit TBC di kota Pekalongan. Untuk membuatnya
diperlukan data-data terkait gejala-gejala umum penyakit TBC yang meliputi
batuk, sesak napas, nyeri dada, demam pada sore atau malam hari, penurunan
nafsu makan, dan badan lemah (malaise). Data-data tersebut digunakan untuk
melakukan pelatihan program dan sebagai data latih dan data uji untuk sistem.
Sebagai outputnya merupakan prediksi seseorang suspek TBC atau tidak.
Data-data yang digunakan untuk melakukan pelatihan program dan sebagai
data latih serta data uji diambil secara acak melalui proses wawancara secara
langsung kepada pasien serta dengan menganalisis data rekam medis setiap
pasien, mulai dari anak-anak, orang dewasa, dan orang tua pada tanggal 11 – 28
Februari 2013 di Balai Kesehatan Paru Masyarakat kota Pekalongan. Jumlah data
yang digunakan sebanyak 70 pasien suspek TBC dan 30 pasien non TBC, dengan
80 data sebagai pelatihan dan 20 data dipergunakan untuk menguji keakuratan
sistem yang digunakan untuk mengenali pola masukan.
51
4.1.2 Pendefinisian Input dan Target
Data gejala-gejala yang dialami oleh pasien selanjutnya akan diolah oleh
jaringan. Agar data dapat dikenali oleh jaringan, maka data harus
direpresentasikan ke dalam bentuk numerik antara 0 sampai dengan 1, baik
variabel maupun isinya yang merupakan masukan gejala penyakit TBC beserta
kategori dan keluaran yang merupakan prediksi penyakit TBC. Hal ini
dikarenakan jaringan menggunakan fungsi aktivasi sigmoid biner (logsig) yang
rangenya dari 0 sampai 1. Nilai-nilai yang digunakan diperoleh berdasarkan
kategori dari masing-masing variabel selain juga untuk memudahkan mengingat
dalam pendefinisiannya.
4.1.2.1 Pendefinisian Input
Gejala-gejala penyakit TBC diubah ke dalam variabel sedangkan kategori
dari masing-masing gejala tersebut diubah ke bentuk numerik, yaitu:
a. Batuk (𝑋1) dengan kategori:
Tidak batuk = 0
Batuk biasa = 0,25
Batuk berdahak = 0,5
Batuk lama = 0,75
Batuk berdarah = 1
b. Sesak napas (𝑋2) dengan kategori:
Tidak sesak = 0
Sedang = 0,5
Berat dan Berulang = 1
52
c. Nyeri dada (𝑋3) dengan kategori:
Tidak nyeri = 0
Jarang = 0,5
Sering = 1
d. Demam pada sore atau malam hari (𝑋4) dengan kategori:
Tidak = 0
Kadang-kadang demam = 0,5
Demam agak panas = 0,75
Panas sekali = 1
e. Penurunan nafsu makan (𝑋5) dengan kategori:
Tidak turun = 0
Turun = 1
f. Badan lemah (malaise) (𝑋6) dengan kategori:
Tidak lemah = 0
Lemah = 1
4.1.2.2 Penetapan Target
Hasil yang ingin diperoleh pada tahap ini, yaitu terdeteksinya suatu nilai
untuk memprediksi seseorang suspek TBC atau tidak. Hasil yang maksud adalah
sebagai berikut.
a. Jika output bernilai 0 berarti pasien tidak suspek TBC.
b. Jika output bernilai 1 berarti pasien suspek TBC.
53
Tabel 4.1 Data Pelatihan
Pasien
ke-
Variabel gejala penyakit TBC Target
𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6
1 1 0,5 0,5 0 1 1 1
2 0,5 0,5 0 0 0 0 0
3 0,5 0 0,5 0 0 0 0
4 0,5 0 0 0 0 0 0
5 0,5 0 0 0 1 0 0
6 1 0,5 0,5 0,5 0 1 1
7 1 0,5 0,5 0,75 0 1 1
8 0,5 0,5 1 0,75 0 1 1
9 0,25 0 0 0 0 1 0
10 0,5 0,5 0 0 1 0 0
11 0,5 0 0,5 0,75 0 1 0
12 0,5 0,5 0,5 0,5 0 0 0
13 0,75 0 0 0 0 0 0
14 0,5 0,5 0 0 0 0 0
15 0 0,5 0 0 1 0 0
16 0,25 0,5 0 0 0 0 0
17 0,25 0 0,5 0 0 0 0
18 0,5 0,5 0,5 0,75 0 1 1
19 1 0,5 0 0,5 0 0 1
20 0,5 0,5 0 0,75 1 1 1
21 1 0,5 0,5 0 1 0 1
22 0,5 0,5 0 0,5 1 0 1
23 1 0,5 0,5 1 1 0 1
24 1 0,5 0,5 1 1 1 1
25 1 1 0,5 0,5 0 0 1
26 0,5 1 1 0,5 1 1 1
27 0,5 0,5 0,5 1 1 0 1
28 0,5 1 0 0,75 0 1 1
29 0,75 0,5 1 0,5 0 1 1
30 1 0,5 0,5 0,5 1 1 1
31 0,75 1 0,5 0,5 0 0 1
32 0,75 1 1 0,5 1 0 1
33 0,5 0,5 0,5 0,75 1 1 1
34 0,5 1 0,5 0,75 1 1 1
35 0,5 0 1 1 0 1 1
36 0,5 1 0,5 0,75 1 0 1
37 0,75 0,5 0,5 0 1 1 1
54
Pasien
ke-
Variabel gejala penyakit TBC Target
𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6
38 0,5 0,5 0,5 0,75 1 1 1
39 0,5 1 1 0,75 0 1 1
40 1 0,5 0,5 0,5 1 1 1
41 1 0,5 0,5 0,75 0 1 1
42 1 0,5 1 1 0 0 1
43 0,75 1 0,5 0 0 1 1
44 0,5 0,5 1 0,75 1 0 1
45 1 0,5 0,5 0,75 0 1 1
46 0,75 0,5 1 0,5 1 1 1
47 0,5 0,5 0 1 1 1 1
48 0,5 0,5 1 0,75 1 0 1
49 1 0,5 1 1 0 0 1
50 0,75 0,5 1 1 0 0 1
51 1 0,5 0,5 0,5 1 0 1
52 0,75 1 0,5 0,5 0 1 1
53 0,75 0,5 0,5 0,75 1 1 1
54 1 0,5 1 0,75 1 1 1
55 0,5 0,5 0,5 0,5 0 1 1
56 0,5 1 1 1 1 1 1
57 1 0,5 1 0,75 0 1 1
58 0,75 1 1 0,75 1 1 1
59 1 0,5 0,5 0,5 1 0 1
60 0,5 1 0,5 0,75 0 0 1
61 0,5 1 0,5 0,75 0 1 1
62 1 1 0,5 0,75 1 1 1
63 1 1 1 0,75 0 1 1
64 0,5 1 0,5 0,75 0 1 1
65 1 1 1 0,75 0 0 1
66 1 0,5 0,5 0,5 1 1 1
67 1 1 1 0,75 0 1 1
68 0,5 1 1 1 0 1 1
69 0,5 1 1 0,75 1 1 1
70 1 0,5 0,5 0,75 0 1 1
71 0 1 0 0 1 0 0
72 0,25 0 0,5 0 0 0 0
73 0,25 0 0 0,75 0 0 0
74 0,75 0 0 0 1 0 0
75 1 0 0 0 0 0 0
55
Pasien
ke-
Variabel gejala penyakit TBC Target
𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6
76 0 1 0,5 0 0 0 0
77 0 0 1 0 1 0 0
78 0 0,5 0,5 0 0 0 0
79 0,25 0,5 0 0 0 0 0
80 0,5 0 0 0,5 0 0 0
Tabel 4.2 Data Pengujian
Pasien
ke-
Variabel gejala penyakit TBC Target
𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6
1 0,5 1 1 0,75 1 0 1
2 1 0,5 0,5 0,75 1 1 1
3 1 0,5 0,5 0,75 0 1 1
4 0,75 0,5 1 0,5 1 0 1
5 1 1 1 0,75 0 1 1
6 0,5 1 1 0,75 1 1 1
7 0,5 1 0,5 0,75 1 1 1
8 0,75 1 1 0,5 0 0 1
9 1 1 1 1 0 1 1
10 1 1 0,5 0,75 0 1 1
11 1 0,5 0,5 0,75 1 1 1
12 1 1 0,5 0,75 1 1 1
13 1 0,5 0,5 0,75 1 1 1
14 0 0 1 0 0 1 0
15 0,5 0 0 0,5 0 0 0
16 0,25 0 0,5 0 0 0 0
17 0,5 0,5 0 0 0 0 0
18 0,25 0 0,5 0 0 0 0
19 1 0 0 0 0 0 0
20 0 0,5 0 0 1 0 0
4.1.3 Tahap Pengolahan Data
Dari data yang diperoleh, dilakukan pembuatan data latih dan data target
yang digunakan sebagai input data sistem. Data gejala-gejala umum penyakit
TBC yang meliputi batuk, sesak napas, nyeri dada, demam pada sore atau malam
56
hari, penurunan nafsu makan, dan badan lemah (malaise) dijadikan sebagai data
latih sedangkan data suspek TBC atau tidak digunakan sebagai data target. Dalam
sistem target akan dibaca “Suspek TBC” jika target 1 dan “Negatif TBC” jika
target 0. Kedua data tersebut disimpan dengan format excel. Data yang telah
disimpan dalam format excel akan diconvert menjadi format .m melalui
workspace pada Matlab dengan cara import data.
4.1.4 Tahap Perancangan Sistem
Pada tahap perancangan ini, desain sistem mulai dibentuk untuk
menentukan bagaimana suatu sistem akan menyelesaikan apa yang harus
diselesaikan. Pada dasarnya tahap perancangan sistem ini merupakan kombinasi
dari komponen-komponen perangkat lunak dan perangkat keras dari suatu sistem.
Sistem deteksi penyakit TBC ini secara garis besar akan menggunakan software
Matlab.
4.1.4.1 Perancangan Sistem Pelatihan
Sistem pelatihan sebagai bagian awal dari sistem deteksi penyakit TBC.
Sistem terdiri dari data-data yang telah diperoleh dan disimpan dalam bentuk
excel. Sistem ini berfungsi untuk menyiapkan segala informasi sebagai bahan
pelatihan dan pengenalan deteksi penyakit TBC. Ada beberapa tahapan yang
harus dilakukan, antara lain menginputkan data-data yang sudah diolah yakni data
latih dan data target ke dalam sistem. Data latih terdiri atas batuk, sesak napas,
nyeri dada, demam pada sore atau malam hari, penurunan nafsu makan, dan badan
lemah (malaise). Sedangkan data target adalah data diagnosis suspek TBC atau
tidak yang telah dibuat, nilai 1 untuk suspek TBC dan nilai 0 untuk negatif TBC.
57
Data yang telah diinput akan diproses oleh sistem sebagai hasil dari pelatihan
data.
4.1.4.2 Perancangan Arsitektur Jaringan Syaraf Tiruan
Jaringan yang digunakan untuk diagnosis penyakit TBC adalah jaringan
syaraf tiruan backpropagation dengan langkah pembelajaran feedforward.
Jaringan ini memiliki beberapa lapisan, yaitu lapisan masukan, lapisan keluaran
dan beberapa lapisan tersembunyi. Lapisan tersembunyi tersebut membantu
jaringan untuk dapat mengenali lebih banyak pola masukan dibandingkan dengan
jaringan yang tidak memiliki lapisan tersembunyi.
Parameter-parameter dalam pembentukan jaringan backpropagation adalah
sebagai berikut.
4.1.4.2.1 Bobot dan Bias
Pemilihan bobot awal sangat mempengaruhi jaringan syaraf dalam
mencapai minimum terhadap nilai error, serta cepat tidaknya proses pelatihan
menuju kekonvergenan. Dalam hal ini, pemberian nilai bobot dan bias awal
menggunakan bilangan acak kecil yang dilakukan oleh software Matlab.
4.1.4.2.2 Jumlah Neuron pada Lapisan Tersembunyi
Perancangan arsitektur backpropagation pertama adalah menentukan
jumlah hidden layer dan menentukan banyaknya neuron dalam setiap hidden
layer. Arsitektur jaringan yang digunakan dalam skripsi ini adalah arsitektur
jaringan dengan satu hidden layer. Menurut teori, arsitektur ini disebut arsitektur
jaringan layar jamak. Banyaknya neuron hidden layer ditentukan dengan cara
trial and error, dalam arti hasil pembelajaran yang tercepat dan terbaik itulah
58
yang akan menentukan banyaknya neuron hidden layer tersebut. Mengenai
jumlah banyaknya neuron hidden layer yang dibutuhkan, tidak ada ketentuan
khusus karena tidak ada teori yang dengan pasti dapat dipakai (Mirawanti et all.,
2010).
4.1.4.2.3 Error Goal (Kinerja Tujuan)
Kinerja tujuan adalah target nilai fungsi kinerja. Iterasi akan dihentikan
apabila nilai fungsi kinerja kurang dari atau sama dengan kinerja tujuan
(Kusumadewi, 2004:134).
Error goal atau galat ditentukan untuk membandingkan dengan galat pada
jaringan saat pelatihan. Jaringan akan konvergen ketika error jaringan lebih kecil
dari error goal. Dalam skripsi ini ditentukan error goal atau toleransi sebesar
0,001.
4.1.4.2.4 Learning Rate (Laju Pembelajaran)
Semakin besar nilai learning rate (𝛼) akan berimplikasi pada semakin
besarnya langkah pembelajaran. Jika learning rate diset terlalu besar, maka
algoritma akan menjadi tidak stabil. Sebaliknya, jika learning rate diset terlalu
kecil, maka algoritma akan konvergen dalam jangka waktu yang sangat lama
(Kusumadewi, 2004: 134).
Nilai 𝛼 terletak antara 0 dan 1 (0 ≤ 𝛼 ≤ 1). Jika harga 𝛼 semakin besar,
maka iterasi yang dipakai semakin sedikit. Hal ini menyebabkan pola yang sudah
benar menjadi rusak sehingga pemahaman menjadi lambat. Nilai learning rate
tidak dapat ditentukan secara pasti sehingga perlu dilakukan trial and error untuk
59
mendapatkan nilai learning rate yang dapat menghasilkan iterasi tercepat dalam
mencapai konvergen (Amin, 2012).
4.1.4.2.5 Fungsi Aktivasi
Dalam jaringan syaraf tiruan, fungsi aktivasi digunakan untuk menentukan
keluaran suatu neuron. Fungsi aktivasi yang digunakan dalam penerapan JST
untuk deteksi penyakit TBC, yaitu fungsi aktivasi logsig (sigmoid biner). Fungsi
ini dipilih karena pada unit output hanya dirancang menampilkan 2 keputusan,
yaitu apakah suspek TBC dengan nilai 1 atau negatif TBC dengan nilai 0.
4.1.4.2.6 Maksimum Epoh
Jumlah epoh maksimum yang boleh dilakukan selama proses pelatihan.
Iterasi akan dihentikan apabila epoh melebihi maksimum epoh.
Berikut ini variasi yang dilakukan terhadap learning rate dan banyaknya
neuron hidden layer yang akan digunakan untuk mengetahui seberapa besar
tingkat akurasi sistem dalam melakukan pendeteksian terhadap penyakit TBC.
Tabel 4.3 Variasi Learning Rate dan Banyaknya Neuron Hidden Layer
No. Learning rate (α) Banyaknya neuron hidden
layer 1 0,05 10
2 0,05 50
3 0,05 100
4 0,1 10
5 0,1 50
6 0,1 100
7 0,2 10
8 0,2 50
9 0,2 100
10 0,5 10
11 0,5 50
12 0,5 100
60
No. Learning rate (α) Banyaknya neuron hidden
layer
13 0,75 10
14 0,75 50
15 0,75 100
Gambar 4.1 adalah arsitektur jaringan layar jamak dari sistem deteksi dini
dalam sistem ini.
Keterangan:
𝑋1,𝑋2, … , 𝑋5 : nilai input variabel
𝑍1, 𝑍2 , … , 𝑍10 : neuron hidden layer
Gambar 4.1 Arsitektur Jaringan dengan 10 Neuron Hidden
Layer
Hidden units
Input units
Output units
𝑋1
𝑋2
𝑋3
𝑋4
𝑋5
𝑍1
𝑍2
𝑍3
𝑍4
𝑍10
V11
V12
V13 V14 V110 V21
V23
V24 V210
V31
V22
V33
V34
V310
V33
V42
V43
V44 V410
V51
V41
V52
V53 V54
V510
𝑌1
W11
W12
W13
W14
W110
1
V10 V20
V30
V40
V100
1
W10
61
𝑌1 : nilai target, bernilai 1 jika suspek TBC dan bernilai 0
jika negatif TBC.
Pada Gambar 4.1 diperlihatkan jaringan dengan 5 buah unit masukan
(𝑋1, 𝑋2,𝑋3, 𝑋4,𝑋5), sebuah hidden layer yang terdiri atas 10 buah neuron
𝑍1, 𝑍2 , 𝑍3, 𝑍4, 𝑍5 , 𝑍6, 𝑍7 , 𝑍8, 𝑍9, 𝑍10 , dan sebuah unit keluaran (𝑌1). Flowchart
untuk proses pelatihan dapat dilihat pada Gambar 4.2.
Gambar 4.2 Flowchart Proses Pelatihan
Mulai
Load data
Selesai
Increment Epoh
Inisialisasi parameter JST (alpha, maks.
Epoh, neuron hidden, target error)
Data Pelatihan
Epoh=0
Epoh
<=maks.epoh?
Feed forward
Backpropagation
Hitung MSE
MSE < target
error?
Simpan Bobot
Akhir?
Y
N
Y
N
Y
N
bobot.jst Simpan Data
62
4.1.4.3 Perancangan Pengujian Sistem Deteksi
Dalam perancangan sistem deteksi, langkah-langkah yang harus ditempuh
sama halnya pada sistem pelatihan. Langkah-langkah yang harus dipenuhi yaitu
data latih terdiri atas batuk, sesak napas, nyeri dada, demam pada sore atau malam
hari, penurunan nafsu makan, dan badan lemah (malaise) sudah siap untuk
diinputkan ke dalam sistem.
Setelah data sudah disiapkan, langkah selanjutnya adalah melakukan proses
deteksi. Gambar 4.3 merupakan flowchart untuk proses deteksi.
Gambar 4.3 Flowchart Proses Pendeteksian
Mulai
Input Data Bobot JST data latih
Feed forward
Y N
Selesai
Input bobot JST data latih
Negatif TBC
Suspek TBC
Nilai Output >= 0.6
63
4.1.4.4 Perancangan Desain Sistem
Perancangan sistem deteksi penyakit TBC ini akan diterapkan sekaligus
dengan tampilan yang sebenarnya akan dibuat dengan GUI pada Matlab. Berikut
adalah desain sistem yang akan dibuat.
4.1.4.4.1 Desain Tampilan Form Halaman Depan
Tampilan depan adalah salah satu form sebagai pembuka dari sistem deteksi
penyakit TBC. Halaman depan hanya mengenalkan judul sistem serta pilihan
untuk melanjutkan program menuju ke form pelatihan ataupun ke form uji data.
Gambar 4.4 Desain Tampilan Form Halaman Depan
Keterangan Gambar 4.4
No. Nama Komponen Properti Setting
1 Panel Title
Tag
Menu Utama
uipanel1
2 Axes Tag backbkpm
2
1
64
4.1.4.4.2 Desain Tampilan Form Pelatihan
Pada form pelatihan terdapat empat static text yaitu maksimum epoch, error
goal, learning rate dan jumlah neuron hidden layer. Kemudian ada empat edit text
yang akan digunakan sebagai input masing-masing variabel yang akan diinputkan.
Selain itu, ada empat command button, yaitu train, uji data, dan menu utama.
Gambar 4.5 Desain Tampilan Form Pelatihan
Keterangan Gambar 4.5
No. Nama Komponen Properti Setting
1 Pushbutton Tag pushbutton1,
pushbutton2,
pushbutton3
2 Panel Title
Tag
Variabel Pelatihan
uipanel1
3 Edit text Tag
edit1, edit2, edit3,
edit4
4 Static text Tag
text1, text2, text3,
text4
5 Static text Tag text5
1
2
4 3
5
65
4.1.4.4.3 Desain Tampilan Form Deteksi Penyakit TBC
Desain tampilan form deteksi penyakit TBC yang akan digunakan sebagai
input variabel batuk, sesak napas, nyeri dada, demam pada sore atau malam hari,
penurunan nafsu makan, badan lemah (malaise) adalah sebagai berikut.
Gambar 4.6 Desain Tampilan Form Deteksi Penyakit TBC
Keterangan Gambar 4.6
No. Nama Komponen Properti Setting
1 Static text Tag text1
2 Static text Tag text2, text3, text4,
text5, text6, text7
3 Popup menu Tag
popupmenu2,
popupmenu3,
popupmenu4,
popupmenu5,
popupmenu6,
popupmenu7
4 Edit text Tag
batuk, sesak, nyeri,
demam, makan,
malaise
5 Edit text Tag Deteksi
1
7
2 3 4
5
8
6
9
66
No. Nama Komponen Properti Setting
6 Static text Tag text8
7 Panel Title
Tag
Gejala Umum TBC,
Hasil Operasi, Output
Bobot
uipanel1, uipanel2,
uipanel3
8 Pushbutton Tag hitung, exit,
pushbutton3
9 Edit text Tag node
4.2 Tahap Implementasi Sistem
Setelah desain sistem dan settingnya dibuat, maka langkah selanjutnya yaitu
mengimplementasikan sistem secara keseluruhan dengan menggunakan software
Matlab.
4.2.1 Tampilan Form Halaman Depan
Gambar 4.7 Tampilan Form Halaman Depan
67
4.2.2 Implementasi Form Pelatihan
Gambar 4.8 Tampilan Form Pelatihan Sistem
Dari Gambar 4.8 ada tiga pushbutton utama yang bisa digunakan untuk
melakukan perintah terhadap sistem, yaitu train, uji data dan menu utama. Berikut
adalah penjelasan dari masing-masing pushbutton.
a. Train
Command button train (pushbutton1) berfungsi untuk melakukan proses
perhitungan pelatihan sistem dari nilai variabel maksimum epoch, error goal,
learning rate, jumlah neuron hidden layer yang telah diinputkan. Berikut adalah
source code Matlab yang menjalankan perintah command button train
(pushbutton1).
function pushbutton1_Callback(hObject, eventdata, handles) load latihdata.mat; epoh=str2num(get(handles.edit1,'String')); galat=str2num(get(handles.edit2,'String')); alpha=str2num(get(handles.edit3,'String')); nhidden=str2num(get(handles.edit4,'String')); [net,tr]=backprop(epoh,galat,alpha,nhidden); save('bobotjst.mat','net','tr');
68
b. Uji Data
Command button uji data (pushbutton2) berfungsi untuk melakukan
perintah menuju ke Form Deteksi Penyakit TBC. Berikut adalah source code
Matlab yang menjalankan perintah command button uji data (pushbutton2).
function pushbutton2_Callback(hObject, eventdata, handles) delete(handles.latihfig); fformhasil
c. Menu Utama
Command button menu utama (pushbutton3) berfungsi untuk melakukan
perintah kembali ke menu utama dari sistem deteksi penyakit TBC. Berikut adalah
source code Matlab yang menjalankan perintah command button menu utama
(pushbutton3).
function pushbutton3_Callback(hObject, eventdata, handles) pos_size=get(handles.latihfig,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke
Menu Utama'); switch user_response case {'No'} case 'Yes' delete(handles.latihfig); haldepan end
69
4.2.3 Implementasi Form Deteksi
Gambar 4.9 Tampilan Form Deteksi
Dari Gambar 4.9 ada tiga command button utama yang bisa digunakan
untuk melakukan perintah terhadap sistem yaitu execute, menu utama dan mulai
baru. Berikut adalah penjelasan dari masing-masing command button.
a. Execute
Command button execute (hitung) berfungsi untuk melakukan proses
perhitungan deteksi penyakit TBC berdasarkan nilai variabel batuk, sesak napas,
nyeri dada, demam pada sore atau malam hari, penurunan nafsu makan, dan badan
lemah (malaise) yang telah diinputkan. Hasil dari perhitungan deteksi akan
terlihat pada hasil operasi yang berdasarkan pada output bobot (“suspek TBC jika
output bobot ≥ 0,6” ataupun “negatif TBC jika output bobot <0,6”). Berikut
adalah source code Matlab yang menjalankan perintah command button execute
(hitung).
70
function hitung_Callback(hObject, eventdata, handles) load bobotjst.mat; a=str2num(get(handles.batuk,'String')); b=str2num(get(handles.sesak,'String')); c=str2num(get(handles.nyeri,'String')); d=str2num(get(handles.demam,'String')); e=str2num(get(handles.makan,'String')); f=str2num(get(handles.malaise,'String')); pola=[a, b, c, d, e, f];
y=sim(net,pola'); set(handles.node,'string',y(1)');
[baris,kolom]=find(y>=0.6); [H,W]=size(y); y2=zeros(H,W); for i=1:length(y) y2(baris,kolom)=1; end if y2'==[1] set(handles.deteksi,'string','Suspek TBC'); else set(handles.deteksi,'string','Negatif TBC'); end
guidata(hObject, handles);
b. Menu Utama
Command button menu utama (exit) berfungsi untuk melakukan perintah
kembali ke menu utama dari sistem deteksi penyakit TBC. Berikut adalah source
code Matlab yang menjalankan perintah command button menu utama (exit).
function exit_Callback(hObject, eventdata, handles) pos_size=get(handles.figure1,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke
Menu Utama'); switch user_response case {'No'}
case 'Yes' delete(handles.figure1); haldepan end
71
c. Mulai Baru
Command button mulai baru (pushbutton3) berfungsi untuk melakukan
perintah mengosongkan semua isi form sebelumnya guna melakukan perhitungan
deteksi penyakit TBC dengan data variabel yang baru. Berikut adalah source code
Matlab yang menjalankan perintah command button mulai baru (pushbutton3).
function pushbutton3_Callback(hObject, eventdata, handles) set(handles.batuk,'String',''); set(handles.sesak,'String',''); set(handles.nyeri,'String',''); set(handles.demam,'String',''); set(handles.makan,'String',''); set(handles.malaise,'String',''); set(handles.node,'String',''); set(handles.deteksi,'String','Hasil Deteksi...');
4.3 Pengukuran Evaluasi Unjuk Kerja Sistem
Setelah sistem selesai dirancang, selanjutnya harus diuji tingkat akurasi
sistem dalam mendeteksi suspek atau tidaknya seseorang mengidap TBC. Hal ini
dilakukan untuk mengetahui sejauh mana sistem dapat bekerja dalam mendeteksi
suspek atau tidaknya seseorang mengidap TBC.
Sub bab ini akan membahas mengenai hasil dari sistem yang telah dirancang
dan dibuat. Pembahasan akan diarahkan ke pembahasan mengenai hasil arsitektur
JST dalam proses pelatihan dan pengenalan.
4.3.1 Pembahasan Hasil Arsitektur Jaringan Syaraf Tiruan Backpropagation
Akan dilihat pengaruh perubahan learning rate dan jumlah neuron hidden
layer terhadap MSE, lama waktu pelatihan, kemudian jumlah data yang dikenali
oleh sistem dengan benar.
72
Dari 80 data latih dan 20 data yang diujikan, diperoleh analisis sebagai
berikut. Untuk masing-masing variasi, jumlah iterasi maksimum dan target error
sama, yaitu:
Jumlah iterasi (epoch) : 1000
Target error : 0,001
Berikut disajikan dalam tabel hasil dari variasi arsitektur jaringan yang
dilakukan.
Tabel 4.4. Analisis Hasil Variasi Arsitektur Jaringan
No. 𝛼
Banyaknya
Neuron
Hidden
Layer
Hasil
Epoch MSE Waktu
(detik)
Data latih
yang
dikenali
Data non
latih
yang
dikenali
Recog
nition
rate
%
1 0,05 10 1000 0,283 0:00:07 57 13 70
2 0,05 50 1000 0,0378 0:00:09 74 20 94
3 0,05 100 1000 0,0112 0:00:10 80 20 100
4 0,1 10 1000 0.135 0:00:09 64 18 82
5 0,1 50 1000 0,0152 0:00:09 78 20 98
6 0,1 100 1000 0,0217 0:00:16 79 19 98
7 0,2 10 1000 0,0832 0:00:08 71 19 90
8 0,2 50 1000 0,00554 0:00:11 79 20 99
9 0,2 100 1000 0,00549 0:00:10 80 20 100
10 0,5 10 1000 0,012 0:00:07 79 20 99
11 0,5 50 1000 0,00368 0:00:08 79 20 99
12 0,5 100 1000 0,00144 0:00:11 80 20 100
13 0,75 10 1000 0,00757 0:00:07 80 20 100
14 0,75 50 1000 0,00193 0:00:10 80 20 100
15 0,75 100 1000 0,00128 0:00:11 79 19 98
Untuk menghitung tingkat akurasi sistem, digunakan confusion matrix
dengan rumus sebagai berikut.
73
Berdasarkan Tabel 4.4 didapatkan bahwa arsitektur jaringan yang paling
optimal dalam proses deteksi penyakit TBC adalah sebagai berikut
Learning rate : 0,5
Banyaknya neuron hidden layer : 100
Jumlah iterasi (epoh) : 1000
Target error : 0,001.
Diperoleh recognition rate atau tingkat akurasi sistem sebesar 100%
dengan MSE sebesar 0,00144.
4.3.2 Pembahasan Hasil Pendeteksian
Data yang diujikan dalam sistem merupakan data yang telah dilatihkan dan
data yang belum dilatihkan dalam sistem. Berikut hasil dari pendeteksian oleh
sistem berdasarkan variasi yang dilakukan.
1. Variasi 1
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 57
Ini berarti dari 80 data latih dapat dikenali dengan benar 57 data
suspek TBC.
(b) False positives (negatif TBC dikenali suspek TBC) : 23
Ini berarti dari 80 data latih terdapat 23 data negatif TBC yang
dikenali sistem sebagai data suspek TBC.
Tabel 4.5 Confusion Matrix Hasil Deteksi Data Latih Variasi 1
Suspek TBC Negatif TBC
Suspek TBC 57 0
Negatif TBC 23 0
74
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
Ini berarti dari 20 data uji dapat dikenali dengan benar 13 data suspek
TBC.
(b) False positives (negatif TBC dikenali suspek TBC) : 7
Ini berarti dari 20 data uji terdapat 7 data negatif TBC yang dikenali
sistem sebagai data suspek TBC.
Tabel 4.6 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 1
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 7 0
Recognition rate : 70%.
2. Variasi 2
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 54
(b) False positives (negatif TBC dikenali suspek TBC) : 3
Tabel 4.7 Confusion Matrix Hasil Deteksi Data Latih Variasi 2
Suspek TBC Negatif TBC
Suspek TBC 54 3
Negatif TBC 3 20
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
75
Tabel 4.8 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 2
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 94%.
3. Variasi 3
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 57
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.9 Confusion Matrix Hasil Deteksi Data Latih Variasi 3
Suspek TBC Negatif TBC
Suspek TBC 57 0
Negatif TBC 0 23
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.10 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 3
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 100%.
4. Variasi 4
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 50
(b) False positives (negatif TBC dikenali suspek TBC) : 9
76
Tabel 4.11 Confusion Matrix Hasil Deteksi Data Latih Variasi 4
Suspek TBC Negatif TBC
Suspek TBC 50 7
Negatif TBC 9 14
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 2
Tabel 4.12 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 4
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 2 5
Recognition rate : 82%.
5. Variasi 5
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 56
(b) False positives (negatif TBC dikenali suspek TBC) : 1
Tabel 4.13 Confusion Matrix Hasil Deteksi Data Latih Variasi 5
Suspek TBC Negatif TBC
Suspek TBC 56 1
Negatif TBC 1 22
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
77
Tabel 4.14 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 5
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 98%.
6. Variasi 6
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 56
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.15 Confusion Matrix Hasil Deteksi Data Latih Variasi 6
Suspek TBC Negatif TBC
Suspek TBC 56 1
Negatif TBC 0 23
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 12
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.16 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 6
Suspek TBC Negatif TBC
Suspek TBC 12 1
Negatif TBC 0 7
Recognition rate : 98%.
7. Variasi 7
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 52
(b) False positives (negatif TBC dikenali suspek TBC) : 4
78
Tabel 4.17 Confusion Matrix Hasil Deteksi Data Latih Variasi 7
Suspek TBC Negatif TBC
Suspek TBC 52 5
Negatif TBC 4 19
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.18 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 7
Suspek TBC Negatif TBC
Suspek TBC 13 1
Negatif TBC 0 6
Recognition rate : 90%.
8. Variasi 8
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 56
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.19 Confusion Matrix Hasil Deteksi Data Latih Variasi 8
Suspek TBC Negatif TBC
Suspek TBC 56 1
Negatif TBC 0 23
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.20 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 8
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 99%.
79
9. Variasi 9
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 57
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.21 Confusion Matrix Hasil Deteksi Data Latih Variasi 9
Suspek TBC Negatif TBC
Suspek TBC 57 0
Negatif TBC 0 23
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.22 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 9
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 100%.
10. Variasi 10
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 56
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.23 Confusion Matrix Hasil Deteksi Data Latih Variasi 10
Suspek TBC Negatif TBC
Suspek TBC 56 1
Negatif TBC 0 23
80
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.24 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 10
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 99%.
11. Variasi 11
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 56
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.25 Confusion Matrix Hasil Deteksi Data Latih Variasi 11
Suspek TBC Negatif TBC
Suspek TBC 56 1
Negatif TBC 0 23
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.26 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 11
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 99%.
81
12. Variasi 12
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 57
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.27 Confusion Matrix Hasil Deteksi Data Latih Variasi 12
Suspek TBC Negatif TBC
Suspek TBC 56 0
Negatif TBC 0 23
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.28 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 12
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 100%.
13. Variasi 13
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 57
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.29 Confusion Matrix Hasil Deteksi Data Latih Variasi 13
Suspek TBC Negatif TBC
Suspek TBC 56 0
Negatif TBC 0 23
82
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.30 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 13
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 100%.
14. Variasi 14
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 57
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.31 Confusion Matrix Hasil Deteksi Data Latih Variasi 14
Suspek TBC Negatif TBC
Suspek TBC 56 0
Negatif TBC 0 23
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 13
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.32 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 14
Suspek TBC Negatif TBC
Suspek TBC 13 0
Negatif TBC 0 7
Recognition rate : 100%.
83
15. Variasi 15
a. Hasil deteksi data latih
(a) True positives (suspek TBC dikenali suspek TBC) : 56
(b) False positives (negatif TBC dikenali suspek TBC) : 1
Tabel 4.33 Confusion Matrix Hasil Deteksi Data Latih Variasi 15
Suspek TBC Negatif TBC
Suspek TBC 56 0
Negatif TBC 1 23
b. Hasil deteksi data non latih (data uji)
(a) True positives (suspek TBC dikenali suspek TBC) : 12
(b) False positives (negatif TBC dikenali suspek TBC) : 0
Tabel 4.34 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 15
Suspek TBC Negatif TBC
Suspek TBC 12 1
Negatif TBC 0 7
Recognition rate : 98%.
4.4 Analisis Hasil Kerja Sistem
Hasil dari pelatihan digunakan untuk menentukan konfigurasi terbaik dari
jaringan dengan metode backpropagation, error goal 0,001, maksimum epoh
1000 serta fungsi aktivasi menggunakan fungsi logsig, sedangkan konstanta
belajar dan banyaknya neuron pada lapisan tersembunyi diubah secara trial and
error.
Dari hasil pelatihan yang telah dilakukan, jaringan mengenali 100% dari
data yang dilatihkan, ditunjukkan oleh hasil keluaran yang ditampilkan sesuai
84
dengan target yang telah ditentukan yaitu misalkan pada pasien ke-1 target yang
diberikan adalah 1, maka hasil keluarannya menunjukkan 0,975743 yang
mendekati 1, begitu juga dengan pasien ke-2 dengan target 0, maka keluarannya
menunjukkan 0,0688691 yang mendekati 0, kemudian jaringan diuji dengan 20
data baru untuk menentukan seberapa jaringan syaraf tiruan mampu mengenali
data baru yang dimasukkan. Hasil pengujian terhadap 20 data baru menunjukkan
bahwa seluruh data sesuai dengan target atau sesuai dengan kenyataan.
Pada tahap pelatihan maupun pengujian sistem jaringan syaraf tiruan ini
mempunyai beberapa kelebihan, antara lain proses yang akurat, cepat, serta
meminimalisasi kesalahan. Pada jaringan syaraf tiruan yang perlu dilakukan
adalah hanya melatih jaringan untuk “belajar” dengan cara memasukkan set data
berisi sekumpulan kasus ke dalam jaringan. Dalam hal ini software yang cocok
digunakan untuk membantu pemecahan masalah jaringan syaraf tiruan adalah
Matlab karena banyak model jaringan syaraf tiruan yang memanipulasi matriks
atau vektor dalam iterasinya. Toolbox Matlab menyediakan fungsi-fungsi khusus
untuk menyelesaikan model jaringan syaraf tiruan. Adanya GUIDE Matlab yang
mempunyai fungsi built-in, siap digunakan dan pemakai tidak perlu repot
membuatnya sendiri sehingga lebih nyaman bila dibandingkan dengan harus
menulis program seperti pada Pascal dan pemrograman bahasa lainnya.
Adapun kelemahan sistem, antara lain sistem jaringan syaraf tiruan
merupakan sistem baru sehingga hanya dapat berfungsi sebagai alat bantu. Oleh
sebab itu, di dalam pengambilan keputusan masih digunakan faktor-faktor
pendukung atau kebijakan-kebijakan yang lain. Selain itu, belum ditemukannya
85
cara terbaik untuk merepresentasikan data input, memilih arsitektur, serta jumlah
node, dan jumlah lapisan. Cara yang digunakan hingga saat ini masih dengan cara
coba-coba (trial and error).
86
BAB 5
PENUTUP
5.1 Simpulan
Dari hasil penelitian dan pembahasan tentang implementasi jaringan syaraf
tiruan backpropagation dalam mendeteksi pasien suspek atau tidaknya mengidap
TBC dapat ditarik kesimpulan sebagai berikut.
1. Sistem deteksi penyakit Tuberculosis dapat diciptakan dengan menggunakan
software Matlab. Data diolah melalui beberapa tahapan, yaitu data gejala-
gejala umum penyakit TBC dijadikan sebagai data latih dan data suspek TBC
atau tidak digunakan sebagai data target. Kedua data tersebut disimpan
dengan format excel kemudian diconvert menjadi format .m melalui
workspace pada Matlab dengan cara import data. Setelah melalui proses
import data, tentukan arsitektur jaringan dengan cara trial and error dalam
hal ini proses pendeteksian menggunakan jaringan syaraf tiruan
backpropagation sehingga diperoleh nilai Mean Square Error (MSE) terkecil
dan waktu yang tercepat serta tingkat akurasi yang optimal. Dalam
pembuatan sistem, tahap yang harus dilakukan mulai dari pembuatan desain
progam dengan menggunakan Grapics User Interface (GUI) kemudian
dilanjutkan dengan melengkapi coding Matlab agar desain program bisa
berfungsi. Setelah proses-proses tersebut, sistem dapat digunakan untuk
mendeteksi suspek atau tidaknya pasien mengidap TBC.
87
2. Setelah dilakukan percobaan variasi learning rate dan jumlah neuron hidden
layer dalam proses pelatihan dan pengujian sistem dapat diperoleh tingkat
akurasi sebesar 100% dengan arsitektur jaringan yang optimal sebagai
berikut.
Jumlah iterasi (epoch) : 1000
Target error : 0,001
Learning rate : 0,5
Jumlah neuron hidden layer : 100.
5.2 Saran
Saran yang dapat ditulis untuk penelitian ini adalah sebagai berikut.
1. Sistem ini memungkinkan untuk dikembangkan dengan menggunakan
software lain selain software Matlab agar lebih mudah dan bisa digunakan
oleh masyarakat umum, karena software Matlab membutuhkan banyak
memori di komputer.
2. Untuk penelitian selanjutnya diharapkan adanya variabel input yang lebih
rinci untuk digunakan sebagai data uji dan data target karena mungkin masih
banyak faktor yang menyebabkan seseorang mengidap TBC.
3. Perlunya penelitian di bidang jaringan syaraf tiruan terkait dengan deteksi
dini lebih lanjut, mengingat di Indonesia masih jarang penerapan jaringan
syaraf tiruan dalam kehidupan sehari-hari.
88
DAFTAR PUSTAKA
Abidin, Z. 2010. Pengenalan Ekspresi Wajah Menggunakan Metode Fisherface
dengan Pendekatan Jaringan Syaraf Tiruan Back Propagation. Tesis.
Yogyakarta: FMIPA Universitas Gajah Mada.
Amin, S. 2012. Sistem Deteksi Dini Hama Wereng Batang Coklat Menggunakan
Jaringan Syaraf Tiruan Backpropagation. Skripsi. Semarang: FMIPA
Universitas Negeri Semarang.
Astion, M.L. & Peter W. 1992. Application of Neural Networks to the
Interpretation of Laboratory Data in Cancer. Clin. Chem, 38/1: 34-38.
Dinas Kesehatan Kota Pekalongan. 2010. Profil Kesehatan Kota Pekalongan
Tahun 2010. Tersedia di http://dinkes.pekalongankota.go.id/ [diakses 11-2-
2013].
Fausset, L. 1994. Fundamental of Neural Network, Architecture, Algorithms, and
Applications. Prentice Hall.
Halim, A., Eric. M., & Layong. 2004. Analisis dan Perancangan Pengenal Tanda
Tangan dengan Jaringan Syaraf Tiruan Metode Propagasi Balik. Skripsi.
Jakarta. Universitas Bina Nusantara.
Hartono, A. F. 2012. Implementasi Jaringan Syaraf Tiruan Backpropagation
sebagai Sistem Pengenalan Citra Daging Sebagai Upaya Mengenali
Daging Sapi Asli dan Daging Sapi Palsu di Pasar Tradisional Kota
Semarang. Skripsi. Semarang: FMIPA Universitas Negeri Semarang.
Hermawan, A. 2006. Jaringan Syaraf Tiruan, Teori, dan Aplikasi. Yogyakarta:
ANDI.
Hermoza, T., Andika. A., Setyaningsih. E., Rinawati, N., Hastika, B., Putri, R. B.,
Anugerah, M., dan Wasisarini, R. 2011. Evaluating Accuracy. Jurusan
Matematika Universitas Gadjah Mada.
http://www. globalhealthfacts.org [diakses 23-12-2012].
Iqbal, M. 2009. Dasar Pengolahan Citra Menggunakan MATLAB. Departemen
Ilmu dan Teknologi Kelautan ITB.
Kementrian Kesehatan R.I. 2012. Laporan Situasi Terkini Perkembangan
Tuberkulosis di Indonesia Januari – Desember 2012. Tersedian di
http://www.tbindonesia.or.id/ [diakses 23-12-2012].
Kusumadewi, S. 2004. Membangun Jaringan Syaraf Tiruan dengan Matlab dan
Exel Link. Yogyakarta: Graha Ilmu.
89
Luthfianto, R., Imam S., & Yuli C. Peramalan Jumlah Penumpang Kereta Api
dengan Jaringan Syaraf Tiruan Metode Perambatan Balik
(Backpropagation). Semarang. Universitas Diponegoro.
Maharani, W. 2009. Klasifikasi Data Menggunakan JST Backpropagation
Momentum dengan Adaptive Learning Rate. Seminar Nasional Informatika
2009.
Mirawanti, Y., Maslim R.S., Agus W., & Dewi F.E., 2010. Neural Network.
Jurusan Statistika (Komputasi Statistik) Institut Teknologi Sepuluh
November Surabaya.
Misnadiarly. 2006. Penyakit Infeksi TB Paru dan Ekstra Paru: Mengenal,
Mencegah, Menanggulangi TBC Paru, Ekstra Paru, Anak, dan pada
Kehamilan. Jakarta: Pustaka Populer Obor.
Muttaqin, A. 2008. Asuhan Keperawatan Klien dengan Gangguan Sistem
Pernapasan. Jakarta: Salemba Medika.
Poerwadarminta, W. J. S. 2007. Kamus Umum Bahasa Indonesia Edisi Ketiga.
Jakarta. Balai Pustaka.
Pratiwi, I. 2011. Pemilihan Arsitektur Jaringan Syaraf Tiruan Multi-Layer
Perceptron Menggunakan Algoritma Genetika. Jurnal. Program Studi
Ilmu Komputer Jurusan Matematika FMIPA Universitas Brawijaya.
Tersedia di http://www.scribd.com/doc/50853948/jurnal-0410960025
[diunduh 6-1-2013].
Puspita, A. & Eunike. 2007. Penggunaan Jaringan Syaraf Tiruan Metode
Backpropagation untuk Memprediksi Bibir Sumbing. Seminar Nasional
Teknologi.
Puspitaningrum, D. 2006. Pengantar Jaringan Syaraf Tiruan. Yogyakarta: ANDI.
Rupam. 2011. The Difference between Object Detection and Object Recognition.
Tersedia di http://grasshoppernetwork.com/showthread.php?tid=562.html
[diakses 15-8-2013].
Sari, Z. W. 2010. Pengenalan Pola Golongan Darah Menggunakan Jaringan
Syaraf Tiruan Back Propagation. Skripsi. Malang: Fakultas Sains dan
Teknologi UIN.
Setiawan, W. 2008. Prediksi Harga Saham Menggunakan Jaringan Syaraf Tiruan
Multilayer Feedforward Network dengan Algoritma Backpropagation.
Konferensi Nasional Sistem dan Informatika 2008
Siang, J.J. 2009. Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan
MATLAB. Yogyakarta: ANDI.
90
Suharjito. 2008. Perbandingan Penggunaan Fungsi Aktivasi Logsig dan Tansig
dalan Aplikasi Jaringan Backpropagaion untuk Prediksi Harga CPO.
Prosiding Seminar Nasional Sains dan Teknologi-II 2008. Lampung:
Universitas Lampung.
90
Lampiran 1
Desain Tampilan Halaman Depan Program dengan Propertinya
No. Nama Komponen Properti Setting
1 Panel Title
Tag
Menu Utama
uipanel1
2 Axes Tag backbkpm
91
Lampiran 2
Kode Program untuk Halaman Depan
function varargout = haldepan(varargin) % HALDEPAN M-file for haldepan.fig % HALDEPAN, by itself, creates a new HALDEPAN or raises the
existing % singleton*. % % H = HALDEPAN returns the handle to a new HALDEPAN or the
handle to % the existing singleton*. % % HALDEPAN('CALLBACK',hObject,eventData,handles,...) calls
the local % function named CALLBACK in HALDEPAN.M with the given input
arguments. % % HALDEPAN('Property','Value',...) creates a new HALDEPAN or
raises the % existing singleton*. Starting from the left, property
value pairs are % applied to the GUI before haldepan_OpeningFcn gets called.
An % unrecognized property name or invalid value makes property
application % stop. All inputs are passed to haldepan_OpeningFcn via
varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help haldepan
% Last Modified by GUIDE v2.5 03-Jun-2013 18:40:52
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @haldepan_OpeningFcn, ... 'gui_OutputFcn', @haldepan_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
92
gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before haldepan is made visible. function haldepan_OpeningFcn(hObject, eventdata, handles,
varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to haldepan (see VARARGIN) axes(handles.backbkpm); image(imread('bkm.jpg')); axis('off');
% Choose default command line output for haldepan
% Update handles structure guidata(hObject, handles);
% UIWAIT makes haldepan wait for user response (see UIRESUME) % uiwait(handles.haldepan);
% --- Outputs from this function are returned to the command line. function varargout = haldepan_OutputFcn(hObject, eventdata,
handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
% --------------------------------------------------------------
------ function menu_file_Callback(hObject, eventdata, handles) % hObject handle to menu_file (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% ---------------------------------------------------------------
----- function menu_file_form_latih_Callback(hObject, eventdata,
handles) % hObject handle to menu_file_form_latih (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB
93
% handles structure with handles and user data (see GUIDATA) delete(handles.haldepan); formlatih
% ----------------------------------------------------------------
---- function menu_file_form_uji_Callback(hObject, eventdata, handles) % hObject handle to menu_file_form_uji (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.haldepan); fformhasil
% ----------------------------------------------------------------
---- function menu_file_profil_Callback(hObject, eventdata, handles) % hObject handle to menu_file_form_latih (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.haldepan); profil
% ----------------------------------------------------------------
---- function file_menu_exit_Callback(hObject, eventdata, handles) % hObject handle to menu_file_exit (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.haldepan,'position'); user_response=tanya_keluar_utama('Exit','Konfirmasi Mengakhiri
Program'); switch user_response case {'No'} case 'Yes' delete(handles.haldepan); close end
94
Lampiran 3
Desain Tampilan Pelatihan Sistem dengan Propertinya
No. Nama Komponen Properti Setting
1 Pushbutton Tag
pushbutton1,
pushbutton2,
pushbutton3
2 Panel Title
Tag
Variabel Pelatihan
uipanel1
3 Edit text Tag
edit1, edit2, edit3,
edit4
4 Static text Tag
text1, text2, text3,
text4
5 Static text Tag text5
1
2
4 3
5
95
Lampiran 4
Kode Program untuk Pelatihan Sistem
function varargout = formlatih(varargin) % FORMLATIH M-file for formlatih.fig % FORMLATIH, by itself, creates a new FORMLATIH or raises the
existing % singleton*. % % H = FORMLATIH returns the handle to a new FORMLATIH or the
handle to % the existing singleton*. % % FORMLATIH('CALLBACK',hObject,eventData,handles,...) calls
the local % function named CALLBACK in FORMLATIH.M with the given input
arguments. % % FORMLATIH('Property','Value',...) creates a new FORMLATIH
or raises the % existing singleton*. Starting from the left, property
value pairs are % applied to the GUI before formlatih_OpeningFcn gets called.
An % unrecognized property name or invalid value makes property
application % stop. All inputs are passed to formlatih_OpeningFcn via
varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help formlatih
% Last Modified by GUIDE v2.5 06-Feb-2013 11:43:37
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @formlatih_OpeningFcn, ... 'gui_OutputFcn', @formlatih_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
96
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before formlatih is made visible. function formlatih_OpeningFcn(hObject, eventdata, handles,
varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to formlatih (see VARARGIN) axes(handles.latar); image(imread('fotoback.jpg')); axis('off'); % Choose default command line output for formlatih handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes formlatih wait for user response (see UIRESUME) % uiwait(handles.latihfig);
% --- Outputs from this function are returned to the command line. function varargout = formlatih_OutputFcn(hObject, eventdata,
handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of
edit1 as a double
97
% --- Executes during object creation, after setting all
properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit2 as text % str2double(get(hObject,'String')) returns contents of
edit2 as a double
% --- Executes during object creation, after setting all
properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of
edit3 as a double
98
% --- Executes during object creation, after setting all
properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function edit4_Callback(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit4 as text % str2double(get(hObject,'String')) returns contents of
edit4 as a double
% --- Executes during object creation, after setting all
properties. function edit4_CreateFcn(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
99
load latihdata.mat; epoh=str2num(get(handles.edit1,'String')); galat=str2num(get(handles.edit2,'String')); alpha=str2num(get(handles.edit3,'String')); nhidden=str2num(get(handles.edit4,'String')); [net,tr]=backprop(epoh,galat,alpha,nhidden); save('bobotjst.mat','net','tr');
% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.latihfig); fformhasil
% --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.latihfig,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke
Menu Utama'); switch user_response case {'No'} case 'Yes' delete(handles.latihfig); haldepan end
% --- Executes during object creation, after setting all
properties. function uipanel1_CreateFcn(hObject, eventdata, handles) % hObject handle to uipanel1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
100
Lampiran 5
Desain Tampilan Pendeteksian TBC dengan Propertinya
No. Nama Komponen Properti Setting
1 Static text Tag text1
2 Static text Tag text2, text3, text4,
text5, text6, text7
3 Popup menu Tag
popupmenu2,
popupmenu3,
popupmenu4,
popupmenu5,
popupmenu6,
popupmenu7
4 Edit text Tag
batuk, sesak, nyeri,
demam, makan,
malaise
5 Edit text Tag deteksi
6 Static text Tag text8
7 Panel
Title
Tag
Gejala Umum TBC,
Hasil Operasi, Output
Bobot
uipanel1, uipanel2,
1
7
2 3 4
5
8
6
9
102
Lampiran 6
Kode Program untuk Pendeteksian TBC
function varargout = fformhasil(varargin) %FFORMHASIL M-file for fformhasil.fig % FFORMHASIL, by itself, creates a new FFORMHASIL or raises
the existing % singleton*. % % H = FFORMHASIL returns the handle to a new FFORMHASIL or
the handle to % the existing singleton*. % % FFORMHASIL('Property','Value',...) creates a new FFORMHASIL
using the % given property value pairs. Unrecognized properties are
passed via % varargin to fformhasil_OpeningFcn. This calling syntax
produces a % warning when there is an existing singleton*. % % FFORMHASIL('CALLBACK') and
FFORMHASIL('CALLBACK',hObject,...) call the % local function named CALLBACK in FFORMHASIL.M with the
given input % arguments. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help fformhasil
% Last Modified by GUIDE v2.5 21-Mar-2013 23:19:56
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @fformhasil_OpeningFcn, ... 'gui_OutputFcn', @fformhasil_OutputFcn, ... 'gui_LayoutFcn', [], ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
103
gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before fformhasil is made visible. function fformhasil_OpeningFcn(hObject, eventdata, handles,
varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) % varargin unrecognized PropertyName/PropertyValue pairs from
the % command line (see VARARGIN) axes(handles.axes4); image(imread('fotoback.jpg')); axis('off'); % Choose default command line output for fformhasil handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes fformhasil wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = fformhasil_OutputFcn(hObject, eventdata,
handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
function node_Callback(hObject, eventdata, handles) % hObject handle to node (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of node as text % str2double(get(hObject,'String')) returns contents of
node as a double
104
% --- Executes during object creation, after setting all
properties. function node_CreateFcn(hObject, eventdata, handles) % hObject handle to node (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function deteksi_Callback(hObject, eventdata, handles) % hObject handle to deteksi (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of deteksi as text % str2double(get(hObject,'String')) returns contents of
deteksi as a double
% --- Executes during object creation, after setting all
properties. function deteksi_CreateFcn(hObject, eventdata, handles) % hObject handle to deteksi (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in hitung. function hitung_Callback(hObject, eventdata, handles) % hObject handle to hitung (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
load bobotjst.mat; a=str2num(get(handles.batuk,'String'));
105
b=str2num(get(handles.sesak,'String')); c=str2num(get(handles.nyeri,'String')); d=str2num(get(handles.demam,'String')); e=str2num(get(handles.makan,'String')); f=str2num(get(handles.malaise,'String')); pola=[a, b, c, d, e, f];
y=sim(net,pola'); set(handles.node,'string',y(1)');
[baris,kolom]=find(y>=0.6); [H,W]=size(y); y2=zeros(H,W); for i=1:length(y) y2(baris,kolom)=1; end if y2'==[1] set(handles.deteksi,'string','Suspek TBC'); else set(handles.deteksi,'string','Negatif TBC'); end
guidata(hObject, handles);
% --- Executes on button press in exit. function exit_Callback(hObject, eventdata, handles) % hObject handle to exit (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.figure1,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke
Menu Utama'); switch user_response case {'No'}
case 'Yes' delete(handles.figure1); haldepan end
% --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.batuk,'String',''); set(handles.sesak,'String',''); set(handles.nyeri,'String',''); set(handles.demam,'String',''); set(handles.makan,'String',''); set(handles.malaise,'String',''); set(handles.node,'String','');
106
set(handles.deteksi,'String','Hasil Deteksi...');
function batuk_Callback(hObject, eventdata, handles) % hObject handle to batuk (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of batuk as text % str2double(get(hObject,'String')) returns contents of
batuk as a double
% --- Executes during object creation, after setting all
properties. function batuk_CreateFcn(hObject, eventdata, handles) % hObject handle to batuk (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function sesak_Callback(hObject, eventdata, handles) % hObject handle to sesak (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of sesak as text % str2double(get(hObject,'String')) returns contents of
sesak as a double
% --- Executes during object creation, after setting all
properties. function sesak_CreateFcn(hObject, eventdata, handles) % hObject handle to sesak (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.
107
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function nyeri_Callback(hObject, eventdata, handles) % hObject handle to nyeri (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of nyeri as text % str2double(get(hObject,'String')) returns contents of
nyeri as a double
% --- Executes during object creation, after setting all
properties. function nyeri_CreateFcn(hObject, eventdata, handles) % hObject handle to nyeri (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function demam_Callback(hObject, eventdata, handles) % hObject handle to demam (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of demam as text % str2double(get(hObject,'String')) returns contents of
demam as a double
% --- Executes during object creation, after setting all
properties. function demam_CreateFcn(hObject, eventdata, handles) % hObject handle to demam (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
108
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function makan_Callback(hObject, eventdata, handles) % hObject handle to makan (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of makan as text % str2double(get(hObject,'String')) returns contents of
makan as a double
% --- Executes during object creation, after setting all
properties. function makan_CreateFcn(hObject, eventdata, handles) % hObject handle to makan (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function malaise_Callback(hObject, eventdata, handles) % hObject handle to malaise (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of malaise as text % str2double(get(hObject,'String')) returns contents of
malaise as a double
% --- Executes during object creation, after setting all
properties. function malaise_CreateFcn(hObject, eventdata, handles) % hObject handle to malaise (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB
109
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in popupmenu2. function popupmenu2_Callback(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns popupmenu2
contents as cell array % contents{get(hObject,'Value')} returns selected item from
popupmenu2
v=get(handles.popupmenu2,'Value') switch v case 1 set(handles.batuk,'string','0'); case 2 set(handles.batuk,'string','0.25'); case 3 set(handles.batuk,'string','0.5'); case 4 set(handles.batuk,'string','0.75'); case 5 set(handles.batuk,'string','1'); end % --- Executes during object creation, after setting all
properties. function popupmenu2_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: popupmenu controls usually have a white background on
Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in popupmenu3.
110
function popupmenu3_Callback(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns popupmenu3
contents as cell array % contents{get(hObject,'Value')} returns selected item from
popupmenu3 v=get(handles.popupmenu3,'Value') switch v case 1 set(handles.sesak,'string','0'); case 2 set(handles.sesak,'string','0.5'); case 3 set(handles.sesak,'string','1'); end
% --- Executes during object creation, after setting all
properties. function popupmenu3_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: popupmenu controls usually have a white background on
Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in popupmenu4. function popupmenu4_Callback(hObject, eventdata, handles) % hObject handle to popupmenu4 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns popupmenu4
contents as cell array % contents{get(hObject,'Value')} returns selected item from
popupmenu4
v=get(handles.popupmenu4,'Value') switch v case 1 set(handles.nyeri,'string','0');
111
case 2 set(handles.nyeri,'string','0.5'); case 3 set(handles.nyeri,'string','1'); end % --- Executes during object creation, after setting all
properties. function popupmenu4_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu4 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: popupmenu controls usually have a white background on
Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in popupmenu5. function popupmenu5_Callback(hObject, eventdata, handles) % hObject handle to popupmenu5 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns popupmenu5
contents as cell array % contents{get(hObject,'Value')} returns selected item from
popupmenu5
v=get(handles.popupmenu5,'Value') switch v case 1 set(handles.demam,'string','0'); case 2 set(handles.demam,'string','0.5'); case 3 set(handles.demam,'string','0.75'); case 4 set(handles.demam,'string','1'); end % --- Executes during object creation, after setting all
properties. function popupmenu5_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu5 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
112
% Hint: popupmenu controls usually have a white background on
Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in popupmenu6. function popupmenu6_Callback(hObject, eventdata, handles) % hObject handle to popupmenu6 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns popupmenu6
contents as cell array % contents{get(hObject,'Value')} returns selected item from
popupmenu6
v=get(handles.popupmenu6,'Value') switch v case 1 set(handles.makan,'string','0'); case 2 set(handles.makan,'string','1'); end % --- Executes during object creation, after setting all
properties. function popupmenu6_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu6 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: popupmenu controls usually have a white background on
Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in popupmenu7. function popupmenu7_Callback(hObject, eventdata, handles) % hObject handle to popupmenu7 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns popupmenu7
contents as cell array
113
% contents{get(hObject,'Value')} returns selected item from
popupmenu7 v=get(handles.popupmenu7,'Value') switch v case 1 set(handles.malaise,'string','0'); case 2 set(handles.malaise,'string','1'); end
% --- Executes during object creation, after setting all
properties. function popupmenu7_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu7 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: popupmenu controls usually have a white background on
Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
114
Lampiran 7
Desain Tampilan Halaman Profil
No. Nama Komponen Properti Setting
1 Static text Tag text1
2 Static text Tag text2
3 Pushbutton Tag exit
4 Static text Tag text3
5 Axes Tag foto
2
1
3
4
5
115
Lampiran 8
Kode Program untuk Halaman Profil
function varargout = profil(varargin) % PROFIL M-file for profil.fig % PROFIL, by itself, creates a new PROFIL or raises the
existing % singleton*. % % H = PROFIL returns the handle to a new PROFIL or the handle
to % the existing singleton*. % % PROFIL('CALLBACK',hObject,eventData,handles,...) calls the
local % function named CALLBACK in PROFIL.M with the given input
arguments. % % PROFIL('Property','Value',...) creates a new PROFIL or
raises the % existing singleton*. Starting from the left, property
value pairs are % applied to the GUI before profil_OpeningFcn gets called.
An % unrecognized property name or invalid value makes property
application % stop. All inputs are passed to profil_OpeningFcn via
varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help profil
% Last Modified by GUIDE v2.5 03-Jun-2013 20:05:51
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @profil_OpeningFcn, ... 'gui_OutputFcn', @profil_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
116
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before profil is made visible. function profil_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to profil (see VARARGIN) axes(handles.foto); image(imread('pp.jpg')); axis('off');
% Choose default command line output for profil handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes profil wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = profil_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in exit. function exit_Callback(hObject, eventdata, handles) % hObject handle to exit (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.figure1,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke
Menu Utama'); switch user_response case {'No'}
case 'Yes'
118
Lampiran 9
Kode Program untuk Fungsi Backpropagation
function[net,tr]=backprop(epoh,galat,alpha,nhidden); clc load latihdata.mat; load datatargett.mat;
%membangun jaringan syaraf feedforward net=newff(minmax(latihdata(:,:)'),[nhidden,1],{'logsig'
'logsig'},'traingd');
%set maks. epoh,galat, learning rate net.trainparam.epochs=epoh; net.trainparam.goal=galat; net.trainparam.lr=alpha;
%inisialisasi bilangan acak net=init(net);
%melakukan training [net,tr]=train(net,latihdata(:,:)',t(:,:)');
122
Lampiran 11
DATA PASIEN SUSPEK TBC
DI BALAI KESEHATAN PARU MASYARAKAT (BKPM)
PEKALONGAN
No. Nama Usia Alamat
1 AN 37 Tahun Lapas Kelas IIA Pekalongan
2 MW 52 Tahun Bendan, Pekalongan
3 HN 36 Tahun Pemalang
4 MRF 37 Tahun Jenggot, Pekalongan
5 NYA 30 Tahun Wonopringgo, kab. Pekalongan
6 AB 47 Tahun Krapyak, Pekalongan
7 MR 47 Tahun Kasepuhan, Batang
8 LT 22 Tahun Kergon, Pekalongan
9 AN 33 Tahun Wonotunggal, Batang
10 WY 51 Tahun Sragi, kab. Pekalongan
11 RA 23 Tahun Kedungwuni, kab. Pekalongan
12 ZN 46 Tahun Jenggot, Pekalongan
13 FD 35 Tahun Wonopringgo, kab. Pekalongan
14 MS 25 Tahun Medono, Pekalongan
15 SB 21 Tahun Medono, Pekalongan
16 SY 50 Tahun Tegal Rejo, Pekalongan
17 ZK 24 Tahun Buaran, Pekalongan
18 AM 29 Tahun Sukorejo, Pekalongan
19 IW 25 Tahun Podosugih, Pekalongan
20 FD 61 Tahun Doro, kab. Pekalongan
21 SH 28 Tahun Kauman. Pekalongan
22 ZF 1,5 Tahun Setono, Pekalongan
23 BK 28 Tahun Panjang Wetan, Pekalongan
123
24 TF 41 Tahun Setono, Pekalongan
25 KK 40 Tahun Bener, kab. Pekalongan
26 MFAS 25 Tahun Poncol, Pekalongan
27 AN 29 Tahun Pasir Sari, Pekalongan
28 US 51 Tahun Sapuro, Pekalongan
29 DF 19 Tahun Banyu Urip Alit, Pekalongan
30 MKA 27 Tahun Medono, Pekalongan
31 LH 18 Tahun Panjang Wetan, Pekalongan
32 WY 36 Tahun Panjang Wetan, Pekalongan
33 SP 23 Tahun Noyontaan, Pekalongan
34 MHH 15 Tahun Kandang Panjang, Pekalongan
35 SG 44 Tahun Keputran, Pekalongan
36 BAR 18 Tahun Wiradesa, kab. Pekalongan
37 DS 32 Tahun Sapuro, Pekalongan
38 NC 29 Tahun Bendan, Pekalongan
39 SP 38 Tahun Noyontaan, Pekalongan
40 DN 1,5 Tahun Kesesi, kab. Pekalongan
41 DY 26 Tahun Yosorejo, Pekalongan
42 AM 36 Tahun Sragi, kab. Pekalongan
43 SW 44 Tahun Kandang Panjang, Pekalongan
44 MS 18 Tahun Kertoharjo, Pekalongan
45 AS 62 Tahun Klego, Pekalongan
46 RJ 23 Tahun Denasri Wetan, Pekalongan
47 ZA 49 Tahun Kergon, Pekalongan
48 RN 44 Tahun Cangakan, Pemalang
49 NA 16 Tahun Proyo Tengah, Batang
50 NR 21 Tahun Pringlangu, Pekalongan
51 IV 23 Tahun Candi Areng, Batang
52 LH 25 Tahun Karang Jompo, kab. Pekalongan
53 MR 23 Tahun Medono, Pekalongan
124
54 JP 47 Tahun Karang Malang, Pekalongan
55 SR 23 Tahun Krapyak Lor, Pekalongan
56 MS 50 Tahun Karang Anyar, kab. Pekalongan
57 WP 49 Tahun Kandang Panjang, Pekalongan
58 BT 65 Tahun Poncol, Pekalongan
59 WT 40 Tahun Gamer, Pekalongan
60 AH 26 Tahun Karang Dadap, kab. Pekalongan
61 FR 35 Tahun Kergon, Pekalongan
62 AI 22 Tahun Tirto, kab. Pekalongan
63 SK 55 Tahun Kraton, Pekalongan
64 SB 55 Tahun Landung Sari, Pekalongan
65 MR 62 Tahun Medono, Pekalongan
66 IN 17 Tahun Petarukan, Pemalang
67 DES 20 Tahun Jenggot, Pekalongan
68 IB 26 Tahun Wonokerto, kab. Pekalongan
69 RB 47 Tahun Kandang Panjang, Pekalongan
70 AEKW 26 Tahun Kedungwuni, kab. Pekalongan
125
DATA PASIEN NON-SUSPEK TBC
DI BALAI KESEHATAN PARU MASYARAKAT (BKPM)
PEKALONGAN
No. Nama Usia Alamat
1 MHM 8,5 Tahun Panjang Wetan, Pekalongan
2 SY 40 Tahun Comal, Pemalang
3 RL 67 Tahun Kasepuhan, Batang
4 SD 63 Tahun Pekalongan Timur
5 KM 47 Tahun Taman, Pemalang
6 WL 77 Tahun Bendan, Pekalongan
7 NZ 57 Tahun Banyu Urip Alit, Pekalongan
8 SM 24 Tahun Buaran, Pekalongan
9 AS 46 Tahun Kradenan, Pekalongan
10 MY 72 Tahun Bodeh, Pemalang
11 AS 22 Tahun Noyontaan, Pekalongan
12 SM 31 Tahun Watu Kumpul, Pemalang
13 SF 43 Tahun Bendan, Pekalongan
14 AN 37 Tahun Buaran, Pekalongan
15 SY 32 Tahun Gringsing, Batang
16 SK 55 Tahun Comal, Pemalang
17 M HW 9 Tahun Kebulen, Pekalongan
18 ZAS 4 Tahun Kandang Panjang, Pekalongan
19 MR 9 Tahun Karang Asem, Batang
20 AL 3 Tahun Panjang Wetan, Pekalongan
21 KL 48 Tahun Podosugih, Pekalongan
22 AF 8 Tahun Yosorejo, Pekalongan
23 MR 26 Tahun Gamer, Pekalongan
24 AK 20 Tahun Talun, Pemalang
25 MR 55 Tahun Tirto, kab. Pekalongan
126
26 SN 70 Tahun Ulujami, Pemalang
27 SS 73 Tahun Petarukan, Pemalang
28 SR 44 Tahun Buaran, Pekalongan
29 DY 33 Tahun Krapyak, Pekalongan
30 KB 51 Tahun Denasri, Pekalongan
Pekalongan, Februari 2013
Mengetahui, Peneliti,
Penanggung Jawab BKPM
90
Data Uji Coba Variabel Pelatihan
No. Target hid=50
alfa=0.05
hid=100
alfa=0.05
hid=50
alfa=0.1
hid=100
alfa=0.1
hid=50
alfa=0.2
hid=100
alfa=0.2
hid=50
alfa=0.3
hid=100
alfa=0.3
hid=50
alfa=0.5
hid=100
alfa=0.5 hid=50
alfa=0.75 hid=100
alfa=0.75
hid=10
alfa=0.05
hid=10
alfa=0,1
hid=10
alfa=0,2
hid=10
alfa=0,5
hid=10
alfa=0,7
5
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
9 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
11 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0
12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 1 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1
20 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
21 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1
22 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1
23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
127
Lam
pira
n 1
2
91
25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1
26 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
27 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
28 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
30 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
31 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
33 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
34 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
35 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
36 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
37 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
38 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
39 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
40 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
41 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
42 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
43 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
44 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
45 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
46 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
47 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
49 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
50 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
51 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
52 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
53 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
128
92
54 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
55 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
56 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
57 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
58 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
59 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
60 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
61 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
62 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
63 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
65 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
66 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
67 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
68 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
69 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
70 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
71 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
72 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
73 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
74 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
75 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
76 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
77 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
78 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
79 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
80 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
81 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
82 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
129
93
83 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
84 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
85 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
86 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
87 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
88 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
89 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
90 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
91 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
92 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
93 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
94 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
95 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
96 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
97 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
98 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
99 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
100 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
Time 0:00:09 0:00:10 0:00:09 0:00:16 0:00:11 0:00:10 0:00:11 0:00:18 0:00:08 0:00:11 0:00:10 0:00:11 0:00:07 0:00:09 0:00:08 0:00:07 0:00:07
MSE 0,0378 0,0112 0,0152 0,0217 0,00554 0,00549 0.00383 0,00383 0,00368 0,00144 0,00193 0,00128 0,283 0.135 0,0832 0,012 0,00757
Recognition(
%) 94 100 98 98 99 100 100 100 99 100 100 98 70 82 90 99 100
130