Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Dewi Wening Dwiandari
043124029
PROGRAM STUDI ILMU KOMPUTER
JURUSAN MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
Presented as Partial Fulfillment of The Requirements
To Obtain The Sarjana Sains Degree
In Computer Science Study Program
Dewi Wening Dwiandari
Student ID : 043124029
COMPUTER SCIENCE STUDY PROGRAM
MATHEMATICS DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
A. Ibunda tersayang
Terima kasih telah melahirkan, merawat, menjaga dan senantiasa mendoakan ku.
B. Ayahanda terasayang
Terimakasih telah merawat, mejagaku, memberi inpirasi dan senantiasa berdoa untuk ku.
C. Kakak dan adik - adik tersayang
Terimakasih telah memberikan dukungan baik secara materiil maupun formil.
D. Nenek dan Kakek tersayang
Terimakasih telah membesarkan dan mengajariku banyak hal. E. Zahrul Hadi
Terimakasih telah memberikan dukungan, motivasi, inspirasi dan selalu memberikan semangat.
F. Mia Yunita M, Trivonia C, Marta Gita S.P
Terimakasih telah memberikan dukungan, semangat, dan berjuang bersama-sama sampai finish.
Salah satu cara untuk mengetahui gangguan gejala osteoporosis dalam tubuh manusia adalah dengan menggunakan iridiologi, yaitu suatu ilmu yang menggunakan pola iris mata untuk mengetahui gangguan yang terjadi dalam tubuh manusia. Biasanya analisa iridiologi dilakukan secara manual oleh pakar iridiologi.
Tugas akhir ini bertujuan untuk membuat sebuah perangkat lunak yang digunakan untuk memprediksi gangguan osteoporosis pada tubuh manusia, dengan menggunakan prinsip dalam iridiologi. Dalam usaha untuk mengenali dan meprediksi ada atau tidaknya gangguan osteoporosis dalam tubuh seseorang dibutuhkan sebuah proses pengenalan pola
Beberapa tahapan yang dilakukan dalam proses pengenalan pola yaitu, citra input, preprocessing, ekstraksi ciri, dan kesimpulan. Untuk dapat melihat ciri-ciri (feature) dari inputan pola iris mata, maka diperlukan sebuah proses analisis tekstur. Dengan proses analisis tekstur maka akan didapatkan nilai-nilai entropi, energi, kontras dan homogenitas. Setiap citra iris mata akan mempunyai 4 ciri yang akan digunakan dalam proses pengklasifikasian. Untuk mengklasifikasikan suatu pola, diperlukan suatu proses jaringan saraf tiruan
backpropagation. Dengan proses backpropagation setiap ciri akan dicari nilai
bobot dan biasnya. Nilai-nilai tersebut yang nantinya akan digunakan untuk mengenali dan memprediksi suatu citra input masuk kedalam kelompok tertentu (normal, gejala osteoporosis, osteoporosis subakut, dan osteoporosis akut).
One of ways to know indication of osteoporosis in human body is using
iridology that is one of knowledge using iris pattern to know the indication of
osteoporosis. Iridology analysis is done manually by iridologist.
This paper is aimed to make software which can be used to predict indication
of osteoporosis in human body by using iridology principal. It needs a pattern
recognition process to know the indication.
Some steps that is used in pattern recognition process is image input,
preprocessing, feature extraction, and conclusion. In order to know the feature of iris
pattern input, it needs a texture analysis process. By using this process, we can get
values that are entropy, energy, contrast and homogeneity. Each image iris will have
four feature that will be used in classification process. To classify the pattern, it
needs a backpropagation neural network imitation. Through this backpropagation
process, each feature will be seek the value and bias. Those values will be involved in
a certain classification (normal, osteoporosis indication, acute sub osteoporosis, and
acute osteoporosis).
Nama : Dewi Wening Dwiandari Nomor Mahasiswa : 043124029
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya Ilmiah saya yang berjudul :
Prediksi Osteoporosis melalui Pola Iris Mata menggunakan Algoritma Bacpropagation beserta perangkat yang diperlukan (bila ada). Dengan demikian
saya memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk manyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internat atau media lain untuk kepentingan akademis tanpa perlu minta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya. Dibuat di Yogyakarta
Pada tanggal: 10 Oktober 2008
Yang menyatakan
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah
melimpahkan rahmat, berkat, kasih dan karunia-Nya sehingga penulis dapat
menyelesaikan skripsi yang berjudul PREDIKSI OSTEOPOROSIS MELALUI
POLA IRIS MATA MENGGUNAKAN ALGORITMA BACKPROPAGATION
kiranya dapat bermanfaat bagi perkembangan ilmu pengetahuan dan sebagai sarana
penelitian bagi siapa saja.
Skripsi ini merupakan syarat untuk memperoleh gelar kesarjanaan pada
Program Studi Ilmu Komputer, Jurusan Matematika , Fakultas MIPA Universitas
Sanata Dharma Yogyakarta.
Dalam penulisan skripsi, penulis menyadari banyak pihak yang telah
memberikan sumbangan baik pikiran, waktu, tenaga, bimbingan dan dorongan pada
penulis sehingga akhirnya skripsi ini dapat selesai. Oleh karena itu dengan segala
kerendahan dan ketulusan hati penulis menyampaikan rasa terima kasih yang
sebesar-besarnya kepada :
1.
Bapak Y. Joko Nugroho, S.Si. selaku dosen pembimbing, terima kasih atas
segala bimbingan, kritik, saran, dan kesabarannya dalam mengarahkan dan
membimbing penulis selama menyelesaikan skripsi ini.
yang telah memberikan bekal ilmu pengetahuan kepada penulis.
5.
Mbak Linda, Mas Tukijo, & Mas Susilo selaku staf sekretariat &
Laboratorium FST, terima kasih atas perhatian, bantuan dan kerjasamanya.
6.
Ibu Kristin, dkk selaku staf UPT Perpustakaan Kampus III Paingan, yang
telah membantu menyediakan materi yang dibutuhkan penulis.
7.
Ayah dan Bunda yang tidak lelah selalu memberi semangat dan menemani,
serta doa yang tulus. Kalian adalah spirit utama dalam suka dan duka.
8.
Kakek & Neneku tercinta yang telah memberikan doa dan restu selama
menjalani studi.
9.
Kakak & Kedua adikku tercinta, saudaraku dan sepupuku yang telah
memberikan dukungan moril dan materiil selama penulis menjalani studi di
bangku kuliah.
10.
Gita, Trivo, Mia, Wenggo, Tommy, Yanto terima kasih buat dukungan,
bantuan, dan semangat yang diberikan untukku.
11.
Zahrul Hadi terima kasih atas motivasi, inspirasi, perhatian dan selalu setia
menemaniku selama mengerjakan tugas akhir.
12.
Mbak Niken, Mas Gurit, Kornel, Damianus Beni, Leonardus Beni terima
kasih telah mengajariku pemrograman dengan sabar.
disebutkan satu-persatu yang telah membantu hingga terselesaikannya
penulisan skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Harapan
penulis semoga skripsi ini bermanfaat bagi kemajuan kita semua.
HALAMAN JUDUL (bahasa Inggris)... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN... iv
HALAMAN PERSEMBAHAN ... v
ABSTRAK ... vi
ABSTRACT... vii
HALAMAN KEASLIAN KARYA ... viii
PERNYATAAN PERSETUJUAN PUBLIKASI ... ix
KATA PENGANTAR ... x
DAFTAR ISI... xiii
DAFTAR TABEL... xvi
DAFTAR GAMBAR ... xvii
BAB I PENDAHULUAN 1.1. Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3. Batasan Masalah... 3
1.4. Tujuan. ... 3
1.5.Mafaat ... 3
1.6. Metodologi ... 3
1.7. Sistematika Penulisan ... 4
BAB II DASAR TEORI 2.1. Jaringan Saraf Biologi... 6
2.2. Jaringan Saraf Tiruan ... 6
2.2.1. Arsitektur Jaringan Saraf Tiruan... 8
2.2.1.1. Jaringan Lapis Tunggal (Single-Layer Net) ... 9
2.2.3.2. Fungsi Aktivasi Bipolar (Symetric Hard Limit) ... 13
2.2.3.3. Fungsi Aktivasi Linear (Identitas) ... 14
2.2.3.4. Fungsi Aktivasi Saturating Linear ... 14
2.2.3.5. Fungsi Aktivasi Symetric Saturating Linear ... 15
2.2.3.6. Fungsi Aktivasi Sigmoid Biner... 16
2.2.3.7. Fungsi Aktivasi Sigmoid Bipolar... 17
2.3. Backpropagation ... 17
2.3.1. Arsitektur Backpropagation... 18
2.3.2. Fungsi Aktivasi Backpropagation... 19
2.3.3. Pelatihan Standar Backpropagation... 19
2.3.4. Algoritma Pelatihan Backpropagation... 20
2.3.5. Pelatihan Bobot dan Bias ... 22
2.3.6. Jumlah Unit Tersembunyi ... 23
2.3.7. Jumlah Pola Pelatihan ... 23
2.3.8. Jumlah Iterasi ... 24
2.4. Pengenalan Pola ... 24
2.4.1. Elemen Kerja Pengembangan dan Operasi Sistem Pengenalan Pola ... 26
2.4.2 .Model Sistem Pengenalan Pola... 28
2.5. Preprocessing (Pengolahan Awal)... 31
2.6. Analisis Tekstur ... 32
2.6.1. Metoda Statistik dalam Analisis Tekstur ... 33
2.7. Iridiologi... 35
2.8. Karateristik Mata... 37
3.2.4. Proses Testing ... 47
3.3. Perancangan User Interface ... 48
3.4. Analisa Kebutuhan Hardware dan Software... 53
BAB IV IMPLEMENTASI SISTEM 4.1. Alur Kerja Sistem Secara Umum ... 54
4.2. Implementasi Antar Muka yang digunakan dalam Sistem ... 55
4.3. Algoritma yang digunakan dalam Sistem ... 60
4.4. Hasil Analisa Program ... 64
BAB V PENUTUP 5.1. Kesimpulan ... 68
5.2. Saran ... 69
DAFTAR PUSTAKA ... 70
xvi
Tabel 3.1. Tabel Target ... 40
Tabel 4.1. Tabel Data Mata Sebagai Referensi ... 57
Tabel 4.2. Tabel Training dan Nilai Matrix Intensitas Co-Occurence ... 66
Tabel 4.3. Tabel Hasil Pengujian ... 67
Tabel 4.4. Tabel Pengujian Template... 67
Gambar 2.2. Jaringan Saraf Tiruan Layar Tunggal... 9
Gambar 2.3. Jaringan Saraf Tiruan Layar Banyak... 10
Gambar 2.4. Jaringan Saraf Tiruan Berulang... 11
Gambar 2.5. Pembentuk Jaringan Saraf Tiruan ... 12
Gambar 2.6. Fungsi Aktivasi Hard Limit... 13
Gambar 2.7. Fungsi Aktivasi Bipolar ... 13
Gambar 2.8. Fungsi Aktivasi LInear... 14
Gambar 2.9. Fungsi Aktivasi Saturating Linear... 15
Gambar 2.10. Fungsi Aktivasi Saturating Symetric Linear... 15
Gambar 2.11. Fungsi Aktivasi Sigmoid Biner ... 16
Gambar 2.12. Fungsi Aktivasi Sigmoid Biner ... 17
Gambar 2.13. Arsitektur Jaringan Backpropagation ... 18
Gambar 2.14.Elemen Kerja Pengembangan Sistem Pengenalan Pola... 27
Gambar 2.15. Proses Pengenalan Syntactic Approach... 29
Gambar 2.16. Pendekatan Geometri atau Statistik... 30
Gambar 2.17. Ignatz Von Peczely... 36
Gambar 2.18. Diagram Iridiologi beserta gambaran Fisiologi ... 37
Gambar 2.19. Skema Mata... 38
Gambar 2.20. Iridology Chart... 38
Gambar 3.1. Model Jaringan ... 40
Gambar 3.2. Proses Pengenalan Pola... 42
Gambar 3.3. Diagram Alir Perangkat Lunak ... 43
Gambar 3.4. Diagram Alir Proses Pengolahan Citra ... 45
Gambar 3.5. Perancangan Menu untuk Form Testing dan Form Training ... 48
Gambar 3.6. Perancangan Menu Utama untuk Form Help ... 49
Gambar 3.7. Perancangan From Pembuka ... 49
Gambar 4.3. Tampilan Form Training ... 56
Gambar 4.4. Tampilan Form Testing ... 58
Gambar 4.5. Tampilan Form Help ... 59
Gambar 4.6. Tampilan Form Hasil Training ... 68
Gambar 4.7. Tampilan Form Hasil Testing ... 69
Gambar 4.8. Tampilan untuk Membuka File Citra ... 70
Saat ini kesehatan adalah hal yang sangat penting untuk diperhatikan. Banyaknya polusi, pola makan yang buruk dan gaya hidup manusia saat ini, manyebabkan seseorang mudah terkena gangguan dalam tubuh. Salah satu penyakit yang banyak diderita adalah osteoporosis.
Osteoporosis secara harafiah dapat diartikan tulang porous (berongga), yaitu keadaan di mana masa tulang berkurang dan menjadi rapuh. Dalam kondisi tersebut komposisi tulang tidak berubah, tetapi berat tulang berkurang per unit volume menjadi berkurang. Pada stadium lanjut penderita osteopoosis akan mudah mengalami patah tulang jika terbentur atau jatuh, terutama pada bagian tangan, pinggang, dan tulang belakang.
Berdasarkan hasil analisa data resiko osteoporosis pada tahun 2005 yang telah dilakukan oleh Pusat Penelitian dan Pengembangan (Puslitbang) Gizi dan Makanan Depkes yang bekerja sama dengan salah satu perusahaan nutrisi di 16 wilayah Indonesia, prevalensi osteopenia (osteoporosis dini) di Indonesia sebesar 41,7 persen. Data ini berarti bahwa dua dari lima penduduk Indonesia memiliki resiko untuk terkena osteoporosis. Angka ini lebih tinggi dari prevalensi dunia, yakni satu dari tiga orang beresiko osteoporosis (Republika Online, 5 Desember 2006)
direfleksikan pada iris mata manusia. Ilmu pengetahuan dan praktik yang dapat mengungkapkan adanya peradangan, penimbunan toksin dalam jaringan, bendungan kelenjar, di mana lokasinya (pada organ sebelah mana), dan seberapa tingkat keparahan kondisinya adalah Iridiologi. Dengan mengamati iris mata, kondisi tubuh seseorang dapat diketahui, misalnya tingkat kesehatan.
Kemajuan teknologi dalam bidang kedokteran memungkinkan proses iridiologi dapat dikomputerisasi. Pada tugas akhir ini akan mencoba membuat sebuah perangkat lunak sesuai dengan prinsip iridiologi yang dapat mengidentifikasi adanya gangguan osteoporosis dan jika program tersebut jadi, diharapkan bisa membantu check-up iridiologi yang masih dilakukan secara manual dan membutuhkan biaya mahal karena harus medatangkan seorang pakar iridiologi.
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas, penulis merumuskan permasalahan yang harus dipecahkan yaitu:
-Bagaimana mengembangkan jaringan saraf tiruan sebagai alat bantu untuk mengenali pola iris mata.
1.3 Batasan Masalah
Dalam tugas akhir ini batasan masalah yang akan diambil dalam pembahasan adalah sebagai berikut:
1. Input sistem berupa file gambar (*.jpg) secara offline.
2. Citra iris mata yang akan diproses dalam hal ini adalah citra diam. 3. Iris mata yang akan diproses dianggap memiliki luas yang sama. 4. Identifikasi perkiraan osteoporosis menggunakan pola iris mata yang
digunakan dalam iridiologi.
5. Gangguan tubuh yang dideteksi hanya osteoporosis saja.
1.4 Tujuan
Tujuan pembuatan tugas akhir ini adalah:
- Membuat prediksi gangguan osteoporosis menggunakan pola iris mata secara otomatis atau terkomputerisasi.
- Mengembangkan perangkat lunak sebagai alat bantu untuk mendeteksi ada dan tidaknya gangguan osteoporosis.
1.5 Manfaat
Hasil tugas akhir ini diharapkan bisa digunakan untuk membantu memprediksi gangguan osteoporosis dalam dunia kedokteran.
1.6 Metodologi
1. Mempelajari karateristik mata yang nantinya akan diproses dalam perangkat lunak.
2. Mempelajari pengolahan citra (image processing), iridiologi yang merupakan dasar sistem yang akan digunakan dalam proses pengenalan pola.
3. Perancanaan perangkat lunak
4. Realisasi dan hasil implementasi dari hasil rancangan. 5. Pengujian perangkat lunak.
1.7 Sistematika Penulisan
Dalam Penulisan Tugas Akhir ini terdiri dari beberapa bagian diantaranya sebagai berikut :
BAB I Pendahuluan
Bab ini berisi tentang latar belakang, rumusan masalah, tujuan, manfaat, batasan masalah, metodologi dan sistematika penulisan. BAB II Dasar Teori
Bab ini berisi tentang teori – teori yang bersangkutan dengan pembuatan skripsi ini, dimana teori – teori ini sebagai landasan atau dasar dalam penulisan.
BAB III Analisis Dan Perancangan Sistem
BAB IV Implementasi
Dalam bab ini menuangkan hasil analisa dan perancangan ke dalam program.
BAB V Kesimpulan dan Saran
2.1 Jaringan Saraf Biologi
Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak manusia berisi sel-sel saraf yang bertugas untuk memproses informasi. Tiap-tiap sel bekerja seperti sebuah processor sederhana. Masing-masing sel tersebut saling berinteraksi sehingga mendukung kemampuan kerja otak manusia. Otak terdiri dari neuron-neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls atau sinyal yang diberikan kepada neuron. Neuron meneruskannya pada neuron lain.
Gambar2.1. Susunan saraf manusia
2.2 Jaringan Saraf Tiruan
untuk mereplika otak manusia secara persis ke dalam teknologi, namun usaha ini merupakan pedekatan maksimum yang melalui penelitian selama bertahun-tahun.
Tulisan ilmiah tentang teori Jaringan Saraf Tiruan pertama kali dibuat oleh Warren S.McCulloh, seorang ahli neurophysiologist, dan Waler Pitts, seorang ahli matematika (1943), yang membuat suatu model matematika dari Jaringan Saraf Tiruan. Tulisan ilmiah inilah yang memberi dasar teoritis bagi pengembangan Jaringan Saraf Tiruan selanjutnya. Hal ini kemudian diusulkan oleh Hebb (1949), Rosenblat (1957) dan Widrow–Hoff (1960). Pada tahun 1951, Marvin Minsky membangun sebuah konsep saraf dan membuatnya mampu memecahkan suatu pembelajaran dengan cara yang rumit. Hal inilah yang menandai bidang Artificial
Intelegence (Kecerdasan Buatan) dan Dr. Minsky dianggap sebagai ‘Bapak
Sistem Pakar’.
Pada perkembangan selanjutnya, di tahun 1986 Rumelhart menciptakan algoritma belajar yang dikenal sebagai BackPropagation, yang dapat memungkinkan penggunaan Jaringan Saraf Tiruan untuk dapat diterapkan dalam berbagai bidang ilmiah, bisnis maupun bidang industri.
nilai bobot ini maka dapat meningkatkan kinerja jaringan dalam mempelajari berbagai macam pola jaringan yang dinyatakan oleh setiap pasangan input-output. Jaringan Saraf Tiruan ditentukan oleh 3 hal :
Sebuah neuron adalah unit pemrosesan informasi yang merupakan komponen penting dalam operasi Jaringan Saraf Tiruan. Ada tiga elemen dasar model neuron, yaitu :
1. Pola penghubung antar neuron (Jaringan)
Suatu himpunan sinapsis atau sambungan, yang masing-masing menunjukkan kekuatan atau bobot sambungan itu sendiri.
2. Metode untuk menjumlahkan bobot penghubung (metode
trining/learning/algoritma ).
Suatu penjumlahan untuk penjumlahan sinyal-sinyal masukan, diberi bobot oleh sinapsis neuran, operasi yang terjadi digambarkan sebagai penjumlahan linear.
3. Fungsi aktivasi.
Suatu fungsi aktivasi untuk membatasi simpangan jangkauan keluar dari neuron dalam suatu jaringan tertentu dengan nilai batas tertentu.
2.2.1 Arsitektur Jaringan Saraf Tiruan
dan pola hubungan diantara neuron layer serta hubungan–hubungannyadi dalam layar. Pada dasarnya arsitektur jaringan dibedakan menjadi beberapa macam bentuk, yaitu :
2.2.1.1 Jaringan Lapis Tunggal (Single-Layer Net)
Jaringan neuron berlapis (layered neural network) adalah jaringan yang neuron-neuronnya dibuat dalam bentu lapisan-lapisan. Dalam arsitektur lapisan tunggal (single-layer) ini, terdapat dua lapis kumpulan neuron, yaitu lapisan masukan dan lapisan keluaran, sedangkan lapisan masukan hanya berfungsi sebagi lapisan sumber. Jaringan yang mempunyai arsitektur lapisan tunggal ini dapat dilihat pada Gambar 2.2 di bawah ini.
Gambar 2.2. Jaringan Saraf Tiruan Layar Tunggal (A Single-Layer neuran net)
2.2.1.2 Jaringan Lapis Banyak (Multilayer net).
dari satu, disesuaikan dengan permasalahn yang dihadapi dan berbagai pertimbangan efektifitasnya. Semakin banyak layar tersembunyi yang digunakan, maka jaringan semakin mampu menangani jangkauan statistik yang lebih luas dan lebih tinggi. Komputasi, selain dilakukan pada lapisan keluaran, juga dilakukan pada layar tersembunyi. Namun sama seperti halnya pada arsitektur lapisan tunggal, pada lapisan masukan tidak terjadi proses komputasi. Lapisan masukan hanya berfungsi sebagai sumber masukan. Jaringan yang mempunyai arsitektur lapisan banyak, dapat terlihat pada Gambar 2.3 di bawah ini.
2.2.1.3 Jaringan Berulang (Recurrent Network)
Jaringan berulang berbeda dengan dua jaringan sebelumnya, yang koputasinya hanya dilakukan secara merambat maju. Pada jaringan ini, selain melakukan komputasi dengan merambat maju, juga dilakukan proses komputasi komparasi yang menghasilkan umpan balik ke bagian input jaringan. Jaringan dengan arsitektur semacam ini dapat terdiri hanya satu lapis neuron, tanpa lapisan tersembunyi, atau juga dapat digunakan beberapa lapisan tersembunyi yang diletakkan setelah lapisan masukan. Komputasi dilakukan pada lapisan-lapisan sesudah lapisan masukan (jika terdapat lapisan tersembunyi), hasil dari komputasi akan diumpanbalikkan langsung ke lapisan masukan. Biasanya pada jaringan ini, digunakan unit tambahan yang berupa suatu fungsi tunda yang berfungsi sebagai fungsi penunjang proses umpan balik. Jaringan berulang dapat dilihat pada Gambar 2.4 :
2.2.2 Pembentuk Jaringan Saraf Tiruan
Gambar 2.5 Pembentuk Jaringan Saraf Tiruan
Y menerima input dari neuron x1, x2, dan x3 dengan bobot hubungan
masing-masing adalah w1, w2 dan w3.
net = x1 w1 + x2 w2 + x3 w3 (2.1)
keluaran y = f(net)
Fungsi aktivasi ( f(net) ) nantinya akan digunakan oleh neuron untuk mengambil suatu keputusan dalam pengklasifikasian dan pengenalan pola.
2.2.3 Fungsi Aktivasi
Fungsi aktivasi merupakan sebuah gambaran matematis dari hubungan antara input dan output pada linear time-invariant system.
2.2.3.1 Fungsi Aktivasi Undak Biner (Hard Limit)
Fungsi aktivasi dengan jaringan lapis tunggal untuk mengkonversi input dari suatu variabel yang bernilai kontinu ke suatu output biner (0 atau 1). Fungsi aktivasi hard limit dirumuskan :
y = 0 , jika x < 0 (2.2)
Persamaan (2.2) dan (2.1) diilustrasikan pada gambar 2.6
Gambar 2.6 Fungsi aktivasi Hard Limit
2.2.3.2 Fungsi Aktivasi Bipolar (Symetric Hard Limit)
Fungsi aktivasi bipolar hampir sama dengan fungsi undak biner, hanya saja output yang dihasilkan berupa 1, 0 atau -1. Fungsi aktivasi bipolar dirumuskan:
y = 1 , jika x ≥ 0 (2.4)
y = -1 , jika x < 0 (2.5)
Persamaan (2.4) dan (2.5) diilustrasikan pada gambar 2.7
2.2.3.3 Fungsi Aktivasi Linear (Identitas)
Fungsi linear memiliki nilai output yang sama dengan nilai input. Fungsi aktivasi linear dirumuskan:
y = x (2.6)
Persamaan (2.6) diilustrasikan pada gambar 2.8
Gambar 2.8 Fungsi Aktivasi Linear
2.2.3.4 Fungsi Aktivasi Saturating Linear
Fungsi aktivasi akan bernilai 0 jika input kurang dari -0,5, dan akan bernilai 1 jika input lebih dari 0,5. Sedangkan jika nilai input terletak antara -0,5 dan 0,5 maka output akan bernilai sama dengan nilai input ditambah 0,5.
Fungsi aktivasi saturating linear dirumuskan:
y = 1 , jika x ≥ 0,5 (2.7)
y = x + 0,5 , jika -0,5 ≤ x ≤ 0,5 (2.8)
y = 0 , jika x ≤ 0,5 (2.9)
Gambar 2.9 Fungsi Aktivasi Saturating Linear
2.2.3.5 Fungsi Aktivasi Symetric Saturating Linear
Fungsi aktivasi ini akan bernilai -1 jika input kurang dari -1, dan akan bernilai 1 jika input lebih dari 1. Sedangkan jika nilai input terletak antara -1 dan 1, maka output akan bernilai sama dengan nilai input.
Fungsi aktivasi symetric saturating linear dirumuskan:
y = 1 , jika x ≥ 1 (2.9)
y = x , jika -1 ≤ x ≤ 1 (2.10)
y = -1 , jika x ≤ -1 (2.11)
Persamaan (2.9), (2.10) dan (2.11) diilustrasikan pada gambar 2.10
2.2.3.6 Fungsi Aktivasi Sigmoid Biner
Fungsi ini digunakan untuk jaringan saraf tiruan yang dilatih dengan menggunakan metode backpropagation. Funsi sigmoid biner memiliki nilai range 0 sampai 1. Nilai ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Fungsi ini bisa digunakan oleh jaringan saraf yang nilai output 0 atau 1.
Fungsi sigmaoid biner dirumuskan:
( )
xe x
f −
+ =
1 1
(2.12)
dan fungsi turunannya adalah :
( ) ( )
x f x(
f( )
x)
f′ = 1− (2.13)
Persamaan (2.12), dan (2.13) diilustrasikan pada gambar 2.11
2.2.3.7 Fungsi Aktivasi Sigmoid Bipolar
Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki range antara 1 sampai -1.
Fungsi aktivasi sigmoid biner dirumuskan:
( )
11 2
− + = −x
e x
f (2.14)
dan fungsi turunannya adalah :
( )
(
( )
)
(
( )
)
2 1
1 f x f x
x
f′ = + − (2.15)
Persamaan (2.14) dan (2.15) diilustrasikan pada gambar 2.12
Gambar 2.12.Fungsi Aktivasi Sigmoid Bipolar
2.3 Backpropagation
Backpropagation merupakan salah satu metode pembelajaran yang
terawasi (supervised training). Backpropagation melatih jaringan, sehingga jaringan mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa dengan pola yang dipakai pada saat pelatihan. Algoritma Backpropagation yang menggunakan
(backward). Untuk mendapatkan error ini, tahap perambatan maju (forward
propagation) harus dikerjakan terlebih dahulu. Pada saat perambatan maju,
neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi.
2.3.1 Arsitektur Backpropagation
Gambar 2.13. Arsitektur jaringan Backpropagation
Gambar 2.13 di atas merupakan gambar arsitektur jaringan
Backpropagation dengan sebuah layar input dan n unit masukan ditambah dengan
sebuah bias. Dalam gambar tersebut juga terdapat sebuah layar tersembunyi dengan p unit ditambah dengan sebuah bias, serta layar output dengan m unit keluaran.
Layar tersembunyi merupakan layar dari jaringan dimana layar ini tidak menerima input dari luar jaringan dan tidak mengirimkan output ke luar jaringan. Disebut hidden layer karena layar ini hanya menerima input internal (output ke unit processing lain).
2.3.2 Fungsi Aktivasi Backpropagation
Dalam Backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat yaitu : kontinu, terdeferensial dengan mudah dan merupakan fungsi yang tidak turun. Fungsi aktivasi yang digunakan adalah fungsi aktivasi sigmoid biner (persamaan 2.12 dan 2.13) dan fungsi aktivasi sigmoid bipolar (persamaan 2.14 dan 2.15).
2.3.3 Pelatihan standar Backpropagation
2.3.4 Algoritma Pelatihan Backpropagation
Metode belajar yang digunakan adalah metode belajar terbimbing (supervised learning) yang terdiri dari tiga fase yaitu: propagasi maju, propagasi mundur, dan perubahan bobot.
Algoritma backpropagation adalah sebagai berikut:
1. Inisialisasi semua bobot-bobot dengan bilangan acak kecil.
2. Jika kondisi penghentian belum terpenuhi, lakukan langkah berikut : Fase I : Propagasi maju
Tiap unit masukan (xi) menerima sinyal dan meneruskannya ke
unit tersembunyi (zj) diatasnya hingga diperoleh keluaran jaringan
(yk).
i. Hitung semua keluaran di unit tersembunyi zj (j=1,2,3,...,p)
∑
= + = n i ji i jj v xv
net z
1 0
_ (2.16)
(
j)
z netj j e net z f z _ 1 1 _ − + = = (2.17)ii. Hitung semua keluaran jaringan di unit yk (k=1,2,...,m)
∑
= + = p j kj j kk w z w
net y
1 0
_ (2.18)
(
k)
y netkk e net y f y _ 1 1 _ − + = = (2.19)
Fase II : Propagasi mundur
δk = (t k – y k) f ’(y_netk) = (t k – y k) yk (1 – yk ) (2.20)
k
δ merupakan unit kesalahan yang akan dipakai dalam
perubahan bobot layar dibawahnya (langkah v)
Hitung suku perubahan bobot w (yang akan dipakai nanti kj
untuk merubah bobot w ) dengan laju percepatan kj α
∆wkj = αδk zj (k = 1, ..., m ; j = 0, ..., p) (2.21)
iv. Hitung faktor δ unit tersembunyi berdasarkan kesalahan disetiap unit tersembunyi zj (j=1,2,...,p)
∑
= = m k kj k j w net 1 _ δ δ (2.22)Faktor δ unit tersembunyi :
(
j)
j j(
j)
j
j =δ _net f′ z_net =δ _net z 1−z
δ (2.23)
Hitung suku perubahan bobot v (yang akan dipakai nanti ij
untuk merubah bobot v ) ij
i j ij x v =αδ
∆ ; j=1,2,...,p;i=0,1,...,n (2.24)
Fase III : Perubahan bobot
v. Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran1
(
)
kj(
)
kjkj baru w lama w
w = +∆ (2.25)
dengan (k=1, 2, ...,m ;j=0, 1, ..., p)
Perubahan bobot garis yang menuju ke unit tersembunyi :
(
)
ij(
)
jiij baru v lama v
dengan (j=1, 2, ..., p ; i=0, 1, ...,n)
Setelah proses pelatihan selesai dilakukan, jaringan dapat dipakai untuk mengenali pola. Dalam hal ini, hanya propagasi maju saja yang digunakan untuk pengujian (testing) yang bertujuan untuk menentukan keluaran jaringan. Selain itu proses pengujian ini juga bertujuan untuk mengetahui keakuratan jaringan syaraf tiruan yang sebelumnya dilatih.
2.3.5 Pelatihan Bobot dan Bias
Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal atau global terhadap nilai error, dan cepat tidaknya proses pelatihan menuju kekonvergenan. Apabila nilai bobot awal terlalu besar, maka input ke setiap lapisan tersembunyi atau lapisan output akan jatuh pada daerah dimana turunan sigmoidnya sangat kecil. Dan jka bobot awal terlalu kecil, maka proses pelatihan akan menjadi lambat. Oleh karena itu dalam standar backpropagation, bobot dan bias diisi dengan bilangan acak kecil.
Prosedur umum untuk menginisialisasi bobot dan bias adalah nilai acak antara -0.5 dan 0.5. Cara ini untuk membuat inisialisasi bobot dan bias awal ke unit tersembunyi dapat dilakukan dengan menggunakan metode Nguyen-Widrow.
Algoritma inisialisasi Nguyen-Widrow adalah sebagai berikut : Misal : n = jumlah unit masukan
a. Inisialisasi semua bobot (vji (lama)) dengan bilangan acak dalam
interval [-0.5, 0.5]
b. Hitung vj = v2j1+v2j2+...+v2jn
c. Bobot yang dipakai sebagai inisialisasi =
(
)
j ji jiv lama v v = β
d. Bias yang dipakai sebagai inisialisasi = vj0=bilangan acak antara -β
dan β
2.3.6 Jumlah Unit Tersembunyi
Pada dasarnya tidak ada aturan khusus untuk menetapkan jumlah layar tersembunyi yang akan digunakan. Jaringan dengan sebuah layar tersembunyi sudah cukup bagi backpropagation untuk mengenali sembarang perkawanan atara masukan dan target dengan tingkat ketelitian yang ditentukan. Akan tetapi penambahan jumlah layar tersembunyi dapat membuat pelatihan menjadi lebih mudah.
2.3.7 Jumlah Pola Pelatihan
2.3.8 Jumlah Iterasi
Jumlah iterasi digunakan sebagai kondisi penghentian dari pelatihan
Backpropagation. Jumlah iterasi ditentukan oleh user sendiri, karena tidak ada
aturan untuk menentukan jumlah iterasi. Dalam pelatihan backpropagation, iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimal iterasi yang sudah ditetapkan, atau kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.
2.4 Pengenalan Pola
Pola adalah suatu entitas yang dapat didefinisikan (secara samar) dan dapat diberikan suatu identifikasi atau nama. Contoh : tandatangan, sidik jari, raut wajah, dll.
Untuk membedakan suatu pola dengan pola lain digunakan Object
descriptor / features / ciri yang merupakan suatu ukuran yang sifatnya kuantitatif,
merupakan deskriptor suatu obyek tertentu pada citra, dan juga merupakan kumpulan deskriptor (feature / ciri) suatu obyek pada citra.
Suatu ciri pola yang bagus adalah ciri yang memiliki daya pembeda yang tinggi, sehingga pada saat dilakukan pengelompokan pola berdasarkan ciri yang dimiliki akan mempunyai tingkat keakuratan yang tinggi.
Cara memperoleh ciri pada suatu pola dapat dilakukan dengan pengukuran terhadap objek uji. Khususnya pada pola citra, ciri – ciri yang diperoleh berasal dari informasi :
b. Tepi (arah, kekuatan)
c. Kontur (garis, elips, lingkaran)
d. Wilayah / bentuk (keliling, luas, pusat massa) e. Hasil tranformasi Fourier (frekuensi)
Kategori objek (kelas pola) adalah sekumpulan pola yang mempunyai ciri / sifat / propertis yang sama. Contoh : pola – pola pada kelas hutan, pola – pola pada kelas air dan sebagainya.
Pengenalan pola adalah proses pengenalan suatu objek dengan menggunakan berbagai metode sehingga proses pengenalan pola tersebut mempunyai tingkat akurasi yang tinggi, dengan pengertian suatu objek yang secara manual (oleh manusia) tidak dapat dikenali dengan baik, tetapi bila menggunakan salah suatu metoda pengenalan pola yang sudah diaplikasikan pada komputer masih dapat dikenali.
Teknik pengenalan pola secara umum bertujuan untuk mengklasifikasikan dan mendeskripsikan pola atau objek yang komplek melalui pengukuran sifat – sifat atau ciri – ciri yang dimiliki oleh objek tersebut. Dengan kata lain, pengenalan pola dapat membedakan suatu objek dengan objek yang lain.
Suatu sistem pengenalan pola melakukan akuisi data melalui alat pengindera atau sensor, mengatur bentuk representasi data, serta melakukan proses analisa dan proses klasifikasi data. Data bisa berupa gambar, data juga dapat berupa sinyal satu dimanesi menurut perubahan waktu.
i. Clustering atau klasifikasi yang tidak terawasi
Proses memasukkan pola kedalam suatu kelas pola yang belum dikenal.
ii. Klasifikasi terawasi
Proses mengidentifikasi pola sebagai anggotaa dari kelas yang sudah dikenal.
Beberapa contoh Sistem Pengenalan Pola :
• Prosedur berbasis komputer yang secara otomatis mengolongkan objek
dan keputusan pembuatan.
• Sistem pengenalan pola yang digunakan untuk mengenali: sel darah merah,
sidik jari, pengenalan kata dan suara
• Industrial machine vision system: identifikasi untuk penyortiran sebuah
objek perakitan dan pemeriksaan.
2.4.1 Elemen Kerja Pengembangan dan Operasi Sistem Pengenalan Pola
Elemen kerja pengembangan dan operasi sistem pengenalan pola adalah sebagai berikut :
1. Definisi masalah 2. Analisa kebutuhan data 3. Akuisisi data
4. Pembentukan ciri
Alur elemen kerja pengembangan dan operasi sistem penggenalan pola dapat dilihat pada gambar 2.14
Gambar 2.14. Elemen kerja Pengembangan sistem pengenalan pola
Operasi Sistem Pengenalan Pola terdiri dari 3 tahap, yaitu : a. Tahap Latihan
Pada tahap latihan terdiri dari rancangan ekstraksi ciri, rancangan aturan keputusan, evaluasi hasil penganalan pola, dan pembentukan data pengetahuan.
b. Tahap Pengenalan (Opersional)
c. Tahap Evaluasi
Pada tahap evaluasi akan diketahui apakah hasil pengenalan (dengan
real-world pattern) sudah optimal, ataukah masih perlu untuk
memperbaiki dengan mencari ciri yang lebih efektif dan aturan keputusan yang lebih akurat.
2.4.2 Model Sistem Pengenalan Pola
Dalam Sistem Pengenalan Pola terdapat beberapa model yang sering digunakan untuk mengenali pola, yaitu :
2.4.2.1 Structural / Syntactic Approach (Pendekatan Struktural / Sintatik )
Gambar 2.15. Proses pengenalan Syntactic Approach
2.4.2.2 Geometric / Statistical Approach (Pendekatan Geometrik atau Statistik)
Gambar 2.16. Pendekatan Geometrik atau Statistik
Tabel 1.1 Analogi pendekatan Sintatik dan Statistik
Pendekatan Sintatik Pendekatan Statistik Ciri / feature (warna, tekstur) Primitif (garis lurus, orientasi)
Density Function (probabilitas) Grammar (natural language)
Estimation (mean, variance) Inference (aplikasi primitif
pada grammar)
Classification (kategori obyek) Description (kategori obyek)
Dalam sistem pengenalan pola terdiri dari dua fase yaitu: i. Fase Latihan
ii. Fase Pengenalan
Pada fase pengenalan pengklasifikasi menentukan suatu pola masukan sebagai salah satu kategori obyek yang telah dispesifikasikan menurut ciri – ciri pengukuran obyek.
Bila dalam pelaksanaan fase latih masih belum atau kurang memadai, maka proses klasifikasi pada fase pengembangan dapat dikategorikan sebagai proses klasifikasi terawasi. Sebaliknya, bila fase latih sudah mapan maka proses klasifikasi pada fase pengembangan dapat dikategorikan sebagai fase validasi pada pengembangan sistem pengenalan pola.
2.5 Preproccessing (Pengolahan Awal)
Citra adalah sebuah gambar pada bidang dua dimensi. Dilihat dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dua dimensi. (Munir, 2004).
Preproccesing merupakan proses awal yang dilakukan untuk memperbaiki
kualitas citra dengan meggunakan teknik-teknik pengolahan citra. Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasikan oleh manusia atau mesin komputer.
Ada beberapa macam-macam operasi pengolahan citra, diantaranya : a. Pengubahan ukuran gambar (resize)
b. Pemotongan gambar (cropping)
Cropping atau pemotongan gambar merupakan salah satu operasi dari
pengolahan citra dimana operasi-operasi ini bertujuan untuk mengubah gambar menjadi ukuran yang lebih spesifik.
c. Konversi citra warna menjadi citra biner (binerisasi)
Citra biner merupakan citra yang hanya mempunyai dua nilai derajat keabuan yaitu hitam dan putih. Pixel-pixel objek bernilai 1 dan
pixel-pixel latar belakang bernilai 0. Pada waktu penampilan gambar, 0
adalah putih, dan 1 adalah hitam. Citra biner banyak diaplikasikan di berbagai operasi pemrosesan pengenalan objek.
2.6 Analisis Tekstur
Tekstur merupakan sifat-sifat atau karateristik yang dimiliki oleh suatu daerah yang cukup besar sehingga secara alami sifat-sifat tersebut dapat berulang dalam daerah tersebut. Dengan kata lain tekstur merupakan keteraturan pola-pola tertentu yang terbantuk dari susunan pixel-pixel dalam citra digital. Suatu permukaan tak berwarna dalam citra dapat mengandung informasi tekstur apabila permukaan tersebut mempunyai pola-pola tertentu.
Syarat terbentuknya tekstur setidaknya ada dua hal:
2. Pola-pola primitif muncul berulang-ulang dengan interval jarak dan arah tertentu sehingga dapat diprediksi atau ditenmukan karateristik pengulangannya.
2.6.1 Metoda Statistik dalam Analisis Tekstur
Informasi tekstur menyangkut sifat-sifat citra yang berkaitan dengan lokasi, histogram satu dimensi tidak bermanfaat dalam usaha melihat karateristik tekstur. Sebagai contoh papan catur yang mempunyai dua intensitas yang berbeda, yaitu hitam dan putih, dan papan lain yang berukuran sama dan mempunyai warna yang sama tetapi warna hitam berada separuh di atas dan warna putih berada separuh di bawah. Bila histogram keduanya digambar, maka hasilnya sama persis, yaitu jumlah pixel-pixel dan jumlah pixel-pixel putih hampir sama, sekitar setengah dari jumlah pixel-pixel penyusun citra tersebut. Hal tersebut membuktikan bahwa dalam analisis tekstur, matirk keterkaitan dua dimensi yang disebut matrik pasangan intensitas merupakan hal yang sangat penting.
2.6.2 Matrik Intensitas Co-occurrence
1. Menentukan jarak antara dua titik dalam arah vertikal dan horisontal (vektor d = (dx,dy)), di mana besaran dx dan dy dinyatakan dengan pixel
sebagai unit terkecil dalam citra digital.
2. Menghitung pasangan pixel-pixel yang mempunyai nilai intensitas ii
dan i2. Hasil perhitungan setiap pasang nilai intensitas pada matrik
sesuai dengan koordinatnya, di mana absis untuk nilai intensitas i1 dan
ordinat untuk nilai intensitas i2.
2.6.3 Fitur-fitur Tekstur
Setelah matrik oc-occurrence dibentuk, sifat-sifat tekstur dapat dihitung berdasarkan matrik tersebut. Perhitungan sifat-sifat tekstur menggunakan nilai-nilai yang sudah dibentuk dalam matrik co-ocurrence.
1. Entropi
Entropi digunakan untuk mengukur keteracakan dari distribusi intensitas. Didefinisikan dalam persamaan (2.27)
(
)
(
)
∑ ∑
− 1 2 1 2 21, log ,
i i i i p i i
p (2.27)
2. Energi
Energi digunakan untuk mengukur konsentrasi pasangan intensitas pada matrik co-occurrence, didefinisikan dalam persamaan (2.28).
3. Kontras
Kontras digunakan untuk mengukur kekuatan perbedaan intensitas dalam citra, didefinisikan dalam persamaan (2.29)
(
) (
)
∑ ∑
− 1 2 2 1 2 2 1 , i i i i p i i (2.29) 4. HomogenitasHomogenitas digunakan untuk mengukur nilai homogen variasi intensitas suatu citra, didefinisikan dalam persamaan (2.30)
(
)
∑ ∑
− +
1 2 2 2 1
1 , 1 i i ii i
i p
(2.30)
2.7 Iridiologi
Iridiologi/iridology ditemukan oleh seorang anak muda yang bernama Ignatz Von Peczely pada tahun 1861. Pada saat berjalan – jalan di taman, ada seekor burung hantu yang hinggap dilengannya. Burung itu mencengkeram erat lengan Ignatz sehingga ia kesakitan, Ignatz mencoba untuk melepaskan cengkeraman burung hantu tersebut, tetapi gagal. Akhirnya Ignatz memutuskan untuk memotong kaki burung hantu tersebut, saat kaki burung tersebut dipotong pada mata burung hantu tersebut nampak suatu tanda yang aneh.
Ignatz juga menganalisa setiap kelemahan organ, kelemahan saraf dan kerusakan saraf yang berbeda pada setiap korban perang. Akhirnya Ignatz menyimpulkan bahwa setiap kelemahan organ berkaitan dengan susunan saraf pada iris mata. (Ignatz Von Peczely adalah bapak Iridiologi)
Gambar 2.17. Ignatz Von Peczely
(sumber: www.menjaro.com/k_iridology.htm)
Iridiologi adalah suatu ilmu kedokteran alternatif yang bersifat preventif, menggunakan pola, warna, keadaan fisik dan iris mata untuk memberikan informasi tentang beragam penyakit yang mungkin ada didalam tubuh seseorang.
Lewat iridiologi, diharapkan penyakti dapat ditangkal sejak dini karena bisa menelusuri gangguan kesehatan yang sedang dialami seseorang. Kondisi semua organ tubuh berhubungan langsung dengan keadaan iris mata. Iris mata adalah perpanjangan dari otak yang diliputi ribuan ujung saraf, pembuluh darah rambut, termasuk otot – otot dan jaringan ikat.
“Setiap organ tubuh yang dihubungkan dengan iris melalui sistem urat
saraf dan serabut saraf juga menjadi refleksi dari kondisi tubuh
Iris bagian kanan mewakili organ – organ tubuh yang berada di bagian kanan, begitu juga untuk iris bagian kiri mewakili organ – organ tubuh bagian kiri. Tapi ada juga organ yang diwakili di kedua iris mata atau di satu iris mata saja (misal limpa). Gambar 2.18 mengambarkan hubungan antara iris mata dengan organ tubuh manusia.
Gambar 2.18. Diagram Iridiologi beserta gambaran Fisiologi
(dari: sumber)
Dalam memprediksi osteoporosis bagian mata yang digunakan adalah pada bagian iris mata. Pada tubuh yang terkena gangguan osteoporosis biasanya terdapat lingkaran berwarna putih pada bagian luar iris mata.
2.7.1 Karakteristik Mata
Gambar 2.19 Skema Mata
Dari Gambar 2.19 diatas dapat diketahui bahwa kornea adalah bagian di luar iris mata yang tampak putih. Sedangkan iris tampak lebih gelap dari kornea tetapi tidak sehitam pupil. Pupil merupakan bagian lingkaran hitam di tengah iris.
Gambar 2.20 adalah gambar chart iridiologi merupakan gambaran hubungan iris mata dengan keadaan dalam tubuh manusia. Dalam ilmu kedokteran bagian iris mata dibagi menjadi 80 – 90 zona, yang masing-masing mengambarkan bagian organ dalam tubuh manusia. Zona-zona tersebut akan berubah polanya saat bagian tubuh manusia terjadi perubahan, misalnya dari kondisi tubuh normal menjadi kondisi tubuh yang kelebihan lemak.
Gambar 2.20 Iridology Chart
BAB III
ANALISIS DAN PERANCANGAN
Program prediksi osteoporosis menggunakan pola iris mata ini bertujuan membantu dalam memprediksi penyakit osteoporosis. Dalam proses pengenalan osteoporosis ini, menggunakan algoritma pembelajaran backpropagation standar.
Pola masukan gambar iris mata akan dibandingkan dengan target yang ingin dicapai. Iris mata yang sudah dipilih sebagai data pelatihan, akan dikenakan proses training agar jaringan mampu mengenalinya. Hasil proses training yang berupa matrik bobot akan disimpan dan akan dipanggil atau dibuka ketika melakukan proses testing. Pada proses testing akan menghasilkan suatu output iris mata hasil testing dengan nilai error tertentu dan jika dikenali sistem akan memberikan informasi apakah iris mata masukan merupakan mata dengan kondisi badan normal, terkena gejala osteoporosis, terkena osteoporosis sub akut atau osteoporosis akut.
3.1 Perancangan Model Jaringan Saraf Tiruan
Tabel 3.1 Tabel target
Gambar Target Keterangan Pola1 [0 0] Normal
Pola2 [0 1] Gejala osteoporosis Pola3 [1 0] Osteoporosis subakut Pola4 [1 1] Osteoporosis akut
3.2 Perancangan Proses Pengenalan Pola
Sistem yang dibuat adalah sistem untuk prediksi osteoporosis yang menggunakan pengenalan pola iris mata. Sistem ini bertujuan untuk mempermudah dan meringankan biaya check-up iridiologi, dengan menggunakan algoritma pembelajaran Jaringan Saraf Tiruan.
Dalam sistem ini akan digunakan algoritma pembelajaran
backpropagation standard, dimana dalam pembelajaran ini akan dicari
penyelesaian yang paling optimal untuk prediksi osteoporosis. Alur kerja dari Jaringan Saraf Tiruan untuk prediksi osteoporosis - Input
Merupakan masukan berupa gambar iris mata dengan format .jpg, dan sudah diubah menjadi citra digital dengan ukuran pixel 200x200.
- Image Processing
Proses ini merupakan proses pengolahan citra, dimana citra yang diolah adalah gambar iris mata yang sudah di-scan sebelumnya. Citra awal berupa citra RGB 3 dimensi. Analisis citra dilakukan untuk menhitung nilai citra
grayscale, yang nantinya hasil perhitungan tersebut akan digunakan sebagai
nilai masukan dalam backpropagation - Neural Network
Gambar 3.2 adalah proses pengenalan pola, inpui berupa gambar iris mata dengan ukuran 200x200 pixel kemudian gambar tersebut akan dikenakan
prepocessing. Prepocessing meliputi proses grayscale dan penghitungan
nilai-nilai pada analisis tekstur.
Gambar 3.2 Proses pengenalan pola
3.2.1 Algoritma Perangkat Lunak
Pada proses ini memerlukan algoritma-algoritma pengolahan citra sehingga tujuan akhir dari perangkat lunak dapat tercapai.
Algoritma perangkat lunak adalah sebagai berikut:
1. Capture gambar mata dari kamera dan simpan di hard disk.
2. Citra yang sudah disimpan diambil bagian irisnya dengan menggunakan adobe photoshop ver.7. Kemudian disimpan pada hard
disk dengan ukuran 200x200 pixel.
4. Citra iris mata tersebut akan melalui proses grayscale dan binerisasi. 5. Hasil citra iris mata yang sudah dikenai proses grayscale dan binerisasi,
akan dites dengan menggunakan metode jaringan saraf tiruan
backpropagation.
6. Dari proses no.5 dapat diketahui citra iris mata tersebut masuk pada kelompok kategori yang mana.
Diagram alir algoritma perangkat lunak dapat dilihat pada gambar 3.3.
3.2.2 Proses Pengolahan Awal (Preproccessing)
Pada bagian ini akan dijelaskan langkah-langkah yang dilakukan dalam proses pengolahan citra untuk mendapatkan bagian iris mata.
1. Ambil Gambar
Proses pengambilan citra iris mata pada tugas akhir ini melalui input gambar dari file gambar (*.jpg).
2. Grayscale
Proses grayscale digunakan untuk meng-konversi citra barwarna (RGB) menjadi citra hitam putih untuk mempermudah proses pengolahan citra.
3. Analisa Tekstur
Gambar 3.4 Diagram Alir Proses Pengolahan Citra
3.2.3 Proses Jaringan Saraf Tiruan
Proses jaringan saraf tiruan terdiri dari beberapa proses yaitu proses inisialisasi, proses pelatihan (training), proses mapping data, dan proses proses implementasi (pengenalan)
i. Fase inisialisasi
ii. Fase Pelatihan
Pada fase ini dipilih teknik pelatihan supervised learning. Vektor input akan dibandingkan dengan vektor target agar mendapatkan output yang sesuai dengan vektor target, jika hasil pembandingan tidak sama maka akan menghasilkan error yang dipergunakan untuk memperbaiki pembobot sehingga pada pembelajaran berikutnya hasilnya akan sama dengan target.
Dalam proses training data yang digunakan adalah sebanyak 12 data yang berupa citra iris mata. Proses ini dibagi menjadi dua bagian utama yaitu proses maju dan proses mundur.
Algoritma proses training program jaringan saraf tiruan sebagai berikut :
1. Menentukan bobot awal secara acak
Bobot awal akan diambil secara acak dengan fungsi
random. Bobot awal ini merupakan bobot input (Wiij) yang
menghubungkan lapisan input dengan lapisan tersembunyi (hidden layer) dan bobot output (W0jk) yang
menghubungkan hidden layer dengan lapisan output. Hal ini hanya dilakukan jika proses training dimulai dari awal artinya tidak melanjutkan proses training sebelumnya. 2. Proses maju
Menghubungkan setiap neuron lapisan input dengan setiap
cara mengalikan vektor input
(
x
1,...,x
n)
dengan matrikbobot, sehingga akan menghasilkan nilai sesuai dengan jumlah banyaknya neuron pada lapisan tersembunyi. Sebelum hasil perkalian vektor input dengan bobot digunakan untuk proses komputasi selanjutnya, nilai-nilai tersebut akan ditambahkan dengan nilai threshold, penambahan nilai threshold bertujuan untuk meningkatkan nilai aktivasi pada hasil komputasi sebelumnya. Fungsi aktivasi yang akan digunakan untuk menghubungkan lapisan tersembunyi dengan lapisan selanjutnya yaitu lapisan output.
iii. Fase Perbaikan Bobot
Proses ini dilakukan untuk memperbaiki nilai bobot pada pembelajaran berikutnya agar sesuai dengan pola input yang diberikan, sehingga jaringan dapat melakukan proses pengambilan keputusan.
3.2.4 Proses Testing
Setelah melakukan training langkah selanjutnya yang dilakukan adalah membuat suatu testing, dengan menggunakan bobot yang didapatkan dari proses
training. Data yang digunakan untuk testing adalah sebanyak 136 data.
melambangkan pola yang berwarna hitam (mempunyai tingkat warna keabuan diatas 255/2), sedangkan nilai 0 melambangkan pola yang berwarna putih (mempunyai tingkat warna keabuan dibawah 255/2).
Algoritma testing data adalah sebagai berikut: i. Memilih file data yang digunakan untuk testing.
ii. Meload file bobot input (Wi) dan file bobot output (Wo).
Bobot yang digunakan adalah bobot yang telah didapatkan dari
training yang telah disimpan dalam file.
iii. Melakukan proses testing berupa fase maju. iv. Selesai.
Output testing berupa informasi mengenai kondisi tubuh seseorang, yaitu
ada 4 kemungkinan normal, terkena gejala osteoporosis, terkena osteoporosis, dan terkena osteoporosis.
3.3 Perancangan User Interface
Program dirancang dengan menggunakan GUI (Graphical User Interface) dari Matlab 6.5.1.
1. Perancangan Menu Utama Program untuk form Training dan
testing.
Form menu utama terdiri dari menu file dan menu help. Di dalam
menu file terdapat sub menu exit.
2. Perancangan Menu Utama Program untuk form Help.
Gambar 3.6 Perancangan Menu Utama untuk form Help
Menu utama pada form help terdapat 1 tambahan submenu pada menu utama file yaitu sub menu awal yang digunakan untuk kembali ke form
training.
3. Perancangan From Pembuka
Gambar 3.7 Perancangan From Pembuka
kedalam form menu utama dan tombol exit digunakan untuk keluar dari
form pembuka.
4. Perancangan Form Training
Gambar 3.8 Perancangan From Training
Form data baru terdiri dari dua buah axes, dan tiga push button.
a. 4 buah axes digunakan untuk menampilkan template iris mata . b. 2 push button yaitu ambil gambar, training, dan testing.
Tombol ambil gambar digunakan untuk mengambil gambar iris mata, tombol training digunakan untuk menjalankan proses
training, tombol testing digunakan untuk melangkah ke form
testing.
c. 8 buah static text
Pop up digunakan untuk memasukkan jumlah epoch, batas
toleransi, laju pemahaman, dan jumlah unit hidden. Pada form
input gambar training akan active setelah proses pengambilan
gambar.
5. Perancangan Form Testing
Gambar 3.9 Perancangan From Testing
Pada form testing terdiri dari 1 buah axes, 2 buah push button, 2
static text, dan 1 buah edit text
a. 1 buah axes
Axes digunakan untuk menampilkan gambar yang akan diuji
Push button ambil gambar digunakan untuk menginputkan
gambar yang akan diuji, sedangkan push button testing digunakan untuk melakukan proses pengujian gambar.
c. 3 buah static text
Static text hanya digunakan untuk menampilkan kalimat dan
digunakan untuk menampilkan hasil pengujian gambar berupa keterangan gambar (kondisi tubuh normal, kondisi tubuh mengalami gejala osteoporosis, kondisi tubuh mengalami osteoporosis subakut, dan kondisi tubuh mengalami osteoporosis akut)
6. Perancangan Form Help
Gambar 3.10 Perancangan From Help
Form help hanya terdiri dari static text yang berisi tentang cara
3.4 Analisa Kebutuhan Hardware dan Software
1. Analisa kebutuhan Hardware
Kebutuhan hardware merupakan kebutuhan akan perangkat keras komputer untuk mendukung sistem yang akan dibuat. Yang dibutuhkan untuk membangun sistem ini antara lain :
1. Main board : Intel 856PE P4TSE Biostar 2. Prosesor : Intel P4 2.4 GHz
3. Memori : RAM 256 MB
4. Hard disk : HDD 40 Gbyte
5. VGA Card : Gforce 4 MX440 64 Mb
6. Monitor : GTC 15’
7. Disk Drive : Samsung 52x
2. Analisa kebutuhan Software
Analisa kebutuhan software untuk mendukung pengoperasian dan pengembangan sistem.
Bab ini akan menguraikan mengenai alur kerja sistem secara umum, implementasi antar muka yang digunakan dalam sistem, algoritma yang digunakan dalam sistem, dan hasil analisa program
4.1. Alur Kerja Sistem Secara Umum
Sebelum menjalankan program, pastikan software Matlab7 sudah terinstall didalam komputer. Pertama kali jalankan terlebih dahulu software Matlab. Beberapa tahap yang perlu dilakukan sebelum menjalankan program: 1. Persiapkan berkas yang akan digunakan dalam program. Hal ini perlu
dilakukan karena dalam Matlab pengaksesan antar berkas tidak dapat dilakukan apabila berkas tersebut berada dalam folder yang berbeda. 2. Setelah software Matlab aktif, direktori dalam atlab perlu dirubah
dengang menggunakan Current Directory, seperti gambar 4.1
Direktori yang aktif diubah ke work \akhir, karena semua berkas diletakkan dalam 1 folder yaitu folder akhir. Untuk menjalankan program pada jendela comman windows Matlab diketik >>depan yang berarti menampikan form depan (awal program). Kemudian tekan push button untuk menuju ke proses berikutnya.
4.2. Implementasi Antar Muka yang digunakan dalam Sistem
4.2.1 Form Depan (awal program)
Gambar 4.2 Form awal program
Form awal merupakan form untuk halaman sampul (halaman depan) dari program ini. Fungsi form ini untuk menampilkan identitas dari penulis dan dosen pembimbing, dan sebagai form pembuka. Dalam form ini terdiri dari 3 push
form berikutnya yaitu form training, push button Exit digunakan untuk
menghentikan program.
4.2.2 Form Training
Gambar 4.3 Form Training
Form training merupakan form untuk melatih template berupa citra iris
mata yang sudah ada (dapat dilihat pada tabel 4.1). Dalam form ini terdapat 2 menu utama, 4 pop up menu, 2 push button, dan 8 static text.
- empat pop up menu
Pop up menu pertama digunakan untuk memasukan nilai epochs, pop
up menu kedua digunakan untuk memasukan nilai batas toleransi, pop
up menu ketiga digunakan untuk memasukan nilai laju pemahaman,
pop up menu keempat digunakan untuk memasukan jumlah unit pada
layar tersembunyi. - dua push button
Push button training digunakan untuk menjalankan program training,
push button testing digunakan untuk menjalankan form testing.
Tabel 4.1 adalah tabel data mata sebagai referensi pola iris mata yang digunakan dalam training.
4.2.3 Form Testing
Gambar 4.4 From Testing
Form testing merupakan form yang digunakan untuk menguji citra iris
mata. Pada form ini terdapat 2 menu utama, 2 push button, dan 3 static text. - dua menu utama
2 menu utama yaitu file dan help. Dalam menu file terdapat sub menu
exit digunakan untuk keluar dari program, help digunakan untuk
melihat cara penggunaan program - dua push button
Push button ambil gambar digunakan untuk mengambil gambar yang
akan diuji, push button training digunakan untuk menjalankan form
4.2.4 Form Help
Gambar 4.5 Form Help
Form help terdiri dari 2 menu utama, yaitu menu File dan menu Help.
- Menu File
Terdiri dari 2 sub menu, yaitu submenu awal yang digunakan untuk kembali ke from training dan submenu exit yang digunkan untuk menghentikan program.
- Menu Help
4.3. Algoritma yang digunakan dalam Sistem
Beberapa algoritma yang digunakan dalam program. 4.3.1. Algoritma Training
pola1 = imread('normal.jpg');
[countall_n,micc_n,treshtexture_n]=MICC(pola1);
[entropi_n,energi_n,homo_n,kontras_n]=ana_texture(micc_n,cou ntall_n);
p1=[entropi_n energi_n homo_n kontras_n];
pola2 = imread('gejala.jpg');
[countall_g,micc_g,treshtexture_g]=MICC(pola2);
[entropi_g,energi_g,homo_g,kontras_g]=ana_texture(micc_g,cou ntall_g);
p2 = [entropi_g energi_g homo_g kontras_g];
pola3 = imread('sub_akut.jpg');
[countall_s,micc_s,treshtexture_s]=MICC(pola3);
[entropi_s,energi_s,homo_s,kontras_s]=ana_texture(micc_s,cou ntall_s);
p3 = [entropi_s energi_s homo_s kontras_s];
pola4 = imread('akut.jpg');
[countall_a,micc_a,treshtexture_a]=MICC(pola4);
[entropi_a,energi_a,homo_a,kontras_a]=ana_texture(micc_a,cou ntall_a);
p4 = [entropi_a energi_a homo_a kontras_a];
p=[p1;p2;p3;p4]; pt=p';
global t; t1 = [0 0]; t2 = [0 1]; t3 = [1 0]; t4 = [1 1]; %target
t=[t1;t2;t3;t4]'; %pembentuk jaringan
global unit unit = unitHid;
net=newff(minmax(pt),[unit,2],{'logsig','logsig'},'traingdx' );
%global net; net=init(net)
lj=laju; net.trainParam.epochs=epoch; net.trainParam.goal=tol; net.trainParam.lr=lj; tic net=train(net,pt,t); toc save('datatraining.txt','net'); bobot1=net.IW{1,1} bobot2=net.LW{2,1} bias1=net.b{1} bias2=net.b{2} waktu=toc;
Inputan diperoleh dari hasil hitungan pada analisis citra. Setiap citra mempunyai 4 ciri, yang digunakan sebagai masukan dalam proses training. Nilai-nilai epoch, goal ,learning rate, dan unit hidden layer diperoleh dari inputan user.
4.3.2. Algoritma Testing
[fname, pname]=uigetfile(...
{'*.jpg','File Citra(*.jpg)'},... 'Buka File Citra');
asli=fname;
uji = imread(asli);
position = get(hObject, 'Position'); axes(handles.axes1);
imshow(uji);
polauji = uji;
[countall_u,micc_u,treshtexture_u]=MICC(uji);
[entropi_u,energi_u,homo_u,kontras_u]=ana_texture(micc_u,cou ntall_u);
p_uji=[entropi_u energi_u homo_u kontras_u]'; load('-mat','datatraining.txt');
y=sim(net,p_uji); y1 = round(y);
if y1 == t1'
set(handles.eGambar,'String','Kondisi Tubuh Normal'); else if y1 == t2'
set(handles.eGambar,'String','Kondisi Tubuh Mengalami Gejala Osteoporosis');
else if y1 == t3'
set(handles.eGambar,'String','Kondisi Tubuh Mengalami Osteoporosis Sub Akut');
else if y1 ==t4'
set(handles.eGambar,'String','Kondisi Tubuh Mengalami Osteoporosis Akut');
end end end end
Pada proses testing, citra input akan dibentuk matrik intensitas
co-occurrence, kemudian dihitung nilai entropi, energi, homogenitas dan
kontras. Hasil perhitungan tersebut akan dibandinkan dengan nilai-nilai citra template yang sudah ditraining. Kesimpulan hasil uji akan ditampilkan dalam static text.
4.3.3. Algoritma Analisis Citra
4.3.3.1Algoritma untuk pembentukan matrik Intensitas Co-occurrence
graytexture = rgb2gray(citra); [Bbin Kbin] = size(graytexture); for i=1:Bbin for j=1:Kbin if graytexture(i,j)<=85 treshtexture(i,j)=0; %treshtexture2(i,j)=43; end if ((graytexture(i,j)>=86)&(graytexture(i,j)<=170)) treshtexture(i,j)=1; end if graytexture(i,j)>=171; treshtexture(i,j)=2; end end end
count00=0; count01=0; count02=0; count10=0; count11=0; count12=0; count20=0; count21=0; count22=0; countall=0; for i=1:Btr-1