PENGENALAN POLA GOLONGAN DARAH MENGGUNAKAN

JARINGAN SARAF TIRUAN
BACK PROPAGATION

SKRIPSI


Oleh:
Zunita Wulan Sari
05550082






JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN) MALANG
April 2010

ii

PENGENALAN POLA GOLONGAN DARAH MENGGUNAKAN
JARINGAN SARAF TIRUAN
BACK PROPAGATION

SKRIPSI

Diajukan kepada Fakultas Sains dan Teknologi Universitas Islam Negeri Malang
untuk Memenuhi Salah Satu Persyaratan Guna Memperoleh Gelar
Strata Satu Sarjana Teknik Informatika (S.Kom)

Oleh:
Zunita Wulan Sari
05550082









JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN) MALANG
April 2010

iii

HALAMAN PERSETUJUAN

PENGENALAN POLA GOLONGAN DARAH MENGGUNAKAN
JARINGAN SARAF TIRUAN BACK PROPAGATION

Skripsi
Oleh:
Zunita Wulan Sari
05550082

Telah disetujui oleh:

Pembimbing I,


Suhartono, M. Kom
NIP. 196805192003121001
Pembimbing II,


Zainal Abidin, M. Kom
NIP. 197606132005011001

Tanggal, 2010

Mengetahui,
Ketua Jurusan Teknik Informatika


Ririen Kusumawati, M. Kom
NIP. 197203092005012002

iv

HALAMAN PENGESAHAN

PENGENALAN POLA GOLONGAN DARAH MENGGUNAKAN
JARINGAN SARAF TIRUAN BACKP ROPAGATION
SKRIPSI
Dipersiapkan dan disusun oleh
Zunita Wulan Sari (05550081)

Telah Dipertahankan di Depan Dewan Penguji
dan Diutamakan Diterima Sebagai Salah Satu Persyaratan dan
Untuk Memperoleh Gelar Sarjana Teknik Informatika (S.Kom)
Pada 24 April 2010

Susunan Dewan Penguji Tanda Tangan

1. Penguji Utama
Fatchurrochman, M. Kom : [ ]
NIP. 197007312005011002

2. Ketua Penguji
Totok Chamidy, M.Kom : [ ]
NIP. 196912222006041001
3. Sekretaris Penguji
Suhartono, M. Kom
NIP. 19680519200312100 : [ ]

4. Anggota Penguji
Zainal Abidin, M. Kom
NIP. 197606132005011001 : [ ]


Mengetahui,
Ketua Jurusan Teknik Informatika



Ririen Kusumawati, M. Kom
NIP. 197203092005012002

v

SURAT PERNYATAAN


Dengan ini saya menyatakan, bahwa dalam skripsi ini tidak terdapat karya
yang pernah diajukan untuk memperoleh gelar kesarjanaan pada suatu perguruan
tinggi, dan sepanjang pengetahuan saya, juga tidak terdapat karya atau pendapat
yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis
diacu dalam naskah ini dan disebutkan dalam daftar pustaka.





Malang, ......................2010
Penulis,

Zunita Wulan Sari


vi

PERSEMBAHAN



Karya ini saya persembahkan kepada:

Bapak Simon dan Ibu Mardiyah yang telah mencurahkan kasih sayang, keagungan
doa, motivasi, nasehat-nasehat dan segala perhatiannya. Semoga Nita bisa
menjadi putri yang dapat membanggakan dan berbakti kepada bapak dan Ibu
kelak. Amin...
Kakak-kakakku; Luluk Nur’aini, mas Sis, dan Triya, Ajid, Padil terima kasih
untuk smua do’anya. Mbak Ugik dan mas Jarot, Salwa, mb Yani dan ms Tomo
maaf adik gak bisa bantu dengan maksimal.
Jabrikku yang selalu membantu, menasehatiKu pek jenuh dan mendengarkan
semua keluh kesah Nita.
“Aku Yakin Kita Pasti Bisa, Pasti Ada Jalan Keluar?!”
Semua guru-guruku dari TK hingga Perguruan Tinggi yang dengan ketulusan
mendidik dan memberikan ilmunya
Teman2 sweety girl’s tersayang
Makasih Niy@dan CemY yang telah menemani dan mendoakanKu, oLi$ dan
NoPi yang telah mendoakanKu ,M@2 yang telah meminjamiku PC N doanya)
terima kasih atas bantuannya.
Seluruh sahabatku di jurusan Teknik Informatika UIN Malang angkatan 2005
[anak Ti_b smua, pikri suwun camerane? Hakim(jakarte) thanks dah diajari
gabungin program? munirDan temen-temen q smua]_Tetep kompak sampai punya
cucu rek?!_
Kosan Ampel 15 pais, yu’ aicho(yg ngajari aq), ma2, yu’ anik, nisa, dian, bu nyai,
ifa, mbak lila, bu dewi, riris, yuyun, menyun, melka, uus, bariza, ida (thanks
zeTTane), depit, ima imu dan mb mely,

Serta rekan-rekan dan semua pihak yang tidak dapat disebutkan satu persatu, yang
telah membantu penulis dari awal kuliah hingga tersusunnya skripsi ini.
Terimakasih..

7

MOTTO






