Anda di halaman 1dari 100

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 Nuraini, mas Sis, dan Triya, Ajid, Padil terima kasih
untuk smua doanya. 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 girls 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-Quran 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
doa 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 TI05 seperjuangan, TIo4, TIo6-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-Araaf/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-Araaf/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
ARaaf menyeru penghuni surga dengan mengatakan Salaamunalaikum.
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
Said 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 Kcbcrosilon
[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-Quran 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-Quranul 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

Anda mungkin juga menyukai