SISTEM PENDUKUNG KEPUTUSAN UNTUK MENDIAGNOSA PENYAKIT DALAM DENGAN JARINGAN SARAF THIUAN
TUGAS AKHIR Diajukan sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Teknik Elektro
Nama
No. Mahasiswa
Sofwan Budi Hartana 02524073
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM INDONESIA YOGYAKARTA
TUGAS AKHIR
Diajukan sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Teknik Elektro
Nama
No. Mahasiswa
Sofwan Budi Hartana 02524073
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM INDONESIA YOGYAKARTA
TUGAS AKHIR
Diajukan sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Teknik Elektro
Nama
No. Mahasiswa
Sofwan Budi Hartana 02524073
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM INDONESIA
YOGYAKARTA
SISTEM PENDUKUNG KEPUTUSAN UNTUK MENDIAGNOSA
PENYAKIT DALAM DENGAN JARINGAN SARAF TIRUAN
TUGAS AKHIR
Disusun oleh:
Nama : Sofwan Budi Hartono
No. Mahasiswa : 02 524 073
Yogyakarta, Juni 2007
PembimbingI
Pembimbingll
SISTEM PENDUKUNG KEPUTUSAN UNTUK MENDIAGNOSA
PENYAKIT DALAM DENGAN JARINGAN SARAF TIRUAN
TUGAS AKHIR
Disusun oleh :
Nama : Sofwan Budi Hartana
No. Mahasiswa: 02 524 073
Telah Dipertahankan di Depan Sidang Penguji sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Teknik Elektro
Fakultas Teknologi Industri Universitas Islam Indonesia
Yogyakarta, Juni 2007
Tim Penguji
Tito Yuwono, ST. Msc
Ketua
Dwi Ana Ratnawati. ST
Anggota I Medilla Kusriyanto, ST Anggota II getahui, T. Elektro Indonesia i n ' > \
kedua orang tuafyi
atas segala doa dan motivasinya, yang sefaCu BerusaHa memBeri^an
yang ter6ai^6uat^u, serta ^edua saudara^u
^eCuarga 6esar^u dan saudara -saudara^u
para dosen, yang memSeri iCmu dan wawasan
yang sangat Berguna untubjnasa depanfcu
teman-teman^u,teman-teman <RJSM?L NurJtidayafi,
teman-teman JIQJZS (Basket (Ball
teman-teman ((fin ^fiusus unit 2
semua orang yang seCaCu memSantu
SI "Dan barang siapa yang bertaqwa kepada Allah niscaya dia akan
menjadikan baglnya kemudahan dalam urusannya" (Qs.Ath Thalaq : 4).
M Imam JLl-Cjhazali: "Jl^hbq adalah sifat yang tertanam dalam jiwa yang dengannya
lahiiiah Sermacam-macam perbuatan, Baif^atau 6uru^ tanpa memhutuhkan pemikiran
dan pertimBangan"(Ihya Vlum ad-THn, jilidIII, him 58).
~M Hidup adalah ibadah, niatkan segala perbuatan karena ibadah, maka
hidup akan terasa indah.
SI Kesulitan tidak pernah ada selama kita mau berusaha untuk
8. Teman-teman Risma Nur Hidayah.
9. Seluruh mahasiswa jurusan Teknik Elektro UII.
10. Seluruh pihak yang tidak dapat di sebutkan satu-persatu, yang telah
membantu serta memberikan support dan doa.
Penulis menyadari bahwa Tugas Akhir ini masih terdapat kesalahan dan
kekurangan. Oleh karena itu, kritik dan saran yang membangun akan senantiasa penulis terima dengan senang hati. Akhirnya, harapan penulis semoga Tugas Akhir
ini dapat bermanfaat bagi kita semua. Amin
Wassalamu'alaikum Wr.Wb
Yogyakarta, 2007
Sofwan Budi Hartana
Assalamu'alaikum Wr. Wb.
Puji syukur kehadirat Allah SWT, atas rahmat dan hidayah serta pikiran yang diberikan. Sehingga penulis dapat menyelesaikan tugas akhir dengan judul
"SISTEM PENDUKUNG KEPUTUSAN UNTUK MENDIAGNOSA
PENYAKIT DALAM DENGAN JARINGAN SARAF TIRUAN". Shalawat dan
salam senantiasa tercurahkan kepada junjungan kita Nabi Muhammad SAW yang
menjadi panutan kita semua hingga akhir zaman.
Adapun maksud dari penyusunan tugas akhir ini adalah untuk memenuhi
kurikulum S-1 Jurusan Teknik Elektro, Fakultas Teknologi Industri, Universitas Islam Indonesia. Disamping itu untuk menambah pengetahuan terhadap ilmu yang telah dipelajari pada masa perkuliahan untuk diterapkan ke masyarakat.
Dalam penyusunan ini, penulis banyak mendapat bantuan dari berbagai pihak, sehingga penulis ingin menyampaikan ucapan terima kasih kepada :
1. Bapak Tito Yuwono, ST., Msc, selaku Kajur Teknik Elektro dan selaku
dosen pembimbing I atas kesediaan waktunya membimbing saya.
2. Ibu Dwi Ana Ratnawati, ST., selaku dosen pembimbing II atas kesediaan
waktunya membimbing saya.
3. Dosen dan karyawan Fakultas Teknologi Industri UII.
4. Kedua orang tua penulis Bapak H. Hartono dan Ibu Hj. Umi jazimah S.Ag yang telah banyak membantu, mendukung dan selalu mendo'akan bagi
penulis.
5. Kedua saudara penulis Mas Taufik Hudi Hartono SE. dan Muhammad Yusuf
Nurrohman atas dukungan, bantuan serta kerja samanya.
6. Teman-teman KKN Khusus Unit 2 Dini, Putra Ade, Danur, Iffah, Ayu kecil,
Ayu gede, Ida, Agung dan semua teman-teman 1 unit.
Halaman Pengesahan Pembimbing ii
Halaman Pengesahan Penguji iij
Halaman Persembahan iv
Halaman Motto v
Kata Pengantar vj
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xji
Abstraksi xjv BAB I PENDAHULUAN 1 1.1. Latar Belakang 1 1.2. Perumusan Masalah 5 1.3. Batasan Masalah 6 1.4. Tujuan 7 1.5. Metodologi Penelitian 7
1.6. Sistematika Penulisan Tugas Akhir 8
BAB II LANDASAN TEORI 10
2.1. Sistem 10
2.2. Sistem Informasi 10
2.3. Sistem Pendukung Keputusan 11
2.4. Jaringan Saraf Tiruan 12
2.6. Fungsi Aktivasi 18
2.7. Proses Pembelajaran 23
2.8. Jaringan Saraf Tiruan Backpropagation 24
2.8.1. Arsitektur Backjyropagation 24
2.8.2. Algoritma Backpropagatiori 26
2.8.3. Algoritma Pelatihan Backpropagatiori 27 2.9. Pengolahan Informasi Dalam Jaringan 33
2.10. Prosedur Pengujian 35
2.11. Penyakit Dalam 36
2.12. Borland Delphi 37
BAB III PERANCANGAN SISTEM 39
3.1. Analisis Sistem 39
3.2. Analisis Kebutuhan 39
3.2.1. Inisialisasi Data Input 41
3.2.2. Penetapan Input 45
3.2.3. Penetapan Output 48
3.3. Desain Sistem 48
3.3.1. Perancangan Diagram Konteks 48
3.3.2. Perancangan Basis Data 50
3.3.3. Perancangan Antar Muka Program 51
4.1. Implementasi 62
4.1.1. Relasi Antar Tabel 63
4.1.2. Implementasi Perancangan Form 66 4.1.2.1. Implementasi Form Splash 66 4.1.2.2. Implementasi Form Login 67
4.1.2.3. Implementasi Form Utama 68
4.1.2.4. Implementasi Form Pelatihan dan Diagnosa 69
4.1.2.5. Implementasi Form Data Pelatihan 73
4.1.2.6. Implemantasi Form Data Penyakit 77
4.1.2.7. Implemantasi Form Data Gejala 78
4.1.2.8. Implemantasi Form Ganti Password 79
4.2. Pembahasan 80 BAB V PENUTUP 88 5.1. Kesimpulan gg 5.2. Saran 38 DAFTAR PUSTAKA LAMPIRAN ' * ^vr \ Of
siir-ii'l'
Ipliu usr •Ww\ ••••
Tabel 3.1. Data 4 Jenis Penyakit Dalam 40 Tabel 3.2. Data Pelatihan dan Variabel Input 47
Tabel 4.1. Input 64
Tabel 4.2. Hasil Pelatihan dengan Fungsi Aktivasi Sigmoid Biner 80 Tabel 4.3. Hasil Pelatihan dengan Fungsi Sigmoid Bipolar 83
Gambar 2.1. Fungsi aktivasi pada jaringan sederhana 13 Gambar 2.2. Jaringan saraf tiruan dengan lapisan tersembunyi 14
Gambar 2.3. Jaringan single layer 16
Gambar 2.4. Jaringan multi layer 17
Gambar 2.5. Fungsi aktivasi undak biner {HardLimit) 19
Gambar 2.6. Fungsi undak biner {Threshold) 19
Gambar 2.7. Fungsi bipolar {symatrik hard limit) 20
bipolar (dengan threshold) 20
linier (identitas) 21
Gambar 2.10. Fungsi saturating linier 21
Gambar 2.11. Fungsi simetri saturating 22
Gambar 2.12. Fungsi sigmoid biner 22
Gambar 2.13. Arsitektur JST backpropagationfeedforward 25
Gambar 2.14. Diagram alir proses feedforward 28
Gambar 2.15. Diagram alir proses koreksi kesalahan 30
Gambar 2.16. Diagram alir proses perbaikan bobot dan bias 32
Gambar 2.17. Diagram pengujian 35
Gambar 3.1. Diagram konteks sistem 48
Gambar 3.2. Antar muka form login 51
Gambar 3.3. Antar muka form menu utama 52
Gambar 3.4. Antar muka form diagnosa 54
Gambar 3.5. Antar muka form latih JST 55
Gambar 2.8. Fungsi Gambar 2.9. Fungsi
Gambar 3.7. Antar muka form ubah data pelatihan
58
Gambar 3.8. Antar muka form lihat data pelatihan
59
Gambar 3.9. Antar muka form data penyakit
60
Gambar 3.10. Antar muka form data gejala
60
Gambar 3.11. Antar muka form bantuan
61
Gambar 4.1. Implementasi form splas {openingprogram)
66
Gambar 4.2. Implementasi form login
57
Gambar 4.3. Implementasi form utama
68
Gambar 4.4. Implementasi form pelatihan
70
Gambar 4.5. Implementasi form pengujian
72
Gambar 4.6. Implementasi form tambah data
74
Gambar 4.7. Implementasi form ubah data
75
Gambar 4.8. Implementasi form lihat data
76
Gambar 4.9. Implementasi form data penyakit
78
Gambar 4.10. Implementasi form data gejala
78
Gambar 4.11. Implementasi form ubah password
79
Gambar 4.12. Grafik dan hasil pelatihan dengan fungsi aktivasi sigmoid biner
81
Gambar 4.13. Hasil pengujian dengan fungsi aktivasi sigmoid biner
82
Gambar 4.14. Grafik dan hasil pelatihan dengan fungsi aktivasi sigmoid bipolar
84
Gambar 4.15. Proses pengujian dengan fungsi aktivasi sigmoid bipolar
85
Gambar 4.16. Grafik dan hasil pelatihan dengan fungsi aktivasi bipolar
86
Gambar 4.17. Hasil pengujian sistem dengan fungsi aktivasi bipolar
87
Dengan berkembangnya teknologi komputerisasi saat ini sudah banyak sistem yang bermunculan, terutama perkembangan perangkat lunak yang perkembangannya sangat
pesat. Pemanfaatan sebuah sistem perangkat lunak berbasis kecerdasan buatan
merupakan salah satu contoh perkembangan teknologi komputerisasi. Jaringan saraf tiruan merupakan salah satu jenis dari kecerdasan buatan. Dalam tugas akhir ini dikembangkan Sistem Pendukung Keputusan untuk mendiagnosa suatu penyakit dalam dengan Jaringan saraf tiruan. Sistem kerja dari diagnosa ini mengacu pada metode
Backpropagation yang merupakan satu metode dari Jaringan saraf tiruan. Pemilihan
digunakannya metode Backpropagation ini berdasarkan pada algoritmanya yang menerapkan pola pembelajaran dan pelatihan dimana dari proses pelatihan ini pola-pola yang telah dipelajari akan dapat dikenali oleh output. Jika muncul pola baru, maka jaringan akan dapat mengenali pola tersebut dari pola-pola yang sudah ada. Dengan semakin banyak pelatihan maka semakin banyak pola-pola yang dapat dikenali. Dalam sistem dibangun beberapa^ww untuk memudahkan pengoperasian dari sistem. Sebanyak lebih dari \0form akan dibuat untuk melengkapi sistem ini. Hasil penelitian ini adalah berupa software yang dapat mendiagnosa penyakit dalam atau sebagai pendukung keputusan untuk menentukan jenis penyakit dalam. Dari hasil pengujian diagnosa penyakit tingkat keakuratan sistem ini sudah mencapai tingkat hampir 100 %, namun masih ada beberapa penyimpangan, yaitu tidak sesuai dengan data sebenarnya. Diharapkan dengan menambah variasi dalam data pelatihan, maka tingkat penyimpangan dapat ditekan lebih kecil sehingga hasil keluaran yang didapat lebih akurat. Untuk kedepannya diharapkan sistem ini dapat ditambahkan beberapa fitur untuk memudahkan pemakaian dan dapat mendiagnosa penyakit lebih banyak lagi.
PENDAHULUAN
1.1 Latar Belakang
Manusia modern seperti sekarang ini cenderung memiliki pola hidup yang tidak teratur jika dibandingkan manusia pada beberapa puluh tahun yang lalu. Ini dibuktikan dengan daya tahan terhadap segala macam penyakir yang dapat dengan mudah menyerang manusia abad 21 ini. Hal ini dapat dikarenakan pola hidup yang tidak baik dan terlalu banyak mengkonsumsi makanan ataupun minuman yang mengandung bahan-bahan yang dapat menimbulkan penyakit untuk jangka waktu beberapa tahun kemudian. Jika kita bandingkan konsumsi makanan yang kita konsumsi dengan manusia pada jaman dahulu memang sangat berbeda.
Kemajuan teknologi memaksa manusia tidak perlu untuk memikirkan masalah
makanan namun cenderung mereka lebih memilih makanan yang instant yang lebih praktis dan cepat saji yang sebenarnya dapat menimbulkan efek yang akan merugikan tubuh. Tidak heran apabila manusia sekarang lebih cenderung cepat terjangkit suatu penyakit dan berumur lebih pendek jika dibandingkan dengan manusia jaman dahulu,
Diantaranya penyakit-penyakit dalam seperti stroke, kanker, paru-paru, ginjal dan beberapa penyakit dalam lainya, yang timbul dari pola hidup dan makanan yang
tidak sesuai aturan.
Kebiasaan merokok, mengkonsumsi alkohol, makan makanan berpengawet dan penggunaan suplemen serta obat-obatan secara berlebihan tanpa resep dokter, merupakan pola hidup yang akan menimbulkan efek yang negatif bagi tubuh kita.
Memang hal ini tidak akan langsung terasa saat itu juga namun dimasa depan
kemungkinan kita terserang berbagai macam penyakit akan semakin terbuka. Saat umur kita sudah tua dan saat sistem kekebalan tubuh kita sudah tidak sehebat pada waktu muda kita akan rentan untuk terserang berbagai macam penyakit.
Jenis penyakit dalam memang lebih sulit untuk terdeteksi. Hal ini dikarenakan letak dan rasa sakit yang tidak terlihat yaitu didalam tubuh manusia. Perlu dilakukan
beberapa tahap untuk melakukan diagnosa terhadap penyaki-penyakit dalam. Contohnya dengan melakukan foto roncen, yang sebelumnya akan di diagnosa dulu seperti apa sakit yang diderita oleh pasien dan letak dari rasa sakit tersebut, sehingga roncen akan lebih mudah untuk dilakukan. Pengambilan keputusan dari dokter pada saat awal diagnosa jenis penyakit pasien memegang peranan penting, dimana hal ini akan menentukan langkah selanjutnya yang akan diambil untuk penanganan penyakit
operasi atau penyembuhan dengan obat.
Untuk melakukan diagnosa penyakit dalam seorang dokter tidak boleh asal-asalan, karena hal ini menyangkut kelanjutan nasib dari pasien. Dokter dituntut untuk melakukan diagnosa yang akurat agar pasien dapat langsung diambil tindakan selanjutnya. Penyakit dalam membutuhkan diagnosa yang lebih teliti dan
tepat karena salah diagnosa akan berakibat fatal bagi nyawa pasien, sehingga
dokter harus benar-benar mengerti dan faham betul apa dan bagaimana rasa sakit yang dirasakan pasien. Organ tubuh dalam manusia tidak terdeteksi oleh panca
indra seperti paru-paru, ginjal, hati, lambung dan beberapa organ yang lain. Hal ini merupakan pekerjaan yang tidak mudah untuk melakukan diagnosa dari suatu penyakit yang diderita oleh pasien. Kadang-kadang gejala yang timbul sama
namun penyakit yang diderita pasien berbeda.
Dokter modern saat sekarang ini lebih maju dengan adanya
penemuan-penemuan teknologi dibidang kedokteran yang semakin memudahkan untuk
melakukan pekerjaan. Diantara perkembangan teknologi yang berkembang sampai saat ini adalah penggunaan perangkat lunak komputer yang dapat membantu dan
bukan menggantikan tugas para dokter.
Dengan perkembangan software tersebut diharapkan dapat membantu mengenali dan mendiagnosa penyakit-penyakit yang diderita oleh pasien. Perkembangan software ini khususnya yang berhubungan dengan Artificial
cakrawala baru bahwa sebuah komputer dapat berinteraksi seperti halnya manusia.
Tentu saja hal ini tidak semudah yang diharapkan karena perbedaan fisik antara
keduanya. Sebuah komputer dapat berinteraksi selayaknya manusia jika diberi
pengetahuan terlebih dahulu. Dengan pangenalan pola atau objek tertentu maka
komputer tersebut dapat berinteraksi. Diantara objek itu adalah jenis-jenis penyakit pada manusia.
Pengenalan pola atau objek merupakan salah satu teknologi software komputer yang berkembang sangat cepat Hal ini akan sangat berguna jika dapat dimanfaatkan secara maksimal dalam kehidupan manusia. Untuk mengenali objek atau pola
tersebut akan lebih mudah jika pola tersebut memiliki perbedaan ciri antara jenis
yang satu dengan yang lainya. Sebab perbedaan ciri tersebut akan digunakan sebagai
indikator yang akan disimpan pada basis data untuk mengenal dan membedakan pola
atau objek tersebut. Sebelum pengenalan pola biasanya dilakukan pelatihan terlebih
dahulu untuk mendapat pola objek yang sesuai dengan target. Salah satu metode yang
paling menonjol dalam pemrograman pengenalan objek atau pola adalah Atificial NeuralNetwork atau yang lebih dikenal dengan Jaringan saraf tiruan.Jaringan saraf tiruan adalah model komputasi yang dapat bekerja seperti sistem
saraf biologis manusia pada saat berhubungan dengan dunia luar saat diaplikasikan dalam kehidupan nyata. Pada dasamya prinsip kerja Jaringan saraf tiruan adalah meniru cara kerja jaringan saraf biologis manusia. Jaringan saraf tiruan merupakan
perkiraan. Hampir 80% lebih aplikasi berbasis Jaringan saraf tiruan menerapkan metode Backpropagation karena kemudahan dalam menangani pelatihan dan pengujian data.
Tugas akhir ini diharapkan dapat membantu tugas dokter dalam melakukan
pekerjaanya dan bukan untuk menggantikan peran dokter, terutama bagi masyarakat umum dapat sebagai referensi untuk mendiagnosa suatu jenis penyakit dalam yang dia derita dengan cara memasukan input berupa gejala-gejala yang di rasakan kemudian dengan input tersebut nantinya akan dilakukan pembelajaran oleh sistem
Jaringan saraf tiruan yang telah dibangun guna menentukan dan menyimpulkan jenis
penyakit yang diderita. Hal ini juga dapat dilakukan sebagai rujukan sebelum melakukan diagnosa selanjutaya dan sebagai pertimbangan untuk pemeriksaan ke
dokter yang tepat. Sehingga nantinya hal ini akan dapat digunakan sebagai referensi
untuk menentukan jenis penyakit apa yang kita derita.
1.2 Perumusan Masalah
Dari latar belakang diatas dapat diambil beberapa identifikasi masalah yang
mendasar yaitu :
1. Adanya kesulitan dalam melakukan diagnosa untuk menentukan jenis
dokter dan ahli medis tersebut.
2. Kurangnya referensi yang dimiliki oleh dokter dan ahli medis untuk
menentukan suatu jenis penyakit dalam yang diagnosanya memerlukan
keakuratan dan ketelitian yang tepat, baik berupa alat ataupun buku penunjang yang dapat digunakan sebagai alat bantu untuk menyimpulkan
diagnosa dari jenis penyakit pasiennya.
3. Alat yang terlalu rumit yang tidak mungkin untuk di fahami ataupun dioperasikan oleh penderita suatu penyakit dalam, sehingga tidak dapat
dioperasikan sendiri dirumah dan harus dengan petunjuk dokter serta hams
melakukan diagnosa dirumah sakit untuk mengetahui sakit yang diderita
oleh pasien itu sendiri.
1.3 Batasan Masalah
Pembatasan masalah perlu dilakukan agar tidak terjadi pembahasan yang tidak
berhubungan/atau diluar konteks sehingga mudah untuk di mengerti dengan baik,
adapun batasan masalah pada tugas akhir ini adalah :
1. Penyakit yang dapat di diagnosa perangkat lunak dalam tugas akhir ini
adalah terbatas pada 4 penyakit yaitu: gagal ginjal kronis, tuberkulosis,
1.4 Tujuan
Tujuan dari penyusunan tugas akhir ini adalah :
1. Membuat suatu program simulasi yang mampu mendiagnosa beberapajenis
penyakit dalam yang diderita manusia.
2. Untuk mengetahui kinerja dari Jaringan saraf tiruan, khususnya metode
Backpropagation didalam suatu pengolahan sistem informasi.
1.5 Metodologi Penelitian
1. Pengambilan Data
Data diperoleh dari hasil wawancara dengan dokter penyakit dalam di Klinik Apotek Unisia Universitas Islam Indonesia dan studi pustaka berupa buku, artikel, makalah dan tutorial yang tersedia pada website di internet. 2 Studi Pustaka
Pengumpulan data ini digunakan untuk informasi yang berkaitan dengan
proses penyusunan tugas akhir, sehingga dapat digunakan sebagai acuan
untuk membuat proses perancangan.
3. Pemecahan Masalah
Sistematika penulisan dan pembahasan laporan tugas akhir ini dapat
dijelaskan sebagai berikut:
BAB I : PENDAHULUAN
Bab ini merupakan pengantar permasalahan yang dibahas seperti latar
belakang, perumusan masalah, batasan masalah, metodologi penelitian dan
sistematika penulisan.
BAB II: LANDASAN TEORI
Bab ini membahas dasar teori yang digunakan untuk membangun sistem yang diharapkan dapat memecahkan permasalahan yang telah dirumuskan.
Diantaranya teori tentang sistem, jaringan saraf tiruan, peangkat lunak yang
digunakan dan beberapa jenis penyakit dalam yang akan dideteksi.
BAB III: PERANCANGAN SISTEM
Bab ini membahas tentang perancangan sistem yang akan dibangun
diantaranya meliputi definisi sistem, analisis sistem, analisis kebutuhan, dan
desain sistem. Perancangan ini diantaranya penetapan input dan output,
perancangan algoritma Jaringan saraftiruan, dan perancangan antarmuka. BAB IV : IMPLEMENTASI DAN PEMBAHASAN SISTEM
Bab ini membahas tentang implementasi sistem yang dirancang pada bab
BAB V: PENUTUP
Bab ini memuat kesimpulan dari sistem yang telah dirancang dan di
implementasikan, kemudian saran yang dipaparkan berkaitan dengan keterbatasan
LANDASAN TEORI
2.1. Sistem
Sistem dapat didefinisikan sebagai suatu kesatuan yang terdiri dari dua
atau lebih komponen atau subsistem yang berinteraksi untuk mencapai suatu
tujuan.
2.2. Sistem Informasi
Sistem informasi mempakan suatu sub atau bagian dan sistem. Sistem
informasi sendiri memiliki definisi yaitu suatu sistem didalam suatu organisasi
yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media, prosedur-prosedur, dan pengendalian yang ditujukan untuk mendapatkan jalur komunikasi
penting, memproses tipe transaksi tertentu, memberi sinyal kepada manajemen dan yang lainya terhadap kejadian-kejadian internal dan eksternal yang penting dan menyediakan dasar informasi untuk pengambilan keputusan yang cerdik.
Sistem informasi sendiri memiliki beberapa sub bagian diantaranya:
1. Sistem pengolahan data 2. Sistem informasi manajemen 3. Sistem pendukung keputusan
4. Sistem otomasi kantor
2.3 Sistem Pendukung Keputusan
Konsep sistem pendukung keputusan pertama kali diungkap awal tahun 1970 dengan istilah Management Decision System. Sistem tersebut adalah suatu sistem yang berbasis komputer yang ditujukan untuk membantu mengambil keputusan dalam memanfaatkan data dan model tertentu untuk memecahkan berbagai persoalan yang tidak terstruktur.
Keputusan adalah tindakan yang diambil sebagai dasar suatu permasalahan,
sedangkan Discision Making adalah proses pemilihan diantara beberapa tindakan
alternatif yang ada untuk mencapai satu atau beberapa tujuan yang telah ditetapkan.
Sistem pendukung keputusan sendiri memiliki definisi yaitu suatu bentuk sistem informasi berbasis komputer yang interaktif, fleksibel dan secara khusus dikembangkan
untuk mendukung suatu penyelesaian dari suatu masalah manajemen yang tidak terstruktur untuk memperbaiki pembuatan keputusan. Sistem pendukung keputusan menggunakan data-data sebagai input dan dengan suatu proses menghasilkan output yang
akan membantu membuat keputusan.
Secara khusus pengambilan keputusan menghendaki sejumlah sasaran dan tujuan, sejumlah alternatif tindakan resiko atau perolehan dari sikap alternatif yang berkaitan dan kriteria pemilihan yang dapat memperhatikan tindakan yang terbaik. Keinginan dan kebutuhan dari setiap orang dinyatakan dalam bentuk tujuan dan sasaran, sehingga tiap
2.4 Jaringan Saraf Tiruan
Jaringan saraf tiruan mulai dikembangkan sejak tahun 1940. Belum ada definisi
tentang hal ini sehingga Jaringan saraf tiruan merupakan sistem komputasi yang didasarkan atas pemodelan sistem saraf biologis manusia melalui pendekatan dari sifat-sifat komputasi
biologi.
Jaringan saraf tiruan merupakan model sistem komputasi yang bekerja seperti sistem saraf biologis sehingga maksud dari Jaringan saraf tiruan adalah membuat sistem komputasi yang dapat menimkan cara kerja jaringan saraf biologis. Untuk menggunakan Jaringan saraf tiruan ini dibutuhkan pola pembelajaran dan pelatihan dari sistem sehingga dapat mengenali pola-pola masukan yang akan menghasilkan keluaran yang sesuai dengan yang kita inginkan.
Dari beberapa definisi yang ada Robert Hec Nielsend mendefmisikan Jaringan saraf
tiruan adalah suatu struktur pemrosesan informasi yang terdistribusi dan bekerja secara paralel, yang terdiri dari elemen pemroses (yang memiliki memori lokal dan beroperasi dengan informasi lokal) yang terkoneksi bersama dengan alur sinyal searah yang disebut
koneksi.
Pada dasarnya jaringan saraf biologis sendiri terdiri dari banyak elemen pemroses
yang disebut neuron, sel atau simpul yang setiap sel saraf tersebut saling berhubungan satu
dengan yang lain, menggunakan sel komunikasi yang teratur dengan suatu bobot penghubung. Jaringan saraf tiruan mempunyai sifat yang sama seperti dimiliki jaringan saraf
biologis pada manusia antara lain :
2 Kenyan untuk melakukan p_ ^ ^ ^
^ ^ ^
pengalaman yang dimilikinya
3. KemampU3„ meraisahkan (afam>wfaf) ^
^
^ ^ ^
mengandung dam yang dibutuhkan dan yang tidak d,butunkan
Janngan saraf tiruan (^^^.^ ^ ^ ^ ^ ^ ^
donnas, yang karaktensttk k,„e,anya „„, jar|ngan ^ ^ ^
^
beberapa keadaan. mengenal pola serta fungsi-fungs, la.nnya
Jaringan sarafnruan dikarakteristikan dengan :
1 Pola konekst antar neuron (areitektur)
2 Metode tnenentukan bobo, pada koneksi <pMbn aUu pembdajaran ^^
3. Fungsi aktivasinya
—an -*. sua, „euro„. Perabatean ,„, sanga( berkaian dengM
-upakan fungs, akttvas, ya„g pal|„g senng ^km^ ^
^ ^
Pada gambar diatas, neuron mengolah Ninput (X, X x
&
input (Xj, x2, X3,
xn) yang masing-masing
y x
memiliki bobot W,, W2, ..., Wn dan bobot b.as bdengan rumus :
2
i=la = ^ XjW;
delta b = alpha *galat
b(baru) = b(lama) + delta b
ftmgsi aktivasi Fakan mengaktivasi (a) menjad, o^janngan (y).
Fungsi aktivas, pada Jaringan saraftiruan dengan lapisan tersembunyi
pada gambar dibawah :
Input
Output
(2.0)
lebih komplek seperti
Gambar 2.2 Janngan SarafT.ruan Dengan Lap.san Tersembunyi
Janngan saraft,ruan pada gambar terd.n atas ,,ga s.mou, awal X„ X2, dan X3 yang
d,sebu, u„„ ,„„„,, varlabel zd|sebu, un|( Kreembuny| (mdm) ^ ^ ^^^ ^ ^^
Y2 d.sebu, urn, oulpul Masmg.mas.ng u„„ mpu, x„ X2 dan x3 yang terhubung ke u„„
bMden Zmem,„k, bobot V„ V2 dan V,. ,„p„,Jaringan (zJn) ^ „., ^ z^
z_in =Xj V,+ X2V2+ X3V3
(2 1)
Aktivasi ypada unit hidden Zdihasilkan dan in/*,/jaringan (z_in) dengan
z=/(z_in). fungsi aktivas, Zbempa fungsi sigmoid f(x) ditunjukan pada persamaan
1
f(z_in) =
1+ exp(-zin) (2.2)
Sinyal aktivasi Zpada unit Zdikirim ke unit output Y, dan Y2. Unit hidden Zyang
terhubung ke unit output Y, dan Y2 dan memiliki bobot W, dan W2
Input jaringan YJn, dan Y_,n2 pada mas.ng-masing unit output Yl dan Y2 adalah
jumlah terbobot dan sinyal aktivas, Yterhadap bobot-bobot V, dan V2 yang ditunjukan
pada persamaan berikut:
Y in, = zWi
~ '
J
(2.3)
^n2=zW2
(24)
Aktivas, Yl dan Y2 dihasilkan dar, input janngan Y=f(y_m) dan dltunjukan pada
persamaan berikut:
f(y_m!)= 1
l+exp(-y_in,) f(y_,n2)
l+exp(-y_m2)
Hastl dar, fungsi Y, dan Y2 akan d.gunakan untuk mencari gala, mmmum yang dltunjukan
pada persamaan berikut:
/(y_ inj =f(y__,nl){] -f(y__inl)}
(2 ?)
/(y_in2) =f(y_,n2) {1 -f(y_in2)}
(2 g)
(2.5)
2.5 Arsitektur Jaringan Saraf Tiruan
Konstruksi dari Jaringan saraf tiruan terdiri atas beberapa komposis, yang harus ada
dalam setiap Jaringan saraf tiruan. Janngan saraf tiruan memiliki bentuk-bentuk aisitektur
jaringan yang terbagi atas : 1. Single layer net
Janngan Single layer merupakan satu laporan koneksi bobot. Bobot koneksi
unit tersebut dapat dibedakan menjad, unit input yang menenma sinyal atau isyarat
dan luar, dan unit output yang merespon janngan sehingga dapat dibaca. Dalam
janngan Single layer setiap unit input mempunyai hubungan dengan unit-unit output
tetapi tidak berhubungan dengan unit input yang lain, dan unit-unit output tidak
mempunyai hubungan dengan unit output yang lain. Bobot untuk satu output
mempengaruh, bobot untuk unit output yang lain, yang ditunjukan pada gambar
berikut:
Input Output
2. Multi layer
Jaringan multi layer adalah suatu janngan dengan satu atau lebih lapisan
simpul (dmamakan hidden unit) diantara unit input dan unit output. Janngan multi
layer merupakan satu lapisan bobot-bobot yang diantara dua level unit yang
berdekatan atau perbatasan {input, hidden .output). Jaringan multi layer dapat
menyelesaikan lebih banyak permasalahan yang rumit dibandingkan jaringan single
layer. Dalam beberapa kasus pelatihan dan janngan multi layer akan lebih berhasil,
karena janngan ini memungkinkan untuk menyelesaikan masalah yang tidak dapat
dilatih pada janngan single layer. Bentuk arsitektur janngan ini dapat dilihat pada
gambar berikut: Input Keterangan : X = Unit Input Y = Unit Output Z = Unit Hidden Output
V = Neuron dari X ke Z (bobot v)
W = Neuron dari Z ke Y (bobot w) 3. Competitive layer
Competitive layer merupakan bagian dan Jaringan saraf tiruan. Jaringan ini tidak
banyak dibahas dalam buku-buku tentang Jaringan saraf tiruan. Bentuk dari lapisan
competitive merupakan bagian dari jumlah yang besar pada Jaringan saraf tiruan.
Pada dasamya hubungan antara neuron satu dengan yang lain pada lapisan
kompetitiftidak ditunjukan secara arsitektur pada beberapa jaringan saraf.
2.6 Fungsi Aktivasi
Seperti yang telah dijelaskan dibagian sebelumnya, operasi dasar dari Jaringan saraf
tiruan meliputi penjumlahan bobot sinyal input dm menghasilkan suatu output, atau fungsi
aktivasi. Ada beberapa fungsi aktivasi yang senng digunakan dalam Jaringan saraf tiruan
antara lain :
a. Fungsi Undak Biner{hard Limit)
Jaringan saraf tiruan dengan lapisan tunggal senng menggunakan fungsi undak
untuk mengkonversi input dan suatu label variabel yang bernilai kontinue ke
Y =
{ 0 , jikax<0
1, jika x > 0
Gambar 2.5 Fungsi Aktivasi Undak Biner {HardLimit)
b. Fungsi Undak Biner {Threshold)
Merupakan fungsi undak biner dengan menggunakan nilai ambang yang sering
disebut dengan nama fungsi nilai ambang {Threshold) atau fungsi Heafisida.
Fungsi ini dirumuskan sebagai berikut:
fy
0, jika x < 0
Y =
1, jika x > 0
0 0 x
Gambar 2.6 Fungsi Undak Biner {Threshold)
c. Fungsi Bipolar {Symatrik Hard Limit)
Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya saja
output yang dihasilkan berupa angka 1,0 dan -1, fungsi ini dirumuskan :1, Jika x> 0 y = K 0, Jika x 0 1, Jika x < O ik 1 0 1 -1
Gambar 2.7 Fungsi Bipolar {Symatrik Hard Limit)
d. Fungsi Bipolar (Dengan Threshold)Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner dengan
Threshold, hanya saja output yang dirumuskan bempa 1, 0 dan -1. fungsi bipolar
(dengan nilai ambang 0) dirumuskan sebagai berikut:
1, Jika x>0
Y
{.;
-1, Jika x< 0-1
Gambar 2.8 Fungsi Bipolar (Dengan Ihresshold)
e. Fungsi Linier (Identitas)
Fungsi linier memiliki nilai output yang sama dengan nilai inputnya. Fung
linier dirumuskan sebagai berikut:Gambar 2.9 Fungsi Linier (Identitas) f. Fungsi Saturating Linier
Fungsi ini akan bemilai 0 jika inputnya kurang dari - V2 dan akan bernilai 1 jika
inpumya lebih dari !/2 Sedangkan jika nilai input terletak antara - Vi dan V2 maka
output akan bemilai sama dengan nilai inputnya
1, Jikax>0
X+0.5, Jika -0.5 <_x<_0.5 1-1, Jika x <-0.5
-0.5 0 0.5
Gambar 2.10 Fungsi Saturating Linier g. Fungsi Symetric SaturatingLinier
Fungsi ini akan bemilai -1 Jika inputnya kurang dari -1 dan akan bernilai 1 jika
inputnya lebih dan 1, sedangkan jika input terletak antara -1 dan 1 maka
Gambar 2.11 Fungsi Simetri Saturating Linier
h. Fungsi SigmoidBinerFungsi ini digunakan untuk Jaringan saraf tiruan yang dilatih dengan
menggunakan metode Backpropagation. Fungsi sigmoid biner nilai pada range 0
sampai dengan 1. Oleh karena itu fungsi ini senng digunakan untuk Jaringan
saraf tiruan yang membutuhkan nilai outputnya yang terletak pada interval 0
sampa, 1. Fungsi ini bisa juga digunakan oleh janngan yang nilai outputnya 0
atau 1.
Fungsi sigmoid biner dapat didefinisikan sebagai berikut:
y =fx (x)
1+ e- (2.9) Turunannya adalah y'=/'(*>= —,(l+e y
(2io)
y'=/1'(x) =^(x){l-^(x)}(zll)
2.7 Proses Pembelajaran
Jaringan saraf tiruan dalam penggunaanya memerlukan suatu algoritma belajar yaitu, bagaimana sebuah konfigurasi Jaringan saraf tiruan dapat dilatih untuk mempelajari data
histories yang ada. Dengan pelatihan ini pengetahuan yang terdapat pada data dapat diserap
dan direpresentasikan oleh harga-harga bobot koneksi. Ada tiga jenis algorima
pembelajaran, yaitu :
1. Supervised Training
Pelatihan dilakukan dengan menyajikan suatu deret pola-pola atau vektor-vektor
dimana pola-pola tersebut terhubung dengan output target {output yang diinginkan). Kemudian bobot-bobot tersebut disesuaikan berdasarkan algoritma pelatihan. Pada proses pembelajaran, satu pola input akan diberikan ke satu neuron pada lapisan
input, pola ini akan dirambatkan sepanjang jaringan hingga sampai ke neuron pada
lapisan output. Lapisan output ini akan membangkitkan pola output yang nantinya akan dicocokan dengan pola output targetnya. Jika terjadi perbedaan antara pola
output hasil dengan hasil pembelajaran dengan pola outputtarget, maka akan muncul error, jika nilai error cukup besar mengidentifikasikan bahwa perlu dilakukan proses
pembelajaran kembali.
2. Unsupervised Training
Tidak perlu dilakukan suatu pelatihan data untuk menghubungkan antara
vektor-vektor input dengan vektor-vektor output target. Jadi yang disediakan hanya suatu deret vektor-vektor input, tanpa adanya vektor-vektor target. Jaringan hanya melakukan
penyesuaian bobot hingga vektor-vektor input yang serupa atau mirip akan
3. Fixed Weight Nets
Pada jaringan ini penentuan bobot dilakukan untuk menentukan batasan maksimal
dan minimalnya dengan demikian bobot koneksi tidak akan pernah berubah.
2.8 Jaringan Saraf Tiruan Backpropagation
Jaringan Backpropagation merupakan salah satu model Jaringan saraf tiruan yang
paling populer. Pada jaringan Backpropagation tidak terdapat hubungan dua arah tetapi
selama pelatihan kesalahan hasil perhitungan digunakan lagi pada proses awal.
Backpropagation merupakan jenis supervised learning dimana output jaringan
dibandingkan dengan target yang diharapkan. Sehingga diperoleh error output. Pada
Backpropagation ada dua tahap dalam putaran learningnya, yaitu untuk merambatkan pola
input melalui jaringan dan untuk menyesuaikan outputnya, dengan mengubah bobot pada
jaringan.
Error pada output menentukan perhitungan kesalahan pada lapisan hidden yang
digunakan sebagai dasar penyesuaian bobot antara layer input dengan lapisan hidden. Proses
iterasi akan berhenti setelah kesalahan mencapai minimum.
2.8.1 Arsitektur Backpropagation
Karakteristiknya Jaringan saraf tiruan Backpropagation ditentukan oleh pola
hubungan antar neuron (arsitektur). Arsitektur dasar yang paling banyak digunakan pada
Backpropagation adalah feedforward yang mempakan jenis supervised training, yaitu
janngan yang hubungan dari lapis input sampai lapis output mempunyai arah maju.
Feedforward backpropagation memiliki jumlah pasangan pola terbatas yang memuat pola
input dan kebutuhan atau target pola output. Pola dibenkan pada input layer, disini neuron
melewati aktivasi pola ke layer neuron berikutnya yaitu hidden layer. Output dari hidden
layer diperoleh dengan menggunakan bias dan fungsi threshold (ambang batas) dengan
menentukan aktivasi dari bobot dan input. Output hidden layer menjadi input pada lapis
output, yang memproses input dengan menggunakan bias dan fungsi threshold. Output akhirdari jaringan ditentukan oleh aktivasi dari output layer.
Hasil perhitungan output aktual {output yang dihitung) dibandingkan dengan pola
target output, kemudian dihitung error untuk setiap komponen output dan dilakukan
penyesuaian bobot antara hidden layer dan output layer. Perhitungan yang sama masih
didasarkan pada error output, dibuat untuk menyesuaikan bobot antara input layer dan
hidden layer. Prosedur ini diulang untuk setiap pasangan pola yang ditentukan untuk
pelatihan jaringan. Arsitektur Backpropagation dapat dilihat pada gambar
S....t...t
Gambar 2.13 Arsitektur Jaringan Saraf Tiruan Backpropagation Feedforward
Arsitektur Backpropagation yang diperlihatkan pada gambar diatas merupakan
Backpropagation dapat memiliki lebih dari satu layer. Jumlah simpul atau node terhubung
pada input layer dan output layer ditentukan dan jumlah pola-pola input dan pola-pola
output.
Unit-unit output dan unit-unit hidden masing-masing memiliki bias. Bias pada unit
output Yk dmotasikan sebagai Vok dan bias pada unit hidden Z] dilambangkan dengan Wok.
2.8.2 Algoritma Backpropagation
Pelatihan pada Backpropagation Neural Network meliputi tiga tahap :
a.
Pelatihan umpan maju pola-pola input {Feedforward)
Dalam proses feedforward setiap unit input (X,) akan menenma sebuah sinyal dan
memancarkan sinyal tersebut ke unit-unit hidden Z,, Z2,
,Zp Setiap unit hidden
melakukan perhitungan terhadap fungsi aktivasi dan menginmkan sinyal (Zj) ke setiap
unit output. Setiap unit output (Yk) melakukan perhitungan terhadap fungsi aktivasinya
dan memberikan sinyal output (Yk) yang merupakan respon jaringan tersebut dan
setiap pola-pola input yang diberikan.
b.
Perhitungan terhadap error {Backpropagation)
Selama pelatihan setiap unit output membandingkan aktivasi output yang dihasilkan
Yk dengan nilai target Tk untuk menentukan kesalahan yang berhubungan dengan
pola-pola pada unit tersebut. Berdasarkan pada kesalahan ini, besaran koreksi
kesalahan dk (k = 1, 2,
, m) dapat dihitung dan digunakan untuk
mendistribusikan kesalahan yang terdapat pada unit output Yk ke semua unit pada
Koreksi kesalahan dk digunakan untuk memperbaiki bobot-bobot antara output layer
dan hidden layer. Dengan cara yang sama, besaran dj (j = 1, 2,
p) dihitung pada
setiap unit hidden Zy Koreksi error d} tidak digunakan untuk mengirimkan kesalahan
ke input layer, tetapi digunakan untuk memperbaiki bobot-bobot antara hidden layerdan input layer.
c. Penyesuaian Bobot
Setelah semua besaran koreksi error d ditentukan, secara bersamaan bobot untuk
semua layer disesuaikan. Penyesuaian terhadap bobot Vjk (dari unit hidden Z] terhadap
unit output Yk) berdasar pada besaran dk dan aktivasi Z} dari unit hidden Zy
Penyesuaian terhadap bobot Wjj (dari unit input X: terhadap unit hidden Zj) berdasar
pada besaran d] dan aktivasi Xx dari unit Xv Setelah pelatihan selesai, aplikasi dari
jaringan hanya membutuhkan prosesfeedforward untuk menghasilkan output.2.8.3 Algoritma Pelatihan Backpropagation
Fungsi aktivasi menjadi salah satu penentu dalam pelatihan Jaringan saraf tiruan
dengan algoritma backpropagation standar. Sebelum proses pelatihan yang terdiri dari tiga
tahap dimulai, pertama ditentukan dulu bobot awal secara acak dan toleransi kesalahan
minimum. Bobot awal ini nantinya akan dnnisialisasi dan digunakan pada proses
feedforward awal, sedangkan proses selanjutnya menggunakan bobot-bobot yang telah
mengalami perbaikan. Toleransi kesalahan minimum (s) berfungsi sebagai pembatas
berulangnya proses iterasi dalam suatu pelatihan yang akan terus berulang sehingga
diperoleh koreksi kesalahan yang sama dengan atau lebih kecil dan toleransi kesalahanminimum karena pada awal perhitungan koreksi kesalahan menggunakan bobot awal secara
acak. Diagram alir prosesfeedforward diperlihatkan pada gambar berikut:
Start
Baca pola pelatihan
Inisialisasi bobot tiap lapisan
Kerjakan persamaan 2.10 dan 2.11 untuk
menentukan output pada aktivasi input
Kerjakan persamaan 2.12 dan 2.13 untuk
menentukan output pada aktivasi hidden
End
Gambar 2.14 Diagram alir Proses Feedforward
Langkah-langkah dari prosesfeedforward dapat ditentukan sebagai berikut: Langkah 0 : Inisialisasi bobot dengan nilai acak terkecil.
Langkah 1 : Selama kondisi berhenti belum terpenuhi, laksanakan langkah 2
Langkah 2 Langkah 3
Langkah 4
Langkah 5
: Untuk tiap pasangan pelatihan, kerjakan langkah 3 sampai 8.
: Setiap unit input (Xx, I = 1,...,n) menerima sinyal input X, dan mengirimkan sinyal tersebut pada unit selanjutnya {hidden layer) Z.. Setiap unit hidden (Zj, j = 1,... ,p) menjumlahkan sinyal-sinyal
terbobotnya :
Z_in/-u'oy+ ]T XjWjj
(2.12)Kemudian menerapkan fungsi aktivasinya untuk menghitung sinyal
output :
Zj = f(zJrij)
(2.13)
Dan mengirimkan sinyal ini pada semua unit pada lapis selanjumya
{output layer).Setiap unit output (Yk, k = 1,2,3.., m) menjumlahkan sinyal input
terbobot:
t
yjnk = wok + > ZjWjk ./=i
(2.14)
Dan terapkan fungsi aktivasi untuk menghitung sinyal output
Yk =f(y_ink)
(2.15)
Pada gambar dibawah ditunjukan diagram alir proses koreksi
•
Start
\ r
Kerjakan persamaan 2.17 untuk menentukan koreksi kesalahan
^
Kerjakan persamaan 2.18 dan 2.19 untuk menentukan koreksi bobot bias
^
Kerjakan persamaan 2.20 untuk
menentukan aktivasi dari koreksi kesalahan output
i r
Kerjakan persamaan 2.21 untuk
menentukan koreksi kesalahan hidden
"
Kerjakan persamaan 2.22 dan 2.23 untuk
menentukan koreksi bobot dan bias input
1f
End
Gambar 2.15 Diagram Alir Proses Koreksi Kesalahan
Langkah 6 : Pada tiap unit output (Yk, k = 1,2,3..,m) menerima pola output target
yang bersesuaian dengan pola input pelatihan, untuk menghitung kesalahannya :
kemudian menghitung besar koreksi bobotnya (untuk memperbaiki
Yik):
Av,A- = a8,x,
(2.18)
Selanjutnya menghitung besar koreksi biasnya yang akan digunakan
untuk memperbaiki v„;:
Avoj=adj
(2i9)
Dan mengirimkan 5k ke unit-unit sebelumnya.
Langkah 7
:Pada tiap unit hidden (zj, j = 1,
, p) jumlahkan input deltanya
(dari unit layer selanjutnya/output layer)
m
8>,-= X 8*v*.
(2.20)
Kemudian hasil ini akan digunakan untuk menghitung besar informasi
kesalahan :
Sj =8_injf'(zjnj)
(2.21)
Selanjutnya menghitung besar koreksi bobotaya untuk memperbaiki
Awv =adkzj
(2 22)
Dan hitung koreksi biasnya untuk memperbaiki wo/ :
Pada gambar 2.15. ditunjukan diagram alir dari proses perbaikan bobot dan bias dari unit input dan unit hidden.
Start
Kerjakan persamaan 2.24 dan 2.25 untuk memperbaiki bobot dan bias
Kerjakan persamaan 2.26 dan 2.27 untuk
memperbaiki bobot dan bias input
tidak ' ya Simpan bobot '' End
Gambar 2.15 Diagram Alir Proses Perbaikan Bobot dan Bias
Langkah 8 : Setiap unit output (yk, k = 1, , m) diperbaiki bias dan bobotnya :
Vjk(new) = Vjk(old) + Avjk
(2.24)
vok(new) = vok(old) + Avok (2.25)
dimana (j = 1, , p)
masing-masing unit hidden (zp j = 1,
, p) diperbaiki bias dan
Wij(new) =w,j(old) +AWlJ
(2.26)
woj(new) =woj(old) +Awoj
(2.27)
dimana (I = 1, , n)
Langkah 9
:Proses berhenti ketika koreksi
kesalahan {error) mencapai
minimum.Suatu jangka waktu (epoh) adalah satu set putaran vektor-vektor pelatihan. Beberapa
epoh diperlukan untuk pelatihan Jaringan saraf tiruan Backpropagation. Dalam
algoritma ini dilakukan perbaikan bobot setelah masing-masing pola pelatihan
disajikan. Setelah pelatihan selesai bobot yang telah mengalami perbaikan tersebut
disimpan dalam sistem.
2.9 Pengolahan Informasi Dalam Jaringan
Ketika struktur Jaringan saraf tiruan berhasil dibuat, informasi sudah dapat diproses.
Dalam jaringan terdapat beberapa elemen pokok yang berperan dalam pengolahan informasi
yaitu :
1. Masukan
Setiap masukan bersesuaian dengan sebuah atribut tunggal. Nilai suatu atribut
mempakan masukan pada janngan. Beberapa tipe data dapat digunakan sebagai
masukan, tetapi hams diingat bahwa operasi pada jaringan hanya dapat mengolah masukan yang bempa angka. Jika ada masukan yang melibatkan atribut yang bersifat kualitatif ataupun gambar/citra, maka hams diproses dulu dalam2. Keluaran
Keluaran janngan mempakan penyelesaian masalah, Jaringan saraf tiruan
memberikan nilai-nilai numens dalam menanggapi keluaran. Misal 1 untuk
menyatakan benar (True) dan 0untuk menyatakan salah (False). Untuk janngan
yang memiliki banyak vektor keluaran sering digunakan kombinasi biner untuk
arsitektur dan algoritma tertentu d.kenal dengan istilah "keluaran aktual" dan
keluarannya diinginkan. Keluaran aktual adalah hasil proses janngan pada suatu
penode tertentu. Sedangkan keluaran yang diinginkan dapat bempa nilai biner
tunggal 0 atau 1 atau kombinasi keduanya. Selisih antara keluaran yang
diinginkan dengan keluaran aktual dipergunakan untuk memperbaiki nilai bobot
dalam proses pelatihan janngan jika dengan nilai bobot tertentu. Keluaran aktual
semua kelas keluaran yang diinginkan, maka jaringan sudah siap digunakan.
3. Bobot
Salah satu unsur penentu dalam Jaringan saraf tiruan adalah bobot. Bobot
menyatakan ke akuratan relatif data masukan awal atau berbagai hubungan yang
mentransfer data masukan awal atau berbagai hubungan yang mentransfer data
dan satu lapisan ke lapisan yang lain. Secara keseluruhan bobot menentukan
apakah janngan sudah dibuat untuk aplikasi tertentu sudah siap digunakan atau
belum. J,ka error yang terjadi masih lebih besar dari nilai toleransi error yang
telah ditentukan, maka janngan masih harus melakukan proses perbaikan bobot,
melalui pembetuan berulang dan nilai itulah sistem melakukan proses pelatihan.
Operasi matematis dalam Janngan saraf tiruan mencakup operasi penjumlahan
seluruh masukan terbobot dan penerapan fungsi transfer terhadap hasil
penjumlahan tersebut, sehingga diperoleh keluaran janngan. Penerapan fungsi
transfer dimaksudkan supaya nilai keluaran janngan menuju ke suatu nilai
tertentu.
2.10 Prosedur Pengujian
Setelah dilakukan pelatihan, Jaringan saraf tiruan Backpropagation hanya
menggunakan tahap feedforward untuk pengujian janngan. Dengan hasil yang didapat saat
pelatihan sebelumnya nantinya akan didapat bobot-bobot yang akan diujikan. Sama seperti
tahapan pelatihan pada proses tahap feedforward. Dimulai dan memasukan pola pada setiap
gejala yang dirasakan nantinya akan diproses dan akan ditentukan output akhir dan janngan
yang bempa jenis penyakit yang diderita.
Start
"
Baca pola
^
Inisialisasi bobot hasil pelatihan
"
Hasil pengujian
v
r
End
2.11 Penyakit Dalam
Dalam dunia kedokteran jenis penyakit dalam sangat banyak macamnya namun
untuk jenis penyakit yang mampu untuk didiagnosa oleh sistem ini hanya berjumlah 4,
yaitu:
1 Gagal ginjal kronis
2. Tuberkulosis (TBC) 3. Leukimiaakut
4. Kolaps paru-paru
Ke- 4penyakit tersebut nantinya akan dijadikan sebagai output akhir dan sistem pendukung
keputusan ini. Penyakit dalam lebih sulit untuk dideteksi jika dibandingkan dengan jenis
penyakit lainnya. Untuk melakukan diagnosa satu jenis penyakit dalam diperlukan beberapa
unsur. Dengan dibuataya sistem pendukung keputusan ini diharapkan akan lebih
menguatkan diagnosa dan mendukung keputusan diagnosa satu penyakit dalam.
Gejala-gejala yang akan menimbulkan indikasi keempat penyakit tersebut
dikelompokan menjadi 13 gejala yaitu :
1. Demam 2. Pernafasan 3. Keringat dingin
4. Mual dan muntah
5. Nafsu makan dan berat badan
6. Keadaan fisik tubuh
7. Tulang dan persendian
komponei 9 Batuk
tampilan 10 Pendarahan
K 11 Detakjantung dan nadi
1. 12. Jntensitas urin
2. 13. Keadaan pinggang
3.
Dari ke-13 gejala yang digunakan sebaga. input tersebut nantinya pada setiap gejala akan
4.
dibagi lag, menjadi beberapa sub gejala dengan diben pola untuk dilakukan pelatihan dan
5. saat pengujian sistem.
2.12 Borland Delphi
Delphi merupakan pengembangan dan bahasa pemrograman Pascal Bahasa
pemrograman Pascal d.ciptakan pada tahun 1971, oleh ilmuwan dan Swiss, Niklaus Wirth.
Sejak saat itu Pascal terns menerus berkembang dengan munculnya berbagai versi
pemrograman Pascal. Pada tahun 1992, Borland International menggabungkan Turbo
Pascal for DOS dengan Turbo Pascal For Windows menjadi satu paket yaitu Borland
Pascal versi 7.
Karena pemrograman Windows dengan Borland Pascal dirasa masih terlalu sulit,
maka sejak tahun 1993 Boland Pascal mengembangkan bahasa Pascal yang bersifat visual.
Hasil perkembangan ini adalah d.rilisnya Delphi vers, pertama atau Delphi I pada tahun
1995 hingga kini bahasa pemrograman Delphi terns berkembang.
Borland Delphi adalah bahasa pemrograman yang bekerja dalam lingkup MS.
komponen-PERANCANGAN SISTEM
Metode yang digunakan untuk mengembangkan perangkat lunak pada Tugas
Akhir adalah metode waterfall. Pada metode ini terdapat lima tahap, yaitu analisa
kebutuhan sistem, perancangan sistem, implementasi pengujian dan perawatan.
3.1 Analisis Sistem
Sistem yang dikembangkan disini adalah suatu sistem yang dapat memberikan
suatu keputusan dalam mendiagnosa suatu penyakit dalam yang diderita oleh pasien.
Prosesnya dengan memasukan input data yang berupa gejala-gejala yang dirasakan oleh
pasien secara variatif untuk melatih kecerdasan sistem sehingga dapat menganalisa pola
dan menghitung bobotnya. Setelah dilakukan pelatihan kecerdasan diharapkan sistem
mampu memberikan keputusan berupa diagnosa penyakit yang diderita oleh pasiennya.
3.2 Analisis Kebutuhan
Analisis kebutuhan meliputi identifikasi dan invertarisasi jenis masukan sistem,
proses yang diperlukan untuk mengolah data masukan dan jenis penyajian data yang
diinginkan, serta jenis perangkat lunak yang akan digunakan. Masukan data yang
diperlukan dalam perancangan sistem ini merupakan data perupa gejala-gejala yang
timbul pada manusia yang gejala tersebut nantinya akan mengakibatkan
«* sepert, den™, gangguan pemafasan, keluar kermga, ^ ^ ^ ^
^
™ka„ dan bera, badan, keadaan falk tubu„, ^
^ ^ ^ ^ ^
Pendarahan, detak jantung dan nadi, ,„,« „nn, da„ keadaan ^ ^ ^ da(a
dHakukan d.dasarkan atas metoddog, ya„g dikenrbangkan secara ters,rak,ur, dem,k,an JUga
J- pe„yaJla„ da, yang d.nasdkan atas pe„gump„lan dan geja|a da„ ^
^
Dar, data masukan tersebut dapa, d.hasilkan outpul dar, s.stem ,„, sebanyak 4
maeanr penyak,, da,am ya„u :Gaga, g,„Jal kronrs, Tuberku.osrs, Uuk.m.a akut, dan Ko.aps
paru-pam.
Kebutuhan fungsional pada sistem ini adalah :
I- MenampUkan datajems penyakit yang dapat didiagnosa oleh sistem
2. Menampilkan datajems gejala yang diderita
3. Mengubah data gejala yang diderita
4. Melakukan pembelajaran untuk menentukan dan mendiagnosajenis penyakit
dalam sesuai dengan gejala yang dimasukan
5. Menampilkan hasil diagnosajenis penyakit dalam berdasarkan pada
gejala-gejala yang dimasukan oleh pasien
^JTabel3.1 Data 4jenis penyakit dalam yang dapat didiagnosa
GagaLG!njaJJ<ronis
Setelah jenis data jenis penyakit yang akan dijadikan output telah diperoleh setelah
itu data ditambah dengan jenis gejala yang akan menyebabkan terjadinya ke-4 penyakit
tersebut yang nantinya akan dijadikan input pada sistem ini.
Dan hasil stud, buku-buku dan konsultas, dengan dokter penyakit dalam didapat ada
beberapa gejala yang akan digunakan menjadi input pada sistem ini
Dan gejala-gejala yang terkumpul tersebut nantinya akan dikelompokan lagi menjadi
beberapa sub kelompok. Gejala-gejala tersebut disusun agar nanti dapat digunakan menjadi
masukan dalam sistem dengan menjadikan data gejala tersebut dalam bentuk pola pelatihan
yang akan dilatih oleh sistem.
Input atau masukan dan sistem deteks, jenis penyakit pada manusia hams
memperhatikan inisialisasi data input dm penetapan input.
3.2.1
Inisialisasi Data Input
Pada tahap ini, data yang dibutuhkan adalah catatan gejala penyakit yang dirasakan
pasien. Data dan catatan pasien tersebut sebelum dumplementasikan menjadi sebuah
masukan/^/ yang dapat dimengert, oleh program. Agar dapat dimengert, maka hams
dunisialisas, terlebih dahulu. Dan hasil pengambilan data di Poliklimk dan Apotek Unisia
dan wawancara dengan Dokter di Pol.klinik Unisia, diambil 13 variabel yang mampu
menegakkan diagnosa 4jems penyakit dalam yaitu Gagal ginjal kronis, Tuberkulosis (TBC),
Leukimia akut, dan Kolaps paru-paru, input-input tersebut adalah :
1. Demam
2. Pernafasan
4. Mual dan muntah
5. Nafsu makan dan berat badan 6. Keadaan fisik tubuh
7. Tulang dan persendian
8. Batuk 9. Pendarahan
10. Detak jantung dan nadi
11. Intensitas urin 12. Keadaan pinggang 13. Keadaan dada
Setelah ditentukan variabel-variabel yang dominan dalam penegakan diagnosa gagal
ginjal kronis, TBC, leukemia akut, dan kolaps paru-pam maka harus ditentukan nilai dari
vanabel-vanabel tersebut. Untuk pemberian nilai dan masing-masing variabel digunakan
derajat dari tiap variabel jika dimungkmkan. Nilai yang dibenkan berkisar antara 0sampai
1, tergantung dari kasusnya per variabel. Hasil selengkapnya adalah :
1. Demam
a. Nilai 0 jika tidak mengalami demam
b. Nilai 0,25 jika kadang-kadang demam (hilang timbul)
c. Nilai 0,5 jikaagak demam (temperatur tidak tinggi)
d. Nilai 0,75 jika demam (temperatur tinggi)
e. Nilai 1jika demam tinggi (hingga kejang)
2. Pernafasan
b. Nilai 0,5 jika sesak dan kesulitan bernafas c. Nilai 1 jika sesak bemafas kecuali kalau berdiri 3. Keringat dingin
a. Nilai 0 jika tidak berkeringat dingin
b. Nilai 0,25 jika kadang berkeringat dingin (hilang timbul)
c. Nilai 0,5 jika berkeringat dingin hanya malam han
d. Nilai 1jika berkeringat dingin hebat (terns menerus)
4. Mual dan muntah
a. Nilai 0 jika tidak mual dan muntah
b. Nilai 0,25 jika kadang mual dan muntah
c. Nilai 0,5 jika sering mual dan muntah d. Nilai 1 jika mual dan muntah terns menerus
5. Nafsu makan dan berat badan
a. Nilai 0 jika nafsu makan dan berat badan normal b. Nilai 0,5 jika nafsu makan dan berat badan menurun c. Nilai 1 jika berat badan turun dan tidak mau makan
6. Keadaan fisik tubuh
a. Nilai 0 jika keadaan fisik tubuh normal
b. Nilai 0,25 jika gelisah, letih, lemah dan lesu
c. Nilai 0,5 jika tubuh mudah mengalami luka infeksi
d. Nilai 1jika kulit pucat kuku dan rambut mudah patah
7. Tulang dan persendian
b. Nilai 0,5 jika tulang dan persendian sakit
c. Nilai 1 jika tulang punggung dan bahu sakit (pegal-pegal) 8. Batuk
a. Nilai 0 jika tidak mengalami batuk
b. Nilai 0,25 jika batuk ringan
c. Nilai 0,5 jika batuk berdahak
d. Nilai 0,75 jika batuk lebih dari 3 minggu
e. Nilai 1 jika batuk keluar darah dan nanah
9. Pendarahan
a. Nilai 0 jika tidak terjadi pendarahan b. Nilai 0,25 jika pendarahan ketika batuk
c. Nilai 0,50 jika pendarahan gusi dan hidung
d. Nilai 0,75 jika pendarahan saluran pencernaan (muntah berwama coklat)
e. Nilai 1 jika kurang darah (anemia)
10. Detak jantung dan nadi
a. Nilai 0 jika detak jantung dan nadi normal
b. Nilai 0,25 jika detakjantung tidak tetap
c. Nilai 0.5 jika denyut nadi lemah dan cepat
d. Nilai 1 jika detak jantung cepat dan berdebar-debar
11. intensitas urin
a. Nilai 0 jika intensitas keluaran urin normal
12. Keadaan pinggang
a. Nilai 0jika keadaan pinggang normal
b. Nilai 0,25 jika pinggang kadang sakit (terasa pegal)
c. Nilai 0,5 jika pinggang sakit terus menerus
d. Nilai 1jikapinggang sakit luar biasa
13. Keadaan Dada
a. Nilai 0 jika keadaan dada normal
b. Nilai 0,5 jika dada kadang sakit
c. Nilai 1jika dada sakit sekali dan terasa tiba-tiba
Setelah ditentukan nilai untuk tiap variabel, selanjutaya gejala-gejala klinis yang
terdapat pada semua variabel diganti dengan nilai-nilai yang telah ditentukan.
3.2.2
Penetapan Input
Dalam masalah ini, untuk mendeteksi jenis penyakit diperlukan data yang diambil
dan catatan rekam medis pasien yang didalamnya terdapat gejala-gejala klinis yang dapat
menegakkan diagnosa gagal ginjal kronis, tuberkulosis, leukemia akut, dan kolaps
paru-paru.
Data-data dan catatan rekam medis pasien ini kemudian dinormalisasikan agar dapat
diolah oleh program. Setelah itu terdapat 13 variabel input (mas.ng-masing mewak.l, gejala
klinis tiap gangguan) setelah melalui normalisasi data. Dar, 13 variabel imlah yang menjadi
input. Variabel input selengkapnya :
X] = Demam
X3 = Keringat dingin X4 = Mual dan muntah
X5 = Nafsu makan dan berat badan
X6 = Keadaan fisik tubuh
X7 = Tulang dan persendian X8 = Batuk
X9 = Pendarahan
Xio = Detak jantung dan nadi
Xn = Intensitas urin
X12 = Keadaan pinggang X13 = Keadaan dada
K .2 .2 « .62 « « « w w « o)
1
1
1
§
i
I
i
1
s
g
s
g
*£•£•£.£.£.£ c: cT cT '£? c" c1 <<<<<< <i§§§P>§§>IIIIlfflllII
5
3
55
S
5
5
5
S
g!5
5
JS
g
g
g
< < < g g g w g g g 55 55 55 3 3 3 3 3 3 3 3 3 3fsfSSSSfclSHSl&aaaaaaaa
-J-"-Ji=i=i=i=(515151515PS,S°ooo 0000j;ooooo^2S2S200°C)°°°°°ooooo
°HH°R°|°
o^^olo'lo
o
0 0 s ^^---°°°°°°°ooooooooooooooo O^o^^o 0 0 J^ooooododo'o'o' *-•«-•<-•*-, oooooddd V> V>5
oooo
°^S"2-2'-S-2222225222200°00°°°
0 0 o o o o o o oTTTr-r ooo o o oooooddd in co •-'^'-''-'OOOOOOOOOOOOC:ooo222220000-2^^^
0 0 0 0 0RdS5SSSS2S2S2S2SSS22
7£Soooooooooooooooooo 0 0 ooooo dddc522°2°2°202°222°°2°22
0 0-oooog^or^^oogoooooooo
0 0oo2oSoSo2o2ooooooooo
0 0 ddo00002°HOOD000^m°S2S2222222202°202°2
O COSS2S2222222222222222"
m 1/) d 0 S ^ <JpcQoocococococo — — — — T~°T"T-°ooddddd^r-^—
222222222222222222
d dn|«|*
«
coj^
ro
to
o-^jr^^bt
r~
co
to
3.2.3 Penetapan Output
Output yang dihasilkan pada tahap ini adalah jenis penyakit dalam pada manusia
yaitu gagal ginjal kronis, tuberkulosis, leukemia akut, dan kolaps paru-paru.
3.3 Desain Sistem
3.3.1. Perancangan Diagram Konteks
Sebelum membangun sebuah sistem perlu dilakukan tahapan perancangan diagram konteks untuk memberikan kemudahan dalam perancangan sistem serta memberikan
gambaran umum tentang sistem yang dibangun.
User il Diagnosa Penyakit
/
Sistem \_
Input Gejala . j rwoi-oi P Manajemen User Manajemen Penyakit Manajemen Gejala Konfigurasi Neuron Pelatihan Programer Hasil PelatihanHasil Diagnosa Penyakit
Gambar 3.1 Diagram Konteks Sistem
Berdasarkan atas gambar diatas dapat dijelaskan bahwa programer, melalui keahlian
pemrogramannya memasukan data-data dari dokter spesialis penyakit dalam dan dari
pertanyaan-pertanyaan dari sistem bempa gejala-gejala penyakit yang muncul pada pasien yang telah
disimpan dalam sistem. Keluaran yang dihasilkan berupa kesimpulan penyakit yang diderita oleh pasien.
Pada diagram konteks diatas dapat dijelaskan bahwa user melakukan dialog agar dapat mendiagnosa penyakit dalam yang diderita. Programmer bertugas untuk mengelola sistem diagnosa penyakit dalam dengan data-data yang bempa nama penyakit, gejala penyakit, dan penyebab yang didapat dari hasil wawancara dan bimbingan dengan dokter
spesialis penyakit dalam.
Pada diagram konteks ini Jaringan saraf tiruan melakukan 3 proses, yaitu : a. Input data
programer akan memasukan data jenis penyakit dalam yang akan disimpan pada
tabel jenis penyakit, selanjutnya akan disimpan pula berbagai gejala yang akan
menimbulkan penyakit yang telah dipilih ke tabel gejala penyakit, lalu data pembelajaran akan disimpan pada tabel pembelajaran.
b. Pembelajaran
Proses ini akan mendapat data bempa hasil pembelajaran yang berupa bobot
yang akan disimpan pada tabel hasil pembelajaran.
c. Prediksi
Pada proses ini mendapatkan input yang bempa gejala penyakit yang telah
diproses pada proses pembelajaran akan dilatih dan diprediksi. Output yang akan dihasilkan pada proses ini adalah hasil prediksi dan menentukan keputusan jenis
penyakit apa yang diderita oleh user, dari input gejala-gejala yang telah dia
Pada saat melakukan proses pembelajaran dari sistem pada level ini sistem akan
melakukan 4 proses yaitu :
1 Pengambilan nilai pembelajaran dan pola dan input yang dimasukan
2. Pengecekan nilai learning rate, target error, dan max iterasi
3 Perhitungan bobot dan learning rate selama melakukan iterasi
4. Penyimpanan nilai bobot
Pada proses pengujian ini sistem akan melakukan prediksi dan diagnosa dengan
mengambil data pelatihan bempa bobot yang telah diproses pada proses sebelumnya yang
nantinya dan bobot tersebut akan di lakukan pengujian keakuratan data hasil pembelajaran.
3.3.2 Perancangan Basis Data
Langkah yang selanjutnya yang harus dilakukan adalah merancang sistem basis data.
Basis data terdiri dan kumpulan data atau fakta tertentu yang dibutuhkan oleh sistem untuk
menyelesaikan permasalahan yang ingin di selesaikan. Basis data merupakan himpunan
kelompok data yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat
dimanfaatkan dengan cepat dan mudah untuk memenuhi berbagai kebutuhan. Perancangan
basis data disebut juga sebagai pemetaan model data. Pada tahap pengembangan
(development) setiap tabel diletakan satu field cadangan (reserved) yang sewaktu-waktu
dapat digunakan apabila diperlukan.