.«.| . ´...l. .«.|´. .`.· ´<¦ ..>¯,l¦ .,>¯,l¦ ¯¸ N¦ ¦.l-. ´_ls _...¦´. _..l`.`. ¯¸
Artinnya:
30. Sesungguhnya surat itu, dari SuIaiman dan Sesungguhnya (isi)nya: "Dengan
menyebut nama Allah yang Maha Pemurah lagi Maha Penyayang.
31. Bahwa janganlah kamu sekalian Berlaku sombong terhadapku dan datanglah
kepadaku sebagai orang-orang yang berserah diri".







Sumber: Al-Qur’an dan Terjemahnya (Jakarta: Yayasan Penyelenggara
Penterjemah Al-Qur'an), hlm. 476.

8

KATA PENGANTAR
Dengan menyebut asma Allah Yang Maha Pengasih lagi Maha Penyayang.
Penyusun panjatkan puji syukur ke hadirat Allah SWT, yang telah melimpahkan
rahmat, taufiq dan inayah-Nya sehingga penulis mampu menyelesaikan skripsi
yang berjudul Pengenalan Pola Golongan Darah Menggunakan Jaringan Saraf
Tiruan Back Propagtion. Sebagai salah satu persyaratan guna mendapatkan gelar
Strata Satu Sarjana Teknik Informatika Universitas Islam Negeri Malang, sesuai
dengan waktu yang telah ditentukan.
Shalawat serta salam semoga tetap tercurahkan kepada Nabi Muhammad
SAW yang membawa cahaya kebenaran, sehingga mengeluarkan umat manusia
dari zaman kegelapan ke masa yang terang benderang dengan agama Islam.
Dalam penyusunan laporan ini tidak lepas dari bantuan berbagai pihak
yang telah memberi informasi dan inspirasi, sehingga dapat menyusun dan
menyelesaikan skripsi ini. Oleh karena itu penulis mengucapkan terima kasih
dengan tulus teriring do'a jazzakumullah khairan katsiran kepada:
1. Ayah dan Ibu yang dengan ketulusan membesarkan, mendidik, merawat dan
senantiasa mencurahkan segalanya baik tenaga, dukungan maupun iringan
do’a yang tiada putusnya.
2. Prof. Dr. Imam Suprayogo, selaku Rektor Universitas Islam Negeri Malang.
3. Prof. Dr. Sutiman Bambang Sumitro, SU. Dsc, selaku Dekan Fakultas Sains
dan Teknologi Universitas Islam Negeri Malang.
4. Ririen Kusumawati, M. Kom, selaku Ketua Jurusan Teknik Informatika.
5. Suhartono, M. Kom dan Zainal Abidin, M.Kom, selaku dosen pembimbing
yang dengan kesabarannya memberikan bimbingan dan arahan serta masukan-
masukan yang sangat berarti kepada penulis selama penyusunan skripsi ini.
6. Bapak-Ibu Dosen dan seluruh civitas akademik Fakultas Sains dan Teknologi
yang telah memberikan ilmu dan kemudahan selama penulis berada di
Fakultas Sains dan Teknologi Universitas Islam Negeri Malang. Pak Fatchur,
Pak Faisal, Pak Yaqin, Pak Zainal, Pak Amin, Pak Totok, Pak Syahid, Bu

9

Roro, Bu Hani, Pak 9un, Mbak Indah, Pak Deni, & Pak Wawan ”matur nuwun
sanget dumateng sedaya”
7. Kakak-kakakku yang telah banyak memberikan doa, motivasi, dan dorongan
dalam penyelesaian skripsi ini serta semua saudara di rumah.
8. Teman-teman TI’05 seperjuangan, TI’o4, TI’o6-o9, baik yang sama-sama
sedang berjuang maupun yang akan berjuang dan teman-teman kosan
9. Serta seluruh pihak yang telah membantu dalam penyelesaian skripsi ini.
Penulis mengakui bahwa skripsi ini masih banyak kekurangan, kelemahan,
dan masih jauh dari kesempurnaan. Oleh karena itu, penulis mengharapkan kritik
dan saran yang membangun guna perbaikan ke depan.
Akhirnya semoga karya ini diterima di sisi Allah SWT. dan semoga
mendapatkan balasan yang setimpal dari-Nya. Harapan penulis semoga karya tulis
ilmiah ini dapat bermanfaat bagi penyusun khususnya, dan para pembaca pada
umumnya, untuk dijadikan bahan pertimbangan dalam pengembangan pendidikan
Islam ke depan dan dapat memperluas cakrawala ke-Islaman terutama untuk ilmu.



Malang, ......................2010
Penulis,

Zunita Wulan Sari






10

DAFTAR TABEL

Tabel 2.1 Format citra ....................................................................................... 11
Tabel 2.2 Tabel contoh pengelompokan pola berdasarkan cirinya .................... 17
Tabel 3.1 Hasil dari training citra golongan darah ............................................. 49
Tabel 3.2 Hasil dari training citra golongan darah ............................................. 49
Tabel 3.3 Hasil dari training citra golongan darah ............................................. 49
Tabel 3.4 Hasil dari training citra golongan darah ............................................. 50
Tabel 3.5 Hasil dari training citra golongan darah ............................................. 50
Tabel 3.6 Hasil dari training citra golongan darah ............................................. 50
Tabel 3.7 Hasil dari training citra golongan darah ............................................. 51
Tabel 3.8 Hasil dari training citra golongan darah ............................................. 51
Tabel 3.9 Hasil dari training citra golongan darah ............................................. 51
Tabel 3.10 Hasil dari training citra golongan darah ........................................... 51
Tabel 3.11 Hasil dari training citra golongan darah ........................................... 52
Tabel 3.12 Hasil dari training citra golongan darah .......................................... 52
Tabel 3.13 Hasil dari training citra golongan darah ........................................... 52
Tabel 3.14 Hasil dari training citra golongan darah ........................................... 53
Tabel 3.15 Hasil dari training citra golongan darah ........................................... 53
Tabel 3.16 Hasil dari training citra golongan darah ........................................... 53
Tabel 3.17 Hasil dari training citra golongan darah ........................................... 54
Tabel 3.18 Hasil dari training citra golongan darah ........................................... 54
Tabel 3.19 Hasil dari training citra golongan darah ........................................... 54
Tabel 4.1 Lingkungan uji coba .......................................................................... 58
Tabel 4.2 Data uji coba ..................................................................................... 79











11

DAFTAR GAMBAR

Gambar 2.1 Diagram Pengolahan Citra .......................................................... 11
Gambar 2.2 Proses deteksi tepi citra ............................................................... 17
Gambar 2.3 Hasil citra dari deteksi tepi .......................................................... 17
Gambar 2.4 Struktur jaringa saraf tiruan ......................................................... 27
Gambar 2.5 Fungsi aktivasi sigmoid biner ...................................................... 28
Gambar 2.6 Arsitektur JST single layer net .................................................... 29
Gambar 2.7 Arsitektur JST multi layer net ..................................................... 29
Gambar 2.8 Bagian-bagian IDE Delphi .......................................................... 34
Gambar 2.9 Form Designer ........................................................................... 35
Gambar 2.10 Object TreeView pada IDE Delphi .............................................. 36
Gambar 3.1 Diagram alir sistem secara keseluruhan ....................................... 40
Gambar 3.2 Flowchart proses pengenalan citra darah ..................................... 43
Gambar 3.3 Flowchart proses binerisasi ......................................................... 45
Gambar 3.4 Diagram alir deteksi tepi ............................................................. 46
Gambar 3.5 Diagram alir proses pelatihan ...................................................... 48
Gambar 3.6 Form Utama ................................................................................ 55
Gambar 3.7 Form Proses Awal ....................................................................... 56
Gambar 3.8 Pengenalan golongan darah ......................................................... 57
Gambar 3.9 Form proses training ................................................................... 57
Gambar 4.1 Form Utama ................................................................................ 60
Gambar 4.2 Form image process .................................................................... 60
Gambar 4.3 Contoh Input Image dari botton ambil citra ................................. 61
Gambar 4.4 Citrabhasil deteksi tepi ................................................................ 62
Gambar 4.5 Input data training ....................................................................... 68
Gambar 4.6 Aplikasi pengenalan pola golongan darah manusia ...................... 78
Gambar 4.7 Hasil cetak setelah dilakukan pengenalan .................................... 78


12

DAFTAR ISI
HALAMAN PERSETUJUAN...............................................................................iii
HALAMAN PENGESAHAN...............................................................................iv
PERSEMBAHAN.................................................................................................vi
MOTTO.................................................................................................................7
KATA PENGANTAR..........................................................................................8
DAFTAR TABEL.................................................................................................10
DAFTAR GAMBAR............................................................................................11
DAFTAR ISI.........................................................................................................12
ABSTRAK............................................................................................................14
BAB I
PENDAHULUAN ............................................................................................... 1
A. LATAR BELAKANG....................................................................................1
B. RUMUSAN MASALAH................................................................................5
C. TUJUAN..........................................................................................................5
D. BATASAN MASALAH.................................................................................5
E. MANFAAT PENELITIAN.............................................................................6
F. METODOLOGI PENELITIAN......................................................................6
G. FASE ANALISIS...........................................................................................7
H. FASE DESAIN...............................................................................................7
I. SISTEMATIKA PENULISAN SKRIPSI........................................................8
BAB II
TINJAUAN PUSTAKA..................................................................................... 10
2.1 TEORI DASAR PENGOLAHAN CITRA................................................10
2.1.1 Format Citra ...................................................................................... 11
2.1.1.1 Citra Biner ...................................................................................... 11
2.1.1.2 Citra Skala Keabuan ....................................................................... 12
2.1.1.3 Citra Warna .................................................................................... 12
2.1.1.4 Citra Warna Berindeks.................................................................... 12
2.1.2 Operasi Pengolahan Citra ................................................................. 13
2.2 GOLONGAN DARAH.............................................................................19
2.3 PENGENALAN POLA.............................................................................22
2.1.4 Pengertian Pola .................................................................................. 22
2.1.5 Metode Pengenalan ........................................................................... 24

13

2.4 JARINGAN SARAF TIRUAN..................................................................27
2.5 BORLAND DELPHI.................................................................................33
2.5.1 Mengenal IDE Delphi ........................................................................ 33
2.5.2 Struktur File ...................................................................................... 37
2.5.3 Code Editor ....................................................................................... 38
BAB III
DESAIN DAN PERANCANGAN ..................................................................... 39
A. DESKRIPSI SISTEM...................................................................................39
B. DESAIN SISTEM.........................................................................................41
1. Desain Data ............................................................................................ 41
2. Data Masukan ........................................................................................ 42
C. PENGENALAN POLA GOLONGAN DARAH MANUSIA
MENGGUNAKAN JST BACKPROPAGATIO...............................................42
1. Input image ............................................................................................ 44
2. Preprocessing ........................................................................................ 44
D. DESAIN ANTARMUKA..........................................................................55
1. Desain Menu Tampilan Utama ............................................................... 55
2. Desain Menu Tampilan proses awal ....................................................... 55
3. Desain Menu Tampilan Halaman Pengenalan Golongan Darah .............. 56
BAB IV .................................................................................................................
HASIL DAN PEMBAHASAN .......................................................................... 58
A. LINGKUNGAN UJI COBA.........................................................................58
B. DATA UJI COBA.........................................................................................59
C. PENJELASAN PROGRAM.........................................................................59
1. Proses Menampilkan Halaman Utama .................................................... 60
2. Proses Menampilkan Halaman Deteksi Tepi ........................................... 60
3. Help ....................................................................................................... 77
D. PEMBAHASAN DATA HASIL UJI COBA...............................................77
BAB V
PENUTUP ......................................................................................................... 83
DAFTAR PUSTAKA ............................................................................................84



14

ABSTRAK
Wulansari, Zunita. Pengenalan Pola Golongan Darah Menggunakan Jaringan
Saraf Tiruan Back Propagation. Skripsi, Jurusan Teknik Informatika, Fakultas
Sains dan Teknologi, Universitas Islam Negeri Maulana Malik Ibrahim (UIN)
Malang. Suhartono, M. Kom dan Zainal abidin, M.Kom.

Kemajuan ilmu pengetahuan dan teknologi ternyata telah banyak
membawa perubahan bagi kehidupan manusia, baik dalam cara berpikir, sikap,
gaya hidup atau tingkah laku. Perkembangan teknologi komputer menjadikan
hidup lebih fleksibel, mudah menjangkau daerah-daerah yang luas, dan
otomatisasi di segala bidang.
Akhir-akhir ini pengolahan citra digital di banyak negara maju menjadi
bidang yang digeluti oleh banyak peneliti karena menarik untuk diterapkan pada
berbagai kegiatan, baik kegiatan analisis maupun produksi. Berbagai aspek
penelitian dan algoritma pengolahan citra diterapkan dalam bidang kedokteran,
biologi, industri, dan bidang yang lain. Untuk keperluan analisis, pengolahan citra
mampu melakukan analisis citra digital dalam menentukan pola sidik jari, pola
golongan darah, pengenalan pola tulisan tangan, perhitungan koloni suatu
mikroba, ataupun memperbaiki citra.
Seseorang perlu untuk mengetahui golongan darahnya masing-masing.
Banyak mamfaat manusia bila mengetahui golongan darahnya. Misalanya untuk
melakukan tranfusi darah manusia harus memeriksakan golongan darahnya
terlebih dahulu. Apabila telah mengetahui golongan darhnya maka manusia
tersebut tidak perlu melakuakan pemeriksaan golongan darahnya. Karena bila kita
akan melakukan tranfusi darah, manusia harus memiliki golongan darah yang
sama. Macam golongan darah pada manusia terdiri dari A, B, AB, O. Dengan
pendekatan kecerdasan buatan, manusia berusaha menirukan bagaimana pola-pola
dibentuk. Jaringan Syaraf Tiruan telah dikembangkan sebagai generalisasi model
matematik dari pembelajaran manusia dan juga kecerdasan buatan juga membatu
pekerjaan manusia misalkan dalam proses pendeteksian golongan darah. Oleh
karena itu dibuat aplikasi pengenalan pola golongan darah menggunakan jaringan
saraf tiruan dengan menggunakan metode jaringan saraf tiruan backpropagation.
Dari hasil uji coba perangkat lunak yang telah dilakukan menunjukkan
bahwa perangkat lunak yang dibuat mampu mengenali golongan darah manusia
Uji coba dilakukan sebanyak 40 kali dengan citra yang berbeda, presentase
pengenalan pola golongan darah pada manusia yaitu 77,8% dan keberhasilan
aplikasi sangat tergantung pada hasil citra yang diambil






Kata kunci: Pengenalan, Citra, Jaringan Saraf Tiruan, Backpropagation

15

BAB I
PENDAHULUAN

A. LATAR BELAKANG
Keberadaan manusia di muka bumi ini sebagai khalifah fil ardh (penguasa
di bumi) mempunyai tugas untuk memelihara, melestarikan, serta membudayakan
semua ciptaan Allah yang berada di bumi. Tidak dibenarkan untuk melakukan
perusakan terhadap semua ciptaan Illahi. Dengan ilmu pengetahuan dan teknologi,
manusia dapat melaksanakan tugas kekhalifahan tersebut. Dalam mencari ilmu,
manusia harus selalu berkeyakinan bahwa Allah adalah Sang Pencipta. Sesuai
dengan firman Allah SWT, dalam al-Quran surat Al-Baqarah/2 : 255 di bawah ini:
´<¦ N «.l| N| ´.> ¯_>l¦ `».¯.1l¦ N .:.>!. «´.. N´. »¯.. .«l !. _· .´...´.l¦
!.´. _· ¯¸N¦ . ¦: _¦ ×±:· .:..s N| .«.:¦. `.l-. !. _.. `.±...¦
!.´. ¯.±±l> N´. _.L,>`. .`_:. . .«.ls N| !.. ´.!: ×.´ . «¯..¯,´
.´...´.l¦ ´¯¸N¦´. N´ . .::.:. !´.±´L±> ´.>´. ¯_l-l¦ `.,L-l¦ '''
Artinya:
“Allah, tidak ada Tuhan (yang berhak disembah) melainkan dia yang hidup kekal
lagi terus menerus mengurus (makhluk-Nya); tidak mengantuk dan tidak tidur.
Kepunyaan-Nya apa yang di langit dan di bumi. tiada yang dapat memberi
syafa'at di sisi Allah tanpa izin-Nya? Allah mengetahui apa-apa yang di hadapan
Allah melainkan apa yang dikehendaki-Nya. Kursi
1
Allah meliputi langit dan
bumi. dan Allah tidak merasa berat memelihara keduanya, dan Allah Maha
Tinggi lagi Maha besar.” (QS. Al-Baqarah/2 ayat 255)

1
Kursi dalam ayat ini oleh sebagian mufassirin diartikan dengan ilmu Allah dan ada pula yang
mengartikan dengan kekuasaan-Nya

16

Di zaman teknologi yang semakin berkembang seperti sekarang ini,
banyak cara yang bisa dilakukan dalam berdakwah oleh seorang muslim, baik
secara sembunyi-sembunyi ataupun terang-terangan. Beberapa metode dakwah
Islam telah dikembangkan di berbagai bidang, misalnya saja dalam bidang
pendidikan. Universitas Islam Negeri Malang sebagai lembaga pendidikan yang
bernuansa Islami telah menyediakan jurusan Teknik Informatika sebagai salah
satu program studi barunya. Hal tersebut dimaksudkan agar seorang Sarjana
Teknik bisa menjadi ulama yang berfikir dengan mengkorelasikan al-Quran dan
ilmu pengetahuan yaitu menghubungkan ilmu agama dengan program studi
tersebut. Anjuran untuk selalu berfikir di dalam segala macam kegiatan telah
diterangkan dalam al-Quran surat Al-Imron/3 : 191 yang bebunyi sebagai berikut:
_·¦ _.`,´.. ´<¦ !..´,· ¦´:.`-·´ . _ls´. ¯.±..`.`> _.`,÷±..´ . _· _l> .´..´.´.l¦
¯¸N¦´ . !´.`.´ ¸ !. ·1 l> ¦..> *L.. i..>¯.. !.1· ´.¦.s ¸!.l¦ ¸'¸
Artinya
“(yaitu) orang-orang yang mengingat Allah sambil berdiri atau duduk atau
dalam keadan berbaring dan mereka memikirkan tentang penciptaan langit dan
bumi (seraya berkata): "Ya Tuhan kami, tiadalah Engkau menciptakan Ini dengan
sia-sia, Maha Suci Engkau, Maka peliharalah kami dari siksa neraka.” (QS. al-
Imron/3: 191)

Kemajuan ilmu pengetahuan dan teknologi ternyata telah banyak
membawa perubahan bagi kehidupan manusia, baik dalam cara berpikir, sikap,
gaya hidup atau tingkah laku. Perkembangan teknologi komputer menjadikan
hidup lebih fleksibel, mudah menjangkau daerah-daerah yang luas, dan
otomatisasi di segala bidang. Informatika sebagai salah satu bidang dari ilmu

17

pengetahuan dan teknologi yang berkembang dengan cepat dimaksudkan agar
dapat berperan membantu manusia memperoleh kehidupan yang lebih sempurna
sesuai dengan syariat yang ditentukan oleh Allah dan Rasulullah SAW.
Akhir-akhir ini pengolahan citra digital di banyak negara maju menjadi
bidang yang digeluti oleh banyak peneliti karena menarik untuk diterapkan pada
berbagai kegiatan, baik kegiatan analisis maupun produksi. Berbagai aspek
penelitian dan algoritma pengolahan citra diterapkan dalam bidang kedokteran,
biologi, industri, dan bidang yang lain. Untuk keperluan analisis, pengolahan citra
mampu melakukan analisis citra digital dalam menentukan pola sidik jari, pola
golongan darah, pengenalan pola tulisan tangan, perhitungan koloni suatu
mikroba, ataupun memperbaiki citra.
Seseorang perlu untuk mengetahui golongan darahnya masing-masing.
Banyak mamfaat manusia bila mengetahui golongan darahnya. Misalanya untuk
melakukan tranfusi darah manusia harus memeriksakan golongan darahnya
terlebih dahulu. Apabila telah mengetahui golongan darhnya maka manusia
tersebut tidak perlu melakuakan pemeriksaan golongan darahnya. Karena bila kita
akan melakukan tranfusi darah, manusia harus memiliki golongan darah yang
sama. Macam golongan darah pada manusia terdiri dari A, B, AB, O. Dengan
pendekatan kecerdasan buatan, manusia berusaha menirukan bagaimana pola-pola
dibentuk. Jaringan Syaraf Tiruan telah dikembangkan sebagai generalisasi model
matematik dari pembelajaran manusia dan juga kecerdasan buatan juga membatu
pekerjaan manusia misalkan dalam proses pendeteksian golongan darah. Sesua
dengan firman Allah QS. Al-A’raaf/07 Ayat: 4

18

!.·....´ . '.!>¬ _ls´. .¦´¸.N¦ _l>¸ _.·¸-. *´ ¯....· ¦. :! .´. ..>´¦
«.>'¦ _¦ '..l. ¯.>.l . `.l !>.l>.. ¯.>´. _.`-.L . ''
Artinya:
Dan di antara keduanya (penghuni surga dan neraka) ada batas; dan di atas
A'raaf
2
itu ada orang-orang yang Mengenal masing-masing dari dua golongan
itu dengan tanda-tanda mereka. dan mereka menyeru penduduk surga:
"Salaamun 'alaikum
3
". mereka belum lagi memasukinya, sedang mereka ingin
segera (memasukinya).( QS. Al-A’raaf/07 Ayat: 4)

Firman Allah SWT, !.·....´. '.!>¬ “ dan diantara keduanya ada batas,”
maksudnya adalah diantara neraka dan surga ada pembatas atau pagar. Pembatas

(pagar) disini adalah seperti yang disebutkan oleh Allahdalam firman-Nya “lalu
diadakan diantara mreka dinding” (QS. Al-Hadid/57: 13). Maksudnya penghuni
surga dan neraka “…terdapat hijab…” pemisah yang tinggi. Diatas tempat itu
terdapat Bani Adam yang kebaikannya dan keburukannya mereka sama, mereka
tetap di tempat tersebuthingga diputuskanlah kepada orang-orang yang berada
diposisi tersebut. Dan mereka mendapat keputusan untuk masuk kedalam surga
Insya Allah. ....· _.·¸-. *´ “setiapa penduduk surae dan penduduk neraka
diketahui dari tanda-tanda mereka”, penghuni surga dikenal dengan tanda yang

ada pada mereka yaitu wajah yang putih dan nampak elok, mereka mendapat
kenikmatan, sedang kan penghuni neraka berwajah hitam dan bermata biru,
“…dan mereka menyeru penduduk surga…” orang-orang yang bertempat di
A’Raaf menyeru penghuni surga dengan mengatakan “Salaamun’alaikum”.
Mereka belum memasukinya tetapi sudah sangat ingin memasukinya. “…mereka
belum lagi memasukinya, sedang mereka ingin segera (memasukinya)…”. ‘’Dan

2
Al A'raaf artinya: tempat yang tertinggi di antar surga dan neraka
3
Artinya: Mudah-mudahan Allah melimpahkan Kesejahteraan atas kamu

19

apabila pandangan mereka dialihkan kearah penghuni neraka…”. Mereka
melihat kea rah penghuni neraka, maka mereka mendapatkannya berwajah hitam,
bermata biru,ditimba azab dari atas dan bawah, mereka mengangkat suara seraya
berkata, “ya tuhan kami, janganlah Engkau tempatka kami bersama-sama orang-
orang yang zalim itu.” yaitu para penghuni neraka. Sebab mereka memasukinya
karena kezaliman mereka sendiri.

B. RUMUSAN MASALAH

Berdasarkan latar belakang tersebut, rumusan masalah yang dapat
diambil adalah bagaimana merancang dan membuat aplikasi yang dapat
digunakan untuk mengenali pola citra golongan darah pada manusia.

C. TUJUAN
Tujuan penelitian ini adalah untuk merancang dan membuat aplikasi yang
dapat digunakan digunakan untuk mengenali pola citra golongan darah pada
manusia.

D. BATASAN MASALAH
Pada sistem untuk mengenali pola citra golongan darah manusia ini
diberikan pembatasan masalah sebagai berikut:
1. Citra masukan yang digunakan adalah citra dengan resolusi 512 x 256 pixel
dan memiliki 256 derajat keabuan
2. Metode yang dipakai adalah jaringan syaraf tiruan dengan algoritma back-
propagation.

20

E. MANFAAT PENELITIAN
1. Manfaat Bagi Peneliti:
Penelitian ini bermanfaat untuk mengembangkan wawasan keilmuwan dan
menambah pengetahuan, khususnya permasalahan untuk mengenali pola citra
golongan darah pada manusia .
2. Manfaat Bagi Pihak Akademis (Universitas Islam Negeri Malang):
Sebagai kontribusi positif untuk kemajuan wawasan keilmuwan teknologi
informasi yang diintegrasikan dengan agama serta untuk pengembangan pada
masa yang akan datang
3. Manfaat bagi masyarakat:
Mempermudah masyarakat untuk mengetahui golongan darah mereka.

F. METODOLOGI PENELITIAN
Metode yang akan digunakan dalam penelitian ini terdiri dari langkah-
langkah berikut:
1. Fase Perencanaan
Fase perencanaan terdiri dari beberapa kegiatan, diantaranya :
1. Studi kelayakan judul
Pada studi kelayakan judul, dipilih judul yang cocok dengan kemampuan.
Judul ini telah dikonsultasikan kepada para dosen Pembimbing dan
disetujui
2. Pembuatan proposal
Setelah didapatkan judul proses selanjutnya dibuat proposal untuk

21

dilakukan pengujian
3. Seminar proposal
Proposal yang sudah jadi dilakukan pengujian dengan diadakannya seminar
proposal.

G. FASE ANALISIS
1. Mengidentifikasi masalah
Masalah yang telah dikumpulkan diidentifikasi, sehingga lebih jelas masalah
yang akan dibahas
2. Mengumpulkan data-data yang berhubungan
Dari masalah yang timbul, dilakukan pengumpulan data yang berkaitan
dengan masalah yang diangkat. Pengumpulan data bisa dilakukan dengan
metode :
1. Observasi yaitu melakukan pengamatan langsung di lapangan
2. Studi pustaka yaitu mencari data di buku-buku dan internet
3. Menganalisis data
Data-data dikelompokkan sehingga data tersebut dapat digunakan sebagai
bahan sistem informasi.

H. FASE DESAIN
1. Output
Awal yang digunakan untuk memperkirakan yang dihasilkan dari masalah
yang diangkat

22

2. Input
Dari hasil, dapat ditentukan apa saja yang dibutuhkan untuk didapat hasil
yang diinginkan
3. Proses
Setelah output dan input selesai, baru dilakukan untuk prosess digambarkan
dengan elemen-elemen Sistem Informasi
4. Inteface
Setelah semua selesai baru dibuat desain tampilan aplikasi

I. SISTEMATIKA PENULISAN SKRIPSI
Sistematika dalam penulisan skripsi ini akan dibagi menjadi beberapa bab
sebagai berikut:
BAB 1 PENDAHULUAN
Berisi latar belakang, tujuan, rumusan masalah, batasan permasalahan,
metodologi, manfaat, dan sistematika penulisan.
BAB 2 TINJAUAN PUSTAKA
Berisi teori dasar pendukung penelitian ini, yang mengulas secara garis
besar tentang proses awal sampai dengan hasil untuk pengenalan pola golongan
darah pada manusia.

BAB 3 DESAIN DAN PERANCANGAN SISTEM
Berisi uraian tentang perancangan sistem, algoritma, dan antar muka dari
pengnalan pola golongan darah pada manusia yang dilengkapi dengan beberapa

23

diagram alir (flowchart) beserta penjelasannya.

BAB 4 HASIL DAN PEMBAHASAN
Berisi hasil uji coba berdasarkan parameter-parameter yang ditetapkan,
dan kemudian dilakukan analisa terhadap hasil uji coba tersebut. Untuk
mengetahui aplikasi tersebut telah dapat menyelesaikan permasalahan yang
dihadapi sesuai dengan yang diharapkan. Selain itu, pada bab ini berisi kontribusi
program yang telah dibuat.

BAB 5 PENUTUP
Berisi kesimpulan yang dapat diambil dari penelitian ini beserta saran
untuk pengembangan selanjutnya.












24

BAB II
TINJAUAN PUSTAKA

2.1 TEORI DASAR PENGOLAHAN CITRA
Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua
dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus
(continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya
menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya
tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada
manusia, kamera, scanner, dan sebagainya. Sehingga bayangan objek yang
disebut citra tersebut terekam.
Meskipun citra kaya informasi, namun seringkali citra tersebut mengalami
penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise),
warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya.
Sehingga citra semacam ini akan menjadi lebih sulit diinterpretasi karena
informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra
yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun
mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya
lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra (image
processing).
Pengolahan citra adalah pemrosesan citra, khususnya dengan
menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Operasi-
operasi pengolahan citra diterapkan pada citra apabila (Munir, 2004: 3):

25

Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan
kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang
terkandung di dalam citra.
Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur.
Sebagian citra perlu digabung dengan bagian citra yang lain.


Gambar 2.1 Diagram Pengolahan Citra
2.1.1 Format Citra
Komputer dapat mengolah isyarat-isyarat elektronik digital yang
merupakan kumpulan sinyal biner (bernilai 0 dan 1). Untuk itu, citra dgital harus
mempuyai format tertentu yang sesuai sehingga dapat merepresentasikan obyek
pencitraan dalam bentuk kombinasi data biner. Format citra yang banyak dipakai
adalah citra biner, skala keabuan, warna, dan warna berindeks (Balza, 2005: 8)
Tabel 2.1 Format Citra
Skala Keabuan Rentang Nilai Keabuan Piksel Depth
2
1
(2 nilai) 0, 1 1 bit
2
2
(4 nilai) 0 sampai 7 2 bit
2
3
(16 nilai) 0 sampai 15 3 bit
2
8
(256 nilai) 0 sampai 255 8 bit

2.1.1.1 Citra Biner
Pada citra biner, setiap nilai bernilai 0 atau 1, masing-masing
merepresentasikan warna tertentu. Contoh yang paling lazim adalah hitam bernilai
0 dan putih bernilai 1.
Pengolahan
cit ra
Ci t r a
Ci t r a

26

2.1.1.2 Citra Skala Keabuan
Disebut skala keabuan karena pada umumnya warna yang dipakai adalah
antara hitam sebagai warna minimal dan putih sebagai warna maksimal, sehingga
warna di antara keduanya adalah abu-abu.
Namun dalam prakteknya warna yang dipakai tidak terbatas pada warna
abu-abu, sebagai contoh dipilih warna minimalnya adalah putih dan warna
maksimalnya adalah merah, maka semakin besar nilainya semakin besar pula
intensitas warna merahnya.
2.1.1.3 Citra Warna
Pada citra warna, setiap titik mempunyai warna spesifik yang merupakan
kombinasi dari tiga warna dasar, yaitu merah, hijau dan biru. Format citra ini
sering disebut citra RGB. Setiap warna dasar mempunyai intensitas sendiri dengan
nilai maksimum 255 (8 bit).
Jumlah kombinasi warna yang mungkin untuk format citra ini adalah 2
24
atau lebih dari 16 juta warna, dengan demikian bisa dianggap mencakup semua
warna yang ada. Oleh karena itu, dinamakan true color.
2.1.1.4 Citra Warna Berindeks
Jumlah memori yang dibutuhkan untuk format citra warna true color
adalah tiga kali jumlah titik yang ada dalam citra yang ditinjau. Di lain pihak,
jumlah warna yang ada dalam suatu citra terkadang sangat terbatas, karena
banyaknya warna dalam citra tidak mungkin melebihi banyaknya titik dalam citra
itu sendiri. Dengan kasus seperti ini, disediakan format citra warna berindeks.

27

Pada format ini, informasi setiap titik merupakan indeks dari suatu tabel yang
berisi informasi warna yang tersedia, yang disebut palet warna atau color map.
2.1.2 Operasi Pengolahan Citra
Pengolahan citra pada dasarnya dilakukan dengan cara memodifikasi
setiap titik dalam citra tersebut sesuai keperluan. Secara garis besar, modifikasi
tersebut dikelompokkan menjadi:
1. Operasi titik, di mana setiap titik diolah secara tidak menempel terhadap titik-
titik yang lain
2. Operasi global, di mana karakteristik global (biasanya berupa sifat statistik)
dari citra digunakan untuk memodifikasi nilai setiap titik.
3. Operasi temporal/berbasis bingkai, di mana citra diolah dengan cara
dikombinasikan dengan citra lain.
4. Operasi geometri, yaitu operasi pengolah citra yang berhubungan dengan
perubahan bentuk geometri citra, baik bentuk, ukuran, atau orientasinya.
Beberapa contoh pada operasi geometri, di antaranya: pencerminan (flipping),
rotasi/pemutaran (rotating), penskalaan (scaling/zooming), pemotongan
(cropping), dan pendoyongan (skew)
5. Operasi banyak titik bertetangga, di mana data dari titik-titik yang
bersebelahan (bertetangga) dengan titik yang ditinjau ikut berperan dalam
mengubah nilai.
6. Operasi morfologi, yaitu operasi yang berdasarkan segmen atau bagian dalam
citra yang menjadi perhatian.

28

2.1.2.1 Gray-Scale
Dalam komputasi, suatu citra digital grayscale atau greyscale adalah suatu
citra dimana nilai dari setiap pixel merupakan sample tunggal. Citra yang
ditampilkan dari citra jenis ini terdiri atas warna abu-abu, bervariasi pada warna
hitam pada bagian yang intensitas terlemah dan warna putih pada intensitas
terkuat. Citra grayscale berbeda dengan citra ”hitam-putih”, dimana pada konteks
komputer, citra hitam putih hanya terdiri atas 2 warna saja yaitu ”hitam” dan
”putih” saja. Pada citra grayscale warna bervariasi antara hitam dan putih, tetapi
variasi warna diantaranya sangat banyak. Citra grayscale seringkali merupakan
perhitungan dari intensitas cahaya pada setiap pixel pada spektrum
elektromagnetik single band . Citra grayscale disimpan dalam format 8 bit untuk
setiap sample pixel, yang memungkinkan sebanyak 256 intensitas. Format ini
sangat membantu dalam pemrograman karena manupulasi bit yang tidak terlalu
banyak. Pada aplikasi lain seperti pada aplikasi medical imaging dan remote
sensing biasa juga digunakan format 10,12 maupun 16 bit.
2.1.2.2 Pengambangan gambar (Image Tresholding)
Pengambangan gambar (Image tresholding) digunakan untuk mengubah
citra dengan format skala keabuan (grayscale), yang mempunyai kemungkinan
nilai lebih dari 2 ke citra biner yang hanya memiliki 2 buah nilai (0 dan 1). Tujuan
dari thresholding adalah proses untuk memisahkan foreground (latar depan)
dengan background (latar belakang) dari suatu citra. Proses thresholding
dilakukan dengan cara melihat perbedaan intensitas warna dari suatu citra. Input
untuk proses thresholding ialah citra abu-abu (grayscale image) atau citra warna

29

(color image). Output dari proses ini ialah binary image, yang mana piksel hitam
mewakili foreground dan piksel putih mewakili background, atau sebaliknya.
Binary image adalah suatu image yang mana pikselnya hanya memiliki dua nilai
intensitas. Nilai intensitas yang sering digunakan yaitu 0 untuk piksel hitam, 1
atau 256 untuk piksel putih.
Dalam image tresholding ini, ditentukan nilai T setelah melihat grey level
dari citra tersebut. T adalah nilai minimum di antara 2 nilai maksimal yang ada
pada nilai gray level citra tersebut. Proses selanjutnya adalah mengganti setiap
intensitas warna yang ada dalam citra tersebut. Jika intensitas warnanya lebih
kecil atau sama dengan T maka intensitasnya diganti ‘0‘. Tetapi jika intensitas
warnanya lebih besar atau sama dengan T maka intensitasnya diganti ’1’. Secara
matematis memiliki model sebagai berikut:







T y x g jika
T y x g jika
y x g
) , ( , 1
) , ( , 0
) , (
1
1
2

Dari proses tresholding di atas maka akan didapat hasilnya apabila jumlah
warna piksel mempunyai kedalaman warna yang kurang dari nilai tresholding
maka warna piksel tersebut akan menjadi 0 (hitam) dan juga sebaliknya.
2.1.2.3 Citra Biner
Citra biner adalah citra yang hanya memiliki 2 kemungkinan nilai pada
setiap piksel-pikselnya, yaitu 0 atau 1. Nilai 0 adalah background points, biasanya
bukan merupakan bagian dari citra sesungguhnya. Sedangkan nilai 1 adalah
region points, yaitu bagian dari citra sebenarnya (bukan latar belakang).

30

Citra biner merupakan citra yang telah melalui proses pemisahan piksel –
piksel berdasarkan derajat keabuan yang dimiliki. Pembentukan citra biner
memerlukan nilai batas keabuan yang akan digunakan sebagai nilai patokan. Pixel
dengan derajat keabuan lebih besar dari nilai batas akan diberi nilai 1 dan
sebaliknya piksel dengan derajat keabuan lebih kecil dari nilai batas akan diberi
nilai 0.


Jika a
1
= 0 dan a
2
= 1, serta T = gray level/2, maka operasi di atas
mentransformasikan suatu citra menjadi citra biner.
2.1.2.4 Edge Detection
Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang
menghasilkan tepi-tepi dari obyek-obyek citra, tujuannya adalah :
1. Untuk menandai bagian yang menjadi detail citra
2. Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau
adanya efek dari proses akuisisi citra
Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik
tersebut mempunyai perbedaan yang tinggi dengan tetangganya. Gambar 8.1
berikut ini meng-gambarkan bagaimana tepi suatu gambar diperoleh.

31


Gambar 2.2 Poses Deteksi Tepi Citra
Perhatikan hasil deteksi dari beberapa citra menggunakan model differensial di
atas:

Gambar 2.3 Hasil Dari Deteksi Tepi

Pada gambar 2.3 terlihat bahwa hasil deteksi tepi berupa tepi-tepi dari suatu
gambar. Bila diperhatikan bahwa tepi suatu gambar terletak pada titik-titik yang
memiliki perbedaan tinggi. Berdasarkan prinsip-prinsip filter pada citra maka tepi
suatu gambar dapat diperoleh menggunakan High Pass Filter (HPF), yang
mempunyai karakteristik:

32


Contoh: Diketahui fungsi citra f(x,y) sebagai berikut:

1 1 1 1 1
1 1 1 1 0
1 1 1 0 0
1 1 0 0 0
1 0 0 0 0

Dengan menggunakan filter : H(x,y)=[-1,1] Maka Hasil filter adalah :
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0

Bila digambarkan maka proses filter di atas mempunyai masukan dan keluaran
sebagai berikut

Ada dua metode untuk dapat mendeteksi tepi yaitu:
1. Metode First-Order Derivative Edge Detection
2. Metode Second-Order Derivative Edge Detection
Sedangkan yang termasuk metode pertama (first-order) adalah:
1. The Roberts operators,
2. The Prewitt operators,

33

3. The Sobel operators,
4. First-Order of Gausssian(FDOG).
dan yang termasuk metode kedua (second-order) adalah:
1. Laplacian,
2. Canny.
Dalam Skripsi ini metode yang digunakan adalah metode laplacian. Dasar
pemikiran dari operator laplacian adalah penggunaan turunan kedua untuk
mendeteksi garis pinggir yang dihasilkan oleh perubahan kontras gray level pada
citra. Kemudian mencari titik pelana (zero crossing) untuk digunakan sebagai
lokasi garis tepi (edge).
2.2 GOLONGAN DARAH
2.1.2 Darah
Darah merupakan gabungan dari cairan, sel-sel dan partikel yang
menyerupai sel, yang mengalir dalam arteri, kapiler dan vena yang mengirimkan
oksigen dan zat-zat gizi ke jaringan dan membawa karbon dioksida dan hasil
limbah lainnya. Fungsi utamanya adalah mengangkut oksigen yang diperlukan
oleh sel-sel di seluruh tubuh. Darah juga menyuplai jaringan tubuh dengan nutrisi,
mengangkut zat-zat sisa metabolisme, dan mengandung berbagai bahan penyusun
system imun yang bertujuan mempertahankan tubuh dari berbagai penyakit.
2.1.3 Golongan Darah
Golongan darah adalah ciri khusus darah dari suatu individu karena
adanya perbedaan jenis karbohidrat dan protein pada permukaan membran sel

34

darah merah. Dengan kata lain, golongan darah ditentukan oleh jumlah zat
(kemudian disebut antigen) yang terkandung di dalam sel darah merah.
Golongan darah manusia ditentukan berdasarkan jenis antigen dan
antibodi yang terkandung dalam darahnya, sebagai berikut:
1. Individu dengan golongan darah A memiliki sel darah merah dengan antigen A
di permukaan membran selnya dan menghasilkan antibodi terhadap antigen B
dalam serum darahnya. Sehingga, orang dengan golongan darah A-negatif
hanya dapat menerima darah dari orang dengan golongan darah A-negatif atau
O-negatif.
2. Individu dengan golongan darah B memiliki antigen B pada permukaan sel
darah merahnya dan menghasilkan antibodi terhadap antigen A dalam serum
darahnya. Sehingga, orang dengan golongan darah B-negatif hanya dapat
menerima darah dari orang dengan dolongan darah B-negatif atau O-negatif.
3. Individu dengan golongan darah AB memiliki sel darah merah dengan antigen
A dan B serta tidak menghasilkan antibodi terhadap antigen A maupun B.
Sehingga, orang dengan golongan darah AB-positif dapat menerima darah dari
orang dengan golongan darah ABO apapun dan disebut resipien universal.
Namun, orang dengan golongan darah AB-positif tidak dapat mendonorkan
darah kecuali pada sesama AB-positif.
4. Individu dengan golongan darah O memiliki sel darah tanpa antigen, tapi
memproduksi antibodi terhadap antigen A dan B. Sehingga, orang dengan
golongan darah O-negatif dapat mendonorkan darahnya kepada orang dengan
golongan darah ABO apapun dan disebut donor universal. Namun, orang

35

dengan golongan darah O-negatif hanya dapat menerima darah dari sesama O-
negatif.
Golongan darah berguna pada saat kita mau melakukan transfusi darah.
Yaitu proses tranfer darah ke mereka yang membutuhkan, misal karena
kekurangan darah oleh sebab kecelakaan, penyakit,atau sebab lain. Darah yang di
berikan kepada orang yang menerima harus ”cocok”. Jika tidak akan terjadi
masalah yang fatal, bahkan kematian. Islam menganjurkan seorang muslim atau
muslimah menyumbangkan dearahnya untuk tujuan kemanusiaan, bukan
komersialisasi baik darahnya disumbangkan secara langsung kepada orang yang
memerlukannya, misalakan untuk anggota keluarga sendiri, maupun diserahkan
kepada palang merah atau bank darah untuk disimpan bila sewaktu-waktuuntuk
menolong orang yang memerlukan. Karena menyumbangkan darah dengan iklas
adalahtermasukl amal kemanusiaan yang sangat dihargai dan dianjurkan
(mahbub) oleh islam. karena dapat menyelamatkan jiwa manusia, sesuai dengan
firman Allah QS Al-Maidah Ayat 32:
. _> ¦ il: !.¯..é _ls _.. _..´¸`.| .«.¦ . _.· !´.± . ¸¯.-. ± . .¦ :!.·
_· ¯¸N¦ !..!÷ · _. · ´!.l¦ !´-..> .´. !>!´,>¦ !´..!÷ · !´,>¦ ´!.l¦
!´-..> .1 l´. `.±.´.!> !´.l.'¸ ·.´...l!. ¯.. _| ¦¸..´ .±.. .-. l: _·
¯¸N¦ _.·¸..l ¯'
Artinya:
Oleh karena itu Kami tetapkan (suatu hukum) bagi Bani Israil, bahwa:
Barangsiapa yang membunuh seorang manusia, bukan karena orang itu

36

(membunuh) orang lain
4
, atau bukan karena membuat kerusakan dimuka bumi,
Maka seakan-akan Dia telah membunuh manusia seluruhnya
5
. dan Barangsiapa
yang memelihara kehidupan seorang manusia, Maka seolah-olah Dia telah
memelihara kehidupan manusia semuanya. dan Sesungguhnya telah datang
kepada mereka Rasul-rasul Kami dengan (membawa) keterangan-keterangan
yang jelas, kemudian banyak diantara mereka sesudah itu
6
sungguh-sungguh
melampaui batas dalam berbuat kerusakan dimuka bumi.( QS Al-Maidah Ayat 32)

Dalam firman Allah diatas sangan dianjurkan antar sesama manusia untuk
tolong meolong, mesklipun berlainan agama. Karena Allah sebagai khalik alam
semesta termasuk manusia berkenan memuliakan manusia, sebagaimana firman-
Nya terdapa dalam QS. Al-Isro’ ayat 70:
. 1l´ . !..¯,´ _.. »:¦´. ¯.±..l´ .-´. _· ¯¸.l¦ ,`>.l¦´ . .±..·¸´¸´. . ·..¯,Ll¦
`.±.´.l. ·´. _ls ¸.:é ´.. !.1 l> *,.± . ¯¸
Artinya:
Dan Sesungguhnya telah Kami muliakan anak-anak Adam, Kami angkut mereka
di daratan dan di lautan
7
. Kami beri mereka rezki dari yang baik-baik dan Kami
lebihkan mereka dengan kelebihan yang sempurna atas kebanyakan makhluk
yang telah Kami ciptakan. (QS. Al-Isro’ ayat 70)


2.3 PENGENALAN POLA
2.1.4 Pengertian Pola
Pola adalah entitas yang terdefinisi dan dapat diidentifikasi melalui ciri-
cirinya (features). Ciri-ciri tersebut digunakan untuk membedakan suatu pola

4
Yakni: membunuh orang bukan karena qishaash
5
Hukum ini bukanlah mengenai Bani Israil saja, tetapi juga mengenai manusia seluruhnya. Allah
memandang bahwa membunuh seseorang itu adalah sebagai membunuh manusia seluruhnya,
karena orang seorang itu adalah anggota masyarakat dan karena membunuh seseorang berarti juga
membunuh keturunannya
6
Ialah: sesudah kedatangan Rasul membawa keterangan yang nyata
7
Maksudnya: Allah memudahkan bagi anak Adam pengangkutan-pengangkutan di daratan dan di
lautan untuk memperoleh penghidupan

37

dengan pola lainnya. Ciri yang bagus adalah ciri yang memiliki daya pembeda
yang tinggi sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat
dilakukan dengan keakuratan yang tinggi. Sebagai contoh
Tabel 2.3 Contoh pengelompokan pola berdasarkan cirinya
Pola Ciri
Huruf Tinggi, tebal, titik sudut, lengkungan garis
Suara Amplitude, frekuensi, nada, intonasi, warna
Tanda tangan Panjang, kerumitan, tekanan
Sidik jari Lengkungan, jumlah garis

Ciri dari suatu pola diperoleh dari hasil pengukuran terhadap objek uji.
Khusus pada pola yang terdapat di dalam citra, ciri-ciri yang dapat diperoleh
berasal dari informasi:
a. Spasial : intensitas piksel dan histogram
b. Tepi : arah dan kekuatan
c. Kontur : garis, elips, dan lingkaran
d. Wilayah/bentuk : keliling, luas, dan pusat massa
e. Hasil transformasi Fourier : frekuensi
Pengenalan pola (pattern recognition) merupakan salah satu cabang ilmu
komputer yang dapat diartikan sebagai pengumpulan data-data mentah untuk
dapat diklasifikasikan dengan maksud dan tujuan tertentu. Pengenalan pola ini
bersifat conceptually driven processing yang berarti bahwa proses dimulai dari
pembentukan konsep pada objek yang dijumpai (informasi dari memori).
Inti dari pengenalan pola adalah proses pengenalan suatu objek dengan
menggunakan berbagai mode dimana dalam proses pengenalannya memiliki

38

tingkat akurasi yang tinggi. Tingkat akurasi yang tinggi memiliki pengertian
bahwa suatu objek yang secara manual (oleh manusia) tidak dapat dikenali tetapi
bila menggunakan salah satu metode pengenalan yang diaplikasikan.
Beberapa metode yang bisa digunakan untuk pengenalan pola adalah
Jaringan Syaraf Tiruan (JST), metode statistik, metode terstruktur dan lain
sebagainya. Dengan JST, menganalogikan cara berfikir pada otak manusia. Jadi,
informasi di proses sebagaimana otak manusia memproses informasi yang di
dapat. Misalnya cara pengenalan wajah pada manusia. Sedangkan metode statistik
berdasarkan hasil analisa data yang sudah terkumpul. Misalnya pengenalan dan
analisa penyakit pada manusia.
2.1.5 Metode Pengenalan
Pengenalan pola bertujuan menentukan kelompok atau kategori pola
berdasarkan ciri-ciri yang dimiliki oleh pola tersebut. Tujuan pengelompokan
adalah untuk mengenali suatu objek dalam citra. Dalam firman Allah QS. Al-
Hujarat/49 ayat: 14:
·l!· ´.¦¸sN¦ !..¦´. _· ¯.l ¦.`..¡. >.l´. ¦.l.· !..l`.¦ !´.l´. _>..
...N¦ _· ¯.>..l· _|´. ¦.`-.L. ´<¦ .`..´¸´ . N .>.l. . ¯.>l..s¦ !:.: _|
´<¦ "¸.±s ..>¯¸ ¸'
Artinya:
Orang-orang Arab Badui itu berkata: "Kami telah beriman". Katakanlah: "Kamu
belum beriman, tapi Katakanlah 'kami telah tunduk', karena iman itu belum
masuk ke dalam hatimu; dan jika kamu taat kepada Allah dan Rasul-Nya, Dia
tidak akan mengurangi sedikitpun pahala amalanmu; Sesungguhnya Allah Maha
Pengampun lagi Maha Penyayang."( Hujarat/49 ayat: 14)

39


·l!· ´.¦¸sN¦ !..¦´. “orang-orang arab dusun berkata: kami telah beriman. ”
orang-orang arab badui (Bani Asad) mengatakan: kami telah beriman kepada

Allah dan Rasul-Nya. Sebenernya mereka belum beriman dengan sempurna dan
keimanan itu belum dijalankan dengan tulus dan iklas. Oleh karena itu Allah
berfirman kepada Nabi Muhammad: _· ¯.l ¦.`..¡. >.l´. ¦.l.· !..l`.¦
“katakanlah: kamu belum beriman tapi katakanlah kami telah tunduk ” Hai

Muhammad, katakanlah kepada orang-orang arab dusun tersebut. “kamu belum
boleh mengatakan bahwa kamu sudah beriman. Akan tetapi katakanlah, kamu
telah menjalani perintah-perintah agama pada lahiriahnya untuk melepaskan diri
dari pembunuhan dan penawaran serta untuk memperoleh pembagian harta
rampasan.” !´.l´. _>.. ...N¦ _· ¯.>..l· “iman belum masuk kedalam
jawamu.” Namun untuk memenangkan hati mereka, Allah berfirman: sampai

sekarang imanmu belum masuk kedadamu (jiwamu), akan tetapi baru masuk, jika
aku menghendakinya. Iman adah membenarkan dan menundukkan diri serta
memenuhi jiwa dengan keyakinan, sedangkan Islam hanya memperlihatkan
tunduk dan mengerjakan apa yang diperintahkan oleh nabi saja. Dengan demikian
terpeliharalah darah. Tegasnya, islam disini dipakai dalam sebagian artrinya,
demikian pula iman. Apabila kedua kalimat ini dipisahkan, maka masing-masing
mencakup dua makna itu.
8
_|´. ¦.`-.L. ´<¦ .`..´¸´ . N .>.l. . ¯.>l..s¦ !:.:
“jika kamu taat kepada Allah dan Rasul-Nya, Dia tidak akan mengurangi


8
Sa’id ibn Jubir, Mujahid dan ibnu Zaid berkata: “Makna ‘akan tetapi kami telah Islam’ adalah
‘kami menyerahkan diri karena takutdibunuh dan di tawan

40

sedikitpun” Jika kamu menaati Allah dan rasul-Nya niscaya Allah tidak akan
mengurangi sesuatupun dari amalan-amalanmu. Bahkan akan menbyempurnakan
semua pembalasannya untukmu dengan sesempurna-sesempurnanya.
_| ´<¦ "¸.±s ..>¯¸ “Sesungguhnya Allah Maha Pengampun lagi Maha
Penyayang” Allah mengampuni semua kesalahanmu dan keterlajuranmu, serta

Maha Rahim. Dia tidak akan mengazab seseorang yang bertobat, bahkan
menambah kemuliaannya dan memaafkan dosa-dosanya.
Demikian juga dalam pengenalan pola golongan darah pada manusia ini
juga menggunakan cirri-ciri pengenalan pola yang telah menjadi bagian dari
kecerdasan buatan (artificial intelegence), karena merupakan suatu kecerdasan
maka pengenalan pola memerlukan fungsi-fungsi pengambil keputusan. Dari
fungsi-fungsi inilah maka muncul berbagai teknik atau metode dalam mengenali
suatu pola.
Beberapa metode untuk memecahkan masalah pengenalan tulisan tangan
telah disusun, tetapi sebagian besar metode yang digunakan dipinjam dari bidang
pengenalan pola, pemrosesan sinyal (signal processing), dan analisis gambar
(image analisys). Metode pengenalan dapat diklasifikasikan menjadi 3 kelompok
utama, yaitu: statistical, model matching, model structural dan sintatical (Beigi,
1998)
Pada dasarnya metode pengenalan sangatlah mudah, setelah dilakukan
proses awal, beberapa ciri kemudian diekstrak dari karakter yang tidak dikenal,
kemudian diklasifikasikan ke dalam kelas-kelas yang memiliki banyak kemiripan
dengan ciri-ciri tesebut. Tetapi permasalahannya ketika ditemukan gambaran dan

41

perbedaan ciri, pemilihan cara untuk membandingkannya, dan juga ketika
menciptakan aturan-aturan dalam proses pengklasifikasian.

2.4 JARINGAN SARAF TIRUAN
Jaringan Syaraf Tiruan dibuat pertama kali pada tahun 1943 oleh
neurophysiologist Waren McCulloch dan logician Walter Pits, namun teknologi
yang tersedia pada saat itu belum memungkinkan mereka berbuat lebih jauh.
Jaringan Syaraf Tiruan adalah paradigma pemrosesan suatu informasi
yang terinspirasi oleh sistim sel syaraf biologi, sama seperti otak yang memproses
suatu informasi.
Pembuatan struktur jaringan syaraf tiruan diilhami oleh jaringan otak
manusia. Pada jaringan otak manusia terdapat sel syaraf Neuron yang memiliki
tiga komponen penyusun yang saling bekerja sama untuk mengolah sinyal-sinyal
informasi. Tiga komponen tersebut adalah dendrit(input), soma atau badan sel
dan axon(output).

Gambar 2. 3 Struktur Jaringan Saraf Tiruan
Keterangan dari gambar diatas adalah input akan dikirim ke neuron
dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi
perambatan yang menjumlahkan nilai semua bobot yang datang. Hasil

42

penjumlahan itu akan dibandingkan dengan suatu nilai ambang (threshold)
tertentu melalui fungsi aktifasi setiap neuron.
Apabila input melewati nilai ambang tertentu, maka neuron akan
diaktifkan, tetapi kalau tidak, neuron dinonaktifkan. Bila neuron diaktifkan,
neuron mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang
berhubungan dengannya.
2.4.1 Fungsi Aktivasi Sigmoid Biner
Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan
menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai pada
range 0 sampai 1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan
syaraf yang membutuhkan nilai yang terletak pada interval sampai 0 Namun,
fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1.
Fungsi sigmoid biner dirumuskan sebagai berikut:


Gambar 2.4 Fungsi Aktivasi Sigmoid Biner

43

2.4.2 Arsitektur jaringan saraf tiruan
1. Single Layer Net

Gambar 2. 5 Arsitektur JST Single Layer Net
Perwakilan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-
bobot terhubung. Jaringan ini hanya mnerima input kmudian scr langsung akn
mngolahnya mnjd output tanpa harus melalui lapisan tersembunyi. Dalam gambar
tersebut, lapisan input memiliki 3 neuron, yaitu X
1,
X
2
, X
3.
Sedangkan pada
lapisan output memiliki 2 neuron yaitu Y
1
dan Y
2
. Neuron-neuron pada kedua
lapisan saling berhubungan. Seberapa besar hubungan antara 2 neuron ditentukan
oleh bobot yang bersesuaian. Semua unit input akan dihubungkan dengan setiap
unit output.

2. Multi Layer Net

Gambar 2. 6 Arsitektur JST Multi Layer Net

44

Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak
diantara lapisan input dan lapisan output (memiliki 1 atau lebih lapisan
tersembunyi). Umumnya, ada lapisan bobot-bobot yang terletak antara 2 lapisan
yang bersebelahan. Jaringan dengan banyak lapisan ini dapat menyelesaikan
permasalahan yang lebih sulit daripada yang dengan lapisan tunggal, tentu saja
dengan pembelajaran yang lebih rumit.
2.4.3 Metode Backpropagation
Algoritma pelatihan Backpropagasi (Back Propagation) atau ada yang
menterjemahkannya menjadi propagasi balik, pertama kali dirumuskan oleh
Werbos dan dipopulerkan oleh Rumelhart dan McClelland untuk dipakai pada
JST, dan selanjutnya algoritma ini biasa disingkat dengan BP. Algoritma ini
termasuk metoda pelatihan supervised dan didesain untuk operasi pada jaringan
feed forward multi lapis.
Secara garis besar, mengapa algoritma ini disebut sebagai propagasi balik,
dapat dideskripsikan sebagai berikut: Ketika Jaringan diberikan pola masukan
sebagai pola pelatihan maka pola tersebut menuju ke unit-unit pada lapisan
tersembunyi untuk diteruskan ke unit-unit lapisan keluaran. Kemudian unit-unit
lapisan keluaran memberikan tanggapan yang disebut sebagai keluaran jaringan.
Saat keluaran jaringan tidak sama dengan keluaran yang diharapkan maka
keluaran akan menyebar mundur (backward) pada lapisan tersembunyi diteruskan
ke unit pada lapisan masukan. Oleh karenanya maka mekanisme pelatihan
tersebut dinamakan backpropagation/propagasi balik.

45

Tahap pelatihan ini merupakan langkah bagaimana suatu jaringan saraf
itu berlatih, yaitu dengan cara melakukan perubahan penimbang (sambungan antar
lapisan yang membentuk jaringan melalui masing-masing unitnya). Sedangkan
pemecahan masalah baru akan dilakukan jika proses pelatihan tersebut selesai ,
fase tersebut adalah fase mapping atau proses pengujian/testing.
Algoritma backpropagation menggunakan error output untuk nilai bobot –
bobotnya dalam arah mundur (backward), untuk mendapatkan error ini, tahap
perambatan maju(forward propagation) harus dikerjakan terlebih dahulu. Untuk
jelasnya dapat dijelaskan rinciannya sebagai berikut :
1. Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil)
2. Mengerjakan langkah – langkah berikut selama kondisi berhenti bernilai false:
a. Untuk tiap – tiap pasangan elemen yang akan dilakukan pembelajaran, yang
dikerjakan :
Feedforward :
1. Tiap – tiap input (X
i
, i=1,2,3,...,n) menerima sinyal X
i
dan meneruskan
sinyal tersebut ke semua unit pada lapisan yang ada diatasnya ( lapisan
tersembunyi)
2. Tiap – tiap unit tersembunyi ( Z
i
, j=1,2,3,...,p ) menjumlahkan sinyal –
sinyal input terbobot : gunakan fungsi aktifasi untuk menghitung sinyal
outputnya :
Z_in
]
= I
0]
+ `X
ì
I
ì]
n
ì=1

dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit –unit
output).

46

Z
]
= ƒ(Z_in
]
)
3. Tiap – tiap unit output ( Y
k
, k=1,2,3,...,m ) menjumlahkan sinyal – sinyal
input terbobot.
¥_in
k
= W
0k
+ `Z
]
w
]k
p
]=1

Gunakan fungsi aktifasi untuk menghitung sinyal outputnya :
y
k
= ƒ( y_in
k
)
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya ( unit – unit
output)
Backpropagation
4. Tiap – tiap unit output ( Y
k
, k=1,2,3,...,m ) menerima target pola yang
berhubungan dengan pola input pembelajaran, hitung informasi errornya:
o
k
= ( t
k-
y
k
) ƒ′( y_in
k
)
kemudian hitung koreksi bobot ( yang nantinya akan digunakan untuk
memperbaiki nilai w
jk
) :
△w
k]
= o ∙ o
k
∙ Z
]

hitung juga koreksi bias ( yang nantinya akan digunakan untuk
memperbaiki nilai w
0k
) :
△w
0k
= o ∙ o
k

Kirimkan δ
k
ini ke unit – unit yang ada di lapisan bawahnya.
5. Tiap – tiap unit tersembunyi (Z
i
,j=1,2,3,...,p) menjumlahkan delta
inputnya ( dari unit – unit yang berada pada lapisan di atasnya ):
6. o_in
]
= ` o
k
w
]k
m
k=1


47

kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk
menghitung informasi error :
o
]
= o_in
]
ƒ′(y_in
]
)
kemudian hitung koreksi bobot ( yang nantinya akan digunakan untuk
memperbaiki nilai v
ij
) :
△ I
ì]
= oδ
]
∙ X
ì

hitung juga koreksi bias ( yang nantinya akan digunakan untuk
memperbaiki nilai v
0j
):
△I
0]
= oδ
]

2.5 BORLAND DELPHI
Delphi merupakan versi visual dari Pascal. Berbagai kemudahan
ditawarkan oleh Delphi, mulai dari perancangan aplikasi berbasis form,
kemudahan pemberian komponen visual, manipulasi property dan event yang
terintegrasi melalui object inspector, sampai code insight (Pranata, 2003: 4)
2.5.1 Mengenal IDE Delphi
Pada dasarnya IDE Delphi dibagi menjadi tujuh bagian utama, yaitu
Menu, Speed Bar, Component Palette, Form Designer, Code Explorer, Object
Treeview, dan Object Inspector.

48


Gambar 2.7 Bagian-bagian IDE Delphi
Menu
Menu pada Delphi memiliki kegunaan seperti menu pada aplikasi
windows lainnya, semua yang ada berhubungan dengan IDE Delphi dapat
dilakukan dari menu. contohnya: memanggil atau menyimpan program,
menjalankan program, dan sebagainya.
Speed Bar
Speed Bar atau sering juga disebut toolbar berisi kumpulan tombol
sebagai pengganti beberapa item menu yang sering digunakan. Dengan kata
lain, setiap tombol pada speed bar menggantikan salah satu item menu.
Sebagai contoh, tombol kiri atas adalah pengganti menu File | New, tombol
disebelah kanannya adalah pengganti menu File | Open, dan seterusnya.


M enu
Component Pal l et
Speed Bar
Obj ect Tr eeView
Obj ect Inspect or
For m Desi gner
Code Expl or e

49

Component Palette
Component Palette berisi ikon yang melambangkan komponen-
komponen pada VCL (Visual Component Library) atau CLX (Component
Library for Cross Platform). VCL merupakan pustaka komponen yang
dengannya dapat membangun aplikasi. Pada Component Palette terdapat
beberapa tab, yaitu Standard, Additional, Data Access, dan seterusnya
Form Designer
Form Designer merupakan tempat untuk merancang jendela aplikasi.
Perancangan form dilakukan dengan meletakkan komponen-komponen yang
diambil dari component palette.

Gambar 2.8 Form Designer
Code Explorer
Code Explorer adalah tempat untuk menuliskan program. Pernyataan-
pernyataan tersebut ditulis dalam bentuk bahasa object Pascal. Kita tidak
perlu menuliskan semua kode sumber karena Delphi telah menuliskan
semacam kerangka program.


50

Object TreeView
Object TreeView berisi daftar komponen yang telah diletakkan pada
Form Designer. Sebagai contoh, jika meletakkan 2 komponen, TGroupBox
dan TLabel, Object TreeView terlihat seperti gambar

Gambar 2.9 Object TreeView pada IDE Delphi
Object Inspector
Object inspector digunakan untuk mengubah karakteristik komponen.
Pada object inspector terdapat 2 tab yaitu Properties dan Event. Tab tersebut
dapat diaktifkan salah satu dengan menklik Properties atau Event.
Pada tab properties, bisa digunakan untuk mengubah property dari
komponen yang telah dibuat. Sedsangkan pada tab event, dapat digunakan
untuk menyisipkan kode dalam menengani kejadian tertentu. Kejadian bisa
dibangkitkan karena beberapa hal, seperti pengklikan mouse, penekanan
tombol keyboard, penutupan jendela, dan sebagainya. Misalnya onClick,
yang dibangkitkan bila mengklik form.

51

2.5.2 Struktur File
Tidak seperti Turbo Pascal, Delphi tidak hanya menyimpan file kode
dengan ekstensi .pas, tetapi karena pada Delphi terdapat form beserta
parameternya, maka ada beberapa file yang akan disimpan. Untuk memudahkan,
program disebut dengan Project. Project tersebut akan berisi form, source code
untuk form, dan source code untuk project.
Untuk form akan diberi unit, yang akan berisi kode-kode program
untuk memanipulasi form tersebut, termasuk untuk event-event yang dimiliki oleh
form tersebut.
Beberapa file yang terbentuk ketika program Delphi disimpan dalam
hardisk, antara lain:
1) Project file (*.dpr) adalah file proyek yang dibuat berisi program kecil, berisi
program utama dari aplikasi yang telah dibuat untuk:
 Mendefinisikan Unit yang ada dalam file proyek
 Menginisialisasi data
 Membangun form
 Menjalankan aplikasi
2) Unit file (*.pas) adalah unit-unit yang nantinya digunakan untuk menangani
kejadian pada form, bisa terdiri satu atau banyak file. File ini berisi source code
dari obyek-obyek Pascal maupun perintah-perintah yang ingin ditulis
3) Form file (*.dfm) merupakan file binary yang merepresentasikan gambar dari
form/tampilan yang kita buat. File ini biasanya bergabung dengan file .pas.

52

Untuk penambahan form baru, akan selalu dibuat file form/dfm dengan file
pas.
4) Resource file (*.res) adalah file yang berisi resource, biasanya ikon, tertapi
dapat juga kursor, bitmap, dll
5) Option (*.dof) dan konfigurasi (*.cfg) adalah file konfigurasi untuk proyek
yang telah dibuat. File ini dapat diubah konfigurasi proyeknya melalui menu
Project | Options
2.5.3 Code Editor
Tiap form diberikan satu file unit dan file unit itulah yang dipakai untuk
menulis kode program yang berhubungan dengan form. Selain itu, setiap kali
form baru di desain, maka secara otomatis pada code editor akan tampil baris-
baris kode seperti di bawah ini:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
private
{Private declarations}
public
{Public declarations}
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

end.


53

BAB III
DESAIN DAN PERANCANGAN

Bab ini membahas tentang desain dan perancangan metode backpropagation
dalam pengenalan pola golongan darah pada citra grayscale ataupun true color.
Desain dan perancangan ini meliputi deskripsi sistem, desain data, desain proses,
dan desain antarmuka. Selain itu dijelaskan juga proses-proses yang digunakan
dalam metode ini serta penjelasan fungsi-fungsi dan parameternya.
A. DESKRIPSI SISTEM
Subbab ini akan membahas mengenai deskripsi sistem yang dikerjakan
pada skripsi. Tujuan pembuatan sistem ini adalah untuk mengenali golongan
darah manusia yang terdiri dari A, B, AB, O. Pada awalnya pengguna
memasukkan input data berupa citra. Citra masukan adalah citra grayscale 8 bit
atau citra warna 24 bit. Kemudian pengguna diminta untuk melakukan
preprocessing yaitu proses awal agar citra tersebut dapat diproses selanjutnya.
Jika semua operasi pada preprocessing telah dikerjakan, maka sistem siap
melakukan proses selanjutnya.
Implementasi metode pengenalan pola golongan darah manusia ini terdiri
dari 3 tahap utama untuk pengenalan pola golongan darah manusia yaitu proses
awal (edge detection), proses pelatihan (process training), dan pengenalan
(recognition). Pada tahap awal, citra masukan dilakukan deksi tepi dan pelatihan
pada citra. Diagram alir dari sistem ini adalah sebagai berikut:

54


Gambar 3.1 Diagram alir sistem secara keseluruhan

Sesuai dengan gambar 3.1, jika pengguna tidak memasukkan citra biner (8
bit) maka citra akan dirubah dulu dalam bentuk citra biner (hitam-putih).
Kemudian dilakukan preprocessing yang menghasilkan citra berukuran 1 piksel
dan berwarna hitam putih. Hasil citra dari proses tersebut, selanjutnya gambar
diproses sampai menghasilkan tepi-tepi objek citra. Kemudian dilakukan proses

55

training dan pengenalan pada citra yang ahirnya menampilkan hasil pengenalan
poal golongan darah dan proses berahir.
B. DESAIN SISTEM
Pada sub bab ini akan dijelaskan mengenai desain aplikasi sistem untuk
implementasi metode backpropagation. Desain aplikasi ini meliputi desain data,
algoritma yang digunakan dalam sistem yang digambarkan dengan diagram alir,
desain proses. Desain data berisikan penjelasan data yang diperlukan untuk
menerapkan beberapa metode pada pengolahan citra dan pengenalan ini. Desain
data meliputi data masukan, data selama proses dan data keluaran. Desain proses
antara lain menjelaskan tentang proses awal (preprocessing), deteksi tepi, dan
pengenalannya. Pada proses awal, terdiri dari konversi ke hitam-putih selanjutnya
gambar diproses sampai menghasilkan tepi-tepi objek citra. Algoritma
backpropagation mengunakan error output untuk mengubah nilai bobot-bobotnya
dalam arah mundur (backward). Untuk mendapatkan error ini dilakukan tahap
perambatan maju (forward propagation) harus di kerjakan terlebih dahulu. Pada
saat perambatan maju, neuron-neuron diaktifkan dengan menggunakn fungi
aktivasiyang dapat dideferensikan, seperti fungsi sigmoid:
y = ¡( x) =
1
1 + c
-cx

Dengan:
¡′( x) = o¡( x) [ 1 − ¡( x) ]
1. Desain Data
Data yang digunakan untuk implementasi perangkat lunak ini dibagi
menjadi tiga bagian utama, yaitu data masukan, data yang digunakan selama
proses perbaikan citra preprocessing dan data keluaran.

56

2. Data Masukan
Data masukan yang pertama dari pengguna adalah arsip citra yang dipilih
oleh pengguna. Pada sistem ini citra yang dimasukkan berupa arsip citra warna 24
bit, dengan format .bmp. Data masukan kedua adalah bentuk citra yang akan
dikenal, hal ini dilakukan pada operasi deteksi tepi.

C. PENGENALAN POLA GOLONGAN DARAH MANUSIA
MENGGUNAKAN JST BACKPROPAGATION
Citra masukan yang digunakan adalah citra dengan resolusi 512 x 256
pixel dan memiliki 256 derajat keabuan dengan baris dan kolom menunjukkan
sebuah titik pada citra serta kesesuaian nilai elemen matrik mengidentifikasikan
level pada titik tersebut. Proses komputasi dimensi matrik yang besar
membutuhkan waktu proses yang lama sehingga diperlukan reduksi dimensi
matrik untuk meminimalisir waktu proses. Identifikasi darah didasari pada
pengenalan pola dengan pendekatan jaringan syaraf. Metode jaringan syaraf yang
dipergunakan adalah backpropagation.
Proses identifikasi darah dilakukan dengan membandingkan citra input
dengan citra yang telah dilatih oleh sistem. Secara garis besar, penelitian ini terdiri
dari beberapa tahap yaitu :
1. Pengambilan citra digital.
2. Proses pengolahan citra yang meliputi deteksi tepi dengan operator
Laplacian

57

3. Proses membuat data input yang digunakan dalam proses jaringan syaraf
tiruan.
4. Proses pelatihan dan pengujian.
1. Pengolahan Data

Langkah-langkah proses dari pengenalan pola golongan darah manusia ini
dapat dilihat pada gambar 3.2 di bawah ini:

Gambar 3.2 Flowchart proses pengenalan citra darah
Dari flowchart proses pola golongan darah manusia diatas dapat dilihat
bahwa pada proses pengenalan pola golongan darah manusia terdapat beberapa
proses yang saling berhubungan dan ketika salah satunya tidak dijalankan maka
tidak akan tercapai suatu pengenalan tulisan seperti yang diharapkan. Proses
tersebut diawali dengan input citra, preprocessing, edge detektion, masukkan

58

kedalam metode back propagation dan hasil akhir yang berupa jenis golongan
darah manusia. Secara lengkap urutan prosesnya sebagai berikut:
1. Input image
Input image merupakan proses yang pertama kali dilakukan untuk
mendapatkan data citra yang akan diproses selanjutnya. Dalam tahap ini dilakukan
suatu proses pengubahan suatu citra digital. Citra digital adalah citra yang
diekspresikan oleh sekumpulan bilangan sehingga dapat diproses oleh komputer.
Dalam skripsi ini, pengenalan dilakukan secara offline yaitu image
golongan darah manusia. Setelah data diperoleh, data tersebut harus diubah
menjadi data yang dapat diolah oleh program.
2. Preprocessing
Sebelum suatu citra mengalami pemrosesan lebih lanjut, perlu dilakukan
proses awal (preprocessing) terlebih dahulu, yaitu pengolahan citra (image)
dengan tujuan mendapatkan gambar dengan pola yang dapat digunakan dengan
menggunakan metode backpropagation yang menghasilkan kode tertentu
menurut warna pikselnya. Sehingga dapat digunakan dalam program untuk
pengenalan pola golongan darah manusia ini.
2.1 Binerisasi
Pengkonversian citra true color (24 bit) menjadi citra biner (1 bit)
dilakukan dengan operasi pengambangan (tresholding). Operasi pengambangan
mengelompokkan nilai derajat keabuan setiap piksel ke dalam 2 kelas, hitam dan
putih. Di mana hitam sebagai warna objek dan putih sebagai warna latar
belakangnya.

59

Pemilihan nilai threshold yang digunakan berpengaruh terhadap ketajaman
suatu citra. Biasanya rentangan nilai graylevel yang sering digunakan adalah
antara 0-255. Pada skripsi ini, nilai treshold yang digunakan adalah 180.
Proses pengubahan ini, dilakukan dengan memeriksa piksel citra. Jika piksel
kurang dari 180 maka warna piksel berubah menjadi hitam, begitu juga sebaliknya
jika piksel lebih dari 180 maka warna piksel akan berubah menjadi putih.
Flowchart diagram tersebut dapat dilihat pada gambar 3.4 di bawah ini:
S t ar t
ni l ai : =ge t Rval ue( i mage1.Canvas.Pi x el s[ i ,j ] )
ni l ai <= 18 0 ni l ai : =cl Bl ac k
ni l ai : =c l W h i t e
i : = i +1
N o
y e s
w : =i mage 1.W i d t h
h : =i mage1. H ei gh t
j : = j +1
End
j : = 0
i : = 0

Gambar 3.3 Flowchart proses binerisasi

60

2.2 Edge detection dengan operator laplacian
Turunan kedua untuk mendeteksi garis pinggir yang dihasilkan oleh
perubahan kontras gray level pada citra. Kemudian mencari titik pelana (zero
crossing) untuk digunakan sebagai lokasi garis tepi (edge). Deteksi tepi (edge
detection) dengan operator laplacian merupakan salah satu pengembangan dari
teknik deteksi tepi yang telah dibahas dengan memiliki mask berukuran 3x3
Flowchart diagram tersebut dapat dilihat pada gambar 3.4 di bawah ini:

Gambar 3.4 Diagram Alir Deteksi tepi

61

Sesuai gambar 3.4 citra inputan dibaca dan dimasukkan metode laplacian
kemudian citra dijadikan citra negative dan dilkukan deteksi tepi hingga ahirnya
menampilkan deteksi tepi dari citra masukan yaitu citra darah.
2. Perancangan jaringan saraf tiruan
Arsitektur jaringan syaraf yang digunakan disini terdiri dari 3 layer, yaitu
2 layer input, 1 hidden layer dan 1 layer output. Jumlah neuron input kejaringan
syaraf tiruan dengan algoritma backpropagation adalah 50 neuron yang diperoleh
dari pengolahan data sebagai mana yang telah dibahas sebelumnya. Jumlah
neuron hidden layer yaitu sebanyak n yang dimasukkan oleh user. Untuk jumlah
neuron output layer sebanyak 2 buah neuron dengan fungsi aktivasi yang
digunakan adalah fungsi sigmoid biner dengan nilai range 0 sampai 1. Target
pengujian (target output) yang merupakan hasil keluaran dari neuron output layer
adalah jenis golongan darah manusia.
Proses pelatihan diawali dengan proses inisialisasi yang diikuti dengan
tahapan feedforwad yaitu menjumlahkan sinyal-sinyal input terbobot pada hidden
layer dan output layer. Sinyal-sinyal tersebut diaktivasi dengan fungsi sigmoid
biner. Tahap selanjutnya adalah tahap backpropagation yang dimulai dengan
menghitung informasi error. Informasi error diperoleh dari selisih antara nilai
target yang telah ditentukan dengan nilai keluaran dari output layer. Informasi
error tersebut digunakan untuk mengoreksi bobot pada unit output dan hidden.
Koreksi bias dilakukan pula pada unit output dan unit hidden. Tiap-tiap unit
output dan unit hidden memperbaiki bobot dan biasnya. Langkah tersebut diatas
dikerjakan berulang-ulang selama kurang dari maksimum epoh atau kuadrat error

62

kurang dari target error. Diagram alir proses pelatihan dapat dilihat pada Gambar
3.4 dibawah ini:

Gambar 3.5 Diagram alir proses pelatihan
Untuk Mean Square Error (MSE) dari proses pelatihan diperoleh dari
penjumlahan kuadrat error setiap pelatihan selama satu kali epoh dibagi dengan

63

banyaknya data yang dilatihkan. Iterasi epoh yang semakin banyak cenderung
akan menghasilkan nilai error yang semakin kecil. Tetapi pelatihan yang optimal
dipengaruhi oleh banyak faktor seperti penentuan learning rate, banyaknya
hidden layer serta arsitektur jaringannya sendiri.

Berikut adalah data training citra darah
Golongan Darah B
Tabel 3.1 hasil dari training citra golongan darah

Tabel 3.2 hasil dari training citra golongan darah


