Analisa Penggunaan Algoritma Nguyen Widrow Dalam Backpropagation Pada Penyakit Ginjal
ANALISIS PENGGUNAAN ALGORITMA NGUYEN WIDROW
DALAM BACK PROPAGATION PADA PENYAKIT GINJAL
TESIS
ROMANUS DAMANIK
117038011
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013
(2)
ANALISIS PENGGUNAAN ALGORITMA NGUYEN WIDROW
DALAM BACK PROPAGATION PADA PENYAKIT GINJAL
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh
ijazah
Magister Teknik Informatika
ROMANUS DAMANIK
117038011
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013
(3)
PERSETUJUAN
Judul Tesis : ANALISIS PENGGUNAAN ALGORITMA
NGUYEN WIDROW DALAM
BACKPROPAGATION PADA PENYAKIT GINJAL
Kategori : TESIS
Nama Mahasiswa : ROMANUS DAMANIK
Nomor Induk Mahasiswa : 117038011
Program Studi : MAGISTER TEKNIK INFORMATIKA
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2, Pembimbing 1,
Dr. Zakarias Situmorang Prof. Dr. Muhammad Zarlis
Diketahui/Disetujui oleh
Program Studi S2 Teknik Informatika Ketua,
Prof. Dr. Muhammad Zarlis NIP. 195707011986011003
(4)
PERNYATAAN ORISINALITAS
ANALISIS PENGGUNAAN ALGORITMA NGUYEN WIDROW
DALAM BACKPROPAGATION PADA PENYAKIT GINJAL
TESIS
Dengan ini saya nyatakan bahwa saya mengakui semua karya tesis ini adalah hasil kerja saya sendiri kecuali kutipan dan ringkasan yang tiap satunya telah dijelaskan sumbernya dengan benar.
Medan, 06 Desember 2013
Romanus Damanik 117038011
(5)
PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:
Nama : Romanus Damanik
NIM : 117038011
Program Studi : Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty
Free Right) atas Tesis saya yang berjudul:
ANALISIS PENGGUNAAN ALGORITMA NGUYEN WIDROW DALAM BACKPROPAGATION PADA PENYAKIT GINJAL
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan Tesis saya tanpa meminta ijin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 06 Desember 2013
NIM. 117038011 Romanus Damanik
(6)
Telah diuji pada
Tanggal: 06 Desember 2013
PANITIA PENGUJI TESIS
Ketua
: Prof. Dr.Muhammad Zarlis
Anggota
: 1. Dr. Zakarias Situmorang
2. Prof. Dr.Herman Mawengkang
3. Prof. Dr.Tulus
(7)
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap : Romanus Damanik, S.Kom
Tempat dan Tanggal Lahir : Bandar Hanopan, 15 Februari 1979
Alamat Rumah : Perumahan Griya Mekatani Blok-2B - Marendal
Handphone : 081264870561 / 081265362951
Instansi Tempat Bekerja : AMIK MBP MEDAN
Alamat Kantor : Jl. Letjend. Jamin Ginting P. Bulan - Medan
DATA PENDIDIKAN
SD : SD Taman Harapan Medan TAMAT: 1986 SLTP : SMP PGRI 4 Medan TAMAT: 1995 SLTA : SMA YP. Timbul Jaya 1 Medan TAMAT: 1998 S1 : STMIK Sisingamangaraja XII TAMAT: 2007 Jurusan Sistem Informasi
S2 : Universitas Sumatera Utara (USU) TAMAT: 2013 Fakultas Ilmu Komputer dan Teknologi Informasi
(8)
UCAPAN TERIMA KASIH
Pertama-tama penulis panjatkan puji syukur kehadirat Tuhan Yang Maha Esa, atas segala rahmat dan karunia-Nya, penulis dapat menyelesaikan tesis ini dengan baik. Tesis penulis yang berjudul : “Analisa Penggunaan Algoritma Nguyen Widrow Dalam Backpropagation Pada Penyakit Ginjal” merupakan salah satu syarat akademik penulis sebagai mahasiswa S2, program studi Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi (Fasilkom-TI), Universitas Sumatera Utara (USU), Medan dalam menyelesaikan jenjang pendidikan S2.
Dengan selesainya tesis ini, perkenankanlah saya mengucapkan terima kasih yang sebesar-besarnya kepada :
Rektor Universitas Sumatera Utara, Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) atas kesempatan yang diberikan kepada saya untuk mengikuti dan menyelesaikan pendidikan Program Magister.
Dekan Fakultas Ilmu Komputer Universitas Sumatera Utara sekaligus Ketua Program Studi Magister (S2) Teknik Informatika, Prof. Dr. Muhammad Zarlis dan Sekretaris Program Studi Magister (S2) Teknik Informatika, M. Andri Budiman, S.T, M.Com, M.E.M beserta seluruh staf pengajar yang telah banyak memberikan ilmu pengetahuan selama masa perkuliahan serta seluruh staff pegawai pada Program Studi S2 Teknik Informatika Universitas Sumatera Utara.
Prof. Dr. Muhammad Zarlis, selaku pembimbing utama yang telah banyak memberikan bimbingan dan arahan serta motivasi kepada penulis dan Dr. Zakarias Situmorang, selaku pembimbing kedua yang telah banyak memberikan bimbingan dan arahan serta motivasi kepada penulis.
Prof. Dr. Tulus, Prof. Dr. Herman Mawengkang dan Ibu Dr. Erna B. Nababan, M.IT selaku pembanding yang telah banyak memberikan kritikan serta saran kepada penulis.
Secara khusus untuk Istriku Tercinta dan Tersayang Friska Erdiana Purba, S.Kom, dan anak kami tersayang Ray Handsen Damanik yang telah memberikan
(9)
perhatian, pengertian, kasih sayang dan motivasi kepada penulis dan juga ucapan terimakasih kepada kedua Orang Tuaku Josep Pius Damanik dan Normalina Saragih yang telah banyak memberikan doa dan perhatiannya kepada penulis. Ucapan terimakasih juga penulis ucapkan kepada teman-teman angkatan 2011 Program Studi S2 Teknik Informatika, yang telah memberikan semangat kepada penulis.
Akhir kata penulis hanya berdoa kepada Tuhan Yang Maha Esa semoga Tuhan memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, serta kerjasamanya kepada penulis dalam menyelesaikan tesis ini.
Medan, 06 Desember 2013
ROMANUS DAMANIK
(10)
ABSTRAK
Pada penelitian ini penulis menggunakan algoritma Nguyen Widrow didalam Jaringan Syaraf Tiruan (JST) Backpropagation untuk pengenalan (recognition) gejala atau pola penyakit ginjal dan mempercepat mekanisme pembelajaran (training) berdasarkan gejala atau pola penyakit ginjal. Jaringan Syaraf Tiruan (JST) Backpropagation
merupakan algoritma pembelajaran yang bersifat supervisi (supervised learning), yaitu pembelajaran yang membutuhkan pengawasan untuk pembelajarannya. didalam Jaringan Syaraf Tiruan (JST) Backpropagation terdapat data masukan (input) dan data keluaran (output) yang dipakai dalam pelatihan (training) sehingga diperoleh bobot (weight) yaitu dari unit masukan (Input) ke layer tersembunyi (Hidden Layer)
dan dari layer tersembunyi (hidden layer) ke layer keluaran (Output). Pada penelitian ini, pengenalan pola penyakit ginjal terdapat 30 (tiga puluh) gejala dan 10 (sepuluh) macam penyakit ginjal. Data masukan (input) secara acak (random) dan data dilatih
(training) menggunakan algoritma backpropagation yang pembobotannya
menggunakan Nguyen Widrow. Dari penelitian yang dilakukan, keunggulan dari Jaringan Syaraf Tiruan (JST) Backpropagation secara acak lebih cepat dalam melakukan pelatihan (training) sedangkan dalam hal pengenalan (recognition) gejala atau pola penyakit ginjal algoritma Nguyen Widrow jauh lebih baik.
Kata Kunci : Penyakit Ginjal, Jaringan Syaraf Tiruan, Backpropagation, Nguyen Widrow
(11)
ANALISYS OF USE OF NGUYEN WIDROW ALGORITHM ON BACKPROPAGATION FOR IDENTIFICATION OF
KIDNEY DISEASE ABSTRACT
In this research, the writer implementing Nguyen Widrow Algorithm on neural network backpropagation on recognizing the sympthoms or pattern of kidney diseases and accelerating on the process of training based on the patterns of kidney diseases. Neural network backpropagation is supervised learning, training process that needs supervision. In neural network backpropagation there are input and output that use on trainig process to get weight of input unit to the hidden layer and from hidden layer to output layer. In this research of recognition of pattern of kidney diseases there are 30 (thirty) patterns and 10 (ten) diseases of kidney. The data for input inserted randomly and whole data trained by using neural network where to calculate the weight of each data calculated by Nguyen Widrow. Based on the research organized by writer, the result of training using neural network backpropagation is faster than using Nguyen Widrow, on the other hand, the result of recognition by using nguyen Widrow is better than neural network backpropagation.
(12)
DAFTAR ISI
COVER i
LEMBARPERSETUJUAN ii
LEMBAR PERNYATAAN ORISINALITAS iii
LEMBAR PERSETUJUAN PUBLIKASI iv
LEMBAR PANITIA PENGUJI TESIS v
LEMBAR RIWAYAT HIDUP vi
LEMBARUCAPANTERIMAKASIH vii
LEMBARABSTRAK ix
LEMBARABSTRACT x
DAFTAR ISI xi
DAFTAR TABEL xiv
DAFTAR GAMBAR xv
BAB I PENDAHULUAN 1
1.1 Latar Belakang Masalah 1
1.2 Perumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 5
1.4 Manfaat Penelitian 5
BAB II LANDASAN TEORI 6
2.1 Ginjal 4
2.2 Jaringan Syaraf Biologi 4
2.3 Jaringan Syaraf Tiruan (Neural Network) 6
2.3.1 Arsitektur Jaringan Syaraf 7
2.3.2 Keuntungan Menggunakan Komputasi dengan JST 8
2.4 Algoritma Umum Jaringan Syaraf Tiruan 9
2.5 Sejarah Jaringan Syaraf Tiruan 11
(13)
2.6.1 Pelatihan dengan Supervisi 13
2.6.2 Pelatihan Tanpa Supervisi 14
2.7 Algoritma Backpropagation 14
2.7.1 Fase Propagasi Maju 15
2.7.2 Fase Propagasi Mundur 16
2.7.3 Fase Modifikasi Bobot 16
2.7.4 Prosedur Pelatihan 16
2.8 Inisialisasi Pembobotan 20
BAB III METODE PENELITIAN 34
3.1 Data Yang Digunakan 34
3.2 Pendefenisian Input dan Output 36
3.2.1 Masukan (Input) 36
3.2.2 Keluaran (Output) 37
3.3. Algoritma 38
3.4. Arsitektur Jaringan 42
BAB IV ANALISIS DAN PEMBAHASAN 56
4.1 Analisis 56
4.2 Pembahasan 57
4.2.1 Implementasi Pembelajaran (Training)
a. Percobaan Pertama dengan Inisialisasi Acak 57 b. Percobaan Kedua dengan Inisialisasi Acak 60 c. Percobaan Ketiga dengan Inisialisasi Acak 61 d. Percobaan Pertama dengan Inisialisasi Nguyen Widrow 61 e. Percobaan Kedua dengan Inisialisasi Nguyen Widrow 62 f. Percobaan Ketiga dengan Inisialisasi Nguyen Widrow 63
4.2.2 Implementasi Recognition 65
a. Percobaan Pertama dengan Inisialisasi Acak 65 b. Percobaan Kedua dengan Inisialisasi Acak 66 c. Percobaan Ketiga dengan Inisialisasi Acak 68 d. Percobaan Pertama dengan Inisialisasi Nguyen Widrow 69
(14)
e. Percobaan Kedua dengan Inisialisasi Nguyen Widrow 71 f. Percobaan Ketiga dengan Inisialisasi Nguyen Widrow 72 g. Perbandingan Recognition Inisialisasi Acak dengan
Nguyen Widrow Percobaan Pertama 74 h. Perbandingan Recognition Inisialisasi Acak dengan Nguyen
Widrow Percobaan Kedua 74
i. Perbandingan Recognition Inisialisasi Acak dengan Nguyen
Widrow Percobaan Ketiga 75
BAB V KESIMPULAN DAN SARAN 76
5.1 Kesimpulan 76
5.2 Saran 76
(15)
DAFTAR TABEL
Nomor Tabel
Judul Halaman
2.1 3.1 3.2 3.3 3.4 3.5 3.6 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18
Perbedaan Jaringan Syaraf Biologis dengan JST Gejala-Gejala Penyakit Ginjal
Nama-Nama Penyakit Ginjal Pendefenisian Input
Tabel Pendefenisian Keluaran (Output)
Bobot dari layer input (Xi) ke layer tersembunyi (Zi
Hasil Training Percobaan Pertama Inisialisasi Acak ) Bobot-bobot Dari Layer Tersembunyi Ke LayerOutput
Hasil Training Percobaan Kedua Inisialisasi Acak Hasil Training Percobaan Ketiga Inisialisasi Acak Hasil Training Percobaan Pertama Algoritma Nguyen Widrow
Hasil Training Percobaan Kedua Algoritma Nguyen Widrow
Hasil Training Percobaan Ketiga Algoritma Nguyen Widrow
Perbandingan Hasil Training Percobaan Pertama Perbandingan Hasil Training Percobaan Kedua Perbandingan Hasil Training Percobaan Ketiga Hasil Recognition Percobaan Pertama
Hasil Recognition Percobaan Kedua Hasil Recognition Percobaan Ketiga
Hasil Recognition Percobaan Pertama Nguen Widrow Hasil Recognition Percobaan Kedua Nguen Widrow Hasil Recognition Percobaan Ketiga Nguen Widrow Perbandingan Recognition Inisialisasi Acak dengan Nguyen WidrowPercobaan Pertama
Perbandingan Recognition Inisialisasi Acak dengan Nguyen WidrowPercobaan Kedua
Perbandingan Recognition Inisialisasi Acak dengan Nguyen WidrowPercobaan Ketiga
5 26 27 28 29 36 44 54 55 56 57 57 58 58 59 60 62 63 70 72 73 74 75 75
(16)
DAFTAR GAMBAR
Nomor Gambar
Judul Halaman
2.1 Susunan Neuron Biologis 5
2.2 Jaringan Syaraf Tiruan dengan Lapisan Tunggal 6 2.3 Jaringan Syaraf Tiruan dengan Banyak Lapisan 6
2.4 Fungsi aktivasi: Undak Biner Hard Limit 7
2.5 Fungsi aktivasi: Undak Biner Threshold 7
2.6 Jaringan dengan 3 unit hidden layer 22
3.1 Flowchart Algoritma Pelatihan Backpropagation 30
3.2 Flowchart Algoritma Pelatihan Backpropagation
(Lanjutan)
31
3.3 Flowchart Algoritma Pelatihan Backpropagation
(Lanjutan)
32
3.4 Flowchart Pengujian Backpropagation 33
3.5 Arsitektur Jaringan 35
4.1 Tampilan Menu Utama Aplikasi 57
4.2 Tampilan Proses Training Gejala Penyakit Gagal Ginjal Akut
58 4.3 Tampilan Proses Training Gejala Penyakit Kanker Ginjal 59 4.4 Tampilan Hasil Recognition Gagal Ginjal Akut 65 4.5 Tampilan Hasil Recognition Gagal Ginjal Akut
Percobaan Pertama
67 4.6 Tampilan Hasil Recognition Gagal Ginjal Akut
Percobaan Ketiga
68 4.7 Tampilan Hasil Recognition Gagal Ginjal Akut 70 4.8 Tampilan Hasil Recognition Gagal Ginjal Akut 71 4.9 Tampilan Hasil Recognition Gagal Ginjal Akut 73
(17)
ABSTRAK
Pada penelitian ini penulis menggunakan algoritma Nguyen Widrow didalam Jaringan Syaraf Tiruan (JST) Backpropagation untuk pengenalan (recognition) gejala atau pola penyakit ginjal dan mempercepat mekanisme pembelajaran (training) berdasarkan gejala atau pola penyakit ginjal. Jaringan Syaraf Tiruan (JST) Backpropagation
merupakan algoritma pembelajaran yang bersifat supervisi (supervised learning), yaitu pembelajaran yang membutuhkan pengawasan untuk pembelajarannya. didalam Jaringan Syaraf Tiruan (JST) Backpropagation terdapat data masukan (input) dan data keluaran (output) yang dipakai dalam pelatihan (training) sehingga diperoleh bobot (weight) yaitu dari unit masukan (Input) ke layer tersembunyi (Hidden Layer)
dan dari layer tersembunyi (hidden layer) ke layer keluaran (Output). Pada penelitian ini, pengenalan pola penyakit ginjal terdapat 30 (tiga puluh) gejala dan 10 (sepuluh) macam penyakit ginjal. Data masukan (input) secara acak (random) dan data dilatih
(training) menggunakan algoritma backpropagation yang pembobotannya
menggunakan Nguyen Widrow. Dari penelitian yang dilakukan, keunggulan dari Jaringan Syaraf Tiruan (JST) Backpropagation secara acak lebih cepat dalam melakukan pelatihan (training) sedangkan dalam hal pengenalan (recognition) gejala atau pola penyakit ginjal algoritma Nguyen Widrow jauh lebih baik.
Kata Kunci : Penyakit Ginjal, Jaringan Syaraf Tiruan, Backpropagation, Nguyen Widrow
(18)
ANALISYS OF USE OF NGUYEN WIDROW ALGORITHM ON BACKPROPAGATION FOR IDENTIFICATION OF
KIDNEY DISEASE ABSTRACT
In this research, the writer implementing Nguyen Widrow Algorithm on neural network backpropagation on recognizing the sympthoms or pattern of kidney diseases and accelerating on the process of training based on the patterns of kidney diseases. Neural network backpropagation is supervised learning, training process that needs supervision. In neural network backpropagation there are input and output that use on trainig process to get weight of input unit to the hidden layer and from hidden layer to output layer. In this research of recognition of pattern of kidney diseases there are 30 (thirty) patterns and 10 (ten) diseases of kidney. The data for input inserted randomly and whole data trained by using neural network where to calculate the weight of each data calculated by Nguyen Widrow. Based on the research organized by writer, the result of training using neural network backpropagation is faster than using Nguyen Widrow, on the other hand, the result of recognition by using nguyen Widrow is better than neural network backpropagation.
(19)
BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah
Teknologi informatika dan teknologi komputer saat ini berkembang sangat pesat, seiring banyaknya penemuan-penemuan perangkat lunak (software) dan perangkat keras (hardware) komputer, ditambah lagi dengan diciptakannya peralatan-peralatan telekomunikasi yang canggih seperti telepon pintar (smartphone) yang dapat digabungkan dengan teknologi komputer dan menghasilkan suatu kekuatan baru di bidang teknologi informatika dan komputer.
Saat ini juga para ahli komputer mencoba menggantikan komputer menjadi suatu alat yang dapat meniru kepintaran manusia (otak manusia), yang diharapkan akan tercipta komputer yang dapat mengambil keputusan sendiri seperti layaknya manusia. Hal inilah yang mendorong lahirnya teknologi kecerdasan buatan (Artificial
Intelligence).
Salah satu teknik komputasi yang dikelompokkan dalam teknologi kecerdasan buatan (Artificial Intelligence) adalah jaringan syaraf tiruan (Artificial
Neural Network). Jaringan syaraf tiruan 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. Jaringan syaraf buatan mensimulasikan struktur proses pada otak manusia yaitu fungsi syaraf biologis dan kemudian membawanya kepada perangkat lunak kelas baru yang dapat mengenali pola yang kompleks serta belajar dari pengalaman-pengalaman masa lalu.
Jaringan Saraf Tiruan (JST) Backpropagation telah banyak dimanfaatkan untuk pengenalan pola penyakit, pencitraan dan suara. Beberapa penelitian tentang pengenalan pola telah banyak dilakukan diantaranya, penelitian yang dilakukan oleh beberapa peneliti berikut ini; Wahyono (2009) yang melakukan penelitian tentang pelatihan dan pengujian data pola dan didapatkan bahwa ternyata algoritma perceptron
(20)
pun bisa digunakan dalam pengenalan huruf yang masuk dalam ruang lingkup pengklasifikasian pola; Setyo Nugroho (2005) yang melakukan penelitian tentang Algoritma Quickprop dan metode Active Learning dapat meningkatkan kecepatan
training; Ang Wie Siong dan Resmana (1999), melakukan penelitian tentang Jaringan
saraf tiruan ini mampu mengenali citra bernoise, namun kurang dapat menangani pergeseran citra. Pada input citra dengan pengecilan sekaligus pergeseran, justru jaringan dapat lebih mengenali; Sri Kusumadewi (2008), melakukan penelitian tentang Metode Backpropagation yang dapat digunakan untuk melakukan pendeteksian suatu jenis penyakit, gangguan, maupun kasus yang memiliki data masa lalu, dan dengan menggunakan metode Backpropagation, target hasil (output) yang diinginkan lebih mendekati ketepatan dalam malakukan pengujian, karena terjadi penyesuaian nilai bobot dan bias yang semakin baik pada proses pelatihan (traning).
Berdasarkan penelitian yang ada tersebut, penulis mencoba untuk melakukan penelitian menggunakan algoritma Nguyen Widrow yang meneliti tentang apakah algoritma tersebut pada jaringan syaraf tiruan (JST) Backpropagation dapat mempercepat mengenali pola penyakit yang dalam hal ini adalah penyakit ginjal dan diharapkan penggunaan algoritma Nguyen Widrow dapat menghasilkan hasil yang jauh lebih baik dibandingkan dengan Jaringan Syaraf Tiruan (JST) dengan pembobotan secara acak.
1.2 Perumusan Masalah
Perumusan masalah yang dapat ditarik dari penjelasan latar belakang dibuatnya pengenalan pola, yaitu bagaimana mempercepat proses pembelajaran dan pengenalan gejala penyakit ginjal dengan mengunakan Backpropragation
1.3 Batasan Masalah
Rumusan masalah diatas, dibatasi dengan beberapa hal sebagai berikut :
1. Mempercepat proses pembelajaran (training) dalam mengenali gejala penyakit Ginjal menggunakan jaringan syaraf Backpropagation Nguyen Widrow.
(21)
2. Pengenalan penyakit ginjal dilakukan berdasarkan analisa gejala yang dialami oleh penderita.
1.4 Tujuan Penelitian
Adapun tujuan penelitian ini adalah menggunakan algoritma Nguyen Widrow dalam mengenali penyakit ginjal.
1.5 Manfaat Penelitian
Manfaat yang diharapkan dari hasil penelitian ini adalah sebagai berikut :
1. Dapat mengetahui sejauh mana penggunaan algoritma Nguyen Widrow pada Jaringan Syaraf Tiruan Backpropagation mampu mengenali suatu pola penyakit. 2. Mempermudah pengenalan penyakit ginjal.
3. Menambah wawasan penulis dalam penggunaan jaringan syaraf tiruan dalam mengenali pola.
(22)
BAB 2
LANDASAN TEORI
2.1 Ginjal
Ginjal adalah organ tubuh yang berfungsi untuk mengeluarkan urine, yang merupakan sisa hasil metabolisme tubuh dalam bentuk cairan. Ginjal terletak pada dinding bagian luar rongga perut, yang merupakan rongga terbesar dalam tubuh manusia, tepatnya disebelah kanan dan kiri tulang belakang. Bentuk ginjal seperti biji kacang dengan panjang 6 sampai 7,5 cm dengan ketebalan 1,5 – 2,5 cm.
Ginjal berfungsi untuk mengatur keseimbangan air dalam tubuh, mengatur konsentrasi garam dalam darah, mengatur keseimbangan asam basa darah serta mengatur ekskresi bahan buangan dan kelebihan garam. Apabila ginjal gagal dalam menjalankan fungsinya ini, maka akan terjadi gangguan pada keseimbangan air dan metabolisme dalam tubuh sehingga mengakibatkan terjadinya penumpukan zat-zat berbahaya dalam darah yang dapat mengganggu kerja organ lain yang menyebabkan penderita memerlukan pengobatan segera.
2.2 Jaringan Syaraf Biologi
Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak terdiri dari neuron-neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls/sinyal yang diberikan pada neuron. Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki 1012 neuron dan 6x1018
Jumlah dan kemampuan neuron berkembang seiring dengan pertumbuhan fisik manusia, terutama pada umur 0-2 tahun. Pada 2 tahun pertama umur manusia, terbentuk 1 juta sinapsis per detiknya.
sinapsis. Dengan jumlah yang begitu banyak, otak mampu mengenali pola, melakukan perhitungan, dan mengontrol organ-organ tubuh dengan kecepatan yang lebih tinggi dibandingkan komputer digital (Puspitaningrum, 2006).
(23)
Gambar 2.1 Susunan Neuron Biologis [Puspitaningrum, 2006]
Berikut ini adalah perbedaan terminologis antara jaringan syaraf biologis dan tiruan seperti terlihat pada Tabel 2.1.
Tabel 2.1 Perbedaan Jaringan Syaraf Biologis dengan Jaringan Syaraf Tiruan
Neuron memiliki 3 komponen penting yaitu dendrit, soma dan axon. Dendrit menerima sinyal dari neuron lain. Sinyal/tersebut berupa impuls elektrik yang dikirim melalui celah sinaptik melalui proses kimiawi. Sinyal tersebut dimodifikasi (diperkuat/diperlemah) di celah sinaptik. Berikutnya, soma menjumlahkan semua sinyal-sinyal yang masuk. Kalau jumlahan tersebut cukup kuat dan melebihi batas ambang (threshold), maka sinyal tersebut akan diteruskan ke sel lain melalui axon. Frekuensi penerusan sinyal berbeda-bedaantara satu sel dengan yang lain. Neuron biologi merupakan sistem yang "fault tolerant" dalam 2 hal. Pertama, manusia dapat
(24)
mengenali sinyal input yang agak berbeda dari yang pernah kita terima sebelumnya. Sebagai contoh, manusia sering dapat mengenali seseorang yang wajahnya pernah dilihat dari foto, atau dapat mengenali seseorang yang wajahnya agak berbeda karena sudah lama tidak dijumpainya. Kedua, otak manusia tetap mampu bekerja meskipun beberapa neuronnya tidak mampu bekerja dengan baik. Jika sebuah neuron rusak, neuron lain kadang-kadang dapat dilatih untuk menggantikan fungsi sel yang rusak tersebut.
2.3 Jaringan Syaraf Tiruan (Neural Network (NN))
Jaringan Syaraf Tiruan (JST) adalah suatu metode pembelajaran yang diinspirasi dari jaringan sistem pembelajaran biologis yang terjadi dari jaringan sel syaraf (neuron) yang terhubung satu dengan yang lainnya.
Berikut adalah beberapa definisi JST :
1. JST adalah suatu teknik pemrosesan informasi berbasis komputer yang mensimulasikan dan memodelkan sistem syaraf biologis.
2. Suatu model matematik yang mengandung sejumlah besar elemen pemroses yang diorganisasikan dalam lapisan-lapisan.
3. Suatu sistem komputasi yang dibuat dari sejumlah elemen pemroses yang sederhana dan saling diinterkoneksikan untuk memproses informasi melalui masukan dari luar dan mampu inresponsi keadaan yang dinamis.
4. JST adalah suatu teknologi komputasi yang berbasis hanya pada model syaraf biologis dan mencoba mensimulasikan tingkah laku dan kerja model syaraf. 5. 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 dikirirnkan diantara neuron-neuron melalui
penghubung-penghubung.
c. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal.
(25)
d. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanyabukan fungsi linier) yang dikenakan pada jumlahan input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang.
2.3.1 Arsitektur Jaringan Syaraf
Ada beberapa arsitektur jaringan syaraf (Silvia, 2007), antara lain: a. Jaringan dengan Lapisan Tunggal (Single Layer Network)
Pada jaringan ini, sekumpulan masukan neuron dihubungkan langsung dengan sekumpulan keluarannya. Sinyal mengalir searah dari layar (lapisan) masukan sampai layar (lapisan) keluaran. Setiap simpul dihubungkan dengan simpul lainnya yang berada diatasnya dan dibawahnya, tetapi tidak dengan simpul yang berada pada lapisan yang sama.
Model yang masuk kategori ini antara lain : ADALINE, Hopfield, Perceptron, LVQ, dan lain-lain. Pada gambar berikut diperlihatkan arsitektur jaringan layar tunggal dengan n buah masukan (x1, x2,..., xn) dan m buah keluaran (y1, y2,..., ym)
Gambar 2.2 Jaringan Syaraf Tiruan dengan Lapisan Tunggal [Puspitorini, 2008]
b. Jaringan dengan Banyak Lapisan (Multiple Layer Network)
Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan lapisan output. Seperti terlihat gambar dibawah ada lapisan lapisan yang terletak diantara 2 lapisan yang bersebelahan. Jaringan
(26)
dengan banyak lapisan ini dapat menyelesaikan permasalahan lebih sulit dari pada jaringan lapisan tunggal, tentu saja dengan pembelajaran yang lebih rumit. Namun demikian, pada banyak kasus, pembelajaran pada jaringan dengan banyak lapisan ini lebih sukses dalam menyelesaikan masalah. Model yang termasuk kategori ini antara lain : MADALINE, Backpropagation.
Pada Gambar 2.3 diperlihatkan jaringan dengan n buah unit masukan (x1, x2,..., xn), sebuah layar tersembunyi yang terdiri dari m buah unit (z1,z2,...,zm) dan 1 buah unit keluaran.
Gambar 2.3 Jaringan Syaraf Tiruan dengan Banyak Lapisan [Puspitorini, 2008]
c. Jaringan Reccurent
Model jaringan reccurent (reccurent network) mirip dengan jaringan layar tunggal ataupun jamak. Hanya saja, ada simpul keluaran yanng memberikan sinyal pada unit masukan (sering disebut feedback loop). Dengan kata lain sinyal mengalir dua arah, yaitu maju dan mundur. Contoh : Hopfield network, Jordan network, Elmal network.
2.3.2 Keuntungan Menggunakan Komputasi dengan JST
Kemampuan dan proses komputasi pada JST memberikan keuntungan-keuntungan sebagai berikut :
1. JST bersifat adaptif terhadap perubahan parameter yang mempengaruhi karakteristik sistem, sehingga pada proses belajar, JST mampu belajar secara
(27)
adaptif dan melaksanakan tugas berbasis pada data yang diberikan saat pelatihan.
2. JST memiliki kekebalan atau toleran terhadap kesalahan. Artinya, JST tetap berfungsi walaupun ada ketidak-lengkapan data yang dimasukkan. JST mempunyai kemampuan mengisi bagian masukan yangkurang lengkap sedemikian rupa sehingga tetap diperoleh keluaran yang lengkap.
3. JST dapat dilatih memberikan keputusan dengan memberikan set pelatihan sebelumnya untuk mencapai target tertentu, sehingga JST mampu membangun dan memberikan jawaban sesuai dengan informasi yang diterima pada proses pelatihan.
4. JST mempunyai struktur paralel dan terdistribusi. Artinya, komputasi dapat dilakukan oleh lebih dari satu elemen pemroses yang bekerja secara simultan. 5. JST mampu mengklasiflkasi pola masukan dan pola keluaran. Melalui proses penyesuaian, pola keluaran dihubungkan dengan masukan yang diberikan oleh JST.
6. JST mengurangi derau, sehingga dihasilkan keluaran yang lebih bersih. 7. JST dapat dimanfaatkan pada proses optimisasi penyelesaian suatu masalah. 8. JST dapat digunakan pada proses pengendalian sistem agar masukan
memperoleh tanggapan yang diinginkan.
2.4 Algoritma Umum Jaringan Syaraf Tiruan
Algoritma pembelajaran/pelatihan jaringan syaraf tiruan adalah sebagai berikut: Dimasukkan n contoh pelatihan ke dalam jaringan saraf tiruan.
Lakukan :
1. Inisialisasi bobot-bobot jaringan. Set i = 1.
2. Masukkan contoh ke-i (dari sekumpulan contoh pembelajaran yang terdapat dalam set pelatihan) ke dalam jaringan pada lapisan input.
3. Cari tingkat aktivasi unit-unit output menggunakan algoritma aplikasi. If kinerja jaringan memenuhi standar yang ditentukan
(28)
then exit.
4. Update bobot-bobot dengan menggunakan aturan pembelajaran jaringan. If i=n, then reset i = 1.
Else i = i - 1. Ke langkah 2.
Algoritma aplikasi/inferensi jaringan saraf tiruan :
Dimasukkan sebuah contoh pelatihan ke dalam jaringan saraf tiruan. Lakukan: 1. Masukkan kasus ke dalam jaringan pada lapisan input.
2. Hitung tingkat aktivasi node-node jaringan.
3. Untuk jaringan koneksi umpan maju, jika tingkat aktivasi dari semua unit
output-nya telah dikalkulasi, maka exit. Untuk jaringan koneksi balik, jika
tingkat aktivasi dari semua unit output menjadi konstan atau mendekati konstan, maka exit. J jika tidak, kembali ke langkah 2. Jika jaringannya tidak stabil, maka exit dan fail.
Fungsi aktivasi
Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan saraf tiruan, antara lain (Puspitorini, 2008):
a. Fungsi Undak Biner Hard Limit
Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step function) untuk mengkonversikan input dari suatu variabel yang bernilai kontinu ke suatu
output biner (0 atau 1).
Fungsi undak biner hard limit dirumuskan sebagai berikut:
y = �0 �����< 0
1 ����� ≥0
(29)
b. Fungsi Undak Biner Threshold
Fungsi undak biner dengan menggunakan nilai ambang sering juga disebut dengan nama fungsi nilai ambang (threshold) atau fungsi Heaviside. Fungsi undak biner (dengan nilai ambang θ) dirumuskan sebagai berikut:
y = �0 �����< 0
1 ����� ≥0
Sumber: Puspitorini, 2008
Gambar 2.5 Fungsi aktivasi: Undak Biner Threshold [Puspitorini, 2008]
2.5 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 1958, Rosenblatt memperkenalkan dan mulai mengembangkan
model jaringan yang disebut Perceptron. Metode pelatihan diperkenalkan untuk mengoptimalkan hasil iterasinya.
Widrow dan Hoff (1960) 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. Apa yang dilakukan peneliti terdahulu hanya menggunakan jaringan dengan layer tunggal
(single layer). Rumelhart (1986) mengembangkan perceptron menjadi
Backpropagation, yang memungkinkan jaringan diproses melalui beberapa layer.
Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan oleh Kohonen (1972), Hopfield (1982) dan lainnya. Pengembangan yang ramai dibicarakan
(30)
sejak tahun 1990an adalah aplikasi model-model jaringan syaraf tiruan untuk menyelesaikan berbagai masalah di dunia nyata.
Jaringan Syaraf Tiruan ditentukan oleh tiga hal :
1. Pola hubungan antar neuron (disebut arsitektur jaringan)
2. Metode untuk menentukan bobot penghubung (disebut metode
learning/training).
3. Fungsi aktivasi
2.6 Paradigma Pembelajaran
Berdasarkan cara memodifikasi bobotnya, ada 2 macam pelatihan yang dikenal yaitu dengan supervisi (supervised) dan tanpa supervisi (unsupervised). Dalam pelatihan dengan supervisi, terdapat sejumlah pasangan data (masukan-target keluaran) yang dipakai untuk melatih jaringan hingga diperoleh bobot yang diinginkan. Pasangan data tersebut berfungsi sebagai "guru" untuk melatih jaringan hingga diperoleh bentuk yang terbaik. "Guru" akan memberikan informasi yang jelas tentang bagaimana sistem harus mengubah dirinya untuk meningkatkan unjuk kerjanya. Pada setiap kali pelatihan, suatu input diberikan ke jaringan. Jaringan akan memproses dan mengeluarkan keluaran. Selisih antara keluaran jaringan dengan target (keluaran yang diinginkan) merupakan kesalahan yang terjadi. Jaringan akan memodifikasi bobot sesuai dengan kesalahan tersebut. Jaringan perceptron, ADALINE dan
Backpropagation merupakan model-model yang menggunakan pelatihan dengan
supervisi. Sebaliknya, dalam pelatihan tanpa supervisi (unsupervised learning) tidak ada "guru" yang akan mengarahkan proses pelatihan. Dalam pelatihannya, perubahan bobot jaringan dilakukan berdasarkan parameter tertentu dan jaringan dimodifikasi menurut ukuran parameter tersebut.
Sebagai contoh, dalam model jaringan kompetitif, jaringan terdiri dari 2 layar, yaitu layar input dan layar kompetisi. Layar input menerima data eksternal. Layar kompetitif berisi neuron-neuron yang saling berkompetisi agar memperoleh kesempatan untuk merespon sifat-sifat yangada dalam data masukan. Neuron yang memenangkan kompetisi akan memperoleh sinyal yang berikutnya ia teruskan. Bobot
(31)
neuron pemenang akan dimodifikasi sehingga lebih menyerupai data masukan. Sebagai ilustrasi, pelatihan dengan supervisi dapat diandaikan sebagai skripsi yang dibimbing oleh seorang dosen. Pada setiap kali pengumpulan berkas skripsi, dosen akan mengkritik, mengarahkan dan meminta perbaikan agar kualitas skripsi meningkat. Sebaliknya, Dalam pelatihan tanpa supervisi dapat dibayangkan sebagai skripsi tanpa dosen pembimbing. Mahasiswa mengerjakan skripsi sebaik-baiknya berdasarkan ukuran tertentu (misal dibandingkan dengan skripsi yang sudah ada sebelumnya atau dibandingkan dengan hasil skripsi temannya). Berdasarkan hasil yang pernah dilaporkan, model pelatihan dengan supervisi lebih banyak digunakan dan terbukti cocok dipakai dalam berbagai aplikasi. Akan tetapi kelemahan utama pelatihan dengan supervisi adalah dalam hal pertumbuhan waktu komputasinya yang berorde eksponensial. Ini berarti untuk data pelatihan yang cukup banyak, prosesnya menjadi sangat lambat.
2.6.1 Pelatihan Dengan Supervisi
Jaringan memberikan tanggapan dengan mendapatkan target tertentu. Sebelum jaringan mengubah sendiri bobotnya untuk mencapai target, bobot interkoneksi diinisialisasi. Proses belajar JST dengan pengawasan adalah proses belajar dengan memberikan latihan untuk mencapai suatu target keluaran yang ditentukan. JST mendapatkan latihan untuk mengenal pola-pola tertentu. Dengan memberikan target keluaran, perubahan masukan akan diadaptasi oleh keluaran dengan mengubah bobot interkoneksinya mengikuti algoritma belajar yang ditentukan. Set pelatihan dipilih dari fungsi keluaran maksimum setiap keadaan parameter yang diubah. Dengan menginisialisasi bobot tiap sel, JST akan mencari error terkecil, sehingga bentuk fungsi keluaran mendekati target yang diinginkan. Berdasarkan proses belajar yang dilakukan, kita perlu memperhatikan beberapa hal dalam menyusun set pelatihan, yaitu:
a. Pemberian urutan pola yang akan diajarkan b. Kriteria perhitungan error
(32)
d. Jumlah iterasi yang harus dilalui e. Inisialisasi bobot dan parameter awal
Pelatihan dilakukan dengan memberikan pasangan pola-pola masukan dan keluaran. Untuk keperluan pengendalian, pasangan pola tidak mengikuti rumusan tertentu. JST harus dapat mengadaptasi masukan yang acak supaya keluaran tetap mengikuti target. Lebih lanjut, proses pelatihan dilakukan dengan memberikan pola yang menggunakan masukan acak dan bobot interkoneksi yang besar. Dengan pemberian bobot yang besar, perbedaan target dan keluaran berkurang lebih cepat, sehingga proses adaptasi akan lebih cepat pula. Salah satu proses belajar dengan pengawasan adalah proses belajar menggunakan algoritma propagasi balik. Proses belajar jaringan umpan balik dituliskan dalam bentuk algoritma propagasi balik yang dikenal sebagai JPB. Jaringan Propagasi Balik (JPB) kadang-kadang dikenal sebagai
Multilayer Perceptron (MLP). Anda dapat menggunakan algoritma propagasi balik
untuk melatih jaringan lapis banyak.
2.6.2 Pelatihan Tanpa Supervisi
Pada pelatihan tanpa supervisi, jaringan tidak mendapatkan target, sehingga JST mengatur bobot interkoneksi sendiri. Belajar tanpa pengawasan kadang-kadang diacu sebagai Self-Organizing Learning, yakni belajar mengklasifikasikan tanpa dilatih. Pada proses belajar tanpa pengawasan, JST akan mengklasifikasikan contoh pola-pola masukan yang tersedia ke dalam kelompok yang berbeda-beda. Contoh JST dengan belajar tanpa pengawasan adalah jaringan Kohonen.
2.7 Algoritma Backpropagation
Algoritma pelatihan Backpropagation Neural Network (BPNN) pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart & Mc. Clelland. Pada supervised learning terdapat pasangan data input dan output yang dipakai untuk melatih JST hingga diperoleh bobot penimbang (weight) yang diinginkan.
(33)
Pelatihan Backpropagation meliputi 3 fase:
a. fase propagsi maju (feedforward) pola pelatihan masukan. Pola masukan dihitung maju mulai dari layer masukan hingga layer keluaran dengan fungsi aktivasi yang ditentukan;
b. fase propasi mundur (Backpropagation) dari error yang terkait. Selisih antara keluaran dan target merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasi mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit dilayar keluaran;
c. fase modifikasi bobot.
Ketiga tahapan tersebut diulangi terus-menerus sampai mendapatkan nilai error yang diinginkan. Setelah training selesai dilakukan, hanya tahap pertama yang diperlukan untuk memanfaatkan jaringan syaraf tiruan tersebut. Kemudian, dilakukan pengujian terhadap jaringan yang telah dilatih. Pembelajaran algoritma jaringan syaraf membutuhkan perambatan maju dan diikuti dengan perambatan mundur.
2.7.1 Fase Propagasi Maju
Selama propagasi maju, sinyal masukan (x1) dipropagasikan ke layer tersembunyi
menggunakan fungsi aktivasi yang ditentukan. Keluaran dari unit tersembuyi (Z1)
tersebut selanjutnya dipropagasi maju lagi ke layer tersembunyi berikutnya dengan fungsi aktivasi yang telah ditentukan. Dan seterusnya hingga menghasilkan keluaran jaringan (yk
Berikutnya, keluaran jaringan (y ).
k) dibandingkan dengan target yang harus
dicapai (tk). Selisih (tk-yk)adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil
dari batas toleransi yang ditentukan, maka iterasi dihentikan. Jika kesalahan masih lebih besar dari batas toleransi, maka bobot setiap garis dari jaringan akan dimodifikasi untuk mengurangi kesalahan.
(34)
2.7.2 Fase Propagasi Mundur
Berdasarkan kesalahan t
k – yk dihitung faktor δk (k= 1, ..., m) yang dipakai untuk
mendistribusikan kesalahan di unit Y
k ke semua unit tersembunyi yang terhubung
langsung dengan Y
k. δk
Dengan cara yang sama, dihitung faktor δ
juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran.
j di setiap layer tersembunyi sebagai
dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layer di
bawahnya. Dan seterusnya hingga semua faktor δ di unit tersembunyi yang terhubung
langsung dengan unit masukan dihitung.
2.7.3 Fase Modifikasi 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 hingga kondisi penghentian dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah interasi 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 ditetapkan.
2.7.4 Prosedur Pelatihan
Langkah 0 : Inisialisasi bobot keterhubungan antara neuron dengan menggunakan bilangan acak kecil (-0.5 sampai +0.5).
Langkah 1 : Kerjakan langkah 2 sampai langkah 9 selama kondisi berhenti yang ditentukan tidak dipenuhi.
Langkah 2 : Kerjakan langkah 3 sampai langkah 8 untuk setiap pasangan pelatihan.
(35)
Propagasi maju
Langkah 3 : Setiap unit masukan (xi, i = 1,…., n) menerima sinyal masukan xi
Langkah 4 : Setiap unit tersembunyi (xi, I = 1,…….,p) jumlahkan bobot sinyal masukannya :
, dan menyebarkannya ke seluruh unit pada lapisan tersembunyi
voj = bias pada unit tersembunyi j aplikasikan fungsi aktivasinya
untuk menghilangkan sinyal keluarannya, zj = f (z_inj
Langkah 5 : tiap unit keluaran (yk, k = 1,…….m) jumlahkan bobot sinyal masukannya :
), dan kirimkan sinyal ini keseluruh unit pada lapisan diatasnya (unit keluaran)
wok = bias pada unit keluaran k dan aplikasikan fungsi aktivasinya
untuk menghitung sinyal keluarannya, yk = f(y_ink)
Propagasi balik
Langkah 6 : tiap unit keluaran (yk, k = 1,…..,m) menerima pola target yang saling berhubungan pada masukan pola pelatihan, hitung kesalahan informasinya,
hitung koreksi bobotnya (digunakan untuk mempengaruhi
wjk
nantinya),
hitung koreksi biasnya (digunakan untuk mempengaruhi wok
(2.1) .... ... ... ... ... ... _ 1
∑
= + = n i ij i jj vo xv
in z nantinya) (2.2) ... ... ... ... ... ... _ 1
∑
= + = p j jk j kk wo z w
in y (2.3) ... ... ... ... ... )... _ ( ' )
( k k k
k = t −y f y in
δ (2.4) ... ... ... ... ... ... ... j k jk z
w =αδ
∆
αδ = ∆
(36)
dan kirimkan δk ke unit-unit pada lapisan dibawahnya,
Langkah 7 : Setiap unit lapisan tersembunyi (zj, j = 1,…..p) jumlah hasil perubahan masukannya (dari unit-unit lapisan diatasnya),
kalikan dengan turunan fungsi aktivasinya untuk menghitung informasi kesalahannya, hitung koreksi bobotnya (digunakan untuk memperbaharui voj
………...(2.7)
nanti)
hitung koreksi bias
Langkah 8 : Update bobot dan bias pada hubungan antar lapisan
Langkah 9 : Tes kondisi terhenti
Backpropagation secara garis besar terdiri dari dua fase, fase maju dan fase
mundur. Selama fase maju algoritma ini memetakan nilai masukan untuk mendapatkan keluaran yang diharapkan. untuk menghasilkan keluaran pola maka didapatkan dari rekapitulasi bobot masukan dan dipetakan untuk fungsi aktivasi jaringan. keluaran dapat dihitung sebagai berikut :
�� = 1
1+e−anetj ...(2.11)
dimana, (2.6) .. ... ... ... ... ... ... _ 1
∑
= = m k jk k j w in δ δ i j ij xv =αδ
∆
) _ ( '
_ j j
j δ in f z in
δ = (2.8) ... ... ... ... ... ... ... j j
vo =αδ
∆ (2.9) .... ... ... ... ... ) ( )
( jk jk
jk baru w lama w
w = +∆
(2.10) ... ... ... ... ... ) ( )
( ij ij
ij baru v lama v
(37)
����.�= (∑�−1�����) +��……….(2.12) dimana,
oj
w
: input dari j unit
ij
a
: bobot yang dihubungkan dari unit I ke unit j
net,j
θ
: jaringan keluaran untuk j unit
j
Di dalam fase mundur, pola keluaran (aktual output) kemudian dibandingkan dengan keluaran yang dikehendaki dan sinyal error dihitung untuk masing – masing output. sinyal-sinyal kemudian merambat mundur dari lapisan output ke masing-masing unit dalam lapisan lapisan transisi memberikan kontribusi langsung ke output, dan bobot disesuaikan iterasi selama proses pembelajaran, kemudian error diperkecil selama descent direction. fungsi error pada output neuron digambarkan sebagai berikut :
: bias untuk j unit
� =1
2∑��=1(��− ��)2……… (2.13)
dimana,
n : angka pada modul keluaran didalam lapisan output
tk
o
: keluaran yang dikendaki dari keluaran unit k
k : keluaran jaringan dari keluaran unit k
Keuntungan dari metode yaitu :
1. Back-Propagation sangat luas digunakan dalam paradigma jaringan saraf, dan berhasil diaplikasikan dalam berbagai bidang. Misalnya : pengenalan pola militer, diagnosa kedokteran, klasifikasi gambar, menerjemahkan kode, dan dalam deteksi jenis penyakit Ginjal.
2. Back-Propagation dapat digunakan untuk dua atau lebih lapisan dengan bobot dan menggunakan aturan pengalaman belajar.
(38)
4. Dapat memisahkan pola yang terpisah secara linear maupun pola yang terpisah tidak linear. Terpisah linear adalah Dipisahkan 1 garis linear 2 pola tersebut.
Adapun kelemahannya yaitu : Waktunya Konvergen, karena pelatihan memerlukan ratusan atau ribuan contoh dalam kumpulan pelatihan, dan mungkin membutuhkan waktu komputasi sepanjang hari (atau lebih) untuk menyelesaikan pelatihan.
2.8 Inisialisasi Pembobotan Nguyen Widrow
Bobot dan Bias yang didapat dengan metode Nguyen Widrow sangat dipengaruhi oleh beberapa hal antara lain:
Berdasarkan penelitian yang dilakukan nilai bobot awal random (berada dalam interval -1 sampai dengan 1) jika digunakan metode Nguyen Widrow sebagai pembobotan awal maka jumlah bobotnya akan disesuaikan. Sehingga bobot awal dapat bertambah maupun berkurang dari nilai awal. Dengan pembobotan awal menggunakan Metode Nguyen Widrow maka jumlah node pada hidden layer akan menentukan besar bias yang akan digunakan dari input layer menuju hidden layer.
Bobot dan Bias yang didapat dengan metode Nguyen Widrow sangat dipengaruhi oleh beberapa hal antara lain.
1.
Jumlah node pada input layer juga memberikan pengaruh pada nilai bobot dan bias yang dihasilkan dengan metode Nguyen Widrow. Jumlah node pada input layer
adalah tergantung jumlah dari input dari data yang diteliti.
Jumlah node pada Input layer
2.
Jumlah node pada hidden layer sangat berpengaruh dalam menentukan nilai bobot dan bias. Untuk mendapatkan jumlah node yang tepat dilakukan secara trial error
dengan interval jumlah node hidden layer adalah antara 1sampai dengan 18node.
Jumlah node pada hidden layer
Jika jumlah node pada hidden layer semakin besar maka faktor skala juga akan makin besar. Jika faktor skala besar maka nilai bobot juga akan bertambah dan interval bias dari input layer menuju hidden layer akan semakin besar juga.
(39)
Penambahan bias pada pembelajaran dengan metode back propagation akan meningkatkan jumlah keluaran (sinyal keluaran) dari sebuah lapisan.
3.
Nilai awal yang digunakan dalam metode Nguyen Widrow dapat bertambah atau berkurang. Nilai awal yang dimaksut adalah nilai yang berada pada interval -0,5 - 0,5. Hal ini disebabkan karena metode Nguyen Widrow akan menyesuaikan untuk pengenalan pola.
Nilai awal yang digunakan
Untuk mendapatkan bias dari input layer menuju hidden layer yang akan digunakan maka terlebih dahulu dicari faktor skala.
β = faktor skala = (0.7(p)
Untuk Jumlah Hidden layer = 1 maka faktor skalanya adalah:
1/n
β = 0.7 (p)
)
= 0.7 (1)
1/n 1/8
Jumlah Hidden layer = 2 maka faktor skalanya adalah: = 0,7
β = faktor skala = (0.7(p)1/n
β = 0.7 (p)
)
= 0.7 (2)
1/n 1/z
= 0,7634
Sebagai contoh jaringan dengan sebuah 3 unit layer tersembunyi dibangun untuk mengenali fungsi logika XOR dengan 2 masukan X1 dan X2. Iterasi untuk
menghitung bobot jaringan untuk pola pertama (X1=1, X2=1 dan t=0) dan learning rateα = 0.2.
(40)
Gambar 2.6 Jaringan dengan 3 unit hidden layer
Bobot-bobot diberikan nilai acak dengan range -1 sampai dengan 1. Misal bobot dari layer input (Xi) ke layer tersembunyi (Zi
Langkah 0
) seperti pada Tabel 3.2 dan bobot-bobot dari layer tersembunyi ke layeroutput seperti pada Tabel 3.3.
Untuk algoritma Backpropagasi Inisialisasi Standard: semua bobot dengan bilangan acak kecil.
Tabel 3.2 Bobot dari layer input (Xi) ke layer tersembunyi (Zi)
Z1 Z2 Z3
X1 0.2 0.3 -0.1
X2 0.3 0.1 -0.1
V10 1
1
W10
V30 V20
Z1
V11
X1
W11
V21
V31
V12
W12
V22
X2 Z2 Y1
V32
W12
(41)
1 -0.3 0.3 0.3
Tabel 3.3 Bobot-bobot dari layer tersembunyi ke layeroutput
Y Z1 0.5 Z2 -0.3 Z3 -0.4 1 -0.1
Untuk algoritma Backpropagasi Inisialisasi Nguyen Widrow: hitung semua bobot dengan faktor skala Hitung faktor skala (ß) = 0.7(p)1/n
β = 0,7 √3 = 1,21
Jadi bias yang dipakai adalah faktor skala yang merupakan bilangan acak antara -1,21 hingga 1,21
‖�1‖ = ��112 +�212 = �0.22 + 0.32 = 0.36
‖�2‖ = ��122 +�222= �0.32 + 0.12 = 0.32
‖�3‖ = ��132 +�232= �−0.12 + (−0.1)2 = 0.14
Persamaan berikut merupakan bobot yang dipakai sebagai insialisasi dengan rumus:
(42)
‖�11‖ =1||.21∗00.36||.2 = 0.67
‖�12‖ =1||.21∗00.32||.3 = 1.13
‖�13‖ =1.||21∗−00.14||.1 = 0.86
‖�21‖ =1||.21∗00.36||.3 = 1
‖�22‖ =1||.21∗00.32||.1 = 0.38
‖�23‖ =1.21∗||0.(14−0||.1) = 0.86
Tabel 3.4 Bobot dari layer input (Xi) ke layer tersembunyi (Zi)
Z1 Z2 Z3
X1 (1,21*0,2)/0,36
= 0,67
(1,21*0,3)/0,32 = 1,13
(1,21*-0,1)/0.14 = 0.86 X2 (1,21*0,3)/0,36
= 1
(1,21*0,1)/0,32 = 0,38
(1,21*-0,1)/0.14 = 0.86
Untuk perhitungan bobot-bobot dari layer tersembunyi ke layer output sama dengan standard yaitu secara acak bilangan yang kecil
Langkah 1
Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 sampai dengan 8
Langkah 2
Untuk setiap pasang data pelatihan, lakukan langkah 3 sampai dengan 8 Fase I: Propagasi Maju
(43)
Langkah 3
Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi
Langkah 4
Hitung semua keluaran di unit tersembunyi (Zj
Untuk pola pertama (X
):
1=1, X2
����1= �10+� ����� 2 �=1
= �10+�1�11+�2�12 =−0,3 + 1∗ 0,2 + 1∗ 0,3 = 0,2
����2 =�10+� ����� 2 �=1
=�10+�1�21+�2�22 = 0,3 + 1∗ 0,3 + 1∗0,1 = 0,7
����3 =�10+� ����� 2 �=1
=�10+�1�31+�2�32 = 0,3 + 1∗(−0,1) + 1∗(−0,1)
= 0,1
=1 dan t=0).
����� =��0+� ����� � �=1
�� = � �������=
1
1 +�−�_����
�1 = ������1�=
1
1 +�−�_���1 =
1
1 +�−0,2 = 0,55
�2 =������2�=
1
1 +�−�_���2 =
1
1 +�−0,7 = 0,67
�3 =������3�=
1
1 +�−�_���3 =
1
(44)
Langkah 5
Hitung semua jaringan di unit keluaran (yk)
�_���� = ��0+� ����� �
�=1
����1= �10+� ����� �
�=1
= �10+�1�11+�2�12+�3�13
=−0,1 + 0,55 .0,5 + 0,67 . (−0,3) + 0,52 . (−0,4) = 0,24
�� =�(�_����) =
1
1 +�−�_���� =
1
1 +�−0,24 = 0,44
Fase II : Propagasi Maju
Langkah 6
δk=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk
δ
)
1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1
Δw
)=(0-0,44)*0,44*(1-0,44) = -0,11
kj= α δk zj
Δw
10= α δ1
Δw
(1)=0,2 . (-0,11) . (1) = -0,022
11= α δ1 (z1
Δw
)=0,2 . (-0,11) . (0,55) = -0,01
12= α δ1 (z2
Δw
)=0,2 . (-0,11) . (0,67) = -0,01
(45)
Langkah 7
Hitung factor δ unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj
Faktor kesalahan δ unit tersembunyi (j=1,2,3,…,p)
δ_���� = �δ���� �
�=1
δ_���1 =δ1.�11= (−0,11). 0,5 = −0,055
δ_���2 =δ1.�12 = (−0,11). (−0,3) = 0,033
δ_���3 =δ1.�13 = (−0,11). (−0,4) = 0,044
δj = δ_netj f’(z_netj) = δ_net zj (1-zj
δ
)
1 = δ_net1 z1 (1-z1
δ
) = (-0.055).0,55.(1-(0,55)) = -0,01
2 = δ_net2 z2 (1-z2
δ
) = (0.033).0,67.(1-(0,67)) = 0,01
3 = δ_net3 z3 (1-z3) = (0.044).0,52.(1-(0,52)) = 0,01
Δvji = α δjxi
Δv10 = α δ1 = 0,2*(-0,01)*1 = -0,002
Δv20 = α δ2 = 0,2*(0,01)*1 = 0,002
Δv30 = α δ3 = 0,2*(0,01)*1 = 0,002
(46)
Δv21 = α δ2x1 = 0,2*(0,01)*1 = 0,002
Δv31 = α δ3x1 = 0,2*(0,01)*1 = 0,002
Δv12 = α δ1x2 = 0,2*(-0,01)*1 = -0,002
Δv22 = α δ2x2 = 0,2*(0,01)*1 = 0,002
Δv32 = α δ3x2 = 0,2*(0,01)*1 = 0,002
Fase III : Perubahan Bobot
Langkah 8
Perubahan bobot garis yang menuju unit keluaran wkj (baru) = wkj (lama) + Δwkj
w10 (baru) = w10 (lama) + Δw10 = -0,1-0,022 = -0,122 w11 (baru) = w11 (lama) + Δw11 = 0,5-0,01 = 0,49 w12 (baru) = w12 (lama) + Δw12 = -0,3-0,01 = 0,31 w13 (baru) = w13 (lama) + Δw13 = -0,4-0,01 = 0,41 Vji (baru) = vji (lama) + Δvji
V10 (baru) = v10 (lama) + Δv10 = -0,3-0,002 = -0,302 V20 (baru) = v20 (lama) + Δv20 = 0,3+0,002 = 0,302 V30 (baru) = v30 (lama) + Δv30 = 0,3+0,002 = 0,302 V11 (baru) = v11 (lama) + Δv11 = 0,2-0,002 = 0,198 V21 (baru) = v21 (lama) + Δv21 = 0,3+0,002 = 0,302
(47)
V31 (baru) = v31 (lama) + Δv31 = -0,1+0,002 = -0,098 V12 (baru) = v12 (lama) + Δv12 = 0,3-0,002 = 0,298 V22 (baru) = v22 (lama) + Δv22 =0,1+0,002 = 0,102 V32 (baru) = v32 (lama) + Δv32 =-0,1+0,002 = -0,098 Untuk pola yang kedua, X1=1, X2
Fase I: Propagasi Maju
=0 dan t=1
Langkah 3
Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi
Langkah 4
Hitung semua keluaran di unit tersembunyi (Zj):
����� =��0+� ����� � �=1
����1= �10+� ����� 2 �=1
= �10+�1�11+�2�12 =−0,3 +� ∗0,2 +� ∗0,3 = −0,1
����2 =�10+� ����� 2 �=1
=�10+�1�21+�2�22 = 0,3 +� ∗0,3 +� ∗0,1 = 0,6
����3 =�10+� ����� 2 �=1
=�10+�1�31+�2�32 = 0,3 +� ∗(−0,1) +� ∗ −0,1)
= 0,2
�� = � �������=
1
1 +�−�_����
�1 = ������1�=
1
1 +�−�_���1 =
1
(48)
�2 =������2�=1 +�1−�_���2 = 1 +1��,� = 0,67
�3 =������3�=
1
1 +�−�_���3 =
1
1 +�−�,� = 0,52
Langkah 5
Hitung semua jaringan di unit keluaran (yk)
�_���� =��0+� ����� �
�=1
����1 =�10+� ����� �
�=1
=�10+�1�11+�2�12+�3�13
= −0,1 + 0,55∗0,5 + 0,67∗(−0,3) + 0,52∗(−0,4) = 0,24
�� =�(�_����) =1 +�1−�_���� = 1
1 +�−�,�� = 0,44
Fase II : Propagasi Maju
Langkah 6
δk=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk
δ
)
1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1
Δw
)=(0-0,44) * 0,44 * (1-0,44) = -0,11
kj = α δk zj
Δw
10 = α δ1
Δw
(1) = 0,2 * (-0,11) * (1) = -0,022
11 = α δ1 (z1
Δw
) = 0,2 * (-0,11) * (0,55) = -0,01
(49)
Δw13 = α δ1 (z3
Langkah 7
) = 0,2 * (-0,11) * (0,52) = -0,01
Hitung factor δ unit tersembunyi berdasarkan error di setiap unit tersembunyi zj
(j=1,2,3,…,p)
δ_���� = �δ���� �
�=1
δ_���1 =δ1∗ �11 = (−0,11)∗0,5 =−0,055
δ_���2 = δ1 ∗ �12 = (−0,11) ∗(−0,3) = 0,033
δ_���3 = δ1 ∗ �13 = (−0,11) ∗(−0,4) = 0,044
Faktor errorδ unit tersembunyi δj = δ_netj f’(z_netj) = δ_net zj (1-zj
δ
)
1 = δ_net z1 (1-z1
δ
) = (-0.055) * 0,55 * (1-(0,55)) = -0,01
2 = δ_net z2 (1-z2
δ
) = (0.033) * 0,67 * (1-(0,67)) = 0,01
3 = δ_net z3 (1-z3) = (0.044) * 0,52 * (1-(0,52)) = 0,01
Δvji = α δjxi
Δv10 = α δ1 = 0,2 * (-0,01)*1 = -0,002
Δv20 = α δ2 = 0,2 * (0,01)*1 = 0,002
Δv30 = α δ3 = 0,2 * (0,01)*1 = 0,002
(50)
Δv21 = α δ2x1 = 0,2 * (0,01)*1 = 0,002
Δv31 = α δ3x1 = 0,2 * (0,01)*1 = 0,002
Δv12 = α δ1x2 = 0,2 * (-0,01)*1 = -0,002
Δv22 = α δ2x2 = 0,2 * (0,01)*1 = 0,002
Δv32 = α δ3x2 = 0,2 * (0,01)*1 = 0,002
Fase III : Perubahan Bobot
Langkah 8
Perubahan bobot garis yang menuju unit keluaran wkj (baru) = wkj (lama) + Δwkj
w
10 (baru) = w10 (lama) + Δw10
w
= -0,1-0,022 = -0,122
11 (baru) = w11 (lama) + Δw11
w
= 0,5-0,01 = 0,49
12 (baru) = w12 (lama) + Δw12
w
= -0,3-0,01 = 0,31
13 (baru) = w13 (lama) + Δw13= -0,4-0,01 = 0,41
Vji (baru) = vji(lama) + Δvji
V
10 (baru) = v10 (lama) + Δv10
V
= -0,3-0,002 = -0,302
20 (baru) = v20 (lama) + Δv20
V
= 0,3+0,002 = 0,302
30 (baru) = v30 (lama) + Δv30
V
= 0,3+0,002 = 0,302
(51)
V21 (baru) = v21 (lama) + Δv21
V
= 0,3+0,002 = 0,302
31 (baru) = v31 (lama) + Δv31
V
= -0,1+0,002 = -0,098
12 (baru) = v12 (lama) + Δv12
V
= 0,3-0,002 = 0,298
22 (baru) = v22 (lama) + Δv22
V
= 0,1+0,002 = 0,102
32 (baru) = v32 (lama) + Δv32
Lanjutkan dengan pola yang lainnya:
= -0,1+0,002 = -0,098
Pola ke 2 X1=1, X2=0, t=1 Pola ke 3 X1=0, X2=1, t=1 Pola ke 4 X1=0, X2=0, t=0
(52)
BAB 3
METODE PENELITIAN
3.1 Data Yang Digunakan
Berikut ini adalah data gejala-gejala yang diderita oleh pasien yang mengalami penyakit ginjal, sebagai berikut:
Tabel 3.1 Gejala-Gejala Penyakit Ginjal
No Nama Gejala
1 Berkurangnya rasa, terutama di tangan 2 Darah pada urine (hematuria)
3 Demam
4 Desakan untuk kencing 5 Kejang
6 Kencing di malan hari (nokturia) 7 Menggigil
8 Mual
9 Mudah lelah 10 Muntah
(53)
12 Nanah pada urine (hematuria) 13 Nyeri pada tulang pinggul 14 Nyeri di daerah kandung kemih 15 Nyeri di daerah ginjal
16 Nyeri ketika kencing (disuria) 17 Nyeri perut
18 Nyeri punggung di bagian bawah 19 Nyeri yang hilang timbul
20 Pembengkakan organ tubuh tertentu 21 Pembengkakan yang menyeluruh 22 Penurunan berat badan
23 Perubahan mental/suasana hati 24 Rambut dan kuku menjadi rapuh 25 Ruam kulit/kulit kemerahan 26 Sering kencing
27 Syok dan kaget
28 Tekanan darah tinggi/hipertensi 29 Temor tangan
30 Volume air kencing berkurang
(54)
Berikut ini adalah daftar nama penyakit ginjal yang diderita oleh pasien penyakit ginjal, sebagai berikut:
Tabel 3.2 Nama Penyakit Ginjal
No Nama Penyakit Ginjal
1 Gagal Ginjal Akut 2 Kanker Ginjal 3 Pielonefritis 4 Sindrom Nefrotik 5 Kejang
6 Hidronefrosis
7 Kanker Kandung Kemih 8 Ginjal Polkista
9 Nefritis Tububinter Stisialis 10 Sistisis
Sumber: Lubis, Abdul Rahim, dr., SpPD.KGH, 2013
3.2 Pendefinisian Input dan Output
Data gejala-gejala yang dialami oleh pasien penyakit ginjal selanjutnya akan diolah oleh jaringan. Agar data dapat dikenali oleh jaringan maka data harus direpresentasikan ke dalam bentuk numerik antara 0 sampai dengan 1, baik variabel maupun isinya yang merupakan masukan gejala penyakit ginjal beserta kategori dan
(55)
keluaran yang merupakan prediksi panyakit ginjal. Hal ini dikarenakan jaringan menggunakan fungsi aktivasi logsig yang range-nya dari 0 sampai 1. Nilai-nilai yang digunakan diperoleh berdasarkan kategori dari masing-masing variabel selain itu juga untuk memudahkan mengingat dalam pendefinisiannya.
3.2.1 Masukan (Input)
Adapun yang menjadi masukan (input) adalah gejala penyakit ginjal (X), seperti terlihat pada Tabel 3.3.
Tabel 3.3 Tabel Pendefenisian Input
No Gejala (X)
X1 Berkurangnya rasa, terutama di tangan X2 Darah pada urine (hematuria)
X3 Demam
X4 Desakan untuk kencing X5 Kejang
X6 Kencing di malan hari (nokturia) X7 Menggigil
X8 Mual
X9 Mudah lelah X10 Muntah
(56)
X12 Nanah pada urine (hematuria) X13 Nyeri pada tulang pinggul X14 Nyeri di daerah kandung kemih X15 Nyeri di daerah ginjal
X16 Nyeri ketika kencing (disuria) X17 Nyeri perut
X18 Nyeri punggung di bagian bawah X19 Nyeri yang hilang timbul
X20 Pembengkakan organ tubuh tertentu X21 Pembengkakan yang menyeluruh X22 Penurunan berat badan
X23 Perubahan mental/suasana hati X24 Rambut dan kuku menjadi rapuh X25 Ruam kulit/kulit kemerahan X26 Sering kencing
X27 Syok dan kaget
X28 Tekanan darah tinggi/hipertensi X29 Temor tangan
X30 Volume air kencing berkurang
(57)
3.2.2 Keluaran (Output)
Adapun yang menjadi hasil (output) adalah pengenalan terhadap penyakit ginjal berdasarkan gejala penyakit, seperti terlihat pada tabel berikut.
Tabel 3.4 Tabel Pendefenisian Keluaran (Output)
Nama Penyakit (Y) Y1 Gagal Ginjal Akut
Y2 Kanker Ginjal Y3 Pielonefritis Y4 Sindrom Nefrotik Y5 Kejang
Y6 Hidronefrosis
Y7 Kanker Kandung Kemih Y8 Ginjal Polkista
Y9 Nefritis Tububinter Stisialis Y10 Sistisis
(58)
3.3 Algoritma
Berikut ini adalah langkah-langka penyelesaian masalah atau algoritma yang penulis gunakan dalam bentuk diagram alir (Flowchart).
a.FlowchartPelatihan Backpropagation
Adapun Flowchart dari Pelatihan Backpropagation adalah sebagai berikut:
Gambar 3.1 Flowchart Algoritma Pelatihan Backpropagation
Start
Parameter Jaringan,Vektor Input
A Nguyen Widrow ?
Inisialisasi Bobot dengan
Faktor Skala (ß)ß = 0 7(p)1/n
Yes No
Inisialisasi Bobot Secara Acak
(59)
Gambar 3.2 Flowchart Algoritma Pelatihan Backpropagation (Lanjutan)
Setiap input meneruskan ke hidden layer
Jalankan fungsi aktifasi untuk menghitung output
�����=��0+� ����� � �
Hitung input bobotnya
Hitung komponen perubahan bobot
δ
∆
Hitung komponen Bias
w =αδ
∆
Setiap neuron hidden menjumlahkan input dari neuron diatasnya
∑
= m k jk
j w
in
_ δ
δ
A
Propagasi Maju
Hitung komponen error
δ ( ) f’( )
Propagasi Mundur
B X
(60)
Gambar 3.3 Flowchart Algoritma Pelatihan Backpropagation (Lanjutan)
Keterangan Flowchart : 1. Mulai
2. Masukkan bobot awal
3. Setiap masukan meneruskan ke hidden layer
Hitung komponen error ) _ ( '
_ j j
j δ in f z in
δ =
Hitung komponen koreksi errornya (untuk mengubah vij)
∑
+
= ok j jk
k w z w
in y
Hitung komponen koreksi errornya (untuk mengubah v0j)
Hitung semua perubahan bobot menuju ke unit keluaran
(b ) (l ) Δ
Perubahan bobot
Stop
B
Kondisi Stop ?
Yes
X
(61)
4. Kerjakan fungsi aktifasi untuk menghitung output
5. Kerjakan untuk menghitung komponen error
6. Kerjakan untuk menghitung komponen perubahan bobot 7. Kerjakan untuk menghitung komponen bias
8. Kerjakan untuk setiap neuron hidden menjumlahkan input dari neuron diatasnya 9. Kerjakan untuk menghitung komponen errornya
10. Kerjakan untuk menghitung koreksi error untuk mengubah V 11. Kerjakan untuk menghitung koreksi error untuk mengubah V
ij
12. Kerjakan untuk menghitung semua perubahan bobot menuju ke unit keluaran
oj
13. Kerjakan untuk menghitung semua perubahan bobot menuju ke unit keluaran 14. Selesai
b.FlowchartPengujian Backpropagation
Adapun proses dari algoritma Pengujian Backpropagation adalah seperti pada Gambar 3.4.
Gambar 3.4 Flowchart Pengujian Backpropagation
Start
Vektor Input
Setiap Unit pada Output Layer menghitung output
∑
�����=��0+� ����� �
Setiap Unit pada HiddenLayer
menghitung output
(62)
3.4 Arsitektur Jaringan
Berikut ini adalah gambar arsitektur jaringan (network) yang penulis gunakan dalam menganalisa data masukan (input) (X), layer tersembunyi (hidden layer) (Z) dan keluaran (output) (Y), dimana pada gambar tersebut terdapat 30 (tiga puluh) masukan
(input) dan 3 (tiga) layer tersembunyi (hidden layer) dan 10 (sepuluh) unit keluaran
(output). Dimana V adalah bobot hidden layer ke input layer dan W adalah bobot
(63)
Z1 Z2 Z3 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 1 X1 X2 X3 X4 1 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X27 X28 X29 X30 V10 V20 V30 V11 V21 V31 V12 V22 V32 V13 V23 V33 V14 V24 V34 V15 V25 V35 V16 V26 V36 V17 V27 V37 V18 V28 V38 V19 V29 V39 V110 V210 V310 V111 V211 V311 V112 V212 V312 V113 V213 V313 V114 V214 V314 V115 V215 V315 V116 V216 V316 V117 V217 V317 V118 V218 V318 V119 V219 V319 V120 V220 V321 V321 V321 V122 V222 V322 V123 V223 V323 V124 V224 V324 V125 V225 V325 V126 V226 V326 V127 V227 V327 V128 V228 V328 V129 V229 V329 V130 V230 V330 W10 W20 W30 W40 W50 W70 W80 W100 W90 W11 W21 W31 W41 W51 W61 W71 W81 W91 W101 W102 W103 W12 W13 W22 W23 W32 W33 W42 W43 W52 W53 W62 W63 W72 W73 W82 W83 W92 W93
(64)
BAB 4
ANALISIS DAN PEMBAHASAN
4.1 Analisis
Pada tesis ini dibahas analisis penggunaan algoritma Nguyen Widrow dalam jaringan syaraf tiruan Backpropagation untuk memprediksi seseorang terkena penyakit ginjal berdasarkan gejala-gejala yang dialami oleh pasien. Agar data dapat dikenali oleh jaringan maka data harus direpresentasikan ke dalam bentuk numerik antara 0 sampai dengan 1, baik variabel maupun isinya yang merupakan masukan gejala penyakit ginjal beserta kategori dan keluaran yang merupakan prediksi panyakit ginjal.
Bobot-bobot diberikan nilai acak dengan range -1 sampai dengan 1. Misal bobot dari layer input (Xi) ke layer tersembunyi (Zi
Misalkan untuk pola yang pertama nilai, X
) seperti pada Tabel 3.5
1=1, X2=0, X3=1, X4=0, X5=0, X6=1,
X7=0, X8=0, X9=0, X10=0, X11=0, X12=0, X13=0, X14=1, X15=0, X16=1, X17=0,
X18=0, X19=0, X20=0, X21=1, X22=1, X23=0, X24=0, X25=0, X26=0, X27=0, X28=1,
X29=0, X30=1, dan t=1
Langkah 0
Untuk algoritma Backpropagasi Inisialisasi Standard: semua bobot dengan bilangan acak kecil.
Tabel 3.5 Bobot dari layer input (Xi) ke layer tersembunyi (Zi
)
Z1 Z2 Z3
X1 0.2 0.3 0.1
X2 0.3 0.1 0.1
(65)
X4 0.3 0.1 0.3
X5 0.1 0.1 0.5
X6 0.2 0.5 0.3
X7 0.2 0.5 0.5
X8 0.3 0.1 0.3
X9 0.3 0.1 0.1
X10 0.2 0.5 0.3
X11 0.5 0.5 0.5
X12 0.2 0.5 0.3
X13 0.6 0.3 0.5
X14 0.1 0.5 0.3
X15 0.1 0.3 0.5
X16 0.1 0.1 0.7
X17 0.4 0.5 0.3
X18 0.2 0.5 0.2
X19 0.1 0.1 0.1
X20 0.7 0.6 0.4
X21 0.1 0.1 0.7
X22 0.1 0.1 0.5
X23 0.2 0.5 0.3
X24 0.2 0.5 0.3
X25 0.5 0.2 0.2
(66)
X27 0.1 0.4 0.5
X28 0.5 0.1 0.2
X29 0.4 0.6 0.3
X30 0.2 0.1 0.5
1 -0.3 0.3 0.3
Untuk algoritma Backpropagasi Inisialisasi Nguyen Widrow: hitung semua bobot dengan faktor skala Hitung faktor skala (ß) = 0.7(p)1/n
β = 0,7 √3 = 1,21
Jadi bias yang dipakai adalah faktor skala yang merupakan bilangan acak antara -1,21 hingga 1,21
‖�1‖ = � �11
2 +�
212 +�312 +�412 +�512 +�612 +�712 +�812 +�912 +�1012 +�1112
+�1122 +�1132 +�1142 +�1152 +�1162 +�1172 +�1182 +�1192 +�1202 +�1212
+�1222 +�1232 +�1242 +�1252 +�1262 +�1272 +�1282 +�1292 +�1302
�
0.22 + 0.32 + 0.32 + 0.32 + 0.12 + 0.22 + 0.22 + 0.32 + 0.32 + 0.22
+0.52 + 0.22 + 0.62 + 0.12 + 0.12 + 0.12 + 0.42 + 0.22 + 0.12 + 0.72
+0.12 + 0.12 + 0.22 + 0.22 + 0.52 + 0.72 + 0.12 + 0.52 + 0.42 + 0.22 + 0.32
(67)
‖�2‖ = �
�122 +�
222 +�322 +�422 +�522 +�622 +�722 +�822 +�922 +�1022 +�1122
+�1222 +�1322 +�1422 +�1522 +�1622 +�1722 +�1822 +�1922 +�2022 +�2122
+�2222 +�2232 +�2242 +�2252 +�2262 +�2272 +�2282 +�2292 +�2302
⎷ ⃓⃓ ⃓⃓ ⃓⃓ ⃓⃓
�0.32 + 0.12 + 0.32 + 0.12 + 0.12 + 0.52 + 0.52 + 0.12 + 0.12 + 0.52
+0.52 + 0.52 + 0.52 + 0.32 + 0.52 + 0.32 + 0.12 + 0.52 + 0.52 + 0.12
+0.62 + 0.12 + 0.12 + 0.52 + 0.52 + 0.22 + 0.32 + 0.42 + 0.12 + 0.62
+0.12 + 0.32
= 1.82
‖�3‖ = �
�112 +�212 +�312 +�412 +�512 +�612 +�712 +�812 +�912 +�1012 +�1112
+�1122 +�1132 +�1142 +�1152 +�1162 +�1172 +�1182 +�1192 +�1202 +�1212
+�1222 +�1232 +�1242 +�1252 +�1262 +�1272 +�1282 +�1292 +�1302
�
0.12 + 0.12 + 0.32 + 0.32 + 0.52 + 0.32 + 0.52 + 0.32 + 0.12 + 0.32
+0.52 + 0.32 + 0.52 + 0.32 + 0.52 + 0.72 + 0.32 + 0.22 + 0.12 + 0.42
+0.72 + 0.52 + 0.32 + 0.32 + 0.22 + 0.42 + 0.52 + 0.22 + 0.32 + 0.52 + 0.32
=1.85
Persamaan berikut merupakan bobot yang dipakai sebagai insialisasi dengan rumus:
���� =���||(������|| )
(68)
‖�12‖ =1||.21∗00.32||.3 = 1.13
‖�13‖ =1||.21∗00.14||.1 = 0.86
‖�21‖ =1||.21∗00.36||.3 = 1
‖�22‖ =1||.21∗00.32||.1 = 0.38
‖�23‖ =1||.21∗0.140||.3 = 0.86
‖�31‖ =1||0.14.21∗0||.3 = 0.86
‖�32‖ =1||.210.14∗0||.7 = 0.86
‖�33‖ =1||0.14.21∗0||.1 = 0.86
‖�41‖ =1.21∗ 0.6||0.14|| = 0.86
‖�42‖ =1||.21∗0.140||.7 = 0.90
‖�43‖ =1.21∗ 0.4||0.14|| = 0.86
‖�51‖ =1||.21∗0.140||.3 = 1
‖�52‖ =1||.21∗0.140||.1 = 0.86
(1)
Tabel 4.15 Hasil Recognition Percobaan Ketiga Nguen Widrow No Nama Penyakit % Prediksi
1 Gagal Ginjal Akut 0.24
2 Kanker Ginjal 22.91
3 Pielonefritis 2.00
4 Sindrom Nefrotik 84.82
5 Hidronefrosis 94.92
6 Kanker Kandung Kemih 1.35 7 Ginjal Polkista 75.99 8 Nefritis Tububinter
Stisialis
16.93
9 Sistisis 98.91
10 Infeksi Saluran Kemih 99.64 Prediksi Rata-rata (%) 49,77
g.Perbandingan Recognition Inisialisasi Acak dengan Nguyen Widrow Percobaan Pertama
Dari hasil recognition secara inisialisasi bobot dan bias secara acak dan dengan algoritma Nguyen Widrow pada percobaan pertama dimasukkan pada sebuah tabel seperti pada Tabel 4.16.
Tabel 4.16 Perbandingan Recognition Inisialisasi Acak dengan Nguyen Widrow Percobaan Pertama
No Nama Penyakit % Prediksi Inisialisasi Acak
% Prediksi Nguyen Widrow
1 Gagal Ginjal Akut 78.14 62,79
2 Kanker Ginjal 56.11 15,48
3 Pielonefritis 1.1 9.71
4 Sindrom Nefrotik 32.48 68,15
5 Hidronefrosis 99.03 9.32
6 Kanker Kandung Kemih 7.05 4.08
7 Ginjal Polkista 48.8 77.08
8 Nefritis Tububinter
Stisialis
37.75 8.07
9 Sistisis 56.48 90.32
10 Infeksi Saluran Kemih 42.88 98.97 Prediksi Rata-rata (%) 45,98 44,39
(2)
h.Perbandingan Recognition Inisialisasi Acak dengan Nguyen Widrow Percobaan Kedua
Dari hasil recognition secara inisialisasi bobot dan bias secara acak dan dengan algoritma Nguyen Widrow pada percobaan kedua dimasukkan pada sebuah tabel seperti pada Tabel 4.17.
Tabel 4.17 Perbandingan Recognition Inisialisasi Acak dengan Nguyen Widrow Percobaan Kedua
No Nama Penyakit % Prediksi Inisialisasi Acak
% Prediksi Nguyen Widrow
1 Gagal Ginjal Akut 47.00 0.66
2 Kanker Ginjal 36.30 45.62
3 Pielonefritis 7.17 12.30
4 Sindrom Nefrotik 58.42 63.84
5 Hidronefrosis 98.81 35.77
6 Kanker Kandung Kemih 0.87 2.71
7 Ginjal Polkista 75.53 64.24
8 Nefritis Tububinter
Stisialis
2.51 8.57
9 Sistisis 95.53 98.72
10 Infeksi Saluran Kemih 99.49 99.49 Prediksi Rata-rata (%) 52,16 43,192
i.Perbandingan Recognition Inisialisasi Acak dengan Nguyen Widrow Percobaan Ketiga
Dari hasil recognition secara inisialisasi bobot dan bias secara acak dan dengan algoritma Nguyen Widrow pada percobaan ketiga dimasukkan pada sebuah tabel seperti pada Tabel 4.18.
(3)
Tabel 4.18 Perbandingan Recognition Inisialisasi Acak dengan Nguyen Widrow Percobaan Ketiga
No Nama Penyakit % Prediksi Inisialisasi Acak
% Prediksi Nguyen Widrow
1 Gagal Ginjal Akut 26,08 0.24
2 Kanker Ginjal 29,78 22.91
3 Pielonefritis 18,98 2.00
4 Sindrom Nefrotik 66,39 84.82
5 Hidronefrosis 90,64 94.92
6 Kanker Kandung Kemih 0.76 1.35
7 Ginjal Polkista 90,67 75.99
8 Nefritis Tububinter
Stisialis
5,35 16.93
9 Sistisis 96,44 98.91
10 Infeksi Saluran Kemih 99,64 99.64 Prediksi Rata-rata (%) 52,47 49,77
(4)
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut :
1. Waktu Training pembobotan dengan algoritma Nguyen Widrow lebih cepat dibandingkan dengan secara acak pada algoritma Backpropagation
.
2. Hasil Pengenalan penyakit (recognition) dengan pembobotan secara acak memberikan hasil yang lebih baik dibandingkan dengan algoritma Nguyen Widrow.
5.2. Saran
Penelitian ini dapat dikembangkan dengan pembobotan dengan algoritma Nguyen Widrow pada algoritma jaringan syaraf tiruan lainnya antara lain Kohonen maupun Learning Vector Quantization (LVQ).
(5)
DAFTAR PUSTAKA
Hagan, M.T. Demuth, H & Beale, M. 1996, Neural Network Design, PWS Publishing Co., USA
Fausset, Laurence. 1994. Fundamental of Neural Network: Architecture, Algorithm, and Ap[lication. New Jersey : Prentice-Hall.
Andrijasa, M.F., Mistianingsih. 2010. Penerapan Jaringan Syaraf Tiruan Untuk Memprediksi Jumlah Pengangguran di Provinsi Kalimantan Timur Dengan Menggunakan Algoritma Pembelajaran Backpropagation. Jurnal Informatika Mulawarman Vol 5 No. 1 Februari 2010 50
Silvia, Evanila. 2007. Disain Jaringan Syaraf Tiruan Untuk Prediksi Kualitas Gula Kristal Putih. Tesis Sekolah Pascasarjana Institut Pertanian Bogor.
Setyo Nugroho. 2000. Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia,
Setyo Nugroho & Agus Harjoko, 2009. Penerapan Jaringan Syaraf Tiruan untuk Mendeteksi Posisi Wajah Manusia pada Citra Digital, Universitas Gadjah Mada, Yogyakarta
Institut Teknologi Sepuluh Nopember, Surabaya
Sutojo, Edy Mulyanto & Vincet Suhartono, 2011. Kecerdasan Buatan, Andi Offset, Yogyakarta
Anike, M., Suyoto & Ernawati. 2012. Pengembangan Sistem Jaringan Syaraf Tiruan Dalam Memprediksi Jumlah Dokter Keluarga Menggunakan Backpropagation (Studi Kasus: Regional X Cabang Palu). Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012). Yogyakarta, 10 Maret 2012.
Puspitaningrum, Diyah. 2006. Pengantar Jaringan Syaraf Tiruan. Yogyakarta : Penerbit: Andi.
Kusumadewi, Sri. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan Matlab. Yogyakarta : Penerbit Graha Ilmu.
Puspitorini, Sukma. 2008. Penyelesaian Masalah Traveling Salesman Problem Dengan Jaringan Saraf Self Organizing. Jurnal Media Informatika, Vol. 6, No. 1, Juni 2008, 39-55
(6)
Russel, S. J. & P. Norvig. 2002. Artificial intelligence: A Modern Approach, 2nd ed. New York NY: Prentice Hall.
S.E. Fahlman, “An Empirical Study of Learning Speed in Back-Propagation Networks”, Technical Report CMU-CS-88-162, Carnegie Mellon University, USA, 1988.
Aleksander, I. & Morton, H. 2007. An introduction to neural computing.. 2nd
AL-Allaf & Omaima. 2010. Improving the Performance of Backpropagation Neural Network Algorithm for Image Compression/Decompression System. Journal of Computer Science.
edition
Ang Wie Siong & Resmana. 1999. Pengenalan Citra Objek Sederhana Dengan Menggunakan Metode Jaringan Saraf Tiruan Som, Universitas Kristen Petra, Surabaya