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
terbukti terdapat plagiat dalam skripsi ini, maka saya bersedia menerima sanksi sesuai ketentuan peraturan perundang-undangan.
Semarang, Juli 2013
Ratnaningtyas WP. 4111409005
iii
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
 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.
v
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 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
vii
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
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
ix
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
x
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
xi 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
xii
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
xiii
4.4 Analisis Hasil Kerja Sistem ... 83
5. PENUTUP ... 86
5.1 Simpulan ... 86
5.2 Saran ... 87
DAFTAR PUSTAKA ... 88
xiv
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
xv
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
xvi
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
xvii
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
xviii
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
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
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)
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)
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)
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).
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
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?
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 PenulisanTujuan 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.
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.
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.
(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).
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
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.
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
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
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.
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
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
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 Y m Yj Y1 W11 W1j W1m Wi1 Wij Wim Wn1 Wnj Wnm
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 V 11 V1j V1p Vi1 Vij Vip Vn1 Vnj Vnp W11 W1k W1m Wj1 Wjk Wjm Wp1 Wpk Wpm
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 −𝜀 −𝜀 −𝜀 −𝜀 −𝜀 −𝜀
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 V 1n Vjn Vkn W10 Wk0 Wm0 W11 Wk1 Wm1 W1j Wmj Wkj W1p Wkp Wmp . . . . . . . . . . . . . . . . . .
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 𝑥 )
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 − 𝑡𝑎𝑛 𝑥 .
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.
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 + 𝑒−𝑧_𝑛𝑒𝑡𝑗
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, … , 𝑛
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).
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.
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
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.
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;
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.
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.
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.
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.
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
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
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.