Tabel 3.3 hasil dari training citra golongan darah
Gbr Asli Hasil Deteksi Tepi


Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 1184 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,0099 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 0/400 (0%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 2463 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,00995 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 1/400
(0,25%)
Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification
Error
-1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar

64



Tabel 3.4 hasil dari training citra golongan darah

Tabel 3.5 hasil dari training citra golongan darah


Golongan darah AB
Tabel 3.6 hasil dari training citra golongan darah



Informasi Training Training Neural Net
Jumlah Epoh 3395 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,00999 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 0/800 (0%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 3494 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,00998 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 0/1200(0%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 660 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,00997 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 0/1600 (0%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 3332 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,009995 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 4/2000 (0%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20

65

Tabel 3.7 hasil dari training citra golongan darah

Tabel 3.8 hasil dari training citra golongan darah


Tabel 3.9 hasil dari training citra golongan darah


Tabel 3.10 hasil dari training citra golongan darah
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 14654 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,03777 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 43/2400
(1,782%)
Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 15311 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,04165 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 0/400 (0%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 1478 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,00997 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 0/400 (0%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net

66



Golongan Darah A

Tabel 3.11 hasil dari training citra golongan darah


Tabel 3.12 hasil dari training citra golongan darah


Tabel 3.13 hasil dari training citra golongan darah

Jumlah Epoh 8849 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,03097 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 21/1200 (1,75%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 13498 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,04300 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 0/2000 (3,3%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 2115 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,02698 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 76/3200 (2,357%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi


Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 22383 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,02908 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 62/3600
(1,722%)
Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20

67

Tabel 3.14 hasil dari training citra golongan darah


Tabel 3.15 hasil dari training citra golongan darah



Golongan Darah O
Tabel 3.16 hasil dari training citra golongan darah









Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 23504 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,03460 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 60/4000 (0%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 25080 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,02936 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 58/4400
(1,318%)
Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 26229 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,02622 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 58/4800 (1,208%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20

68

Tabel 3.17 hasil dari training citra golongan darah


Tabel 3.18 hasil dari training citra golongan darah


Tabel 3.19 hasil dari training citra golongan darah










Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 1184 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,0099 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 5
0
Pixel Classification Error 0/400 (0%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 30744 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,01727 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 64/5600 (1,143%) Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20
Gbr Asli Hasil Deteksi Tepi

Keterangan Pada Gambar
Informasi Training Training Neural Net
Jumlah Epoh 31066 Learning Rate 0,001 Input Pattern No of Input Neuron -
Trianing Squared Error 0,01610 Weigh initialization factor 0,5 Heigh 20 No Hidden Neuron 50
Pixel Classification Error 64/6000
(1,067%)
Error Threshold 1 Width 20 No Output Neuron -
Recognition Target Classification Error -1 Target Pattern
B&W Threshold 196 Target Squared Error 0,01 Heigh 20
Noise Threshold 10 Maxsimum Epoh 1000 Width 20

69

D. DESAIN ANTARMUKA
Aplikasi ini dibangun dengan desain user interface form yang terdiri dari 4
form, yaitu form utama, form proses awal, form simpan, dan form pelatihan.
1. Desain Menu Tampilan Utama














Gambar 3.6 Form Utama
Halaman ini berfungsi sebagai layar utama, setiap user yang menjalankan aplikasi
ini, harus menjalankan form ini terlebih dahulu. Pada halaman tersebut terdapat 4
menu, yaitu:
1. Home : untuk kembali ke tampilan awal (form utama)
2. Deteksi Tepi : untuk memproses gambar sampai menghasilkan
tepi-tepi objek citra
3. Process Traininmg : untuk melakukan training pada pola darah
4. Exit : untuk keluar dari program
2. Desain Menu Tampilan proses awal
Desain tampilan menu proses awal adalah sebagai berikut:
Pengenal an Pol a Gol ongan Dar ah Menggunakan Jar i ngan
Sar af Ti r uan Back Pr opagat i on
Pr ocess Det eksi Hom Exi t

70


Button1 TLabel ComboBox ChekBox Button2
Image1 Image2




Gambar 3.7 Form Proses Awal

Halaman ini berfungsi untuk melakukan proses awal pada gambar. Gambar di
load dari menu file selanjutnya gambar diproses sampai menghasilkan tepi-tepi
objek citra. Selanjutnya hasil dari deteksi tepi disimpan dalam button save.
Menu-menu yang terdapat dalam halaman ini antara lain:
1. Ambil citra
2. Operator, terdapat proses memilih operator
3. Button negative, berfungsi uyntuk mengubah gambar menjhadi hitam
putih
4. Tepi, untuk menhasilkan tepi-tepi objek citra
3. Desain Menu Tampilan Halaman Pengenalan Golongan Darah
Desain tampilan menu halaman pengenalan golongan darah. Mengambil
gambar darah yang bertype .bmp gambar akan diproses dan menunjukkan
golongan darah dari gambar yang diambil. Berikut adalah sebagai berikut
tampilannya:

71


Gambar 3.8 Pengenalan Golongan Darah
Pada gambar 3.7 berfungsi untuk melakukan proses process training pada pola
darah manusia. Desain tampilan pada halaman training adalah sewbagai berikut:

Gambar 3.9 Form process tarining





72

BAB IV
HASIL DAN PEMBAHASAN

Dalam bab ini dibahas mengenai hasil uji coba program yang telah
dirancang dan dibuat, serta kontribusi program dalam Islam. Uji coba dilakukan
untuk mengetahui apakah program dapat berjalan sebagaimana mestinya dengan
lingkungan uji coba yang telah ditentukan serta dilakukan sesuai dengan skenario
uji coba.
Ada beberapa hasil uji coba yang telah dilakukan terhadap data yang telah
dipilih, antara lain: menguji citra darah yang diperoleh apakah bisa mengenali
golongan darah manusia (A, B, AB, O). Sebelumnya perlu diketahui lingkungan
uji coba yang digunakan dalam melakukan uji coba dalam tugas akhir ini.

A. LINGKUNGAN UJI COBA
Pada subbab ini dijelaskan mengenai lingkungan uji coba yang meliputi
perangkat lunak dan perangkat keras yang digunakan. Spesifikasi perangkat keras
dan perangkat lunak yang digunakan dalam uji coba antara lain adalah:
Tabel 4.1 Lingkungan Uji Coba
Perangkat
Keras
Prosesor : Intel Pentium 4 2.66 GHz
Memori : 1 GB
Piranti Masukan : - Scanner HP PSC 1410
- Mouse
- Keyboard
Perangkat Lunak
Sistem Operasi : Microsoft Windows XP Professional 2002
Perangkat Pengembang : Borland Delphi 7.0

73

B. DATA UJI COBA
Pada uji coba yang akan dilakukan, digunakan data yang berasal dari
pengambilan gambar darah dengan kamera lalu dimasukkkan di dalam computer.
Gambar tersebut betipe .bmp. Data uji coba yang saya gunakan adalah 40 image.
Untuk menghitung prosentase hasil kebenaran dari aplikasi yang saya buat, saya
menggunakan rumus sebagai berikut:
Proscntosc =
Ðoto Kcbcrℎosilon
[umloℎ Ðoto
× 100
Diketahui: Data Keberhasilan = 31 Data Salah = 9
Jumlah data = 40
Didapat data keberhasilan 31 dari jumlah data dikurangi data salah sehingga
didapat nilai 31.
Proscntosc =
31
40
× 100
= 77,5
Jadi dari hasil perhitungan diatas didapat hasil prosentase keberhasilan aplikasi
yang saya buat adalah 77,5%

C. PENJELASAN PROGRAM
Di dalam penjelasan program ini dijelaskan tentang alur pembuatan dan
kegunaan program yang dibuat beserta tampilan desain. Berikut ini tampilan-
tampilan halaman yang ada dalam program yang dibuat:

74

1. Proses Menampilkan Halaman Utama
Halaman home merupakan halaman utama yang akan pertama kali diakses
oleh pengguna. Informasi yang ditampilkan adalah pilihan menu untuk menuju
proses selanjutnya. Pada halaman utama terdiri dari 4 menu yang akan
ditampilkan sesuai dengan fasilitas yang disediakan perangkat lunak. Tampilan
halaman utama ditunjukkan pada gambar 4.1 berikut

Gambar 4.1 Form Utama
2. Proses Menampilkan Halaman Deteksi Tepi
Pada halaman deteksi tepi ini dijelaskan mengenai proses deteksi tepi yang
harus dilakukan sebelum melakukan proses pengenalan golongan darah manusia.
Adapun tampilan halamannya adalah:

Gambar 4.2 Form Image Process

75

Pada halaman proses awal terdapat 3 proses antara lain: ambil citra,
memilih operator, mencentang button negative dan deteksi tepi. Penjelasannya
sebagai berikut:
a. Ambil Citra
Pada proses ini terjadi pengubahan citra ke dalam citra digital yang dapat
dibaca dan diproses selanjutnya oleh komputer. Adapun citra hasil pengambilan
gambar dari camera dapat dilihat pada gambar 4.3 dibawah ini:

Gambar 4.3 Contoh dari button ambil citra darah pada manusia
Listing program untuk proses ambil citra:
procedure TFormUtama.ButtonAmbilCitraClick(Sender: TObject);
var
fc: string;
begin
if (OpenPictureDialog.Execute) then
begin
if (FormCitra = nil) then
Application.CreateForm(TFormCitra, FormCitra);
FormCitra.Image.Picture.LoadFromFile(
OpenPictureDialog.FileName);
FormCitra.ClientHeight :=
FormCitra.Image.Picture.Height;
FormCitra.ClientWidth :=
FormCitra.Image.Picture.Width;
FormCitra.ClientHeight :=
FormCitra.Image.Picture.Height;
case (FormCitra.Image.Picture.Bitmap.PixelFormat) of
pf1bit : fc := 'biner';
pf8bit : fc := 'keabuan';
pf24bit : fc := 'true color';
end;
StatusBar.SimpleText := OpenPictureDialog.FileName
+ ' (' + IntToStr(FormCitra.Image.Picture.Width)

76

+ 'x' + IntToStr(FormCitra.Image.Picture.Height)
+ ', ' + fc + ')';
end;
end;

Dibawah ini adalah hasil citra setelah dilakukan pemilihan operator, penegatifan
citra dan deteksi tepi.

Gambar 4.4 Citra Hasil Operator Laplacian, Negative Dan Deteksi Tepi
Listing programnya adalah sebagai berikut:
uses UnitCitra;

type
Mask3x3 = array [-1..1,-1..1] of real;

var
FormHasil: TFormCitra;
Mask: Mask3x3;

const
MaskLaplacian5: Mask3x3 =
(( 0, -1, 0),
( -1, 4, -1),
( 0, -1, 0));
MaskLaplacian91: Mask3x3 =
(( -1, -1, -1),
( -1, 8, -1),
( -1, -1, -1));
MaskLaplacian92: Mask3x3 =
(( 1, -2, 1),
( -2, 4, -2),
( 1, -2, 1));
procedure TFormUtama.Olah;
var
x, y, w, h, u, v: integer;
PC, PH: PByteArray;
Ki, Ri, Gi, Bi, Ko, Ro, Go, Bo: array of array of byte;

77

jumlah: real;
begin
if (ComboBoxOperator.Text = '') then
begin
ShowMessage('Pilih operator gradien deteksi tepi');
exit;
end
else if (ComboBoxOperator.Text = 'Laplacian 5 titik') then
Mask := MaskLaplacian5
else if (ComboBoxOperator.Text = 'Laplacian 9 titik 1') then
Mask := MaskLaplacian91
else if (ComboBoxOperator.Text = 'Laplacian 9 titik 2') then
Mask := MaskLaplacian92;
w := FormCitra.Image.Picture.Width;
h := FormCitra.Image.Picture.Height;
if (FormCitra.Image.Picture.Bitmap.PixelFormat = pf8bit)
then
begin
SetLength(Ki, w, h);
SetLength(Ko, w, h);
for y := 0 to h-1 do
begin
PC := FormCitra.Image.Picture.Bitmap.ScanLine[y];
PH := FormHasil.Image.Picture.Bitmap.ScanLine[y];
for x := 0 to w-1 do
begin
Ki[x, y] := PC[x];
Ko[x, y] := PH[x];
end;
end;
for x := 1 to w-2 do
for y := 1 to h-2 do
begin
jumlah := 0;
for u := -1 to 1 do
for v := -1 to 1 do
jumlah := jumlah+Mask[u,v]*Ki[x-u,y-v];
if (Abs(jumlah)<255) then
Ko[x,y] := Round(Abs(jumlah))
else
Ko[x,y] := 255;
if (CheckBoxNegatif.Checked) then
Ko[x,y] := 255-Ko[x,y];
end;
for y := 0 to h-1 do
begin
PH := FormHasil.Image.Picture.Bitmap.ScanLine[y];
for x := 0 to w-1 do
PH[x] := Ko[x, y];

78

end;
Ki := nil;
Ko := nil;
end;
if (FormCitra.Image.Picture.Bitmap.PixelFormat = pf24bit)
then
begin
SetLength(Ri, w, h);
SetLength(Gi, w, h);
SetLength(Bi, w, h);
SetLength(Ro, w, h);
SetLength(Go, w, h);
SetLength(Bo, w, h);
for y := 0 to h-1 do
begin
PC := FormCitra.Image.Picture.Bitmap.ScanLine[y];
PH := FormHasil.Image.Picture.Bitmap.ScanLine[y];
for x := 0 to w-1 do
begin
Bi[x, y] := PC[3*x];
Gi[x, y] := PC[3*x+1];
Ri[x, y] := PC[3*x+2];
Bo[x, y] := PH[3*x];
Go[x, y] := PH[3*x+1];
Ro[x, y] := PH[3*x+2];
end;
end;
for x := 1 to w-2 do
for y := 1 to h-2 do
begin
jumlah := 0;
for u := -1 to 1 do
for v := -1 to 1 do
jumlah := jumlah+Mask[u,v]*Ri[x-u,y-v];
if (Abs(jumlah)<255) then
Ro[x,y] := Round(Abs(jumlah))
else
Ro[x,y] := 255;
if (CheckBoxNegatif.Checked) then
Ro[x,y] := 255-Ro[x,y];
jumlah := 0;
for u := -1 to 1 do
for v := -1 to 1 do
jumlah := jumlah+Mask[u,v]*Gi[x-u,y-v];
if (Abs(jumlah)<255) then
Go[x,y] := Round(Abs(jumlah))
else
Go[x,y] := 255;
if (CheckBoxNegatif.Checked) then

79

Go[x,y] := 255-Go[x,y];
jumlah := 0;
for u := -1 to 1 do
for v := -1 to 1 do
jumlah := jumlah+Mask[u,v]*Bi[x-u,y-v];
if (Abs(jumlah)<255) then
Bo[x,y] := Round(Abs(jumlah))
else
Bo[x,y] := 255;
if (CheckBoxNegatif.Checked) then
Bo[x,y] := 255-Bo[x,y];
end;
for y := 0 to h-1 do
begin
PH := FormHasil.Image.Picture.Bitmap.ScanLine[y];
for x := 0 to w-1 do
begin
PH[3*x] := Bo[x, y];
PH[3*x+1] := Go[x, y];
PH[3*x+2] := Ro[x, y];
end;
end;
Ri := nil;
Gi := nil;
Bi := nil;
Ro := nil;
Go := nil;
Bo := nil;
end;
end;

procedure TFormUtama.ButtonTepiClick(Sender: TObject);
begin
if (FormCitra = nil) then
begin
ShowMessage('Ambil dulu citra yang akan diolah');
exit;
end;
if (FormHasil = nil) then
Application.CreateForm(TFormCitra, FormHasil);
FormHasil.Caption := 'Citra Hasil';
FormHasil.Image.Picture := FormCitra.Image.Picture;
FormHasil.Top := FormCitra.Top;
FormHasil.Left := FormCitra.Left+FormCitra.Width;
FormHasil.ClientHeight :=
FormHasil.Image.Picture.Height;
FormHasil.ClientWidth :=
FormHasil.Image.Picture.Width;
FormHasil.ClientHeight :=

80

FormHasil.Image.Picture.Height;
Olah;
end;

b. Process Training
Tahap Process Training terdiri dari 3 proses, yaitu file, process dan help.
1) File
Pada tahap ini terdapat 3 proses yaitu:
1. Open training
Open training adalah membuka training yang telah dijalankan sebelumnya.
2. Open picture
Open picture adalah membuka gambar yang telah dijadikan deteksi tepi
untuk dikenali golongan darahnya. Kemudian tekan tombol proses
pengenalan maka aplikasi akan menunjukkan golongan darah hasil dari
gambar yang di masukkan.
3. Exit
Tombol exit adalah untuk melakukan keluar dari aplikasi.
Program lengkap proses Open training, Open picture dan Exit adalah sebagai
berikut:
procedure TMainForm.OpenTraining1Click(Sender: TObject);
begin
CheckKnowledgeSave;
if OpenKnowledgeDialog.Execute then
begin
FKnowledgeFileName := OpenKnowledgeDialog.FileName;
Screen.Cursor := crHourglass;
BackProp.OpenKnowledge(FKnowledgeFileName);
Screen.Cursor := crDefault;
end;
end;

procedure TMainForm.FileOpenPicture(Sender: TObject);
Var

81

Hasil,Hasil1 : String;
Selesai : Boolean;
I : Integer;

begin
CheckPictureSave;
if OpenPictureDialog.Execute then
begin
FPictureFileName := OpenPictureDialog.FileName;
Screen.Cursor := crHourglass;
DCR.OpenPicture(FPictureFileName);
Screen.Cursor := crDefault;
Panel2.Caption:= FPictureFileName;

Hasil:='';
Selesai:=False;
I:= Length(Panel2.Caption)-4;
Repeat
If Panel2.Caption[i]<>'\' Then
Begin
Hasil:=Hasil+Panel2.Caption[i];
End Else
Begin
Selesai:=TRue;
ENd;
Dec(I);
Until Selesai=TRue;
Panel2.Caption:= Hasil;
Hasil1:='';

I:= Length(Hasil);
Repeat
Hasil1:=Hasil1+Hasil[i];
Dec(I);
Until I<=0;
Panel2.Caption:= Hasil1;
end;
end;

procedure TMainForm.FileExit(Sender: TObject);
begin
Close;
end;

2) Process


82

Pada tahap ini terdapat 3 proses yaitu:
1. Training
Training adalah proses pelatihan pada citra masukan yang telah dideteksi tepi,
klik tombol buka gambar training, kemudian tuliskan symbol lalu klik tombol
add training. Kemudian lakukan training dengan menekan tombol train.
Tombol retrain untuk melakukan training ulang. Tombol test untuk melakukan
testing result dari training option untuk mengetahui parameter yang ada dalam
backpropagation dan close untuk keluar dari aplikasi seperti gambar 4. 5

Gambar 4.5 Inpu DataTraining
2. Recognize
Proses terakhir yang dilakukan untuk mendapatkan hasil dari citra apakah
sudah dikenal atau belum yaitu recognize. Jalannya proses ini dapat dilihat
pada gambar 3.7 Flowchart proses pengenalan.
3. Option
Option untuk mengetahui parameter yang ada dalam backpropagation.
Listing program untuk semua proses diatas adalah sebagai berikut:

83

procedure TTrainingForm.btnAddClick(Sender: TObject);
var
AutoFitBitmap: TBitmap;
c, f, s: Integer;
IxInput: Integer;
OrgBitmap: TBitmap;
TrainingPairs: TTrainingPairs;
begin
Screen.Cursor := crHourglass;
if rbInputPattern1.Checked = True then
begin
SetLength(TrainingPairs.InputPatterns,
lbFonts.SelCount * lbSizes.SelCount,
BackProp.NInputNeuron + 1);
SetLength(TrainingPairs.TargetPattern,
BackProp.NOutputNeuron + 1);
OrgBitmap := TBitmap.Create;
OrgBitmap.Height := imgOrgSymbol.Height;
OrgBitmap.Width := imgOrgSymbol.Width;
for c := 0 to lbChars.Items.Count - 1 do
if lbChars.Selected[c] then
begin
if cbSymbol.Items.IndexOf(lbChars.Items.Strings[c]) = -
1 then
cbSymbol.Items.Add(lbChars.Items.Strings[c]);
IxInput := 0;
for f := 0 to lbFonts.Items.Count - 1 do
if lbFonts.Selected[f] then
for s := lbSizes.Items.Count - 1 downto 0 do
if lbSizes.Selected[s] then
begin
with OrgBitmap.Canvas do
begin
FillRect(Rect(0, 0, OrgBitmap.Width,
OrgBitmap.Height));
Font.Name := lbFonts.Items.Strings[f];
Font.Size :=
StrToInt(lbSizes.Items.Strings[s]);
TextOut(0, 0, lbChars.Items.Strings[c]);
end;
AutoFitBitmap := GetAutoFitBitmap(OrgBitmap,

BackProp.InputPatternWidth,
BackProp.InputPatternHeight);
imgNormalSymbol.Canvas.Draw(0, 0, AutoFitBitmap);
TBackProp.BitmapToLayer(AutoFitBitmap,

TrainingPairs.InputPatterns[IxInput]);
AutoFitBitmap.Free;

84

if IxInput = 0 then
begin
AutoFitBitmap :=
GetAutoFitBitmap(OrgBitmap,
BackProp.TargetPatternWidth,
BackProp.TargetPatternHeight);
TBackProp.BitmapToLayer(AutoFitBitmap,
TrainingPairs.TargetPattern);
AutoFitBitmap.Free;
end;
IxInput := IxInput + 1;
TrainingPairs.TargetPatternClass :=
lbChars.Items.Strings[c];
end;
BackProp.AddTrainingPairs(TrainingPairs);
end;
OrgBitmap.Free;
end
else if rbInputPattern2.Checked = True then
begin
if Trim(cbSymbol.Text) = '' then
begin
MessageDlg('Pilih',
mtWarning, [mbOk], 0);
cbSymbol.SetFocus;
end
else
begin
if cbSymbol.Items.IndexOf(cbSymbol.Text) = -1 then
cbSymbol.Items.Add(cbSymbol.Text);
SetLength(TrainingPairs.InputPatterns, 1,
BackProp.NInputNeuron + 1);
SetLength(TrainingPairs.TargetPattern,
BackProp.NOutputNeuron + 1);
AutoFitBitmap :=
GetAutoFitBitmap(imgOrgSymbol.Picture.Bitmap,
BackProp.InputPatternWidth,
BackProp.InputPatternHeight);
imgNormalSymbol.Canvas.Draw(0, 0, AutoFitBitmap);
TBackProp.BitmapToLayer(AutoFitBitmap,
TrainingPairs.InputPatterns[0]);
AutoFitBitmap.Free;
AutoFitBitmap :=
GetAutoFitBitmap(imgOrgSymbol.Picture.Bitmap,
BackProp.TargetPatternWidth,
BackProp.TargetPatternHeight);
TBackProp.BitmapToLayer(AutoFitBitmap,
TrainingPairs.TargetPattern);
AutoFitBitmap.Free;

85

TrainingPairs.TargetPatternClass := cbSymbol.Text;
BackProp.AddTrainingPairs(TrainingPairs);
end;
end;
UpdateForm;
UpdateTrainingInfo;
Screen.Cursor := crDefault;
end;

procedure TTrainingForm.btnClearClick(Sender: TObject);
begin
imgOrgSymbol.Canvas.FillRect(Rect(0, 0, imgOrgSymbol.Width,

imgOrgSymbol.Height));
imgNormalSymbol.Canvas.FillRect(Rect(0,
0,imgNormalSymbol.Width,
imgNormalSymbol.Height));
end;

procedure TTrainingForm.btnCloseClick(Sender: TObject);
begin
Close;
end;

procedure TTrainingForm.btnOptionsClick(Sender: TObject);
begin
OptionsForm.ShowModal;
UpdateForm;
end;

procedure TTrainingForm.btnRetrainClick(Sender: TObject);
begin
UpdateForm(True);
BackProp.Retrain;
UpdateForm(False);
end;

procedure TTrainingForm.btnStopClick(Sender: TObject);
begin
BackProp.StopTraining := True;
end;

procedure TTrainingForm.btnTestClick(Sender: TObject);
var
Bitmap: TBitmap;
i : Integer;
Symbols, Matchs, Unmatchs: TStringList;
begin
Bitmap := GetAutoFitBitmap(imgOrgSymbol.Picture.Bitmap,

86

BackProp.InputPatternWidth,
BackProp.InputPatternHeight);
imgNormalSymbol.Canvas.Draw(0, 0, Bitmap);
TBackProp.BitmapToLayer(Bitmap, BackProp.InputLayer);
Bitmap.Free;

BackProp.Apply;

Symbols := TStringList.Create;
Matchs := TStringList.Create;
Unmatchs := TStringList.Create;
BackProp.GetResult(Symbols, Matchs, Unmatchs);
for i := sgResult.Cols[0].Count - 1 downto 1 do
sgResult.Rows[i].Clear;
sgResult.RowCount := Symbols.Count + 1;
sgResult.Cols[0].AddStrings(Symbols);
sgResult.Cols[1].AddStrings(Matchs);
sgResult.Cols[2].AddStrings(Unmatchs);
Unmatchs.Free;
Matchs.Free;
Symbols.Free;
end;

procedure TTrainingForm.btnTrainClick(Sender: TObject);
begin
UpdateForm(True);
BackProp.Train;
UpdateForm(False);
end;

procedure TTrainingForm.FormCreate(Sender: TObject);
var
i: Integer;
begin
OptionsForm := TOptionsForm.Create(TrainingForm);

lbFonts.Items := Screen.Fonts;
for i := 33 to 126 do
lbChars.Items.Add(Chr(i));
for i := 6 to 50 do lbSizes.Items.Add(IntToStr(i));
UpdateTrainingInfo;
imgOrgSymbol.Canvas.Pen.Width := DEFAULT_DRAWING_WIDTH;
btnClearClick(Sender);

BackProp.OnTraining := BackPropTraining;
BackProp.OnTrainingFinish := BackPropTrainingFinish;

sgResult.Rows[0].Add('Symbol');
sgResult.Rows[0].Add('Match');

87

sgResult.Rows[0].Add('Unmatch');
end;

procedure TTrainingForm.FormShow(Sender: TObject);
var
i: Integer;
begin
lbFonts.Selected[0] := True;
lbChars.Selected[0] := True;
lbSizes.Selected[14] := True;
lbCharsClick(Sender);

cbSymbol.Clear;
for i := 0 to BackProp.NTrainingPair - 1 do
cbSymbol.Items.Add(BackProp.KnownSymbol[i]);

UpdateForm;
UpdateTrainingInfo;
rbInputPattern2.Checked:=tRUE;
btnClearClick(Sender);
end;

procedure TTrainingForm.imgOrgSymbolMouseDown(
Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Button = mbLeft) then
begin
FDrawing := True;
rbInputPattern2.Checked := True;
imgOrgSymbol.Canvas.MoveTo(X, Y);
imgOrgSymbolMouseMove(Sender, Shift, X, Y);
end;
end;

procedure TTrainingForm.imgOrgSymbolMouseMove(
Sender: TObject; Shift: TShiftState; X, Y:
Integer);
var
dPos: Integer;
begin
if FDrawing then
with imgOrgSymbol do
if sbPencil.Down then
Canvas.LineTo(X, Y)
else if sbEraser.Down then
begin
dPos := (Canvas.Pen.Width div 2) + (Canvas.Pen.Width
mod 2);

88

Canvas.FillRect(Rect(X - dPos, Y - dPos, X + dPos, Y +
dPos));
end;
end;

procedure TTrainingForm.imgOrgSymbolMouseUp(
Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FDrawing := False;
end;

procedure TTrainingForm.lbCharsClick(Sender: TObject);
var
Bitmap: TBitmap;
begin
btnClearClick(Sender);
with imgOrgSymbol.Canvas do
begin
Font.Name := lbFonts.Items.Strings[lbFonts.ItemIndex];
Font.Size :=
StrToInt(lbSizes.Items.Strings[lbSizes.ItemIndex]);
TextOut(0, 0, lbChars.Items.Strings[lbChars.ItemIndex]);
end;
rbInputPattern1.Checked := True;
Bitmap := GetAutoFitBitmap(imgOrgSymbol.Picture.Bitmap,
BackProp.InputPatternWidth,
BackProp.InputPatternHeight);
imgNormalSymbol.Canvas.Draw(0, 0, Bitmap);
Bitmap.Free;
end;

procedure TTrainingForm.lbFontsClick(Sender: TObject);
begin
lbCharsClick(Sender);
end;

procedure TTrainingForm.mmiCopyClick(Sender: TObject);
begin
Clipboard.Assign(imgOrgSymbol.Picture);
end;

procedure TTrainingForm.mmiCutClick(Sender: TObject);
begin
btnClearClick(Sender);
mmiCopyClick(Sender);
end;

procedure TTrainingForm.mmiPasteClick(Sender: TObject);

89

var
Bitmap: TBitmap;
begin
btnClearClick(Sender);
if Clipboard.HasFormat(CF_BITMAP) then
begin
Bitmap := TBitmap.Create;
try
Bitmap.Assign(Clipboard);
imgOrgSymbol.Canvas.Draw(0, 0, Bitmap);
finally
Bitmap.Free;
end;
end;
rbInputPattern2.Checked := True;
end;

procedure TTrainingForm.sgResultDrawCell(Sender: TObject; ACol,
ARow: Integer;
Rect: TRect; State:
TGridDrawState);
const
ALIGNFLAGS: array [TAlignment] of Integer =
(DT_LEFT or DT_VCENTER or DT_WORDBREAK or DT_EXPANDTABS or
DT_NOPREFIX,
DT_RIGHT or DT_VCENTER or DT_WORDBREAK or DT_EXPANDTABS or
DT_NOPREFIX,
DT_CENTER or DT_VCENTER or DT_WORDBREAK or DT_EXPANDTABS
or DT_NOPREFIX);
var
Alignment: TAlignment;
Text: string;
begin
inherited;

Text := sgResult.Cells[ACol, ARow];
if (ARow < sgResult.RowCount) and (ACol < sgResult.ColCount)
then
begin
if (ARow = 0) then
begin
sgResult.Canvas.Font.Style := [fsBold];
Alignment := taCenter;
end
else if (ACol in [0..2]) then
Alignment := taCenter
else
Alignment := taRightJustify;
sgResult.Canvas.FillRect(Rect);

90

DrawText(sgResult.Canvas.Handle,
PChar(Text), Length(Text), Rect,
ALIGNFLAGS[Alignment]);
end;
end;

procedure TTrainingForm.UpdateForm(TrainingInProgress: Boolean
= False);
begin
if TrainingInProgress then
Screen.Cursor := crAppStart
else
Screen.Cursor := crDefault;
btnStop.Enabled := TrainingInProgress;
btnAdd.Enabled := not TrainingInProgress;
btnTrain.Enabled := (BackProp.NTrainingPair > 0) and not
TrainingInProgress;
btnRetrain.Enabled := (BackProp.NTrainingPair > 0) and not
TrainingInProgress;
btnTest.Enabled := (BackProp.NTrainingPair > 0) and not
TrainingInProgress;
btnOptions.Enabled := not TrainingInProgress;
btnClose.Enabled := not TrainingInProgress;
if not (BackProp.NTrainingPair > 0) and (cbSymbol.Items.Count
> 0) then
cbSymbol.Items.Clear;
end;

procedure TTrainingForm.UpdateTrainingInfo;
begin
with BackProp do
begin
lblCurrentEpoch.Caption := IntToStr(NTrainingEpoch);
if NTrainingNeuron > 0 then
begin
lblTrainingError.Caption := FloatToStr(TrainingError /
NTrainingNeuron);
lblPixelError.Caption :=
IntToStr(NNeuronError) + ' / ' +
IntToStr(NTrainingNeuron) + ' ' +
'(' + FloatToStrF((NNeuronError / NTrainingNeuron) *
100,
ffGeneral, 4, 0) + '%)';
end
else
begin
lblTrainingError.Caption := '0';
lblPixelError.Caption := '0';
end;

91

end;
end;

procedure TTrainingForm.Button1Click(Sender: TObject);
begin
If Ole.Execute then
begin
BG:=TJpegImage.Create;
try
imgOrgSymbol.Picture.LoadFromFile(Ole.FileName);
BG.Assign(imgOrgSymbol.picture.Graphic);
except
beep;
imgOrgSymbol.Picture :=Nil;
ShowMessage('Format Grafik Tidak Support !');
end;
BG.Free ;
end;
end;

3. Help
Help berisi tetang pembuat aplikasi dan penulis naskah skripsi.

D. PEMBAHASAN DATA HASIL UJI COBA
Hasil Uji Coba
Setelah dilakukan uji coba dari data yang telah diproses maka akan didapat
hasil golongan darah manusia yaitu golongan A, B, AB, O. Aplikasinya adalah
sebagai berikut:

92


Gambar 4.6 aplikasi pengenalan pola golongan darah pada manusia
Untuk mencetak hasil dari golongan darah maka ditekan tombol print dan
akan keluar halaman sebagai berikut:

Gambar 4.7 hasil cetak setelah dilakukan pengenalan
Contoh diatas adalah salah satu dari 40 sample yang saya ambil, dan 39
diantaranya dalah senagai berikut:


93

Table 4. data uji coba
No Nama Golongan
Darah
Gambar Darah Keterangan
1 Nita B

Benar
2 Nana B

Salah
3 Nina O

Benar
4 Nala B

Salah
5 Mamik B

Salah
6 Misel B

Salah
7 Melka O

Benar
8 Yuyun

A

Salah
9 Hendr
a
O

Benar
10 Dias O

Benar

94

11 Kosim A

Salah
12 Sopin A

Benar
13 Ida A

Benar
14 Aziz A

Salah
15 Hamda
n
A

Benar
16 Huri B

Benar
17 Rian O

Benar
18 Rini O

Benar
19 Fitri A

Benar
20 Wulan AB Benar
21 Nurma O Benar
22 Niya O Benar

95

23 Cemyk O Benar
24 Olis A

Benar
25 Nopi O

Salah
26 Surur B Benar
27 Saipul O Benar
28 Diah B Benar
29 Rahma A

Benar
30 Jamil B

Benar
31 Munir B Benar
32 Sina O

Benar
33 Latif O

Benar
34 Tarjo O

Benar

96

35 Hakim O

Benar
36 Aril AB Benar
37 Frendi AB Benar
38 Zudi A

Salah
39 Topek B

Benar
40 Jabrik B

Benar













97

BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan aplikasi yang telah di buat beserta uji coba yang telah
dilakukan maka dapat ditarik kesimpulansebagai berikut:
1. Aplikasi ini dapat digunakan untuk menyederhanakan gambar dengan
mengunakan deteksi tepi dengan operator laplacian
2. Golongan darah manusia dapat dikenali sebagai golongan darah A, B,
AB, dan O dengan jaringan syaraf tiruan menggunakan metode
backpropagasi.
3. Keberhasilan aplikasi sangat tergantung pada hasil citra yang diambil
4. Hasil prosentase keberhasilan aplikasi ini adalah 77,5%
5.2 Saran
Dalam pengembangan sistem aplikasi pengenalan pola golongan darah
pada manusia masih banyak bagian yang perlu dilakukan penelitian lebih lanjut
untuk mendapatkan hasil yang lebih maksimal diantaranya adalah:
1. Penggunaan deteksi tepi yang lain seperti operator Prewitt, Sobel, Canny atau
yang lainnya, dalam mengolah citra.
2. Penggunaan jaringan syaraf backpropagation dengan jaringan syraraf tiruan
menggunakan metode yang lain.
3. Untuk pengembangan aplikasi selanjutnya diharapkan lebih baik dan hasil-hasil
dari pengenalan pola tidak terdapat kesalahan karena dalam hasil uji coba dari
40 sampel didapat prosentase keberhasilan 77,5%.

98

DAFTAR PUSTAKA

Abdullah Amin. 2004. Integrasi Sains-Islam: Mempertemukan Epistemologi
Islam dan Sains. Yogyakarta: Pilar Religia
Ahmad Balza & Firdausy Kartika. 2005. Teknik Pengolahan Citra menggunakan
Delphi. Yogyakarta: Ardi Publishing
Ahmad Usman. 2005. Pengolahan Citra Digital dan Teknik Pemrogramannya.
Yogyakarta: GRAHA ILMU
Al-Jazairi, Syaikh, Abu, Bakar, Jabir. Tafsir Al-Qur’an Al_Aisar, 2007, Darus
Sunnah Press, Jatinegara-Jakarta
Al-Rashaideh Hasan. 2006. “Preprocessing phase for Arabic Word Handwritten
Recognition”. Russian Federation: Information Transmissions in Computer
Networks
Ash-Shiddieqy, Hasbi, Muhammad. Tafsir al-Qur’anul Majid An-Nuur jilid 5,
2003, Pusaka Rizki Puta, Semarang
Beigi, Hamayoon SMM. 1998. An Overview of Handwriting Recognition. TJ
Watson Research Center International Bussiness Machines
Fahmy, Maged Mohamed Mahmoud dan Somaya Al Ali. 2000. Automatic
Recognize Of Handwritten Arabic Characters Using Their Geometrical
Features. Diakses dari http://www.ici.ro/ici/revista/sic2001_2/art1.htm;
Internet; diakses pada tanggal 11 Maret 2008.
Hamdani, Deni. 2008. Memahami Tatabahasa Al-Quran. Diakses dari
http://www.denyhamdani.de.vu; Internet; diakses pada tanggal 5 Oktober
2008.
Husni. 2004. Pemrograman Database dengan Delphi. Yogyakarta: GRAHA
ILMU.
Kusumadewi, Sri. Membangun jaringan saraf tiruan menngunakan matlab dan
exel link, 2004, Graha Ilmu, Yogyakarta
Munir, Rinaldi. 2004. Pengolahan Citra Digital dengan Pendekatan Algoritmik.
Bandung: INFORMATIKA
Muis, Saludin. Teknik Jaringan Saraf Tiruan, 2006, Graha Ilmu, Yogyakarta.

99

NOMI, Toshitaka, 2007, “Thouch My Heart” Mengenal Kepribadian Anak
Menurut Golongan Darah, Andi Publiser, Yogyakarta
Pranata Antony. 2003. Pemrograman Borland Delphi 6 Edisi 4, Yogyakarta: Andi
R.C. Gonzalez, R.E. Woods. 1992. Digital Image Processing. USA: Addison-
Wesley Publishing Company.
Vori, Vuokka. 1998. Adaptive Online Recognition of Handwriting
































100



PENGENALAN POLA GOLONGAN DARAH MENGGUNAKAN JARINGAN SARAF TIRUAN BACK PROPAGATION

SKRIPSI

Diajukan kepada Fakultas Sains dan Teknologi Universitas Islam Negeri Malang untuk Memenuhi Salah Satu Persyaratan Guna Memperoleh Gelar Strata Satu Sarjana Teknik Informatika (S.Kom) Oleh: Zunita Wulan Sari 05550082

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI (UIN) MALANG April 2010
ii

HALAMAN PERSETUJUAN PENGENALAN POLA GOLONGAN DARAH MENGGUNAKAN JARINGAN SARAF TIRUAN BACK PROPAGATION

Skripsi Oleh: Zunita Wulan Sari 05550082 Telah disetujui oleh:

Pembimbing I,

Pembimbing II,

Suhartono, M. Kom NIP. 196805192003121001

Zainal Abidin, M. Kom NIP. 197606132005011001

Tanggal,

2010

Mengetahui, Ketua Jurusan Teknik Informatika

Ririen Kusumawati, M. Kom NIP. 197203092005012002

iii

Ketua Penguji Totok Chamidy. Sekretaris Penguji Suhartono. M. Anggota Penguji Zainal Abidin. M. M. Kom NIP. Kom NIP. M. Kom NIP.HALAMAN PENGESAHAN PENGENALAN POLA GOLONGAN DARAH MENGGUNAKAN JARINGAN SARAF TIRUAN BACKP ROPAGATION SKRIPSI Dipersiapkan dan disusun oleh Zunita Wulan Sari (05550081) Telah Dipertahankan di Depan Dewan Penguji dan Diutamakan Diterima Sebagai Salah Satu Persyaratan dan Untuk Memperoleh Gelar Sarjana Teknik Informatika (S. 19680519200312100 4. 197007312005011002 2. 197203092005012002 iv .Kom NIP. Kom NIP. M.Kom) Pada 24 April 2010 Susunan Dewan Penguji 1. 196912222006041001 3. Ketua Jurusan Teknik Informatika Ririen Kusumawati. 197606132005011001 Tanda Tangan : [ ] : [ ] : [ ] : [ ] Mengetahui. Penguji Utama Fatchurrochman.

....SURAT PERNYATAAN Dengan ini saya menyatakan..... Malang. juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain. dan sepanjang pengetahuan saya. kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka...... ... bahwa dalam skripsi ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan pada suatu perguruan tinggi....2010 Penulis... Zunita Wulan Sari v ..

Terimakasih. Salwa. Seluruh sahabatku di jurusan Teknik Informatika UIN Malang angkatan 2005 [anak Ti_b smua. ma2.M@2 yang telah meminjamiku PC N doanya) terima kasih atas bantuannya. dian. Serta rekan-rekan dan semua pihak yang tidak dapat disebutkan satu persatu. oLi$ dan NoPi yang telah mendoakanKu . Mbak Ugik dan mas Jarot. Kakak-kakakku. Luluk Nur’aini. Semoga Nita bisa menjadi putri yang dapat membanggakan dan berbakti kepada bapak dan Ibu kelak. riris. “Aku Yakin Kita Pasti Bisa. ima imu dan mb mely. ida (thanks zeTTane). mb Yani dan ms Tomo maaf adik gak bisa bantu dengan maksimal. mbak lila. Amin. Ajid. dan Triya. depit. menasehatiKu pek jenuh dan mendengarkan semua keluh kesah Nita. melka. menyun... nisa. uus. Padil terima kasih untuk smua do’anya. motivasi. pikri suwun camerane? Hakim(jakarte) thanks dah diajari gabungin program? munirDan temen-temen q smua]_Tetep kompak sampai punya cucu rek?!_ Kosan Ampel 15 pais. yu’ aicho(yg ngajari aq). mas Sis. yuyun. nasehat-nasehat dan segala perhatiannya.PERSEMBAHAN Karya ini saya persembahkan kepada: Bapak Simon dan Ibu Mardiyah yang telah mencurahkan kasih sayang.. keagungan doa. bariza. Jabrikku yang selalu membantu. ifa. yu’ anik. bu dewi. Pasti Ada Jalan Keluar?!” Semua guru-guruku dari TK hingga Perguruan Tinggi yang dengan ketulusan mendidik dan memberikan ilmunya Teman2 sweety girl’s tersayang Makasih Niy@dan CemY yang telah menemani dan mendoakanKu. yang telah membantu penulis dari awal kuliah hingga tersusunnya skripsi ini. vi . bu nyai.

Bahwa janganlah kamu sekalian Berlaku sombong terhadapku dan datanglah kepadaku sebagai orang-orang yang berserah diri". Sesungguhnya surat itu. 7 . hlm. 31. dari SuIaiman dan Sesungguhnya (isi)nya: "Dengan menyebut nama Allah yang Maha Pemurah lagi Maha Penyayang.MOTTO                Artinnya: 30. 476. Sumber: Al-Qur’an dan Terjemahnya (Jakarta: Yayasan Penyelenggara Penterjemah Al-Qur'an).

selaku dosen pembimbing yang dengan kesabarannya memberikan bimbingan dan arahan serta masukanmasukan yang sangat berarti kepada penulis selama penyusunan skripsi ini. Pak Faisal. Dr. selaku Rektor Universitas Islam Negeri Malang. Sutiman Bambang Sumitro. taufiq dan inayah-Nya sehingga penulis mampu menyelesaikan skripsi yang berjudul Pengenalan Pola Golongan Darah Menggunakan Jaringan Saraf Tiruan Back Propagtion. Shalawat serta salam semoga tetap tercurahkan kepada Nabi Muhammad SAW yang membawa cahaya kebenaran. SU. Penyusun panjatkan puji syukur ke hadirat Allah SWT. Oleh karena itu penulis mengucapkan terima kasih dengan tulus teriring do'a jazzakumullah khairan katsiran kepada: 1. Dr. sehingga mengeluarkan umat manusia dari zaman kegelapan ke masa yang terang benderang dengan agama Islam. Prof.Kom. yang telah melimpahkan rahmat. Prof. Bapak-Ibu Dosen dan seluruh civitas akademik Fakultas Sains dan Teknologi yang telah memberikan ilmu dan kemudahan selama penulis berada di Fakultas Sains dan Teknologi Universitas Islam Negeri Malang. Sebagai salah satu persyaratan guna mendapatkan gelar Strata Satu Sarjana Teknik Informatika Universitas Islam Negeri Malang. Dsc. 5. Pak Totok. Ririen Kusumawati. Pak Amin. 4. Ayah dan Ibu yang dengan ketulusan membesarkan. M. Bu 8 . Pak Zainal. M. Kom. 6. sesuai dengan waktu yang telah ditentukan. Pak Yaqin. dukungan maupun iringan do’a yang tiada putusnya. merawat dan senantiasa mencurahkan segalanya baik tenaga. 3. M. Pak Fatchur. Kom dan Zainal Abidin. Pak Syahid. Imam Suprayogo. selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Malang. selaku Ketua Jurusan Teknik Informatika. Dalam penyusunan laporan ini tidak lepas dari bantuan berbagai pihak yang telah memberi informasi dan inspirasi.KATA PENGANTAR Dengan menyebut asma Allah Yang Maha Pengasih lagi Maha Penyayang. 2. sehingga dapat menyusun dan menyelesaikan skripsi ini. Suhartono. mendidik.

Bu Hani. Malang. Zunita Wulan Sari 9 ... Pak 9un.. dan masih jauh dari kesempurnaan.. kelemahan.. Kakak-kakakku yang telah banyak memberikan doa. TI’o4. motivasi. dan dorongan dalam penyelesaian skripsi ini serta semua saudara di rumah.... dan semoga mendapatkan balasan yang setimpal dari-Nya. Akhirnya semoga karya ini diterima di sisi Allah SWT. Mbak Indah. Teman-teman TI’05 seperjuangan. Pak Deni.. TI’o6-o9.. Penulis mengakui bahwa skripsi ini masih banyak kekurangan. Oleh karena itu. untuk dijadikan bahan pertimbangan dalam pengembangan pendidikan Islam ke depan dan dapat memperluas cakrawala ke-Islaman terutama untuk ilmu.. . 8. Harapan penulis semoga karya tulis ilmiah ini dapat bermanfaat bagi penyusun khususnya. & Pak Wawan ”matur nuwun sanget dumateng sedaya” 7. penulis mengharapkan kritik dan saran yang membangun guna perbaikan ke depan....2010 Penulis.....Roro.. dan para pembaca pada umumnya. Serta seluruh pihak yang telah membantu dalam penyelesaian skripsi ini... baik yang sama-sama sedang berjuang maupun yang akan berjuang dan teman-teman kosan 9.

...................15 Hasil dari training citra golongan darah ......8 Hasil dari training citra golongan darah ... 49 Tabel 3................ 50 Tabel 3.... 79 10 ...14 Hasil dari training citra golongan darah .........................13 Hasil dari training citra golongan darah ........................................ 52 Tabel 3................................................................5 Hasil dari training citra golongan darah .........3 Hasil dari training citra golongan darah ................................17 Hasil dari training citra golongan darah .................................. 50 Tabel 3.......................... 54 Tabel 3......... 53 Tabel 3.............................6 Hasil dari training citra golongan darah ..........................................................19 Hasil dari training citra golongan darah ........................................................ 52 Tabel 3.............2 Tabel contoh pengelompokan pola berdasarkan cirinya ........................... 53 Tabel 3.....18 Hasil dari training citra golongan darah ........ 17 Tabel 3............................... 51 Tabel 3.................9 Hasil dari training citra golongan darah ..........1 Format citra ...................................7 Hasil dari training citra golongan darah .16 Hasil dari training citra golongan darah .................. 51 Tabel 3....................................................... 53 Tabel 3........ 58 Tabel 4................................. 11 Tabel 2..........1 Lingkungan uji coba ....................................12 Hasil dari training citra golongan darah .......11 Hasil dari training citra golongan darah .. 49 Tabel 3.......................2 Hasil dari training citra golongan darah ......DAFTAR TABEL Tabel 2.............................................................................................. 51 Tabel 3..................... 52 Tabel 3.......4 Hasil dari training citra golongan darah ......10 Hasil dari training citra golongan darah .....................2 Data uji coba .............. 54 Tabel 3....................... 51 Tabel 3................................................. 50 Tabel 3................ 49 Tabel 3............................ 54 Tabel 4.......................................................1 Hasil dari training citra golongan darah ............

...................................6 Gambar 4................................................... 43 Flowchart proses binerisasi ..................3 Gambar 2.. 17 Struktur jaringa saraf tiruan........................9 Gambar 4.............................. 57 Form proses training .......1 Gambar 2............ 11 Proses deteksi tepi citra ................. 48 Form Utama .............................2 Gambar 3.......................... 46 Diagram alir proses pelatihan .................................................................................................................................................................. 60 Form image process ..... 45 Diagram alir deteksi tepi ................................... 28 Arsitektur JST single layer net ................................3 Gambar 4......... 35 Object TreeView pada IDE Delphi............................10 Gambar 3...................4 Gambar 2......... 40 Flowchart proses pengenalan citra darah ............ 55 Form Proses Awal.................. 61 Citrabhasil deteksi tepi ......5 Gambar 3..............4 Gambar 4..........2 Gambar 2............. 56 Pengenalan golongan darah .... 36 Diagram alir sistem secara keseluruhan .... 17 Hasil citra dari deteksi tepi ....8 Gambar 3....................................5 Gambar 4.................. 34 Form Designer ..............................................................................................................................7 Diagram Pengolahan Citra .................................................................7 Gambar 3..........................................................................4 Gambar 3................7 Gambar 2........................................DAFTAR GAMBAR Gambar 2...6 Gambar 2..................................................................... 57 Form Utama ........................... 78 Hasil cetak setelah dilakukan pengenalan ...............1 Gambar 3.................................................... 78 11 ......... 60 Contoh Input Image dari botton ambil citra . 62 Input data training ...................................................................... 29 Arsitektur JST multi layer net .......................3 Gambar 3..........................6 Gambar 3...........................................2 Gambar 4........................9 Gambar 2.......... 29 Bagian-bagian IDE Delphi ............................ 27 Fungsi aktivasi sigmoid biner .......................8 Gambar 2......... 68 Aplikasi pengenalan pola golongan darah manusia....5 Gambar 2..........................1 Gambar 4..........................

DAFTAR ISI HALAMAN PERSETUJUAN...............................................................................iii HALAMAN PENGESAHAN...............................................................................iv PERSEMBAHAN.................................................................................................vi MOTTO.................................................................................................................7 KATA PENGANTAR..........................................................................................8 DAFTAR TABEL.................................................................................................10 DAFTAR GAMBAR............................................................................................11 DAFTAR ISI.........................................................................................................12 ABSTRAK............................................................................................................14 BAB I PENDAHULUAN ............................................................................................... 1 A. LATAR BELAKANG....................................................................................1 B. RUMUSAN MASALAH................................................................................5 C. TUJUAN..........................................................................................................5 D. BATASAN MASALAH.................................................................................5 E. MANFAAT PENELITIAN.............................................................................6 F. METODOLOGI PENELITIAN......................................................................6 G. FASE ANALISIS...........................................................................................7 H. FASE DESAIN...............................................................................................7 I. SISTEMATIKA PENULISAN SKRIPSI........................................................8 BAB II TINJAUAN PUSTAKA..................................................................................... 10 2.1 TEORI DASAR PENGOLAHAN CITRA................................................10 2.1.1 Format Citra ...................................................................................... 11 2.1.1.1 Citra Biner ...................................................................................... 11 2.1.1.2 Citra Skala Keabuan ....................................................................... 12 2.1.1.3 Citra Warna .................................................................................... 12 2.1.1.4 Citra Warna Berindeks.................................................................... 12 2.1.2 Operasi Pengolahan Citra ................................................................. 13 2.2 GOLONGAN DARAH.............................................................................19 2.3 PENGENALAN POLA.............................................................................22 2.1.4 Pengertian Pola .................................................................................. 22 2.1.5 Metode Pengenalan ........................................................................... 24

12

2.4 JARINGAN SARAF TIRUAN..................................................................27 2.5 BORLAND DELPHI.................................................................................33 2.5.1 Mengenal IDE Delphi ........................................................................ 33 2.5.2 Struktur File ...................................................................................... 37 2.5.3 Code Editor ....................................................................................... 38 BAB III DESAIN DAN PERANCANGAN ..................................................................... 39 A. DESKRIPSI SISTEM...................................................................................39 B. DESAIN SISTEM.........................................................................................41 1. Desain Data ............................................................................................ 41 2. Data Masukan ........................................................................................ 42 C. PENGENALAN POLA GOLONGAN DARAH MANUSIA MENGGUNAKAN JST BACKPROPAGATIO...............................................42 1. Input image ............................................................................................ 44 2. Preprocessing ........................................................................................ 44 D. DESAIN ANTARMUKA..........................................................................55 1. Desain Menu Tampilan Utama ............................................................... 55 2. Desain Menu Tampilan proses awal ....................................................... 55 3. Desain Menu Tampilan Halaman Pengenalan Golongan Darah .............. 56 BAB IV ................................................................................................................. HASIL DAN PEMBAHASAN .......................................................................... 58 A. LINGKUNGAN UJI COBA.........................................................................58 B. DATA UJI COBA.........................................................................................59 C. PENJELASAN PROGRAM.........................................................................59 1. Proses Menampilkan Halaman Utama .................................................... 60 2. Proses Menampilkan Halaman Deteksi Tepi........................................... 60 3. Help ....................................................................................................... 77 D. PEMBAHASAN DATA HASIL UJI COBA...............................................77 BAB V PENUTUP ......................................................................................................... 83 DAFTAR PUSTAKA ............................................................................................84

13

ABSTRAK Wulansari, Zunita. Pengenalan Pola Golongan Darah Menggunakan Jaringan Saraf Tiruan Back Propagation. Skripsi, Jurusan Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Maulana Malik Ibrahim (UIN) Malang. Suhartono, M. Kom dan Zainal abidin, M.Kom. Kemajuan ilmu pengetahuan dan teknologi ternyata telah banyak membawa perubahan bagi kehidupan manusia, baik dalam cara berpikir, sikap, gaya hidup atau tingkah laku. Perkembangan teknologi komputer menjadikan hidup lebih fleksibel, mudah menjangkau daerah-daerah yang luas, dan otomatisasi di segala bidang. Akhir-akhir ini pengolahan citra digital di banyak negara maju menjadi bidang yang digeluti oleh banyak peneliti karena menarik untuk diterapkan pada berbagai kegiatan, baik kegiatan analisis maupun produksi. Berbagai aspek penelitian dan algoritma pengolahan citra diterapkan dalam bidang kedokteran, biologi, industri, dan bidang yang lain. Untuk keperluan analisis, pengolahan citra mampu melakukan analisis citra digital dalam menentukan pola sidik jari, pola golongan darah, pengenalan pola tulisan tangan, perhitungan koloni suatu mikroba, ataupun memperbaiki citra. Seseorang perlu untuk mengetahui golongan darahnya masing-masing. Banyak mamfaat manusia bila mengetahui golongan darahnya. Misalanya untuk melakukan tranfusi darah manusia harus memeriksakan golongan darahnya terlebih dahulu. Apabila telah mengetahui golongan darhnya maka manusia tersebut tidak perlu melakuakan pemeriksaan golongan darahnya. Karena bila kita akan melakukan tranfusi darah, manusia harus memiliki golongan darah yang sama. Macam golongan darah pada manusia terdiri dari A, B, AB, O. Dengan pendekatan kecerdasan buatan, manusia berusaha menirukan bagaimana pola-pola dibentuk. Jaringan Syaraf Tiruan telah dikembangkan sebagai generalisasi model matematik dari pembelajaran manusia dan juga kecerdasan buatan juga membatu pekerjaan manusia misalkan dalam proses pendeteksian golongan darah. Oleh karena itu dibuat aplikasi pengenalan pola golongan darah menggunakan jaringan saraf tiruan dengan menggunakan metode jaringan saraf tiruan backpropagation. Dari hasil uji coba perangkat lunak yang telah dilakukan menunjukkan bahwa perangkat lunak yang dibuat mampu mengenali golongan darah manusia Uji coba dilakukan sebanyak 40 kali dengan citra yang berbeda, presentase pengenalan pola golongan darah pada manusia yaitu 77,8% dan keberhasilan aplikasi sangat tergantung pada hasil citra yang diambil

Kata kunci: Pengenalan, Citra, Jaringan Saraf Tiruan, Backpropagation

14

tidak ada Tuhan (yang berhak disembah) melainkan dia yang hidup kekal lagi terus menerus mengurus (makhluk-Nya). Al-Baqarah/2 ayat 255) 1 Kursi dalam ayat ini oleh sebagian mufassirin diartikan dengan ilmu Allah dan ada pula yang mengartikan dengan kekuasaan-Nya 15 . Kepunyaan-Nya apa yang di langit dan di bumi. tidak mengantuk dan tidak tidur. dan Allah tidak merasa berat memelihara keduanya. Kursi1 Allah meliputi langit dan bumi. dalam al-Quran surat Al-Baqarah/2 : 255 di bawah ini:                                                            Artinya: “Allah. manusia harus selalu berkeyakinan bahwa Allah adalah Sang Pencipta.BAB I PENDAHULUAN A. serta membudayakan semua ciptaan Allah yang berada di bumi. manusia dapat melaksanakan tugas kekhalifahan tersebut. tiada yang dapat memberi syafa'at di sisi Allah tanpa izin-Nya? Allah mengetahui apa-apa yang di hadapan Allah melainkan apa yang dikehendaki-Nya. Dalam mencari ilmu. melestarikan. Tidak dibenarkan untuk melakukan perusakan terhadap semua ciptaan Illahi. Dengan ilmu pengetahuan dan teknologi. LATAR BELAKANG Keberadaan manusia di muka bumi ini sebagai khalifah fil ardh (penguasa di bumi) mempunyai tugas untuk memelihara. dan Allah Maha Tinggi lagi Maha besar.” (QS. Sesuai dengan firman Allah SWT.

baik dalam cara berpikir. Hal tersebut dimaksudkan agar seorang Sarjana Teknik bisa menjadi ulama yang berfikir dengan mengkorelasikan al-Quran dan ilmu pengetahuan yaitu menghubungkan ilmu agama dengan program studi tersebut. misalnya saja dalam bidang pendidikan. sikap. tiadalah Engkau menciptakan Ini dengan sia-sia. Maha Suci Engkau.” (QS. dan otomatisasi di segala bidang. Maka peliharalah kami dari siksa neraka. baik secara sembunyi-sembunyi ataupun terang-terangan. gaya hidup atau tingkah laku. mudah menjangkau daerah-daerah yang luas.Di zaman teknologi yang semakin berkembang seperti sekarang ini. Informatika sebagai salah satu bidang dari ilmu 16 . alImron/3: 191) Kemajuan ilmu pengetahuan dan teknologi ternyata telah banyak membawa perubahan bagi kehidupan manusia. Beberapa metode dakwah Islam telah dikembangkan di berbagai bidang. Anjuran untuk selalu berfikir di dalam segala macam kegiatan telah diterangkan dalam al-Quran surat Al-Imron/3 : 191 yang bebunyi sebagai berikut:                       Artinya “(yaitu) orang-orang yang mengingat Allah sambil berdiri atau duduk atau dalam keadan berbaring dan mereka memikirkan tentang penciptaan langit dan bumi (seraya berkata): "Ya Tuhan kami. Perkembangan teknologi komputer menjadikan hidup lebih fleksibel. Universitas Islam Negeri Malang sebagai lembaga pendidikan yang bernuansa Islami telah menyediakan jurusan Teknik Informatika sebagai salah satu program studi barunya. banyak cara yang bisa dilakukan dalam berdakwah oleh seorang muslim.

industri. Sesua dengan firman Allah QS. manusia berusaha menirukan bagaimana pola-pola dibentuk. baik kegiatan analisis maupun produksi. perhitungan koloni suatu mikroba. Dengan pendekatan kecerdasan buatan. manusia harus memiliki golongan darah yang sama. pola golongan darah.pengetahuan dan teknologi yang berkembang dengan cepat dimaksudkan agar dapat berperan membantu manusia memperoleh kehidupan yang lebih sempurna sesuai dengan syariat yang ditentukan oleh Allah dan Rasulullah SAW. ataupun memperbaiki citra. dan bidang yang lain. Untuk keperluan analisis. B. pengolahan citra mampu melakukan analisis citra digital dalam menentukan pola sidik jari. pengenalan pola tulisan tangan. Banyak mamfaat manusia bila mengetahui golongan darahnya. Apabila telah mengetahui golongan darhnya maka manusia tersebut tidak perlu melakuakan pemeriksaan golongan darahnya. Seseorang perlu untuk mengetahui golongan darahnya masing-masing. Berbagai aspek penelitian dan algoritma pengolahan citra diterapkan dalam bidang kedokteran. Karena bila kita akan melakukan tranfusi darah. Misalanya untuk melakukan tranfusi darah manusia harus memeriksakan golongan darahnya terlebih dahulu. biologi. O. Akhir-akhir ini pengolahan citra digital di banyak negara maju menjadi bidang yang digeluti oleh banyak peneliti karena menarik untuk diterapkan pada berbagai kegiatan. Al-A’raaf/07 Ayat: 4 17 . AB. Jaringan Syaraf Tiruan telah dikembangkan sebagai generalisasi model matematik dari pembelajaran manusia dan juga kecerdasan buatan juga membatu pekerjaan manusia misalkan dalam proses pendeteksian golongan darah. Macam golongan darah pada manusia terdiri dari A.

   “setiapa penduduk surae dan penduduk neraka diketahui dari tanda-tanda mereka”. dan mereka menyeru penduduk surga: "Salaamun 'alaikum3". penghuni surga dikenal dengan tanda yang ada pada mereka yaitu wajah yang putih dan nampak elok.” maksudnya adalah diantara neraka dan surga ada pembatas atau pagar. Mereka belum memasukinya tetapi sudah sangat ingin memasukinya. sedang mereka ingin segera (memasukinya)…”. ‘’Dan 2 3 Al A'raaf artinya: tempat yang tertinggi di antar surga dan neraka Artinya: Mudah-mudahan Allah melimpahkan Kesejahteraan atas kamu 18 . Maksudnya penghuni surga dan neraka “…terdapat hijab…” pemisah yang tinggi. mereka belum lagi memasukinya.                      Artinya: Dan di antara keduanya (penghuni surga dan neraka) ada batas. Al-Hadid/57: 13). Al-A’raaf/07 Ayat: 4) Firman Allah SWT. mereka mendapat kenikmatan. mereka tetap di tempat tersebuthingga diputuskanlah kepada orang-orang yang berada diposisi tersebut. sedang mereka ingin segera (memasukinya). Diatas tempat itu terdapat Bani Adam yang kebaikannya dan keburukannya mereka sama. Pembatas (pagar) disini adalah seperti yang disebutkan oleh Allahdalam firman-Nya “lalu diadakan diantara mreka dinding” (QS. sedang kan penghuni neraka berwajah hitam dan bermata biru. Dan mereka mendapat keputusan untuk masuk kedalam surga Insya Allah.( QS. “…mereka belum lagi memasukinya. “…dan mereka menyeru penduduk surga…” orang-orang yang bertempat di A’Raaf menyeru penghuni surga dengan mengatakan “Salaamun’alaikum”.   “dan diantara keduanya ada batas. dan di atas A'raaf 2 itu ada orang-orang yang Mengenal masing-masing dari dua golongan itu dengan tanda-tanda mereka.

” yaitu para penghuni neraka. bermata biru. Mereka melihat kea rah penghuni neraka. 19 . D. C. maka mereka mendapatkannya berwajah hitam.apabila pandangan mereka dialihkan kearah penghuni neraka…”. BATASAN MASALAH Pada sistem untuk mengenali pola citra golongan darah manusia ini diberikan pembatasan masalah sebagai berikut: 1. Metode yang dipakai adalah jaringan syaraf tiruan dengan algoritma backpropagation.ditimba azab dari atas dan bawah. TUJUAN Tujuan penelitian ini adalah untuk merancang dan membuat aplikasi yang dapat digunakan digunakan untuk mengenali pola citra golongan darah pada manusia. RUMUSAN MASALAH Berdasarkan latar belakang tersebut. B. janganlah Engkau tempatka kami bersama-sama orangorang yang zalim itu. “ya tuhan kami. Citra masukan yang digunakan adalah citra dengan resolusi 512 x 256 pixel dan memiliki 256 derajat keabuan 2. rumusan masalah yang dapat diambil adalah bagaimana merancang dan membuat aplikasi yang dapat digunakan untuk mengenali pola citra golongan darah pada manusia. Sebab mereka memasukinya karena kezaliman mereka sendiri. mereka mengangkat suara seraya berkata.

F.E. Manfaat Bagi Pihak Akademis (Universitas Islam Negeri Malang): Sebagai kontribusi positif untuk kemajuan wawasan keilmuwan teknologi informasi yang diintegrasikan dengan agama serta untuk pengembangan pada masa yang akan datang 3. Judul ini telah dikonsultasikan kepada para dosen Pembimbing dan disetujui 2. Pembuatan proposal Setelah didapatkan judul proses selanjutnya dibuat proposal untuk 20 . diantaranya : 1. METODOLOGI PENELITIAN Metode yang akan digunakan dalam penelitian ini terdiri dari langkahlangkah berikut: 1. Fase Perencanaan Fase perencanaan terdiri dari beberapa kegiatan. MANFAAT PENELITIAN 1. 2. khususnya permasalahan untuk mengenali pola citra golongan darah pada manusia . Manfaat bagi masyarakat: Mempermudah masyarakat untuk mengetahui golongan darah mereka. Manfaat Bagi Peneliti: Penelitian ini bermanfaat untuk mengembangkan wawasan keilmuwan dan menambah pengetahuan. dipilih judul yang cocok dengan kemampuan. Studi kelayakan judul Pada studi kelayakan judul.

Mengumpulkan data-data yang berhubungan Dari masalah yang timbul. FASE DESAIN 1. dilakukan pengumpulan data yang berkaitan dengan masalah yang diangkat. H. sehingga lebih jelas masalah yang akan dibahas 2. FASE ANALISIS 1. Menganalisis data Data-data dikelompokkan sehingga data tersebut dapat digunakan sebagai bahan sistem informasi. Studi pustaka yaitu mencari data di buku-buku dan internet 3.dilakukan pengujian 3. Output Awal yang digunakan untuk memperkirakan yang dihasilkan dari masalah yang diangkat 21 . Observasi yaitu melakukan pengamatan langsung di lapangan 2. Seminar proposal Proposal yang sudah jadi dilakukan pengujian dengan diadakannya seminar proposal. G. Mengidentifikasi masalah Masalah yang telah dikumpulkan diidentifikasi. Pengumpulan data bisa dilakukan dengan metode : 1.

yang mengulas secara garis besar tentang proses awal sampai dengan hasil untuk pengenalan pola golongan darah pada manusia. rumusan masalah. dan antar muka dari pengnalan pola golongan darah pada manusia yang dilengkapi dengan beberapa 22 . tujuan. Input Dari hasil. BAB 3 DESAIN DAN PERANCANGAN SISTEM Berisi uraian tentang perancangan sistem. Proses Setelah output dan input selesai. batasan permasalahan. Inteface Setelah semua selesai baru dibuat desain tampilan aplikasi I.2. metodologi. dapat ditentukan apa saja yang dibutuhkan untuk didapat hasil yang diinginkan 3. manfaat. BAB 2 TINJAUAN PUSTAKA Berisi teori dasar pendukung penelitian ini. SISTEMATIKA PENULISAN SKRIPSI Sistematika dalam penulisan skripsi ini akan dibagi menjadi beberapa bab sebagai berikut: BAB 1 PENDAHULUAN Berisi latar belakang. algoritma. dan sistematika penulisan. baru dilakukan untuk prosess digambarkan dengan elemen-elemen Sistem Informasi 4.

23 . BAB 5 PENUTUP Berisi kesimpulan yang dapat diambil dari penelitian ini beserta saran untuk pengembangan selanjutnya. BAB 4 HASIL DAN PEMBAHASAN Berisi hasil uji coba berdasarkan parameter-parameter yang ditetapkan. Selain itu. Untuk mengetahui aplikasi tersebut telah dapat menyelesaikan permasalahan yang dihadapi sesuai dengan yang diharapkan. dan kemudian dilakukan analisa terhadap hasil uji coba tersebut.diagram alir (flowchart) beserta penjelasannya. pada bab ini berisi kontribusi program yang telah dibuat.

kabur (blurring). khususnya dengan menggunakan komputer. kurang tajam. namun seringkali citra tersebut mengalami penurunan mutu (degradasi).BAB II TINJAUAN PUSTAKA 2. misalnya mata pada manusia. Pengolahan citra adalah pemrosesan citra. Pantulan cahaya ini ditangkap oleh alat-alat optik. citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. misalnya mengandung cacat atau derau (noise). kamera. Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin). Bidang studi yang menyangkut hal ini adalah pengolahan citra (image processing). Sumber cahaya menerangi objek. objek memantulkan kembali sebagian dari berkas cahaya tersebut. Sehingga bayangan objek yang disebut citra tersebut terekam. citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Operasioperasi pengolahan citra diterapkan pada citra apabila (Munir.1 TEORI DASAR PENGOLAHAN CITRA Secara harfiah. warnanya terlalu kontras. maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Ditinjau dari sudut pandang matematis. dan sebagainya. 2004: 3): 24 . menjadi citra yang kualitasnya lebih baik. Sehingga citra semacam ini akan menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Meskipun citra kaya informasi. scanner. dan sebagainya.

Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra. Citra Pengolahan citra Citra Gambar 2. Elemen di dalam citra perlu dikelompokkan. 2005: 8) Tabel 2. Untuk itu.1.1.1 Format Citra Skala Keabuan Rentang Nilai Keabuan Piksel Depth 21 (2 nilai) 22 (4 nilai) 23 (16 nilai) 28 (256 nilai) 0. Format citra yang banyak dipakai adalah citra biner.1 Format Citra Komputer dapat mengolah isyarat-isyarat elektronik digital yang merupakan kumpulan sinyal biner (bernilai 0 dan 1). dicocokkan. skala keabuan. 1 0 sampai 7 0 sampai 15 0 sampai 255 1 bit 2 bit 3 bit 8 bit 2. Contoh yang paling lazim adalah hitam bernilai 0 dan putih bernilai 1. Sebagian citra perlu digabung dengan bagian citra yang lain. masing-masing merepresentasikan warna tertentu. 25 .1 Diagram Pengolahan Citra 2. warna.1 Citra Biner Pada citra biner. dan warna berindeks (Balza. setiap nilai bernilai 0 atau 1.1. citra dgital harus mempuyai format tertentu yang sesuai sehingga dapat merepresentasikan obyek pencitraan dalam bentuk kombinasi data biner. atau diukur.

yaitu merah. jumlah warna yang ada dalam suatu citra terkadang sangat terbatas. hijau dan biru. disediakan format citra warna berindeks. Format citra ini sering disebut citra RGB. setiap titik mempunyai warna spesifik yang merupakan kombinasi dari tiga warna dasar. 24 Jumlah kombinasi warna yang mungkin untuk format citra ini adalah 2 atau lebih dari 16 juta warna.2 Citra Skala Keabuan Disebut skala keabuan karena pada umumnya warna yang dipakai adalah antara hitam sebagai warna minimal dan putih sebagai warna maksimal.1. karena banyaknya warna dalam citra tidak mungkin melebihi banyaknya titik dalam citra itu sendiri. Dengan kasus seperti ini.1.1.1. Setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit). 26 . sehingga warna di antara keduanya adalah abu-abu. 2. 2. sebagai contoh dipilih warna minimalnya adalah putih dan warna maksimalnya adalah merah.4 Citra Warna Berindeks Jumlah memori yang dibutuhkan untuk format citra warna true color adalah tiga kali jumlah titik yang ada dalam citra yang ditinjau.1. Di lain pihak. Oleh karena itu. dinamakan true color. maka semakin besar nilainya semakin besar pula intensitas warna merahnya.2. dengan demikian bisa dianggap mencakup semua warna yang ada.1.3 Citra Warna Pada citra warna. Namun dalam prakteknya warna yang dipakai tidak terbatas pada warna abu-abu.

di antaranya: pencerminan (flipping). di mana karakteristik global (biasanya berupa sifat statistik) dari citra digunakan untuk memodifikasi nilai setiap titik. modifikasi tersebut dikelompokkan menjadi: 1. Operasi geometri. penskalaan (scaling/zooming). Operasi titik. di mana data dari titik-titik yang bersebelahan (bertetangga) dengan titik yang ditinjau ikut berperan dalam mengubah nilai. pemotongan citra diolah dengan cara (cropping). 6. Beberapa contoh pada operasi geometri. ukuran. Operasi global. 3. yaitu operasi pengolah citra yang berhubungan dengan perubahan bentuk geometri citra.1. Secara garis besar.2 Operasi Pengolahan Citra Pengolahan citra pada dasarnya dilakukan dengan cara memodifikasi setiap titik dalam citra tersebut sesuai keperluan. baik bentuk. informasi setiap titik merupakan indeks dari suatu tabel yang berisi informasi warna yang tersedia. 27 . di mana setiap titik diolah secara tidak menempel terhadap titiktitik yang lain 2. rotasi/pemutaran (rotating). Operasi temporal/berbasis bingkai. Operasi banyak titik bertetangga. yaitu operasi yang berdasarkan segmen atau bagian dalam citra yang menjadi perhatian. dan pendoyongan (skew) 5. atau orientasinya.Pada format ini. yang disebut palet warna atau color map. 4. 2. di mana dikombinasikan dengan citra lain. Operasi morfologi.

2.1.2.1 Gray-Scale Dalam komputasi, suatu citra digital grayscale atau greyscale adalah suatu citra dimana nilai dari setiap pixel merupakan sample tunggal. Citra yang ditampilkan dari citra jenis ini terdiri atas warna abu-abu, bervariasi pada warna hitam pada bagian yang intensitas terlemah dan warna putih pada intensitas terkuat. Citra grayscale berbeda dengan citra ”hitam-putih”, dimana pada konteks komputer, citra hitam putih hanya terdiri atas 2 warna saja yaitu ”hitam” dan ”putih” saja. Pada citra grayscale warna bervariasi antara hitam dan putih, tetapi variasi warna diantaranya sangat banyak. Citra grayscale seringkali merupakan perhitungan dari intensitas cahaya pada setiap pixel pada spektrum

elektromagnetik single band . Citra grayscale disimpan dalam format 8 bit untuk setiap sample pixel, yang memungkinkan sebanyak 256 intensitas. Format ini sangat membantu dalam pemrograman karena manupulasi bit yang tidak terlalu banyak. Pada aplikasi lain seperti pada aplikasi medical imaging dan remote sensing biasa juga digunakan format 10,12 maupun 16 bit. 2.1.2.2 Pengambangan gambar (Image Tresholding) Pengambangan gambar (Image tresholding) digunakan untuk mengubah citra dengan format skala keabuan (grayscale), yang mempunyai kemungkinan nilai lebih dari 2 ke citra biner yang hanya memiliki 2 buah nilai (0 dan 1). Tujuan dari thresholding adalah proses untuk memisahkan foreground (latar depan) dengan background (latar belakang) dari suatu citra. Proses thresholding dilakukan dengan cara melihat perbedaan intensitas warna dari suatu citra. Input untuk proses thresholding ialah citra abu-abu (grayscale image) atau citra warna

28

(color image). Output dari proses ini ialah binary image, yang mana piksel hitam mewakili foreground dan piksel putih mewakili background, atau sebaliknya. Binary image adalah suatu image yang mana pikselnya hanya memiliki dua nilai intensitas. Nilai intensitas yang sering digunakan yaitu 0 untuk piksel hitam, 1 atau 256 untuk piksel putih. Dalam image tresholding ini, ditentukan nilai T setelah melihat grey level dari citra tersebut. T adalah nilai minimum di antara 2 nilai maksimal yang ada pada nilai gray level citra tersebut. Proses selanjutnya adalah mengganti setiap intensitas warna yang ada dalam citra tersebut. Jika intensitas warnanya lebih kecil atau sama dengan T maka intensitasnya diganti ‘0‘. Tetapi jika intensitas warnanya lebih besar atau sama dengan T maka intensitasnya diganti ’1’. Secara matematis memiliki model sebagai berikut:
0, g 2 ( x, y )  1,   jika jika g1 ( x, y )  T g1 ( x, y )  T

Dari proses tresholding di atas maka akan didapat hasilnya apabila jumlah warna piksel mempunyai kedalaman warna yang kurang dari nilai tresholding maka warna piksel tersebut akan menjadi 0 (hitam) dan juga sebaliknya. 2.1.2.3 Citra Biner Citra biner adalah citra yang hanya memiliki 2 kemungkinan nilai pada setiap piksel-pikselnya, yaitu 0 atau 1. Nilai 0 adalah background points, biasanya bukan merupakan bagian dari citra sesungguhnya. Sedangkan nilai 1 adalah region points, yaitu bagian dari citra sebenarnya (bukan latar belakang).

29

Citra biner merupakan citra yang telah melalui proses pemisahan piksel – piksel berdasarkan derajat keabuan yang dimiliki. Pembentukan citra biner memerlukan nilai batas keabuan yang akan digunakan sebagai nilai patokan. Pixel dengan derajat keabuan lebih besar dari nilai batas akan diberi nilai 1 dan sebaliknya piksel dengan derajat keabuan lebih kecil dari nilai batas akan diberi nilai 0.

Jika a1 = 0 dan a2 = 1, serta T = gray level/2, maka operasi di atas mentransformasikan suatu citra menjadi citra biner. 2.1.2.4 Edge Detection Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra, tujuannya adalah : 1. Untuk menandai bagian yang menjadi detail citra 2. Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya efek dari proses akuisisi citra Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya. Gambar 8.1 berikut ini meng-gambarkan bagaimana tepi suatu gambar diperoleh.

30

3 terlihat bahwa hasil deteksi tepi berupa tepi-tepi dari suatu gambar. yang mempunyai karakteristik: 31 .Gambar 2.2 Poses Deteksi Tepi Citra Perhatikan hasil deteksi dari beberapa citra menggunakan model differensial di atas: Gambar 2.3 Hasil Dari Deteksi Tepi Pada gambar 2. Berdasarkan prinsip-prinsip filter pada citra maka tepi suatu gambar dapat diperoleh menggunakan High Pass Filter (HPF). Bila diperhatikan bahwa tepi suatu gambar terletak pada titik-titik yang memiliki perbedaan tinggi.

y) sebagai berikut: 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 Dengan menggunakan filter : H(x.1] Maka Hasil filter adalah : 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 Bila digambarkan maka proses filter di atas mempunyai masukan dan keluaran sebagai berikut Ada dua metode untuk dapat mendeteksi tepi yaitu: 1. The Prewitt operators.y)=[-1. Metode Second-Order Derivative Edge Detection Sedangkan yang termasuk metode pertama (first-order) adalah: 1. 2. 32 . Metode First-Order Derivative Edge Detection 2.Contoh: Diketahui fungsi citra f(x. The Roberts operators.

Canny. sel-sel dan partikel yang menyerupai sel. 2. kapiler dan vena yang mengirimkan oksigen dan zat-zat gizi ke jaringan dan membawa karbon dioksida dan hasil limbah lainnya. 4.1. Darah juga menyuplai jaringan tubuh dengan nutrisi. Laplacian. mengangkut zat-zat sisa metabolisme.2 Darah Darah merupakan gabungan dari cairan. The Sobel operators. Dasar pemikiran dari operator laplacian adalah penggunaan turunan kedua untuk mendeteksi garis pinggir yang dihasilkan oleh perubahan kontras gray level pada citra. 2.2 GOLONGAN DARAH 2. Fungsi utamanya adalah mengangkut oksigen yang diperlukan oleh sel-sel di seluruh tubuh. 2. Kemudian mencari titik pelana (zero crossing) untuk digunakan sebagai lokasi garis tepi (edge). Dalam Skripsi ini metode yang digunakan adalah metode laplacian. dan yang termasuk metode kedua (second-order) adalah: 1.1. yang mengalir dalam arteri. First-Order of Gausssian(FDOG).3. dan mengandung berbagai bahan penyusun system imun yang bertujuan mempertahankan tubuh dari berbagai penyakit.3 Golongan Darah Golongan darah adalah ciri khusus darah dari suatu individu karena adanya perbedaan jenis karbohidrat dan protein pada permukaan membran sel 33 .

orang dengan golongan darah B-negatif hanya dapat menerima darah dari orang dengan dolongan darah B-negatif atau O-negatif. golongan darah ditentukan oleh jumlah zat (kemudian disebut antigen) yang terkandung di dalam sel darah merah. Individu dengan golongan darah O memiliki sel darah tanpa antigen. Individu dengan golongan darah AB memiliki sel darah merah dengan antigen A dan B serta tidak menghasilkan antibodi terhadap antigen A maupun B. Individu dengan golongan darah B memiliki antigen B pada permukaan sel darah merahnya dan menghasilkan antibodi terhadap antigen A dalam serum darahnya. orang dengan golongan darah AB-positif dapat menerima darah dari orang dengan golongan darah ABO apapun dan disebut resipien universal. Sehingga. Namun. Namun. orang dengan golongan darah A-negatif hanya dapat menerima darah dari orang dengan golongan darah A-negatif atau O-negatif. orang 34 . sebagai berikut: 1. orang dengan golongan darah AB-positif tidak dapat mendonorkan darah kecuali pada sesama AB-positif. 2. Sehingga.darah merah. Individu dengan golongan darah A memiliki sel darah merah dengan antigen A di permukaan membran selnya dan menghasilkan antibodi terhadap antigen B dalam serum darahnya. tapi memproduksi antibodi terhadap antigen A dan B. orang dengan golongan darah O-negatif dapat mendonorkan darahnya kepada orang dengan golongan darah ABO apapun dan disebut donor universal. 3. Golongan darah manusia ditentukan berdasarkan jenis antigen dan antibodi yang terkandung dalam darahnya. 4. Sehingga. Sehingga. Dengan kata lain.

Karena menyumbangkan darah dengan iklas adalahtermasukl amal kemanusiaan yang sangat dihargai dan dianjurkan (mahbub) oleh islam. Golongan darah berguna pada saat kita mau melakukan transfusi darah. penyakit. bukan karena orang itu 35 . Islam menganjurkan seorang muslim atau muslimah menyumbangkan dearahnya untuk tujuan kemanusiaan. Yaitu proses tranfer darah ke mereka yang membutuhkan. misalakan untuk anggota keluarga sendiri. bukan komersialisasi baik darahnya disumbangkan secara langsung kepada orang yang memerlukannya. bahkan kematian. maupun diserahkan kepada palang merah atau bank darah untuk disimpan bila sewaktu-waktuuntuk menolong orang yang memerlukan.atau sebab lain. Jika tidak akan terjadi masalah yang fatal.dengan golongan darah O-negatif hanya dapat menerima darah dari sesama Onegatif. karena dapat menyelamatkan jiwa manusia. misal karena kekurangan darah oleh sebab kecelakaan. bahwa: Barangsiapa yang membunuh seorang manusia. sesuai dengan firman Allah QS Al-Maidah Ayat 32:                                           Artinya: Oleh karena itu Kami tetapkan (suatu hukum) bagi Bani Israil. Darah yang di berikan kepada orang yang menerima harus ”cocok”.

( QS Al-Maidah Ayat 32) Dalam firman Allah diatas sangan dianjurkan antar sesama manusia untuk tolong meolong. Kami beri mereka rezki dari yang baik-baik dan Kami lebihkan mereka dengan kelebihan yang sempurna atas kebanyakan makhluk yang telah Kami ciptakan. karena orang seorang itu adalah anggota masyarakat dan karena membunuh seseorang berarti juga membunuh keturunannya 6 Ialah: sesudah kedatangan Rasul membawa keterangan yang nyata 7 Maksudnya: Allah memudahkan bagi anak Adam pengangkutan-pengangkutan di daratan dan di lautan untuk memperoleh penghidupan 36 . atau bukan karena membuat kerusakan dimuka bumi. Ciri-ciri tersebut digunakan untuk membedakan suatu pola 4 5 Yakni: membunuh orang bukan karena qishaash Hukum ini bukanlah mengenai Bani Israil saja.1. Allah memandang bahwa membunuh seseorang itu adalah sebagai membunuh manusia seluruhnya. Maka seolah-olah Dia telah memelihara kehidupan manusia semuanya. dan Barangsiapa yang memelihara kehidupan seorang manusia. Maka seakan-akan Dia telah membunuh manusia seluruhnya5.4 Pengertian Pola Pola adalah entitas yang terdefinisi dan dapat diidentifikasi melalui ciricirinya (features). Kami angkut mereka di daratan dan di lautan7.3 PENGENALAN POLA 2. mesklipun berlainan agama. sebagaimana firmanNya terdapa dalam QS. Al-Isro’ ayat 70) 2. (QS. dan Sesungguhnya telah datang kepada mereka Rasul-rasul Kami dengan (membawa) keterangan-keterangan yang jelas. tetapi juga mengenai manusia seluruhnya.(membunuh) orang lain4. Al-Isro’ ayat 70:                   Artinya: Dan Sesungguhnya telah Kami muliakan anak-anak Adam. kemudian banyak diantara mereka sesudah itu6 sungguh-sungguh melampaui batas dalam berbuat kerusakan dimuka bumi. Karena Allah sebagai khalik alam semesta termasuk manusia berkenan memuliakan manusia.

Khusus pada pola yang terdapat di dalam citra. titik sudut.dengan pola lainnya. Pengenalan pola ini bersifat conceptually driven processing yang berarti bahwa proses dimulai dari pembentukan konsep pada objek yang dijumpai (informasi dari memori). Inti dari pengenalan pola adalah proses pengenalan suatu objek dengan menggunakan berbagai mode dimana dalam proses pengenalannya memiliki 37 . luas. Tepi c. kerumitan. dan pusat massa : frekuensi Pengenalan pola (pattern recognition) merupakan salah satu cabang ilmu komputer yang dapat diartikan sebagai pengumpulan data-data mentah untuk dapat diklasifikasikan dengan maksud dan tujuan tertentu. Sebagai contoh Tabel 2. nada. tekanan Lengkungan.3 Contoh pengelompokan pola berdasarkan cirinya Pola Huruf Suara Tanda tangan Sidik jari Ciri Tinggi. jumlah garis Ciri dari suatu pola diperoleh dari hasil pengukuran terhadap objek uji. intonasi. Kontur d. frekuensi. warna Panjang. elips. Spasial b. tebal. ciri-ciri yang dapat diperoleh berasal dari informasi: a. Ciri yang bagus adalah ciri yang memiliki daya pembeda yang tinggi sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat dilakukan dengan keakuratan yang tinggi. Wilayah/bentuk e. dan lingkaran : keliling. Hasil transformasi Fourier : intensitas piksel dan histogram : arah dan kekuatan : garis. lengkungan garis Amplitude.

"( Hujarat/49 ayat: 14) 38 . Sesungguhnya Allah Maha Pengampun lagi Maha Penyayang. Dalam firman Allah QS. Misalnya pengenalan dan analisa penyakit pada manusia. dan jika kamu taat kepada Allah dan Rasul-Nya. AlHujarat/49 ayat: 14:                                Artinya: Orang-orang Arab Badui itu berkata: "Kami telah beriman".1. Tujuan pengelompokan adalah untuk mengenali suatu objek dalam citra. metode statistik. Jadi. karena iman itu belum masuk ke dalam hatimu. Tingkat akurasi yang tinggi memiliki pengertian bahwa suatu objek yang secara manual (oleh manusia) tidak dapat dikenali tetapi bila menggunakan salah satu metode pengenalan yang diaplikasikan. Sedangkan metode statistik berdasarkan hasil analisa data yang sudah terkumpul. metode terstruktur dan lain sebagainya. Dia tidak akan mengurangi sedikitpun pahala amalanmu. informasi di proses sebagaimana otak manusia memproses informasi yang di dapat. menganalogikan cara berfikir pada otak manusia. Dengan JST.tingkat akurasi yang tinggi. Beberapa metode yang bisa digunakan untuk pengenalan pola adalah Jaringan Syaraf Tiruan (JST). Misalnya cara pengenalan wajah pada manusia.5 Metode Pengenalan Pengenalan pola bertujuan menentukan kelompok atau kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola tersebut. Katakanlah: "Kamu belum beriman. 2. tapi Katakanlah 'kami telah tunduk'.

Oleh karena itu Allah berfirman kepada Nabi Muhammad:       “katakanlah: kamu belum beriman tapi katakanlah kami telah tunduk ” Hai Muhammad.” Namun untuk memenangkan hati mereka. Tegasnya. katakanlah kepada orang-orang arab dusun tersebut. Iman adah membenarkan dan menundukkan diri serta memenuhi jiwa dengan keyakinan. demikian pula iman. Dia tidak akan mengurangi 8 Sa’id ibn Jubir. Akan tetapi katakanlah. “kamu belum boleh mengatakan bahwa kamu sudah beriman. ” orang-orang arab badui (Bani Asad) mengatakan: kami telah beriman kepada Allah dan Rasul-Nya.”      “iman belum masuk kedalam jawamu. Sebenernya mereka belum beriman dengan sempurna dan keimanan itu belum dijalankan dengan tulus dan iklas.   “orang-orang arab dusun berkata: kami telah beriman. maka masing-masing mencakup dua makna itu. islam disini dipakai dalam sebagian artrinya.8          “jika kamu taat kepada Allah dan Rasul-Nya. jika aku menghendakinya. sedangkan Islam hanya memperlihatkan tunduk dan mengerjakan apa yang diperintahkan oleh nabi saja. Dengan demikian terpeliharalah darah. akan tetapi baru masuk. Allah berfirman: sampai sekarang imanmu belum masuk kedadamu (jiwamu). kamu telah menjalani perintah-perintah agama pada lahiriahnya untuk melepaskan diri dari pembunuhan dan penawaran serta untuk memperoleh pembagian harta rampasan. Apabila kedua kalimat ini dipisahkan. Mujahid dan ibnu Zaid berkata: “Makna ‘akan tetapi kami telah Islam’ adalah ‘kami menyerahkan diri karena takutdibunuh dan di tawan 39 .

karena merupakan suatu kecerdasan maka pengenalan pola memerlukan fungsi-fungsi pengambil keputusan. beberapa ciri kemudian diekstrak dari karakter yang tidak dikenal. 1998) Pada dasarnya metode pengenalan sangatlah mudah. model matching. serta Maha Rahim. setelah dilakukan proses awal. dan analisis gambar (image analisys). tetapi sebagian besar metode yang digunakan dipinjam dari bidang pengenalan pola.     “Sesungguhnya Allah Maha Pengampun lagi Maha Penyayang” Allah mengampuni semua kesalahanmu dan keterlajuranmu. Tetapi permasalahannya ketika ditemukan gambaran dan 40 . Dia tidak akan mengazab seseorang yang bertobat. Metode pengenalan dapat diklasifikasikan menjadi 3 kelompok utama. Dari fungsi-fungsi inilah maka muncul berbagai teknik atau metode dalam mengenali suatu pola. model structural dan sintatical (Beigi. bahkan menambah kemuliaannya dan memaafkan dosa-dosanya. Demikian juga dalam pengenalan pola golongan darah pada manusia ini juga menggunakan cirri-ciri pengenalan pola yang telah menjadi bagian dari kecerdasan buatan (artificial intelegence).sedikitpun” Jika kamu menaati Allah dan rasul-Nya niscaya Allah tidak akan mengurangi sesuatupun dari amalan-amalanmu. Beberapa metode untuk memecahkan masalah pengenalan tulisan tangan telah disusun. kemudian diklasifikasikan ke dalam kelas-kelas yang memiliki banyak kemiripan dengan ciri-ciri tesebut. Bahkan akan menbyempurnakan semua pembalasannya untukmu dengan sesempurna-sesempurnanya. pemrosesan sinyal (signal processing). yaitu: statistical.

dan juga ketika menciptakan aturan-aturan dalam proses pengklasifikasian. Jaringan Syaraf Tiruan adalah paradigma pemrosesan suatu informasi yang terinspirasi oleh sistim sel syaraf biologi. Gambar 2. sama seperti otak yang memproses suatu informasi.4 JARINGAN SARAF TIRUAN Jaringan Syaraf Tiruan dibuat pertama kali pada tahun 1943 oleh neurophysiologist Waren McCulloch dan logician Walter Pits. 2. Pada jaringan otak manusia terdapat sel syaraf Neuron yang memiliki tiga komponen penyusun yang saling bekerja sama untuk mengolah sinyal-sinyal informasi. Pembuatan struktur jaringan syaraf tiruan diilhami oleh jaringan otak manusia. 3 Struktur Jaringan Saraf Tiruan Keterangan dari gambar diatas adalah input akan dikirim ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang menjumlahkan nilai semua bobot yang datang. Hasil 41 . Tiga komponen tersebut adalah dendrit(input). namun teknologi yang tersedia pada saat itu belum memungkinkan mereka berbuat lebih jauh. pemilihan cara untuk membandingkannya. soma atau badan sel dan axon(output).perbedaan ciri.

maka neuron akan diaktifkan. Oleh karena itu. neuron mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya. Bila neuron diaktifkan. tetapi kalau tidak. fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai yang terletak pada interval sampai 0 Namun. fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1. 2.penjumlahan itu akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktifasi setiap neuron. neuron dinonaktifkan. Apabila input melewati nilai ambang tertentu.4. Fungsi sigmoid biner dirumuskan sebagai berikut: Gambar 2.4 Fungsi Aktivasi Sigmoid Biner 42 . Fungsi sigmoid biner memiliki nilai pada range 0 sampai 1.1 Fungsi Aktivasi Sigmoid Biner Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode backpropagation.

Seberapa besar hubungan antara 2 neuron ditentukan oleh bobot yang bersesuaian. lapisan input memiliki 3 neuron. Dalam gambar tersebut.4. 2. Multi Layer Net Gambar 2. 5 Arsitektur JST Single Layer Net Perwakilan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobotbobot terhubung. X2. yaitu X1. Neuron-neuron pada kedua lapisan saling berhubungan. X3. Sedangkan pada lapisan output memiliki 2 neuron yaitu Y1 dan Y2.2. Semua unit input akan dihubungkan dengan setiap unit output. Jaringan ini hanya mnerima input kmudian scr langsung akn mngolahnya mnjd output tanpa harus melalui lapisan tersembunyi.2 Arsitektur jaringan saraf tiruan 1. 6 Arsitektur JST Multi Layer Net 43 . Single Layer Net Gambar 2.

Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada yang dengan lapisan tunggal. mengapa algoritma ini disebut sebagai propagasi balik.3 Metode Backpropagation Algoritma pelatihan Backpropagasi (Back Propagation) atau ada yang menterjemahkannya menjadi propagasi balik. Kemudian unit-unit lapisan keluaran memberikan tanggapan yang disebut sebagai keluaran jaringan. 2.Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan lapisan output (memiliki 1 atau lebih lapisan tersembunyi). pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart dan McClelland untuk dipakai pada JST. dapat dideskripsikan sebagai berikut: Ketika Jaringan diberikan pola masukan sebagai pola pelatihan maka pola tersebut menuju ke unit-unit pada lapisan tersembunyi untuk diteruskan ke unit-unit lapisan keluaran. 44 . ada lapisan bobot-bobot yang terletak antara 2 lapisan yang bersebelahan.4. dan selanjutnya algoritma ini biasa disingkat dengan BP. tentu saja dengan pembelajaran yang lebih rumit. Algoritma ini termasuk metoda pelatihan supervised dan didesain untuk operasi pada jaringan feed forward multi lapis. Secara garis besar. Umumnya. Oleh karenanya maka mekanisme pelatihan tersebut dinamakan backpropagation/propagasi balik. Saat keluaran jaringan tidak sama dengan keluaran yang diharapkan maka keluaran akan menyebar mundur (backward) pada lapisan tersembunyi diteruskan ke unit pada lapisan masukan.

. Untuk tiap – tiap pasangan elemen yang akan dilakukan pembelajaran.. Mengerjakan langkah – langkah berikut selama kondisi berhenti bernilai false: a.. Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil) 2... yang dikerjakan : Feedforward : 1.n) menerima sinyal Xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada diatasnya ( lapisan tersembunyi) 2. 45 . Tiap – tiap unit tersembunyi ( Zi. Untuk jelasnya dapat dijelaskan rinciannya sebagai berikut : 1. tahap perambatan maju(forward propagation) harus dikerjakan terlebih dahulu. j=1.2. Algoritma backpropagation menggunakan error output untuk nilai bobot – bobotnya dalam arah mundur (backward).. Sedangkan pemecahan masalah baru akan dilakukan jika proses pelatihan tersebut selesai . fase tersebut adalah fase mapping atau proses pengujian/testing. Tiap – tiap input (Xi. untuk mendapatkan error ini..Tahap pelatihan ini merupakan langkah bagaimana suatu jaringan saraf itu berlatih..2.3. i=1.3. yaitu dengan cara melakukan perubahan penimbang (sambungan antar lapisan yang membentuk jaringan melalui masing-masing unitnya).p ) menjumlahkan sinyal – sinyal input terbobot : gunakan fungsi aktifasi untuk menghitung sinyal outputnya : _ = + dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit –unit output).

2. hitung informasi errornya: =( ) ƒ′( _ ) kemudian hitung koreksi bobot ( yang nantinya akan digunakan untuk memperbaiki nilai wjk) : △ = ∙ ∙ hitung juga koreksi bias ( yang nantinya akan digunakan untuk memperbaiki nilai w0k ) : △ = ∙ Kirimkan δk ini ke unit – unit yang ada di lapisan bawahnya.. _ = 46 .3....3. Tiap – tiap unit output ( Yk....=ƒ _ 3.... Tiap – tiap unit tersembunyi (Zi. k=1. Tiap – tiap unit output ( Yk..m ) menerima target pola yang berhubungan dengan pola input pembelajaran.2. _ =W + Gunakan fungsi aktifasi untuk menghitung sinyal outputnya : = ƒ( _ ) dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya ( unit – unit output) Backpropagation 4.p) menjumlahkan delta inputnya ( dari unit – unit yang berada pada lapisan di atasnya ): 6. k=1. 5..m ) menjumlahkan sinyal – sinyal input terbobot.3.j=1.2.

5. Object Treeview. 2003: 4) 2. Berbagai kemudahan ditawarkan oleh Delphi. Form Designer. Speed Bar. mulai dari perancangan aplikasi berbasis form.1 Mengenal IDE Delphi Pada dasarnya IDE Delphi dibagi menjadi tujuh bagian utama. yaitu Menu. = δ 47 . dan Object Inspector. Component Palette.kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error : = _ ƒ′ _ kemudian hitung koreksi bobot ( yang nantinya akan digunakan untuk memperbaiki nilai vij ) : △ = δ ∙ hitung juga koreksi bias ( yang nantinya akan digunakan untuk memperbaiki nilai v0j ): △ 2. Code Explorer. sampai code insight (Pranata.5 BORLAND DELPHI Delphi merupakan versi visual dari Pascal. manipulasi property dan event yang terintegrasi melalui object inspector. kemudahan pemberian komponen visual.

48 . semua yang ada berhubungan dengan IDE Delphi dapat dilakukan dari menu. contohnya: memanggil atau menyimpan program. Sebagai contoh. tombol kiri atas adalah pengganti menu File | New.7 Bagian-bagian IDE Delphi Menu Menu pada Delphi memiliki kegunaan seperti menu pada aplikasi windows lainnya.Component Pallet Speed Bar Menu Object TreeView Form Designer Object Inspector Code Explore Gambar 2. Speed Bar Speed Bar atau sering juga disebut toolbar berisi kumpulan tombol sebagai pengganti beberapa item menu yang sering digunakan. setiap tombol pada speed bar menggantikan salah satu item menu. tombol disebelah kanannya adalah pengganti menu File | Open. menjalankan program. dan sebagainya. Dengan kata lain. dan seterusnya.

Data Access. Gambar 2. Perancangan form dilakukan dengan meletakkan komponen-komponen yang diambil dari component palette. Pernyataanpernyataan tersebut ditulis dalam bentuk bahasa object Pascal. dan seterusnya Form Designer Form Designer merupakan tempat untuk merancang jendela aplikasi. 49 . yaitu Standard. Kita tidak perlu menuliskan semua kode sumber karena Delphi telah menuliskan semacam kerangka program. Pada Component Palette terdapat beberapa tab. Additional. VCL merupakan pustaka komponen yang dengannya dapat membangun aplikasi.8 Form Designer Code Explorer Code Explorer adalah tempat untuk menuliskan program.Component Palette Component Palette berisi ikon yang melambangkan komponenkomponen pada VCL (Visual Component Library) atau CLX (Component Library for Cross Platform).

Tab tersebut dapat diaktifkan salah satu dengan menklik Properties atau Event. Pada tab properties. TGroupBox dan TLabel. dan sebagainya. jika meletakkan 2 komponen. penutupan jendela. dapat digunakan untuk menyisipkan kode dalam menengani kejadian tertentu. Sebagai contoh. 50 . seperti pengklikan mouse. Sedsangkan pada tab event. Kejadian bisa dibangkitkan karena beberapa hal.Object TreeView Object TreeView berisi daftar komponen yang telah diletakkan pada Form Designer. yang dibangkitkan bila mengklik form. bisa digunakan untuk mengubah property dari komponen yang telah dibuat.9 Object TreeView pada IDE Delphi Object Inspector Object inspector digunakan untuk mengubah karakteristik komponen. Pada object inspector terdapat 2 tab yaitu Properties dan Event. Misalnya onClick. Object TreeView terlihat seperti gambar Gambar 2. penekanan tombol keyboard.

Delphi tidak hanya menyimpan file kode dengan ekstensi . Untuk memudahkan.pas. program disebut dengan Project. berisi program utama dari aplikasi yang telah dibuat untuk:  Mendefinisikan Unit yang ada dalam file proyek  Menginisialisasi data  Membangun form  Menjalankan aplikasi 2) Unit file (*.pas. tetapi karena pada Delphi terdapat form beserta parameternya.2 Struktur File Tidak seperti Turbo Pascal.5. antara lain: 1) Project file (*.2. Project tersebut akan berisi form. File ini berisi source code dari obyek-obyek Pascal maupun perintah-perintah yang ingin ditulis 3) Form file (*. dan source code untuk project. maka ada beberapa file yang akan disimpan.dfm) merupakan file binary yang merepresentasikan gambar dari form/tampilan yang kita buat. source code untuk form.dpr) adalah file proyek yang dibuat berisi program kecil. File ini biasanya bergabung dengan file . termasuk untuk event-event yang dimiliki oleh form tersebut.pas) adalah unit-unit yang nantinya digunakan untuk menangani kejadian pada form. yang akan berisi kode-kode program untuk memanipulasi form tersebut. Beberapa file yang terbentuk ketika program Delphi disimpan dalam hardisk. bisa terdiri satu atau banyak file. 51 . Untuk form akan diberi unit.

Messages. SysUtils. biasanya ikon. akan selalu dibuat file form/dfm dengan file pas. tertapi dapat juga kursor.dfm} end. maka secara otomatis pada code editor akan tampil barisbaris kode seperti di bawah ini: unit Unit1.cfg) adalah file konfigurasi untuk proyek yang telah dibuat.5. 4) Resource file (*. Graphics. dll 5) Option (*. implementation {$R *. Dialogs. Classes. type TForm1 = class(TForm) private {Private declarations} public {Public declarations} end. 52 . File ini dapat diubah konfigurasi proyeknya melalui menu Project | Options 2. interface uses Windows.dof) dan konfigurasi (*. Controls. var Form1: TForm1.Untuk penambahan form baru.3 Code Editor Tiap form diberikan satu file unit dan file unit itulah yang dipakai untuk menulis kode program yang berhubungan dengan form. setiap kali form baru di desain.res) adalah file yang berisi resource. Variants. bitmap. Selain itu. Forms.

Tujuan pembuatan sistem ini adalah untuk mengenali golongan darah manusia yang terdiri dari A.BAB III DESAIN DAN PERANCANGAN Bab ini membahas tentang desain dan perancangan metode backpropagation dalam pengenalan pola golongan darah pada citra grayscale ataupun true color. maka sistem siap melakukan proses selanjutnya. desain data. Implementasi metode pengenalan pola golongan darah manusia ini terdiri dari 3 tahap utama untuk pengenalan pola golongan darah manusia yaitu proses awal (edge detection). citra masukan dilakukan deksi tepi dan pelatihan pada citra. Pada tahap awal. DESKRIPSI SISTEM Subbab ini akan membahas mengenai deskripsi sistem yang dikerjakan pada skripsi. Pada awalnya pengguna memasukkan input data berupa citra. Selain itu dijelaskan juga proses-proses yang digunakan dalam metode ini serta penjelasan fungsi-fungsi dan parameternya. Jika semua operasi pada preprocessing telah dikerjakan. Kemudian pengguna diminta untuk melakukan preprocessing yaitu proses awal agar citra tersebut dapat diproses selanjutnya. desain proses. Desain dan perancangan ini meliputi deskripsi sistem. O. A. AB. dan pengenalan (recognition). Diagram alir dari sistem ini adalah sebagai berikut: 53 . dan desain antarmuka. Citra masukan adalah citra grayscale 8 bit atau citra warna 24 bit. B. proses pelatihan (process training).

1. selanjutnya gambar diproses sampai menghasilkan tepi-tepi objek citra.Gambar 3.1 Diagram alir sistem secara keseluruhan Sesuai dengan gambar 3. Hasil citra dari proses tersebut. Kemudian dilakukan preprocessing yang menghasilkan citra berukuran 1 piksel dan berwarna hitam putih. Kemudian dilakukan proses 54 . jika pengguna tidak memasukkan citra biner (8 bit) maka citra akan dirubah dulu dalam bentuk citra biner (hitam-putih).

Pada saat perambatan maju. data yang digunakan selama proses perbaikan citra preprocessing dan data keluaran. Algoritma backpropagation mengunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Desain proses antara lain menjelaskan tentang proses awal (preprocessing).training dan pengenalan pada citra yang ahirnya menampilkan hasil pengenalan poal golongan darah dan proses berahir. neuron-neuron diaktifkan dengan menggunakn fungi aktivasiyang dapat dideferensikan. algoritma yang digunakan dalam sistem yang digambarkan dengan diagram alir. Desain data meliputi data masukan. desain proses. seperti fungsi sigmoid: = ( )= Dengan: ′( ) = 1. data selama proses dan data keluaran. B. Desain Data Data yang digunakan untuk implementasi perangkat lunak ini dibagi menjadi tiga bagian utama. Untuk mendapatkan error ini dilakukan tahap perambatan maju (forward propagation) harus di kerjakan terlebih dahulu. dan pengenalannya. deteksi tepi. ( )[1 − ( )] 1 1+ 55 . DESAIN SISTEM Pada sub bab ini akan dijelaskan mengenai desain aplikasi sistem untuk implementasi metode backpropagation. yaitu data masukan. Desain aplikasi ini meliputi desain data. terdiri dari konversi ke hitam-putih selanjutnya gambar diproses sampai menghasilkan tepi-tepi objek citra. Pada proses awal. Desain data berisikan penjelasan data yang diperlukan untuk menerapkan beberapa metode pada pengolahan citra dan pengenalan ini.

bmp.2. Pengambilan citra digital. Proses komputasi dimensi matrik yang besar membutuhkan waktu proses yang lama sehingga diperlukan reduksi dimensi matrik untuk meminimalisir waktu proses. 2. penelitian ini terdiri dari beberapa tahap yaitu : 1. Data Masukan Data masukan yang pertama dari pengguna adalah arsip citra yang dipilih oleh pengguna. PENGENALAN POLA GOLONGAN DARAH MANUSIA MENGGUNAKAN JST BACKPROPAGATION Citra masukan yang digunakan adalah citra dengan resolusi 512 x 256 pixel dan memiliki 256 derajat keabuan dengan baris dan kolom menunjukkan sebuah titik pada citra serta kesesuaian nilai elemen matrik mengidentifikasikan level pada titik tersebut. Proses pengolahan citra yang meliputi deteksi tepi dengan operator Laplacian 56 . dengan format . Identifikasi darah didasari pada pengenalan pola dengan pendekatan jaringan syaraf. Pada sistem ini citra yang dimasukkan berupa arsip citra warna 24 bit. Data masukan kedua adalah bentuk citra yang akan dikenal. C. hal ini dilakukan pada operasi deteksi tepi. Secara garis besar. Metode jaringan syaraf yang dipergunakan adalah backpropagation. Proses identifikasi darah dilakukan dengan membandingkan citra input dengan citra yang telah dilatih oleh sistem.

preprocessing. Pengolahan Data Langkah-langkah proses dari pengenalan pola golongan darah manusia ini dapat dilihat pada gambar 3. masukkan 57 .3. edge detektion. 1.2 Flowchart proses pengenalan citra darah Dari flowchart proses pola golongan darah manusia diatas dapat dilihat bahwa pada proses pengenalan pola golongan darah manusia terdapat beberapa proses yang saling berhubungan dan ketika salah satunya tidak dijalankan maka tidak akan tercapai suatu pengenalan tulisan seperti yang diharapkan.2 di bawah ini: Gambar 3. Proses tersebut diawali dengan input citra. 4. Proses membuat data input yang digunakan dalam proses jaringan syaraf tiruan. Proses pelatihan dan pengujian.

Secara lengkap urutan prosesnya sebagai berikut: 1. Citra digital adalah citra yang diekspresikan oleh sekumpulan bilangan sehingga dapat diproses oleh komputer. perlu dilakukan proses awal (preprocessing) terlebih dahulu. 58 . yaitu pengolahan citra (image) dengan tujuan mendapatkan gambar dengan pola yang dapat digunakan dengan menggunakan metode backpropagation yang menghasilkan kode tertentu menurut warna pikselnya. Operasi pengambangan mengelompokkan nilai derajat keabuan setiap piksel ke dalam 2 kelas. Preprocessing Sebelum suatu citra mengalami pemrosesan lebih lanjut. pengenalan dilakukan secara offline yaitu image golongan darah manusia. Dalam skripsi ini. 2. Setelah data diperoleh. Input image Input image merupakan proses yang pertama kali dilakukan untuk mendapatkan data citra yang akan diproses selanjutnya. Dalam tahap ini dilakukan suatu proses pengubahan suatu citra digital. hitam dan putih. 2. data tersebut harus diubah menjadi data yang dapat diolah oleh program.1 Binerisasi Pengkonversian citra true color (24 bit) menjadi citra biner (1 bit) dilakukan dengan operasi pengambangan (tresholding).kedalam metode back propagation dan hasil akhir yang berupa jenis golongan darah manusia. Di mana hitam sebagai warna objek dan putih sebagai warna latar belakangnya. Sehingga dapat digunakan dalam program untuk pengenalan pola golongan darah manusia ini.

Flowchart diagram tersebut dapat dilihat pada gambar 3.4 di bawah ini: S t art j := 0 i := 0 n il a i := g e t R v a lu e ( im a g e 1 .C a n v a s .W id t h j := j+1 h := im a g e 1 . H e ig h t End Gambar 3. Jika piksel kurang dari 180 maka warna piksel berubah menjadi hitam. dilakukan dengan memeriksa piksel citra.3 Flowchart proses binerisasi 59 .j ]) n ila i <= 1 8 0 No n ila i := c l B la c k yes n ila i:= c lW h it e i : = i+ 1 w : = im a g e 1 . Proses pengubahan ini. Biasanya rentangan nilai graylevel yang sering digunakan adalah antara 0-255.P ix e l s [ i. Pada skripsi ini. nilai treshold yang digunakan adalah 180. begitu juga sebaliknya jika piksel lebih dari 180 maka warna piksel akan berubah menjadi putih.Pemilihan nilai threshold yang digunakan berpengaruh terhadap ketajaman suatu citra.

4 di bawah ini: Gambar 3.2 Edge detection dengan operator laplacian Turunan kedua untuk mendeteksi garis pinggir yang dihasilkan oleh perubahan kontras gray level pada citra. Kemudian mencari titik pelana (zero crossing) untuk digunakan sebagai lokasi garis tepi (edge).2.4 Diagram Alir Deteksi tepi 60 . Deteksi tepi (edge detection) dengan operator laplacian merupakan salah satu pengembangan dari teknik deteksi tepi yang telah dibahas dengan memiliki mask berukuran 3x3 Flowchart diagram tersebut dapat dilihat pada gambar 3.

2. Sinyal-sinyal tersebut diaktivasi dengan fungsi sigmoid biner.Sesuai gambar 3. Tahap selanjutnya adalah tahap backpropagation yang dimulai dengan menghitung informasi error. Koreksi bias dilakukan pula pada unit output dan unit hidden. Proses pelatihan diawali dengan proses inisialisasi yang diikuti dengan tahapan feedforwad yaitu menjumlahkan sinyal-sinyal input terbobot pada hidden layer dan output layer. Informasi error tersebut digunakan untuk mengoreksi bobot pada unit output dan hidden. 1 hidden layer dan 1 layer output. yaitu 2 layer input. Target pengujian (target output) yang merupakan hasil keluaran dari neuron output layer adalah jenis golongan darah manusia. Untuk jumlah neuron output layer sebanyak 2 buah neuron dengan fungsi aktivasi yang digunakan adalah fungsi sigmoid biner dengan nilai range 0 sampai 1. Informasi error diperoleh dari selisih antara nilai target yang telah ditentukan dengan nilai keluaran dari output layer.4 citra inputan dibaca dan dimasukkan metode laplacian kemudian citra dijadikan citra negative dan dilkukan deteksi tepi hingga ahirnya menampilkan deteksi tepi dari citra masukan yaitu citra darah. Perancangan jaringan saraf tiruan Arsitektur jaringan syaraf yang digunakan disini terdiri dari 3 layer. Tiap-tiap unit output dan unit hidden memperbaiki bobot dan biasnya. Jumlah neuron input kejaringan syaraf tiruan dengan algoritma backpropagation adalah 50 neuron yang diperoleh dari pengolahan data sebagai mana yang telah dibahas sebelumnya. Langkah tersebut diatas dikerjakan berulang-ulang selama kurang dari maksimum epoh atau kuadrat error 61 . Jumlah neuron hidden layer yaitu sebanyak n yang dimasukkan oleh user.

kurang dari target error.5 Diagram alir proses pelatihan Untuk Mean Square Error (MSE) dari proses pelatihan diperoleh dari penjumlahan kuadrat error setiap pelatihan selama satu kali epoh dibagi dengan 62 .4 dibawah ini: Gambar 3. Diagram alir proses pelatihan dapat dilihat pada Gambar 3.

00995 Pixel Classification Error 1/400 (0.001 Weigh initialization factor 0.5 Error Threshold 1 Target Classification Error -1 Target Squared Error 0. Tetapi pelatihan yang optimal dipengaruhi oleh banyak faktor seperti penentuan learning rate. Berikut adalah data training citra darah Golongan Darah B Tabel 3.5 Error Threshold 1 Target Classification Error Target Squared Error Maxsimum Epoh -1 0. Iterasi epoh yang semakin banyak cenderung akan menghasilkan nilai error yang semakin kecil.2 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh 2463 Trianing Squared Error 0.banyaknya data yang dilatihkan. banyaknya hidden layer serta arsitektur jaringannya sendiri.01 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh Width 20 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.01 Maxsimum Epoh 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.1 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh 1184 Trianing Squared Error 0.001 Weigh initialization factor 0.0099 Pixel Classification Error 0/400 (0%) Recognition B&W Threshold 196 Noise Threshold 10 Keterangan Pada Gambar Training Learning Rate 0.25%) Recognition B&W Threshold Noise Threshold 196 10 Keterangan Pada Gambar Training Learning Rate 0.3 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Keterangan Pada Gambar 63 .

5 Error Threshold 1 Target Classification Error -1 Target Squared Error 0.001 Weigh initialization factor 0.5 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 660 0.4 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh 3494 Trianing Squared Error 0.00997 0/1600 (0%) 196 10 Keterangan Pada Gambar Training Learning Rate 0.6 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 3332 0.Informasi Training Jumlah Epoh 3395 Trianing Squared Error 0.5 1 -1 0.5 Error Threshold 1 Target Classification Error -1 Target Squared Error 0.01 Maxsimum Epoh 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - 64 .009995 4/2000 (0%) 196 10 Keterangan Pada Gambar Training Learning Rate 0.00998 Pixel Classification Error 0/1200(0%) Recognition B&W Threshold 196 Noise Threshold 10 Keterangan Pada Gambar Training Learning Rate 0.001 Weigh initialization factor 0.001 Weigh initialization factor 0.01 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.00999 Pixel Classification Error 0/800 (0%) Recognition B&W Threshold 196 Noise Threshold 10 Training Learning Rate Weigh initialization factor Error Threshold Target Classification Error Target Squared Error Maxsimum Epoh 0.01 Maxsimum Epoh 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.01 Maxsimum Epoh 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Golongan darah AB Tabel 3.001 0.5 Error Threshold 1 Target Classification Error -1 Target Squared Error 0.

5 Error Threshold 1 Target Classification Error Target Squared Error Maxsimum Epoh -1 0.001 0.8 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 15311 0.9 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 1478 0.782%) 196 10 Keterangan Pada Gambar Training Learning Rate 0.03777 43/2400 (1.001 Weigh initialization factor 0.01 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.04165 0/400 (0%) 196 10 Keterangan Pada Gambar Training Learning Rate 0.Tabel 3.01 Maxsimum Epoh 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.7 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 14654 0.001 Weigh initialization factor 0.00997 0/400 (0%) 196 10 Keterangan Pada Gambar Training Learning Rate Weigh initialization factor Error Threshold Target Classification Error Target Squared Error Maxsimum Epoh 0.01 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.5 Error Threshold 1 Target Classification Error -1 Target Squared Error 0.10 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Keterangan Pada Gambar Training Neural Net 65 .5 1 -1 0.

5 Error Threshold 1 Target Classification Error Target Squared Error Maxsimum Epoh -1 0.04300 Pixel Classification Error 0/2000 (3.01 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.03097 Pixel Classification Error 21/1200 (1.12 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh 2115 Trianing Squared Error 0.5 1 -1 0.13 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 22383 0.11 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh 13498 Trianing Squared Error 0.001 Weigh initialization factor 0.001 Weigh initialization factor 0.5 Error Threshold 1 Target Classification Error -1 Target Squared Error 0.01 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 No of Input Neuron No Hidden Neuron No Output Neuron 50 - Golongan Darah A Tabel 3.75%) Recognition B&W Threshold 196 Noise Threshold 10 Learning Rate Weigh initialization factor Error Threshold Target Classification Error Target Squared Error Maxsimum Epoh 0.357%) Recognition B&W Threshold 196 Noise Threshold 10 Keterangan Pada Gambar Training Learning Rate Weigh initialization factor Error Threshold Target Classification Error Target Squared Error Maxsimum Epoh 0.722%) 196 10 Keterangan Pada Gambar Training Learning Rate 0.001 0.5 1 -1 0.01 Maxsimum Epoh 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.02698 Pixel Classification Error 76/3200 (2.3%) Recognition B&W Threshold 196 Noise Threshold 10 Keterangan Pada Gambar Training Learning Rate 0.001 0.01 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - 66 .Jumlah Epoh 8849 Trianing Squared Error 0.02908 62/3600 (1.

14 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 23504 0.02936 58/4400 (1.01 1000 Input Pattern Heigh Width 20 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Target Pattern Heigh 20 Width 20 Golongan Darah O Tabel 3.318%) 196 10 Keterangan Pada Gambar Training Learning Rate 0.001 0.01 1000 Input Pattern Heigh Width Heigh Width 20 20 20 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Target Pattern 67 .15 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 25080 0.5 Error Threshold 1 Target Classification Error -1 Target Squared Error 0.03460 60/4000 (0%) 196 10 Keterangan Pada Gambar Training Learning Rate 0.16 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Keterangan Pada Gambar Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 196 10 26229 0.5 1 -1 0.001 Weigh initialization factor Error Threshold Target Classification Error Target Squared Error Maxsimum Epoh 0.5 1 -1 0.Tabel 3.01 Maxsimum Epoh 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.02622 58/4800 (1.208%) Learning Rate Weigh initialization factor Error Threshold Target Classification Error Target Squared Error Maxsimum Epoh Training 0.001 Weigh initialization factor 0.

5 1 -1 0.01 Maxsimum Epoh 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Tabel 3.5 Error Threshold Target Classification Error Target Squared Error Maxsimum Epoh 1 -1 0.01727 Pixel Classification Error 64/5600 (1.Tabel 3.001 Weigh initialization factor 0.01 1000 Input Pattern Heigh Width 20 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 50 - Target Pattern Heigh 20 Width 20 68 .18 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh 30744 Trianing Squared Error 0.067%) 196 10 Keterangan Pada Gambar Training Learning Rate 0.17 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 1184 0.0099 0/400 (0%) 196 10 Keterangan Pada Gambar Training Learning Rate 0.001 Weigh initialization factor 0.01 1000 Input Pattern Heigh 20 Width 20 Target Pattern Heigh 20 Width 20 Neural Net No of Input Neuron No Hidden Neuron No Output Neuron 5 0 - Tabel 3.143%) Recognition B&W Threshold 196 Noise Threshold 10 Keterangan Pada Gambar Training Learning Rate 0.01610 64/6000 (1.5 Error Threshold 1 Target Classification Error -1 Target Squared Error 0.001 Weigh initialization factor Error Threshold Target Classification Error Target Squared Error Maxsimum Epoh 0.19 hasil dari training citra golongan darah Gbr Asli Hasil Deteksi Tepi Informasi Training Jumlah Epoh Trianing Squared Error Pixel Classification Error Recognition B&W Threshold Noise Threshold 31066 0.

Exit : untuk melakukan training pada pola darah : untuk keluar dari program : untuk kembali ke tampilan awal (form utama) : untuk memproses gambar sampai menghasilkan 2. Desain Menu Tampilan Utama Pengenalan Pola Golongan Darah Menggunakan Jaringan Saraf Tiruan Back Propagation Hom Deteksi Process Exit Gambar 3. Home 2. yaitu: 1. form simpan. Process Traininmg 4.6 Form Utama Halaman ini berfungsi sebagai layar utama. harus menjalankan form ini terlebih dahulu.D. setiap user yang menjalankan aplikasi ini. yaitu form utama. form proses awal. DESAIN ANTARMUKA Aplikasi ini dibangun dengan desain user interface form yang terdiri dari 4 form. 1. Desain Menu Tampilan proses awal Desain tampilan menu proses awal adalah sebagai berikut: 69 . dan form pelatihan. Deteksi Tepi tepi-tepi objek citra 3. Pada halaman tersebut terdapat 4 menu.

Desain Menu Tampilan Halaman Pengenalan Golongan Darah Desain tampilan menu halaman pengenalan golongan darah. Gambar di load dari menu file selanjutnya gambar diproses sampai menghasilkan tepi-tepi objek citra. Tepi.bmp gambar akan diproses dan menunjukkan golongan darah dari gambar yang diambil. Mengambil gambar darah yang bertype .7 Form Proses Awal Halaman ini berfungsi untuk melakukan proses awal pada gambar. Button negative. Operator. putih 4. terdapat proses memilih operator 3. Selanjutnya hasil dari deteksi tepi disimpan dalam button save. Berikut adalah sebagai berikut tampilannya: berfungsi uyntuk mengubah gambar menjhadi hitam 70 . Ambil citra 2. untuk menhasilkan tepi-tepi objek citra 3.Button1 TLabel ComboBox ChekBox Button2 Image1 Image2 Gambar 3. Menu-menu yang terdapat dalam halaman ini antara lain: 1.

7 berfungsi untuk melakukan proses process training pada pola darah manusia. Desain tampilan pada halaman training adalah sewbagai berikut: Gambar 3.9 Form process tarining 71 .8 Pengenalan Golongan Darah Pada gambar 3.Gambar 3.

66 GHz Memori : 1 GB Piranti Masukan : . Sebelumnya perlu diketahui lingkungan uji coba yang digunakan dalam melakukan uji coba dalam tugas akhir ini. Uji coba dilakukan untuk mengetahui apakah program dapat berjalan sebagaimana mestinya dengan lingkungan uji coba yang telah ditentukan serta dilakukan sesuai dengan skenario uji coba. antara lain: menguji citra darah yang diperoleh apakah bisa mengenali golongan darah manusia (A.Keyboard Sistem Operasi : Microsoft Windows XP Professional 2002 Perangkat Pengembang : Borland Delphi 7. serta kontribusi program dalam Islam. Ada beberapa hasil uji coba yang telah dilakukan terhadap data yang telah dipilih.BAB IV HASIL DAN PEMBAHASAN Dalam bab ini dibahas mengenai hasil uji coba program yang telah dirancang dan dibuat.Scanner HP PSC 1410 .0 Perangkat Keras Perangkat Lunak 72 . B.1 Lingkungan Uji Coba Prosesor : Intel Pentium 4 2. LINGKUNGAN UJI COBA Pada subbab ini dijelaskan mengenai lingkungan uji coba yang meliputi perangkat lunak dan perangkat keras yang digunakan. A.Mouse . AB. O). Spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam uji coba antara lain adalah: Tabel 4.

Untuk menghitung prosentase hasil kebenaran dari aplikasi yang saya buat. saya menggunakan rumus sebagai berikut: = Diketahui: Data Keberhasilan = 31 Jumlah data = 40 ℎ ℎ Data Salah × 100 =9 Didapat data keberhasilan 31 dari jumlah data dikurangi data salah sehingga didapat nilai 31. PENJELASAN PROGRAM Di dalam penjelasan program ini dijelaskan tentang alur pembuatan dan kegunaan program yang dibuat beserta tampilan desain.B. Berikut ini tampilantampilan halaman yang ada dalam program yang dibuat: 73 . = 31 × 100 40 = 77.5 Jadi dari hasil perhitungan diatas didapat hasil prosentase keberhasilan aplikasi yang saya buat adalah 77.5% C. digunakan data yang berasal dari pengambilan gambar darah dengan kamera lalu dimasukkkan di dalam computer. Data uji coba yang saya gunakan adalah 40 image. DATA UJI COBA Pada uji coba yang akan dilakukan.bmp. Gambar tersebut betipe .

Proses Menampilkan Halaman Deteksi Tepi Pada halaman deteksi tepi ini dijelaskan mengenai proses deteksi tepi yang harus dilakukan sebelum melakukan proses pengenalan golongan darah manusia.1 berikut Gambar 4. Tampilan halaman utama ditunjukkan pada gambar 4. Proses Menampilkan Halaman Utama Halaman home merupakan halaman utama yang akan pertama kali diakses oleh pengguna. Pada halaman utama terdiri dari 4 menu yang akan ditampilkan sesuai dengan fasilitas yang disediakan perangkat lunak. Adapun tampilan halamannya adalah: Gambar 4. Informasi yang ditampilkan adalah pilihan menu untuk menuju proses selanjutnya.2 Form Image Process 74 .1 Form Utama 2.1.

Picture.Picture.SimpleText := OpenPictureDialog. Adapun citra hasil pengambilan gambar dari camera dapat dilihat pada gambar 4.FileName).Image.LoadFromFile( OpenPictureDialog. FormCitra.Bitmap.Picture.Image.ClientHeight := FormCitra.ClientHeight := FormCitra.Image.FileName + ' (' + IntToStr(FormCitra. begin if (OpenPictureDialog. pf8bit : fc := 'keabuan'. FormCitra). case (FormCitra.PixelFormat) of pf1bit : fc := 'biner'.Width) 75 . StatusBar. pf24bit : fc := 'true color'.Image.ButtonAmbilCitraClick(Sender: TObject). mencentang button negative dan deteksi tepi. Penjelasannya sebagai berikut: a.Image.Height.Picture. FormCitra. end. var fc: string.3 Contoh dari button ambil citra darah pada manusia Listing program untuk proses ambil citra: procedure TFormUtama. memilih operator.3 dibawah ini: Gambar 4.Picture.Execute) then begin if (FormCitra = nil) then Application.Width.Image.ClientWidth := FormCitra. FormCitra.Height.Picture.Pada halaman proses awal terdapat 3 proses antara lain: ambil citra.CreateForm(TFormCitra. FormCitra. Ambil Citra Pada proses ini terjadi pengubahan citra ke dalam citra digital yang dapat dibaca dan diproses selanjutnya oleh komputer.

PH: PByteArray. 1). -1.4 Citra Hasil Operator Laplacian.-1. -1. PC. Dibawah ini adalah hasil citra setelah dilakukan pemilihan operator. Gi. Ko. Gambar 4. 0)).Picture. y. end.Olah. ( -1. v: integer. -1. ( -1.1. MaskLaplacian91: Mask3x3 = (( -1. Bi. -2. 4. MaskLaplacian92: Mask3x3 = (( 1. -2. Bo: array of array of byte.. Ri. -1). Go. -1)). -1. Negative Dan Deteksi Tepi Listing programnya adalah sebagai berikut: uses UnitCitra. const MaskLaplacian5: Mask3x3 = (( 0. var x.Image. ( -1. -1). ' + fc + ')'. u. var FormHasil: TFormCitra. 8. -1). w. type Mask3x3 = array [-1. 76 . 1)). ( -2. 0). -2). procedure TFormUtama.1] of real. Ki. penegatifan citra dan deteksi tepi. Ro.. end. h. Mask: Mask3x3. ( 1. ( 0. 4.Height) + '.+ 'x' + IntToStr(FormCitra.

Text = 'Laplacian 9 titik 2') then Mask := MaskLaplacian92.y-v].ScanLine[y].Text = 'Laplacian 5 titik') then Mask := MaskLaplacian5 else if (ComboBoxOperator. h). exit.y] := 255.y] := 255-Ko[x.ScanLine[y].Picture.y]. for y := 0 to h-1 do begin PC := FormCitra. for x := 0 to w-1 do PH[x] := Ko[x.Image.Picture.Picture. Ko[x.Height. end. for x := 0 to w-1 do begin Ki[x. w := FormCitra.Text = 'Laplacian 9 titik 1') then Mask := MaskLaplacian91 else if (ComboBoxOperator. end else if (ComboBoxOperator.Picture. w.jumlah: real. if (FormCitra. if (Abs(jumlah)<255) then Ko[x.y] := Round(Abs(jumlah)) else Ko[x.Text = '') then begin ShowMessage('Pilih operator gradien deteksi tepi').Width. PH := FormHasil.Picture. y]. y] := PC[x]. for y := 0 to h-1 do begin PH := FormHasil. if (CheckBoxNegatif.Image. y] := PH[x].Bitmap. w.Bitmap. for x := 1 to w-2 do for y := 1 to h-2 do begin jumlah := 0.v]*Ki[x-u. 77 .Checked) then Ko[x.Image. SetLength(Ko. for u := -1 to 1 do for v := -1 to 1 do jumlah := jumlah+Mask[u. begin if (ComboBoxOperator. end. h := FormCitra.Image.Image. h).Bitmap.PixelFormat = pf8bit) then begin SetLength(Ki.Picture. end.Bitmap.Image.ScanLine[y].

y] := PH[3*x]. for x := 1 to w-2 do for y := 1 to h-2 do begin jumlah := 0.Checked) then Ro[x. SetLength(Bi. w.ScanLine[y]. end. w. Ri[x. jumlah := 0.y-v].y-v].y] := 255-Ro[x. h). PH := FormHasil. Gi[x.Picture. y] := PC[3*x]. for y := 0 to h-1 do begin PC := FormCitra. end. for u := -1 to 1 do for v := -1 to 1 do jumlah := jumlah+Mask[u.Picture. y] := PH[3*x+1]. for x := 0 to w-1 do begin Bi[x. end. w.y]. Ro[x. if (Abs(jumlah)<255) then Go[x. Bo[x. for u := -1 to 1 do for v := -1 to 1 do jumlah := jumlah+Mask[u.v]*Gi[x-u.Picture. h).y] := Round(Abs(jumlah)) else Ro[x.Bitmap. if (CheckBoxNegatif.y] := 255.Image. h).Checked) then 78 . h). SetLength(Bo.Bitmap. Ko := nil. w.ScanLine[y].v]*Ri[x-u. y] := PC[3*x+2]. SetLength(Go. y] := PH[3*x+2].PixelFormat = pf24bit) then begin SetLength(Ri.Image. SetLength(Gi.y] := 255. if (Abs(jumlah)<255) then Ro[x. w.Bitmap.Image. if (FormCitra. Ki := nil. h).end. w. SetLength(Ro.y] := Round(Abs(jumlah)) else Go[x. Go[x. h). y] := PC[3*x+1]. if (CheckBoxNegatif.

Bi := nil.Bitmap. Ro := nil.y].CreateForm(TFormCitra.ClientHeight := FormHasil.Height. FormHasil.Top.Image.ClientHeight := 79 .Image. for x := 0 to w-1 do begin PH[3*x] := Bo[x. Ri := nil.Top := FormCitra. FormHasil.Width. PH[3*x+2] := Ro[x. FormHasil. if (FormHasil = nil) then Application.v]*Bi[x-u.ButtonTepiClick(Sender: TObject).Caption := 'Citra Hasil'.ClientWidth := FormHasil. FormHasil. y].y-v]. end.y] := 255. end.Width. FormHasil).Left+FormCitra. jumlah := 0. if (Abs(jumlah)<255) then Bo[x. Gi := nil. FormHasil. if (CheckBoxNegatif. Bo := nil. for u := -1 to 1 do for v := -1 to 1 do jumlah := jumlah+Mask[u. procedure TFormUtama. FormHasil.Picture := FormCitra. PH[3*x+1] := Go[x. begin if (FormCitra = nil) then begin ShowMessage('Ambil dulu citra yang akan diolah').Left := FormCitra.y] := Round(Abs(jumlah)) else Bo[x. end.Picture. FormHasil. end.y] := 255-Go[x.Image.Go[x.Image. for y := 0 to h-1 do begin PH := FormHasil.ScanLine[y]. end. end.Checked) then Bo[x.y]. y].Picture.Image. Go := nil.Picture. exit.y] := 255-Bo[x. y].Picture.

Execute then begin FKnowledgeFileName := OpenKnowledgeDialog.FileName. BackProp.Image. Open picture Open picture adalah membuka gambar yang telah dijadikan deteksi tepi untuk dikenali golongan darahnya. Program lengkap proses Open training. end. Open training Open training adalah membuka training yang telah dijalankan sebelumnya. if OpenKnowledgeDialog.Cursor := crHourglass.Cursor := crDefault. end. Screen. b. Screen.FileOpenPicture(Sender: TObject).Height. Kemudian tekan tombol proses pengenalan maka aplikasi akan menunjukkan golongan darah hasil dari gambar yang di masukkan. yaitu file. Exit Tombol exit adalah untuk melakukan keluar dari aplikasi. Process Training Tahap Process Training terdiri dari 3 proses.FormHasil. Olah. end. 3.Picture. Open picture dan Exit adalah sebagai berikut: procedure TMainForm. procedure TMainForm.OpenTraining1Click(Sender: TObject). 2. 1) File Pada tahap ini terdapat 3 proses yaitu: 1. begin CheckKnowledgeSave. Var 80 .OpenKnowledge(FKnowledgeFileName). process dan help.

Cursor := crHourglass.FileExit(Sender: TObject). Until Selesai=TRue.FileName. if OpenPictureDialog. 2) Process 81 . begin Close. end. Panel2. I : Integer. Until I<=0. Selesai : Boolean. I:= Length(Hasil). Selesai:=False.Caption)-4.Caption[i]. Screen. end.Caption:= FPictureFileName.Caption[i]<>'\' Then Begin Hasil:=Hasil+Panel2. ENd.Execute then begin FPictureFileName := OpenPictureDialog. Hasil:=''. Hasil1:=''. End Else Begin Selesai:=TRue. procedure TMainForm. Panel2. Dec(I). DCR.Hasil. Dec(I). begin CheckPictureSave.Hasil1 : String. I:= Length(Panel2.OpenPicture(FPictureFileName).Caption:= Hasil. Panel2. Screen.Caption:= Hasil1.Cursor := crDefault. Repeat Hasil1:=Hasil1+Hasil[i]. end. Repeat If Panel2.

Tombol retrain untuk melakukan training ulang. Tombol test untuk melakukan testing result dari training option untuk mengetahui parameter yang ada dalam backpropagation dan close untuk keluar dari aplikasi seperti gambar 4.7 Flowchart proses pengenalan. Jalannya proses ini dapat dilihat pada gambar 3.5 Inpu DataTraining 2. Recognize Proses terakhir yang dilakukan untuk mendapatkan hasil dari citra apakah sudah dikenal atau belum yaitu recognize. Option Option untuk mengetahui parameter yang ada dalam backpropagation. 3. Training Training adalah proses pelatihan pada citra masukan yang telah dideteksi tepi.Pada tahap ini terdapat 3 proses yaitu: 1. Kemudian lakukan training dengan menekan tombol train. kemudian tuliskan symbol lalu klik tombol add training. Listing program untuk semua proses diatas adalah sebagai berikut: 82 . 5 Gambar 4. klik tombol buka gambar training.

if rbInputPattern1. var AutoFitBitmap: TBitmap.Items.Strings[c]). BackProp. OrgBitmap.Create.Canvas.Width := imgOrgSymbol.Cursor := crHourglass. AutoFitBitmap := GetAutoFitBitmap(OrgBitmap. TrainingPairs: TTrainingPairs.Draw(0. lbFonts. 0. BackProp. AutoFitBitmap). for c := 0 to lbChars.Items.Size := StrToInt(lbSizes. TrainingPairs. AutoFitBitmap.InputPatternWidth.Strings[s]).Count .Selected[c] then begin if cbSymbol.Items. imgNormalSymbol.Items.Items. s: Integer.Items.Add(lbChars.Width. IxInput := 0. 0.Canvas do begin FillRect(Rect(0. begin Screen. TBackProp.BitmapToLayer(AutoFitBitmap.Strings[f]. 83 .Height.SelCount * lbSizes.Width.Items. TextOut(0.TargetPattern. BackProp.NInputNeuron + 1).Items. f. Font. IxInput: Integer.Height)).InputPatterns. OrgBitmap.Height := imgOrgSymbol. c.SelCount.Count .Items.NOutputNeuron + 1). lbChars. end.IndexOf(lbChars.1 do if lbChars. for f := 0 to lbFonts.Selected[f] then for s := lbSizes. OrgBitmap. 0.Free.Strings[c]). OrgBitmap := TBitmap.Name := lbFonts.Selected[s] then begin with OrgBitmap.Count . Font. SetLength(TrainingPairs.Items.1 do if lbFonts.btnAddClick(Sender: TObject).Strings[c]) = 1 then cbSymbol.InputPatternHeight). BackProp. OrgBitmap.procedure TTrainingForm.Checked = True then begin SetLength(TrainingPairs. OrgBitmap: TBitmap.1 downto 0 do if lbSizes.InputPatterns[IxInput]).

1. BackProp.Add(cbSymbol. TBackProp.InputPatternWidth.TargetPatternWidth.TargetPatternHeight).TargetPatternHeight). end. BackProp.Free.TargetPattern.Bitmap.if IxInput = 0 then begin AutoFitBitmap := GetAutoFitBitmap(OrgBitmap. BackProp.BitmapToLayer(AutoFitBitmap.Text). BackProp. BackProp.Picture. imgNormalSymbol. 0). [mbOk].TargetPattern).Canvas. end else begin if cbSymbol.Free. TBackProp.Bitmap.Free. TBackProp. AutoFitBitmap := GetAutoFitBitmap(imgOrgSymbol.Text) = -1 then cbSymbol. TrainingPairs.BitmapToLayer(AutoFitBitmap.Picture.Draw(0. BackProp. 84 .NOutputNeuron + 1).InputPatterns[0]). IxInput := IxInput + 1.InputPatterns. AutoFitBitmap). BackProp. AutoFitBitmap. SetLength(TrainingPairs. end else if rbInputPattern2.Items. cbSymbol. end. SetLength(TrainingPairs. BackProp.AddTrainingPairs(TrainingPairs). mtWarning. AutoFitBitmap.Free.IndexOf(cbSymbol.Text) = '' then begin MessageDlg('Pilih'. TrainingPairs.NInputNeuron + 1).TargetPattern).SetFocus. AutoFitBitmap := GetAutoFitBitmap(imgOrgSymbol.Items. BackProp. 0. AutoFitBitmap.BitmapToLayer(AutoFitBitmap.Items.TargetPatternClass := lbChars.InputPatternHeight). end.TargetPatternWidth. TrainingPairs. TrainingPairs. OrgBitmap.Checked = True then begin if Trim(cbSymbol.Strings[c].

end. imgNormalSymbol. Symbols. begin Bitmap := GetAutoFitBitmap(imgOrgSymbol. procedure TTrainingForm. 0.Bitmap.btnCloseClick(Sender: TObject). UpdateForm(False). BackProp.btnClearClick(Sender: TObject). imgOrgSymbol. begin OptionsForm. procedure TTrainingForm.AddTrainingPairs(TrainingPairs). end.FillRect(Rect(0. procedure TTrainingForm. Matchs.Text.TargetPatternClass := cbSymbol.btnStopClick(Sender: TObject).Cursor := crDefault.TrainingPairs. end.Canvas. imgNormalSymbol. end. imgOrgSymbol.StopTraining := True. procedure TTrainingForm.Canvas. end. 0. 85 . Unmatchs: TStringList. var Bitmap: TBitmap.Picture. procedure TTrainingForm. begin BackProp. BackProp.imgNormalSymbol.Height)). end. end. begin Close. procedure TTrainingForm. begin imgOrgSymbol. UpdateForm.btnTestClick(Sender: TObject). UpdateForm.btnRetrainClick(Sender: TObject).Retrain.ShowModal.FillRect(Rect(0. begin UpdateForm(True). end. UpdateTrainingInfo. Screen.Width.Width.btnOptionsClick(Sender: TObject). i : Integer.Height)).

end. var i: Integer.Cols[1]. sgResult. end.Create.Add('Match').InputPatternWidth. sgResult. Matchs. procedure TTrainingForm. imgOrgSymbol.Items. lbFonts. UpdateTrainingInfo.BitmapToLayer(Bitmap. procedure TTrainingForm.OnTrainingFinish := BackPropTrainingFinish.AddStrings(Symbols).OnTraining := BackPropTraining. sgResult. sgResult.Create. Bitmap.AddStrings(Matchs). begin UpdateForm(True). 0.Free.Train. BackProp.Add(IntToStr(i)). Matchs := TStringList.Count + 1. BackProp.Apply.1 downto 1 do sgResult. Unmatchs). 86 . Bitmap).Create(TrainingForm).Cols[0].InputPatternHeight). begin OptionsForm := TOptionsForm.GetResult(Symbols. BackProp.Items := Screen.Add('Symbol').Items.Rows[i]. BackProp.BackProp. BackProp. for i := 6 to 50 do lbSizes.InputLayer).Add(Chr(i)).AddStrings(Unmatchs). Symbols := TStringList.Fonts. btnClearClick(Sender).Clear.Free.Cols[0]. Symbols. Unmatchs.FormCreate(Sender: TObject).Create. sgResult.Free.Canvas.Count .RowCount := Symbols. TBackProp. Matchs.Draw(0.Pen.Width := DEFAULT_DRAWING_WIDTH. UpdateForm(False). imgNormalSymbol. for i := sgResult. BackProp.Rows[0]. sgResult.Rows[0]. BackProp.Free. Unmatchs := TStringList.btnTrainClick(Sender: TObject).Canvas.Cols[2]. for i := 33 to 126 do lbChars.

begin if FDrawing then with imgOrgSymbol do if sbPencil. for i := 0 to BackProp. X. Y: Integer). imgOrgSymbolMouseMove(Sender.Checked:=tRUE. Shift: TShiftState.FormShow(Sender: TObject). lbSizes. procedure TTrainingForm.Add(BackProp.Selected[0] := True. lbCharsClick(Sender).KnownSymbol[i]).Pen.Checked := True. X. begin if (Button = mbLeft) then begin FDrawing := True. end.Pen.LineTo(X.sgResult. cbSymbol. rbInputPattern2.NTrainingPair . end. procedure TTrainingForm. btnClearClick(Sender).Canvas. lbChars. end.Items. procedure TTrainingForm. var dPos: Integer. begin lbFonts.Width div 2) + (Canvas. Y) else if sbEraser. X.imgOrgSymbolMouseMove( Sender: TObject.Down then begin dPos := (Canvas. Y). UpdateForm. 87 . end.Selected[14] := True. imgOrgSymbol.imgOrgSymbolMouseDown( Sender: TObject. Y). UpdateTrainingInfo. Y: Integer). rbInputPattern2.MoveTo(X. Button: TMouseButton.Width mod 2).Rows[0].Selected[0] := True.Clear.Add('Unmatch').Down then Canvas. Shift. var i: Integer. Shift: TShiftState.1 do cbSymbol.

end. lbChars.mmiCutClick(Sender: TObject).ItemIndex]). end.Assign(imgOrgSymbol. procedure TTrainingForm. end. begin btnClearClick(Sender).dPos.Canvas do begin Font.lbCharsClick(Sender: TObject). Y + dPos)). end. begin lbCharsClick(Sender). Y .FillRect(Rect(X . 0.Items.Free. procedure TTrainingForm. 88 .Name := lbFonts.Items. procedure TTrainingForm. begin FDrawing := False.imgOrgSymbolMouseUp( Sender: TObject.Strings[lbSizes. TextOut(0.Items.mmiCopyClick(Sender: TObject).Picture. procedure TTrainingForm. end.Size := StrToInt(lbSizes. rbInputPattern1. BackProp.Bitmap.Canvas. mmiCopyClick(Sender).dPos. end. Font. begin Clipboard. end. begin btnClearClick(Sender).ItemIndex]).Strings[lbFonts. Shift: TShiftState.Checked := True. Bitmap). procedure TTrainingForm. end.InputPatternHeight). var Bitmap: TBitmap. X + dPos. X. Button: TMouseButton. with imgOrgSymbol.Draw(0. procedure TTrainingForm. 0.lbFontsClick(Sender: TObject).Picture).ItemIndex]. Y: Integer). Bitmap := GetAutoFitBitmap(imgOrgSymbol.Canvas.Strings[lbChars.InputPatternWidth. BackProp.mmiPasteClick(Sender: TObject). imgNormalSymbol. Bitmap.

procedure TTrainingForm.Style := [fsBold].RowCount) and (ACol < sgResult. end.Free.Canvas. var Alignment: TAlignment. ARow: Integer. end else if (ACol in [0. if (ARow < sgResult. State: TGridDrawState).. begin inherited. 89 . Alignment := taCenter. Text := sgResult. begin btnClearClick(Sender). rbInputPattern2. DT_RIGHT or DT_VCENTER or DT_WORDBREAK or DT_EXPANDTABS or DT_NOPREFIX.HasFormat(CF_BITMAP) then begin Bitmap := TBitmap. 0.ColCount) then begin if (ARow = 0) then begin sgResult. ACol. Rect: TRect. finally Bitmap.sgResultDrawCell(Sender: TObject.Assign(Clipboard).Cells[ACol. if Clipboard. Bitmap).Create. DT_CENTER or DT_VCENTER or DT_WORDBREAK or DT_EXPANDTABS or DT_NOPREFIX).Canvas.Font. try Bitmap.2]) then Alignment := taCenter else Alignment := taRightJustify. sgResult.Canvas.FillRect(Rect). end.var Bitmap: TBitmap. Text: string.Checked := True. ARow]. imgOrgSymbol. end.Draw(0. const ALIGNFLAGS: array [TAlignment] of Integer = (DT_LEFT or DT_VCENTER or DT_WORDBREAK or DT_EXPANDTABS or DT_NOPREFIX.

btnRetrain.Caption := '0'.NTrainingPair > 0) and not TrainingInProgress. 4.Caption := IntToStr(NTrainingEpoch). lblPixelError. if NTrainingNeuron > 0 then begin lblTrainingError. end. begin with BackProp do begin lblCurrentEpoch.NTrainingPair > 0) and (cbSymbol.Enabled := TrainingInProgress. btnOptions. PChar(Text). end else begin lblTrainingError. ffGeneral.DrawText(sgResult.Handle.Cursor := crAppStart else Screen.Canvas.Enabled := (BackProp. Rect. 90 .Caption := IntToStr(NNeuronError) + ' / ' + IntToStr(NTrainingNeuron) + ' ' + '(' + FloatToStrF((NNeuronError / NTrainingNeuron) * 100.Caption := '0'.Enabled := not TrainingInProgress. procedure TTrainingForm.UpdateTrainingInfo. end.UpdateForm(TrainingInProgress: Boolean = False). procedure TTrainingForm. btnAdd. btnStop.Items. Length(Text). btnTrain. btnTest.Caption := FloatToStr(TrainingError / NTrainingNeuron).Enabled := not TrainingInProgress.NTrainingPair > 0) and not TrainingInProgress.NTrainingPair > 0) and not TrainingInProgress.Count > 0) then cbSymbol. end.Cursor := crDefault. 0) + '%)'.Enabled := not TrainingInProgress.Clear. if not (BackProp.Items. btnClose.Enabled := (BackProp. ALIGNFLAGS[Alignment]). begin if TrainingInProgress then Screen.Enabled := (BackProp. lblPixelError. end.

O.picture. end.FileName). AB.end. Aplikasinya adalah sebagai berikut: 91 .Execute then begin BG:=TJpegImage. Help Help berisi tetang pembuat aplikasi dan penulis naskah skripsi. except beep. imgOrgSymbol. PEMBAHASAN DATA HASIL UJI COBA Hasil Uji Coba Setelah dilakukan uji coba dari data yang telah diproses maka akan didapat hasil golongan darah manusia yaitu golongan A.Button1Click(Sender: TObject). ShowMessage('Format Grafik Tidak Support !'). B.Free . end. procedure TTrainingForm.Create. end. BG.Graphic). BG. 3. try imgOrgSymbol.Picture :=Nil. D. begin If Ole.Picture.LoadFromFile(Ole. end.Assign(imgOrgSymbol.

6 aplikasi pengenalan pola golongan darah pada manusia Untuk mencetak hasil dari golongan darah maka ditekan tombol print dan akan keluar halaman sebagai berikut: Gambar 4.Gambar 4. dan 39 diantaranya dalah senagai berikut: 92 .7 hasil cetak setelah dilakukan pengenalan Contoh diatas adalah salah satu dari 40 sample yang saya ambil.

data uji coba No 1 Nama Nita Golongan Darah B Gambar Darah Keterangan Benar 2 Nana B Salah 3 Nina O Benar 4 Nala B Salah 5 Mamik B Salah 6 Misel B Salah 7 Melka O Benar 8 Yuyun A Salah 9 Hendr a Dias O Benar 10 O Benar 93 .Table 4.

11 Kosim A Salah 12 Sopin A Benar 13 Ida A Benar 14 Aziz A Salah 15 Hamda n Huri A Benar 16 B Benar 17 Rian O Benar 18 Rini O Benar 19 Fitri A Benar 20 Wulan AB Benar 21 Nurma O Benar 22 Niya O Benar 94 .

23 Cemyk O Benar 24 Olis A Benar 25 Nopi O Salah 26 Surur B Benar 27 Saipul O Benar 28 Diah B Benar 29 Rahma A Benar 30 Jamil B Benar 31 Munir B Benar 32 Sina O Benar 33 Latif O Benar 34 Tarjo O Benar 95 .

35 Hakim O Benar 36 Aril AB Benar 37 Frendi AB Benar 38 Zudi A Salah 39 Topek B Benar 40 Jabrik B Benar 96 .

97 . B. Untuk pengembangan aplikasi selanjutnya diharapkan lebih baik dan hasil-hasil dari pengenalan pola tidak terdapat kesalahan karena dalam hasil uji coba dari 40 sampel didapat prosentase keberhasilan 77.1 Kesimpulan Berdasarkan aplikasi yang telah di buat beserta uji coba yang telah dilakukan maka dapat ditarik kesimpulansebagai berikut: 1. 2. dan O dengan jaringan syaraf tiruan menggunakan metode backpropagasi. 3.5% 5. 3. Sobel. Penggunaan jaringan syaraf backpropagation dengan jaringan syraraf tiruan menggunakan metode yang lain. dalam mengolah citra. Keberhasilan aplikasi sangat tergantung pada hasil citra yang diambil 4. Golongan darah manusia dapat dikenali sebagai golongan darah A. Aplikasi ini dapat digunakan untuk menyederhanakan gambar dengan mengunakan deteksi tepi dengan operator laplacian 2. Canny atau yang lainnya.BAB V PENUTUP 5.2 Saran Dalam pengembangan sistem aplikasi pengenalan pola golongan darah pada manusia masih banyak bagian yang perlu dilakukan penelitian lebih lanjut untuk mendapatkan hasil yang lebih maksimal diantaranya adalah: 1.5%. AB. Hasil prosentase keberhasilan aplikasi ini adalah 77. Penggunaan deteksi tepi yang lain seperti operator Prewitt.

Automatic Recognize Of Handwritten Arabic Characters Using Their Geometrical Features. Hamayoon SMM. 2004.de. Yogyakarta Munir. Diakses dari http://www. Tafsir Al-Qur’an Al_Aisar. Pusaka Rizki Puta. Husni. Teknik Pengolahan Citra menggunakan Delphi. Sri. Pengolahan Citra Digital dan Teknik Pemrogramannya. 2007.denyhamdani. Yogyakarta: Pilar Religia Ahmad Balza & Firdausy Kartika. 98 . 2004. Yogyakarta: Ardi Publishing Ahmad Usman. 2006. Kusumadewi. Membangun jaringan saraf tiruan menngunakan matlab dan exel link. Hamdani. Russian Federation: Information Transmissions in Computer Networks Ash-Shiddieqy. Graha Ilmu. 2003. Darus Sunnah Press. Graha Ilmu. Tafsir al-Qur’anul Majid An-Nuur jilid 5. 2005. 2004. 2004. Internet. diakses pada tanggal 5 Oktober 2008. Syaikh. Saludin. Jatinegara-Jakarta Al-Rashaideh Hasan.htm. Yogyakarta: GRAHA ILMU.DAFTAR PUSTAKA Abdullah Amin. 2008. 2005. Semarang Beigi. 1998. Jabir. Integrasi Sains-Islam: Mempertemukan Epistemologi Islam dan Sains. Rinaldi. 2006. Internet. Hasbi. Abu. TJ Watson Research Center International Bussiness Machines Fahmy. diakses pada tanggal 11 Maret 2008. Maged Mohamed Mahmoud dan Somaya Al Ali. Memahami Tatabahasa Al-Quran. Yogyakarta: GRAHA ILMU Al-Jazairi. Diakses dari http://www. Pengolahan Citra Digital dengan Pendekatan Algoritmik.ro/ici/revista/sic2001_2/art1. Bandung: INFORMATIKA Muis. Deni. Bakar. Pemrograman Database dengan Delphi. Teknik Jaringan Saraf Tiruan. Muhammad. Yogyakarta. “Preprocessing phase for Arabic Word Handwritten Recognition”. An Overview of Handwriting Recognition.vu. 2000.ici.

Digital Image Processing. Gonzalez. 2007. Vuokka. “Thouch My Heart” Mengenal Kepribadian Anak Menurut Golongan Darah. USA: AddisonWesley Publishing Company. Woods. 1992. Adaptive Online Recognition of Handwriting 99 . Toshitaka. 1998. 2003. Pemrograman Borland Delphi 6 Edisi 4.NOMI.C. Vori. R. Yogyakarta Pranata Antony. Yogyakarta: Andi R. Andi Publiser.E.

100 .

Sign up to vote on this title
UsefulNot useful