EKSPERIMEN PENENTUAN GOLONGAN DARAH MELALUI PENGOLAHAN CITRA DIGITAL DENGAN METODE DETEKSI PREWITT, SOBEL, DAN ROBERT.

(1)

EKSPERIMEN PENENTUAN GOLONGAN DARAH MELALUI

PENGOLAHAN CITRA DIGITAL DENGAN METODE

PREWITT, SOBEL, DAN ROBERT

TUGAS AKHIR

Disusun Oleh :

HARMANTO

NPM. 0534010075

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

SURABAYA 2010


(2)

LEMBAR PENGESAHAN

Judul TA : EKSPERIMEN PENENTUAN GOLONGAN DARAH MELALUI PENGOLAHAN CITRA DIGITAL

DENGAN METODE DETEKSI PREWITT, SOBEL, DAN ROBERT

Nama Mahasiswa : HARMANTO

N P M : 0534010075

Program Studi : TEKNIK INFORMATIKA

Jurusan : TEKNIK INFORMATIKA

Menyetujui,

Dosen Pembimbing 1 Dosen Pembimbing 2

Hj. ASTI DWI IRFIANTI S.KOM, M.KOM FETTY TRI ANGGRAENY S.KOM

NPT. 373 020 602 13 NPT. 382 020 602 08

DEKAN KETUA JURUSAN

FAKULTAS TEKNOLOGI INDUSTRI TEKNIK INFORMATIKA

Ir. SUTIYONO. MT BASUKI RAHMAT S.Si,MT


(3)

LEMBAR PENGESAHAN

EKSPERIMEN PENENTUAN GOLONGAN DARAH MELALUI

PENGOLAHAN CITRA DIGITAL DENGAN METODE

PREWITT, SOBEL, DAN ROBERT

Di Susun Oleh

HARMANTO

NPM: 0534010075

Telah Disetujui Mengikuti Ujian Negara Lesan Gelombang I Tahun Akademik 2010/2011

Pembimbing Utama: Pembimbing Pendamping:

Asti Dwi Irfianti, S.Kom, M.Kom

Fetty Tri Anggraeny, S.Kom NPT: 37302 060 213 NPT: 382 020 602 08

Mengetahui,

Ketua Program Studi Teknik Informatika Fakultas Teknik Industri

Universitas Pembangunan Nasional ”VETERAN” Jawa Timur

Basuki Rahmat, S.Si, MT

NPT: 36907 060 209


(4)

TUGAS AKHIR

EKSPERIMEN PENENTUAN GOLONGAN DARAH MELALUI

PENGOLAHAN CITRA DIGITAL DENGAN METODE

PREWIT, SOBEL, DAN ROBERT

Di Susun Oleh

HARMANTO

NPM: 0534010075

Telah dipertahankan dihadapan dan diterima oleh tim penguji Tugas Akhir Program Studi Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional “VETERAN” Jawa Timur pada tanggal 8 Oktober 2010

Pembimbing, Tim Penguji,

1. 1.

Asti Dwi Irfianti, S.Kom, M.Kom Ir. Purnomo Edi Sasongko, MP NPT: 37607 070 220 NPT: 1964 0714 198803 1001

2. 2.

Fetty Tri Anggraeny, S.Kom Ir. M. Rochmad, MT

NPT: 382 020 602 08 NPT: 1962 0304 1991 03 1002 3.

Fetty Tri Anggraeny, S.Kom

NPT: 382 020 602 08

Mengetahui,

Dekan Fakultas Teknologi Industri

Universitas Pembangunan Nasional “VETERAN” Jawa Timur

Ir. Sutiyono, MT

NIP: 19600713 198703 1 001


(5)

YAYASAN KEJUANGAN PANGLIMA BESAR SUDIRMAN UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

FAKULTAS TEKNOLOGI INDUSTRI

Jl. Raya Rungkut Madya Gunung Anyar Telp. (031) 8706369 (Hunting). Fax. (031) 8706372 Surabaya 60294

KETERANGAN REVISI

Kami yang bertanda tangan di bawah ini menyatakan bahwa mahasiswa berikut : Nama : Harmanto

NPM : 0534010075

Jurusan : Teknik Informatika

Telah mengerjakan revisi / tidak ada revisi *) pra rencana (design) / skripsi ujian lisan gelombang II, TA 2010/2011 dengan judul :

”EKSPERIMEN PENENTUAN GOLONGAN DARAH MELALUI PENGOLAHAN CITRA DIGITAL DENGAN METODE PREWITT, SOBEL DAN ROBERT.”

Surabaya, 07 Desember 2010

Dosen penguji yang memeriksa revisi

1) Ir. Purnomo Edi Sasongko, MP

{

}

NPT: 1964 0714 198803 1001

2) Fetty Tri Anggraeny, S.Kom

{

}

NPT: 382 020 602 08

3) Ir. M. Rochmad, MT

{

}

NPT: 1962 0304 1991 03 1002


(6)

Dosen Pembimbing

KATA PENGANTAR

Segala puji syukur kehadirat Tuhan Yang Mahakuasa atas segala rahmat dan hidayah-Nya penyusunan Tugas Akhir dengan Judul “Eksperimen Penentuan Golongan Darah Dengan Pengolahan Citra”.

Keberhasilan Tugas Akhir serta penyelesaian penyusunan Laporan Tugas Akhir ini tidak terlepas dari bimbingan dan bantuan dari berbagai pihak. Untuk itu tidak lupa ucapan terima kasih sebesar – besarnya ditujukan kepada :

1. Bapak Drs. Ir. Sutiyono. MT. selaku Dekan Fakultas Teknik Industri. 2. Bapak Drs. Basuki Rahmat S.SI, MT.. selaku Ketua Jurusan Teknik

Informatika.

3. Ibu. Hj. Asti Dwi Irfianti S.KOM, M.KOM, selaku dosen pembimbing 1 yang selalu mengarahkan materi – materi Tugas Akhir.

4. Ibu. Fetty Tri Anggraeni S.KOM, selaku dosen pembimbing 2 yang selalu mengarahkan materi – materi Tugas Akhir.

5. Semua pihak yang telah banyak membantu sampai dengan terwujudnya laporan ini.

Penulis menyadari bahwa penyusunan Laporan Tugas Akhir ini masih kurang sempurna dan masih terasa adanya kelemahan dan kekurangan oleh karena itu penulis mengharapkan saran dan kritik positif yang bersifat membangun dari Dosen Pembimbing Utama

Asti Dwi Irfianti, S.Kom, M.Kom NPT: 37302 060 213

Dosen Pembimbing Pendamping

Fetty Tri Anggraeny, S.Kom NPT: 382 020 602 08


(7)

pembaca sekalian. Semoga laporan ini mendatangkan manfaat bagi pembaca. Akhir kata semoga segala bantuan dan kebaikan yang telah Bapak/Ibu berikan kepada penulis mendapat balasan dari Tuhan Yang Mahakuasa.

Surabaya, 11 November 2010 Penulis

HARMANTO, 0534010075, EKSPERIMEN PENENTUAN GOLONGAN DARAH MELALUI PENGOLAHAN CITRA DIGITAL DENGAN METODE DETEKSI PREWITT, SOBEL, DAN ROBERT

DOSEN PEMBIMBING I: HJ. ASTI DWI IRFIANTI, S.KOM M.KOM DOSEN PEMBIMBING II: FETTY TRI ANGRAENI, S.KOM

ABSTRAKSI

Perkembangan teknologi di bidang kesehatan berkembang dengan pesat. Namun masih terdapat hal-hal yang dilakukan secara konvensional.Perancangan aplikasi deteksi golongan darah dimulai mengambil sampel darah dan membaginya menjadi tiga bagian. Kemudian sampel darah tersebut ditetesi antiserum A,B, dan AB. sampel darah diambil citranya secara digital menggunakan kamera digital.

Hasil pencitraan harus terlebih dahulu direkayasa atau istilah pengolahan citranya yaitu prepocessing yang mengubah format citra, pemotongan citra, dan pengaturan kontras untuk mendapatkan hasil yang maksimal.Proses dari penentuan golongan darah, kemudian citra diolah dengan metode smoothing untuk menghaluskan dari noise dan pengolahan citra yang terakhir yaitu pendeteksian tepi objek dalam citra.

Untuk deteksi tepinya, terdapat tiga operator (Robert, Prewitt, Sobel) untuk disimpulkan operator deteksi tepi yang terbaik untuk mendeteksi gumpalan dengan melakukan pengujian golongan darah dengan mengambil sampel golongan darah. Operator sobel mempunyai keakuratan 94% meskipun lama percepatan rata – rata 331,93 ms dari 16 uji coba

Kata kunci: Golongan darah, pengolahan citra digital, deteksi tepi i


(8)

DAFTAR ISI

Halaman Judul Halaman Persetujuan Halaman Pengesahan

Kata Pengantar ... i

Abstraksi ... ii

Daftar Isi ... iii

Daftar Gambar ... viii

Daftar Tabel ... x

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 2

1.4 Tujuan ... 3

1.5 Manfaat ... 3

1.6 Metode Analisa ... 3

1.7 Sistematika Penambahan ... 5

BAB II TINJUAN PUSTAKA ... 7 ii


(9)

2.1...

Golongan Darah ... 7

2.1.1 Sistem ABO ... 8

2.1.2 Menentukan golongan darah ... 9

2.2...Disip lin Ilmu Pengolahan Citra ... 10

2.2.1 Citra ... 10

2.2.1.1...Citra biner ... 11

2.2.1.2...Citra skala keabuan ... 11

2.2.1.3...Citra warna ... 12

2.2.2 Pengolahan Citra ... 12

2.2.3 Operasi Pengolahan Citra ... 13

2.2.4 Langkah-langkah Penting dalam Pengolahan Citra ... 14

2.2.5 Komponen Citra Digital ... 16

2.2.6 Peningkatan Kualitas Citra ... 17

2.2.7 Transformasi Intensitas Citra ... 17

2.2.8 Segmentasi ... 22

a. Tepi Objek... 22

b. Deteksi Tepi ... 23

c. Deteksi tepi berbasis gradien ... 23

2.2.9 Komponen Timage Dalam Delphi ... 27 iii


(10)

BAB III METODE REKAYASA ... 29

3.1 Analisa Sistem ... 29

3.2 Akuisisi Citra ... 30

3.3 Desain ... 30

3.4 Desain Flowchart ... 31

3.4.1 Mengubah format citra *.jpg ke *.bmp ... 33

3.4.2 Mengatur Kontras Citra ... 34

3.4.3 Memotong Citra ... 35

3.4.4 Mengubah citra warna ke citra skala keabuan ... 37

3.4.5 Penghalusan citra ... 38

3.4.6 Deteksi tepi ... 39

3.5 Desain form ... 40

3.5.1 Form splash ... 40

3.5.2 Form utama ... 40

BAB IV IMPLEMENTASI SISTEM ... 42

4...Ling kungan Implementasi Sistem ... 42

4.1 Perangkat keras ... 42

4.2 Perangkat lunak ... 42

4.3 Implementasi Antar Muka (Interface) ... 42

4.3.1 Form kontras ... 42

4.3.2 Form cropping ... 44

4.3.3 Kode program mengubah citra warna ke grayscale ... 45


(11)

4.3.4 Kode program penghalusan citra

(smoothing) ... 45

4.3.5 Kode program deteksi tepi citra ... 47

4.3.6 Kode program menentukan golongan darah 48 4.3.7 Form Preview ... 49

4.3.8 Form about ... 50

4.3.9 Form help ... 50

BAB V UJI COBA DAN EVALUASI ... 51

5.1.Hasil dan Pembahasan ... 51

...5.1.1. Form utama ... 51

...5.1.2. Mengubah tipe file ... 51

...5.1.3. Mengatur kontras citra ... 52

...5.1.4 Memotong gambar ... 53

...5.1.5 Proses penentuan golongan darah ... 54

...5.1.6. Report ... 55

...5.2.H asil Analisis Kinerja Program ... 57

BAB VI PENUTUP ... 62

6.1. kesimpulan ... 62 v


(12)

6.2.Saran ... 63 DAFTAR PUSTAKA ... 64 LISTING PROGRAM ... 65


(13)

DAFTAR GAMBAR

BAB II

Gambar 2. 1. Penggumpalan darah ... 9

Gambar 2.2. Perubahan citra warna ke citra warna keabuan ... 17

Gambar 2.3. Pemotongan Citra ... 22

Gambar 2.4. Proses deteksi tepi citra ... 23

Gambar 2.5. Kernel filter operator Sobel ... 26

Gambar 2.6. Kernel Filter Metode Prewitt ... 27

BAB III Gambar 3.1. Diagram Blok Aplikasi Pengolahan Citra ... 30

Gambar 3.2. Flowchart Aplikasi ... 32

Gambar 3.4. Flowchart Mengubah citra JPG ke BMP ... 34

Gambar 3.5 Flowchart Mengubah Kontras Citra ... 35

Gambar 3.6. Flowchart memotong gambar ... 36

Gambar 3.7. Flowchart mengubah citra warna menjadi citra skala keabuan ... 37

Gambar 3.8. Flowchart penghalusan citra ... 38

Gambar 3.9. Flowchart deteksi tepi ... 39

Gambar 3.10. Form splash screen ... 40

Gambar 3.11 Form Utama ... 41

BAB IV Gambar 4.1. Form Kontras ... 43

Gambar 4.2. Kode program mengubah kontras citra ... 43

Gambar 4.3. Form Cropping ... 44

Gambar 4.4. Kode program memotong gambar ... 45


(14)

Gambar 4.5. Kode program mengubah citra warna ke grayscale ... 46

Gambar 4.6 Kode program penghalusan citra (smoothing) ... 46

Gambar 4.7 Kode program deteksi tepi citra ... 47

Gambar 4.8. Kode program menentukan golongan darah ... 48

Gambar 4.9 Form preview ... 49

Gambar 4.10 Form about ... 50

Gambar 4.11 Form help ... 50

BAB V Gambar 5.1. Open picture dialog ... 51

Gambar 5.2. Save picture dialog ... 52

Gambar 5.3 Pesan citra berhasil disimpan dengan format bitmap ... 52

Gambar 5.4. Mengatur contrast citra ... 53

Gambar 5.5 Memotong gambar ... 54

Gambar 5.6 Hasil dari potongan gambar ... 54

Gambar 5.7 Mengambil citra untuk menentukan golongan darah ... 55

Gambar 5.8 Memilih operator deteksi tepi ... 55

Gambar 5.9 Proses pengolahan citra ... 56

Gambar 5.10 Analisa golongan darah ... 56


(15)

DAFTAR TABEL

BAB II

Tabel 2.1. Golongan Darah ... 8

Tabel 2.2 Menentukan golongan darah ... 9

Tabel 2.3. Matriks susunan Tangga ... 23

Tabel 2.4. Format Citra Bitmap ... 28

BAB V Tabel 5.1 Hasil penentuan golongan darah dengan operator robert ... 58

Tabel 5.2 Hasil penentuan golongan darah dengan operator prewitt ... 59

Tabel 5.3 Hasil penentuan golongan darah dengan operator sobel ... 60


(16)

BAB I

PENDAHULUAN

1.1. Latar Belakang

Perkembangan teknologi di bidang kesehatan berkembang dengan pesat. Namun masih terdapat hal-hal yang dilakukan secara konvensional. Dari hasil pengecekan golongan darah di salah satu rumah sakit, yaitu setelah sampel darah diambil dan diletakkan di media dan kemudian ditetesi serum anti A, anti B, dan Anti AB. Kemudian pasien masih menunggu hasilnya selama 15 sampai 30 menit untuk menunggu hasil rekam medis karena lamanya proses pengeringan sampel darah tersebut.

Dari proses waktu yang dibutuhkan, peneliti mendapat gagasan untuk mempercepat proses tersebut menggunakan metode pengolahan citra sehingga sampel darah yang telah ditetesi serum anti A, anti B, dan anti AB dilakukan pencitraan menggunakan kamera digital dan diproses menggunakan komputer dan hasilnya dapat diketahui dengan cepat dan hasilnya berupa rekam medis juga dapat dicetak sehingga dari proses tersebut dapat mempersingkat waktu dan pasien tidak terlalu lama menunggu hasilnya.

Komputerisasi digitalisasi memiliki keuntungan, yaitu apabila seseorang hendak meminta kembali rekam medisnya, pasien tidak perlu melakukan pemeriksaan lagi karena file gambar sudah disimpan dalam komputer. Sehingga banyak kemudahan yang didapat. Untuk deteksi tepinya, terdapat tiga operator

(Robert, Prewitt, Sobel) untuk disimpulkan operator deteksi tepi mana yang

terbaik untuk mendeteksi gumpalan dengan melakukan pengujian golongan darah dengan mengambil sampel golongan darah secara acak. Operator (Robert) adalah


(17)

konversi biner dengan meratakan distribusi warna hitam dan putih. Operator

(Prewitt) merupakan konversi biner yang menghaluskan warna menjadi gumpalan

darah menjadi Smoothing. Operator (Sobel) merupakan operator deteksi tepi yang mampu mendeteksi gumpalan dengan baik. Sehingga memiliki tingkat akurasi tinggi untuk proses golongan darah.

1.2. RUMUSAN MASALAH

Dari latar belakang tersebut, muncul beberapa perumusan masalah yang dijabarkan sebagai berikut.

a) Bagaimana cara menentukan jenis golongan darah manusia dengan sensitifitas dan tingkat keakuratan yang tinggi serta tampilan digital agar mudah dalam pembacaan dan pendataan. b) Bagaimana cara merancang bangun aplikasi penentuan

golongan darah dengan metode Prewitt, sobel, dan Robert? c) Bagaimana proses penentuan golongan darah menggunakan

pengolahan citra secara digital dengan waktu yang effisien.

1.3. BATASAN MASALAH

Adapun beberapa batasan yang muncul dari permasalahan yang timbul diantaranya.

1) Pencitraan sampel golongan darah menggunakan kamera digital dengan Auto focus.

2) Aplikasi yang digunakan dalam membangun aplikasi penentuan golongan darah dengan menggunakan Borland Delpi 7.

3) Citra yang diolah berupa gambar dengan format bitmap (*.bmp). 4) Menggunakan metode deteksi tepi Prewitt, Sobel, dan Robert.


(18)

1.4. TUJUAN

1). Menentukan golongan darah dengan pengolahan dapat meliputi pengaturan kontras dan pemotongan gambar, dan kemudian dilanjutkan dengan tahap mengubah citra warna ke citra skala keabuan, penghalusan citra, deteksi tepi citra, dan kemudian gumpalan dapat terbaca.

2). Merancang bangun aplikasi penentuan golongan darah yaitu dengan menggunakan beberapa operator deteksi untuk dicari operator deteksi tepi yang terbaik sehingga didapatkan hasil yang akurat.

3). Penentuan golongan darah menggunakan pengolahan citra harus melalui beberapa proses yaitu pencitraan, prepocessing dengan meningkatkan kualitas citra. Dan setelah langkah prepocessing, proses utama berupa deteksi tepi dijalankan.

1.5. Manfaat

Dari pembuatan aplikasi ini didapat manfaatnya diantaranya.

1) Dapat melakukan pengolahan citra (gambar) dengan deteksi tepi. 2). Membantu pengguna untuk menentukan golongan darah secara

komputerisasi 1.6. Metode Analisa

Metode analisa pada pembuatan Tugas Akhir ini terbagi menjadi beberapa tahapan sebagai berikut :

1. Survei Lapangan

Mencari data dengan melakukan pendataan semua jenis golongan darah di dunia medis

2. Studi Literatur


(19)

Pada tahap ini dilakukan pengumpulan referensi-referensi, dokumen-dokumen, buku-buku, sumber dari Internet dari sumber-sumber lainnya yang diperlukan untuk merancang dan menginplementasikan pemrograman Pengolahan Citra digital dengan menggunakan Metode

Prewitt, Sobel, Robert dan Borland Delphi 7. 3. Analisa dan Perancangan Aplikasi

Dari hasil survei lapangan dan studi literatur akan dibuat skripsi umum tentang Aplikasi Pegolahan Citra Digital yang akan dibuat serta dilakukan analisa kebutuhan sistem, sehingga akan dihasilkan sistem yang akan digunakan sesuai dengan yang diharapkan yang sebelumnya telah dirancang.

4. Pembuatan Aplikasi

Prinsip kerja sistem ini adalah meggunakan kamera digital auto fokus dan kemudian pengguna melakukan prepocessing yaitu mengubah file, mengubah kontras dan media gambar. Pada Pegolahan Citra Digital ini menggunakan 3 Metode yaitu Prewitt, Sobel, dan Robert. Yang mana mempunyai media Spesifik masing- masing

5. Uji Coba dan Evaluasi Sistem

Hasil dari realisasi perencanaan Pengolahan Citra Digital kemudian dievaluasi. Menjelaskan langkah-langkah yang dilakukan saat mengeksekusi program. Pengujian ini bertujuan untuk mengetahui apakah program yang telah dibuat menghasilkan hasil yang sesuai yang diinginkan atau belum. Dari pengujian ini diharapkan dapat berjalan secara keseluruhan.


(20)

6. Penyusunan Buku Tugas Akhir

Pada tahap ini merupakan tahap terakhir dalam penyusunan Tugas Akhir. Buku ini disusun sebagai laporan dari seluruh proses pengerjaan Tugas Akhir, dan dari hasil laporan dari buku ini akan memudahkan pembaca untuk mengetahui alur dari sistem informasi ini bekerja atau sebagai panduan untuk pembaca.

1.7. Sistematika Pembahasan

Sistematika pembahasan yang dibuat dalam Tugas Akhir ini disusun dalam beberapa bab, yang dijelaskan sebagai beikut :

BAB I : PENDAHULUAN

Bab ini berisi tentang deskripsi umum tentang Tugas Akhir yang meliputi diantaranya latar belakang, batasan masalah, tujuan, manfaat, serta metodologi serta sistematika pembahasan.

BAB II : TINJAUAN PUSTAKA

Bab ini berisi tentang konsep dari teori pembelajaran yang menjadi dasar pembuatan Tugas Akhir diantaranya. Sistem, penentuan golongan darah, pencitraan, operasi pencitraan, komponen citra digital.

BAB III : ANALISA DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisa dari sistem yang akan dibuat dan perancangan Pengolahan Citra Digital yang meliputi diantaranya skripsi umum sistem, kebutuhan sistem, perancangan proses latar dan perancangan anatar muka (Interface).


(21)

BAB IV : IMPLEMENTASI

Bab ini berisi tentang hasil implementasi dari perancangan Pengolahan Citra Digital sebelumnya yang meliputi implementasi basis data, implementasi designdatabase, implementasi pembuatan program dan implementasi form-form antarmuka aplikasi (interface).

BAB V : UJI COBA DAN EVALUASI

Bab ini berisi tentang penjelasan lingkungan uji coba Pengolahn Citra Digital, skenario uji coba, pengujian error handling yang dilakukan untuk kelayakan sistem ini.

BAB VI : PENUTUP

Bab ini berisi tentang kesimpulan dan saran untuk pengembangan Pengolahan Citra Digital lebih lanjut dalam upaya memperbaiki kelemahan pada Pencitraan guna untuk mendapatkan hasil sistem sesuai dengan yang diinginkan dan kesempurnaan.


(22)

BAB II

TINJAUAN PUSTAKA

2.1. Golongan Darah

Golongan darah adalah ciri khusus darah dari suatu individu karena adanya perbedaan jenis karbohidrat dan protein pada permukaan membran sel darah merah. Dengan kata lain, golongan darah ditentukan oleh jumlah zat (kemudian disebut antigen) yang terkandung di dalam sel darah merah. Ada dua jenis penggolongan darah yang paling penting, yaitu penggolongan

ABO dan Rhesus (faktor Rh). Selain sistem ABO dan Rh, masih ada lagi macam penggolongan darah lain yang ditentukan berdasarkan antigen yang terkandung dalam sel darah merah. Di dunia ini sebenarnya dikenal sekitar 46 jenis antigen selain antigen ABO dan Rh, hanya saja lebih jarang dijumpai. Salah satunya Diego positif yang ditemukan hanya pada orang Asia Selatan dan pribumi Amerika. Dari

sistem MNS didapat golongan darah M, N dan MN yang berguna untuk tes

kesuburan. Duffy negatif yang ditemukan di populasi Afrika. Sistem Lutherans mendeskripsikan satu set 21 antigen. Dan sistem lainnya meliputi Colton, Kell, Kidd, Lewis, Landsteiner-Wiener, P, Yt atau Cartwright, XG, Scianna, Dombrock, Chido/ Rodgers, Kx, Gerbich, Cromer, Knops, Indian, Ok, Raph dan JMH. ” Achmad, Balza Ir & Firdausi. Kartika, ST. MT. 2005. Teknik Pengolahan Citra Digital menggunakan Delphi. Yogyakarta: Ardi Publishing”

2.1.1. Sistem ABO

Karl Landsteiner, seorang ilmuwan asal Austria yang menemukan 3 dari 4 golongan darah dalam sistem ABO pada tahun 1900 dengan cara memeriksa golongan darah beberapa teman sekerjanya. Percobaan sederhana ini pun


(23)

dilakukan dengan mereaksikan sel darah merah dengan serum dari para donor. Hasilnya adalah dua macam reaksi (menjadi dasar antigen A dan B, dikenal dengan golongan darah A dan B) dan satu macam tanpa reaksi (tidak memiliki antigen, dikenal dengan golongan darah O). Kesimpulannya ada dua macam antigen A dan B di sel darah merah yang disebut golongan A dan B, atau sama sekali tidak ada reaksi yang disebut golongan O. Kemudian Alfred Von Decastello dan Adriano Sturli yang masih kolega dari Landsteiner menemukan golongan darah AB pada tahun 1901. Pada golongan darah AB, kedua antigen A dan B ditemukan secara bersamaan pada sel darah merah sedangkan pada serum tidak ditemukan antibodi. Dalam sistem ABO, golongan darah dibagi menjadi 4 golongan seperti yang telah dijelaskan pada Tabel. 2. 1.

Tabel. 2.1. Golongan Darah

GOLONGAN SEL DARAH MERAH PLASMA

A Antigen A Antibodi A

B Antigen B Antibodi B

AB Antigen A & B Tidak ada antibodi

O ( Rh ) Tidak ada antigen Antibodi Anti A & Anti B

2.1.2 Menentukan golongan darah

Menentukan golongan darah yaitu dengan membaca gumpalan yang terjadi pada saat darah ditetesi serum anti A, Antu B, Dan Anti AB. Pada table 2 .2. dijelaskan cara menentukan golongan darah.


(24)

Tabel. 2.2 Menentukan Golongan Darah

Keterangan :

1 = Menggumpal O = Tidak Menggumpal

Contoh:

Dinyatakan golongan darah A jika:

A B C

Gambar. 2.1 Penggumpalan darah

a) Anti A mengumpal.

b) Anti B tidak mengumpal.

c) Anti AB mengumpal

2.2. Disiplin Ilmu Pengolahan Citra

Pengolahan citra merupakan bidang yang bersifat multidisiplin yang terdiri dari banyak aspek, antara lain físika, elektronika, matemátika, seni, fotografi, dan teknologi komputer. Pengolahan citra (Image Processing) memiliki hubungan yang sangat erat dengan disiplin ilmu yang lain. Jika sebuah disiplin ilmu

MASUKAN KELUARAN ANTI A ANTI B ANTI AB GOLONGAN DARAH

0 0 0 0

0 0 1 Tidak ada

0 1 0 Tidak ada

0 1 1 B

1 0 0 Tidak ada

1 0 1 A

1 1 0 Tidak ada

1 1 1 AB


(25)

dinyatakan dalam bentuk proses suatu input menjadi output, maka pengolahan citra memiliki input berupa citra serta output juga berupa citra.

2.2.1 Citra

Definisi citra menurut Kamus Webster seperti yang dikutip oleh Achmad Balza (2005: 2), adalah “Suatu representasi, kemiripan, atau imitasi dari suatu obyek atau benda”.

Citra dapat dikelompokkan menjadi citra tampak dan citra tak tampak. Banyak contoh citra tampak dalam kehidupan sehari-hari seperti foto keluarga, lukisan, apapun yang tampak di layar monitor. Sedangkan citra tak tampak nisalnya data gambar dalam file, citra yang dipresentasikan menjadi fungsi matematis. Untuk dapat dilihat oleh mata manusia, citra tak nampak ini harus diubah nejadi citra nampak, misalnya dengan menampilkan di monitor, dicetak di atas kertas, dan sebagainya.

Diantara jenis citra tersebut, hanya citra digital yang dapat diolah menggunakan komputer. Jenis citra lain, jika hendak diolah dengan komputer, harus diolah dulu menjadi citra digital misalnya foto dipindai (scan) dengan scanner, persebaran panas tubuh ditangkap dengan kamera inframerah dan diubah menjadi informasi numeris.

Berdasarkan kombinasi warnanya, citra dibagi menjadi tiga yaitu citra biner, citra skala keabuan, dan citra warna.

2.2.1.1. Citra Biner

Pada citra biner setiap titik bernilai 0 atau 1, yang masing-masing mempresentasikan warna tertentu. Contoh yang lazim yaitu warna hitam bernilai 0


(26)

dan warna putih bernilai 1. setiap titik pada citra hanya membutuhkan 1 bit, sehingga setiap byte dapat menampung informasi 8 titik.

2.2.1.2. Citra Skala Keabuan

Citra skala keabuan (grayscale) memberi kemungkinan warna yang lebih banyak daripada citra biner, karena ada nilai-nilai lain diantara nilai minimum dan nilai maksimumnya. Banyaknya kemungkinan nilai dan nilau maksimumnya bergantung pada jumlah bit yang digunakan. Contohnya untuk skala keabuan 4

bit, maka jumlah kemungkinan nilainya adalah 24 = 16, sehingga nilai

maksimimnya 24 – 1 = 15, sedangkan untuk warna keabuan 8 bit, maka jumlah

kemungkinan nilainya adalah 28 = 256 sehingga nilai maksimumnya adalah 28 – 1

=255.

Format citra ini disebut skala keabuan karena pada umumnya warna yang dipakai adalah antara hitam sebagai warna minimalnya dan warna putih sebagai warna maksimalnya, sehingga warna diantaranya adalah warna abuabu. Namun pada praktiknya, warna yang dipakai tidak terbatas pada warna abu-abu, sebagai contoh dipilih warna minimalnya putih dan warna maksimalnya adalah merah, sehingga semakin besar nilainya, semakin besar pula intensitas warna merahnya. Banyak buku yang menyebut format citra ini sebagai citra intensitas.

2.2.1.3. Citra Warna

Pada citra warna setiap titik memiliki warna yang lebih spesifik yang merupakan kombinasi dari tiga warna dasar yaitu merah-hijau-biru (redgreen- blue), dan setiap warna dasar mempunyai intensitas dengan nilai maksimum 255 (8 bit). Jumlah kombinasi warna yang mungkin untuk format citra ini adalah 224 =

16.777.216 yang biasa disebut 16 juta warna. Namun dengan sedemikian 11


(27)

kompleksnya warna yang dimiliki oleh citra warna, maka akan memperlambat proses pengolahan citra, sehingga sebelum melakukan pengolahan citra, gambar yang akan diproses diubah ke dalam citra keabuan dengan membagi tiga jumlah intensitas warna merah, hijau, dan biru.

2.2.2. Pengolahan Citra

Karena berbentuk data numeris, maka citra digital dapat diolah dengan komputer. Suatu citra digital melalui pengolahan citra digital (digital image processing) menghasilkan citra digital yang baru. Sedangkan analisis citra digital (digital image analysis) menghasilkan suatu keputusan atau suatu data termasuk didalamnya adalah pengenalan pola (pattern recognition). Beberapa buku menggabungkan kedia hal tersebut menjadi satu yaitu pengolahan citra.

Secara dimensional, citra dapat berupa citra dua dimensi maupun tiga dimensi. Pengolahan citra tiga dimensi sangatlah kompleks diluar dari bahasan tugas akhir ini sehingga yang akan dibahas hanya pengolahan untuk citra 2 dimesi. Sedangkan citra tiga dimensi dapat didekati dengan cara membagi citra tersebut menjadi lapisan-lapisan (layer) yang masing-masing merupakan citra dua dimensi.

2.2.3. Operasi Pengolahan Citra

Pengolahan citra pada dasarnya dilakukan dengan cara memodifikasi setiap titik dalam citra tersebut sesuai kebutuhan. Secara garis besar, modifikasi tersebut dikelompokkan menjadi:

1. Operasi titik, di mana setiap titik diolah secara tidak gayut terhadap titik-titik yang lain.

2. Operasi global, di mana karakteristik global dari citra untuk memodifikasi nilai setiap titik.


(28)

3. Operasi temporal/berbasis bingkai, di mana sebuah citra diolah dengan cara dikombinasi dengan citra lain.

4. Operasi geometri, di mana bentuk, ukuran, atau orientasi citra dimodifikasi secara geometris.

5. Operasi banyak titik bertetanga, di mana data dari titik-titik yang bersebelahan (bertetangga) dengan titik yang ditinjau ikut berperan dalam mengubah nilai yang merupakan operasi yang digunakan dalam pembuatan tugas akhir ini.

6. Operasi morfologi, yaitu operasi yang berdasarkan segmen atau bagian dalam citra yang menjadi bagian dalam citra yang menjadi perhatian.

2.2.4. Langkah-langkah Penting dalam Pengolahan Citra

Secara umum, langkah-langkah dalam pengolahan citra dapa dijabarkan menjadi beberapa langkah yang digambarkan sebagai berikut.

1. Akuisisi citra

akuisisi citra adalah tahap awal untuk mendapatkan citra digital. Tujuan akuisisi citra adalah untuk menentukan data yang diperlukan dan memilih metode perekaman citra digital. Tahap ini dimulai dari obyek yang akan diambil gambarnya sampai pada pencitraan. Pencitraan adalah kegiatan transformasi dari citra tampak (foto, gambar, lukisan, patung) menjadi citra digital. Beberapa alat yang dapat digunakan untuk pencitraan adalah:

a. kamera digital

Menggunakan kamera digital Panasonic G900 auto Fokus dengan kualitas 1.3 Mega Pixel dengan menyimpan data sampai 2 GB. “ Panduan buku kamera Digital Panasonic G900 auto Fokus 1,3 Mega Pixel”


(29)

b. scanner

Menggunakan Scanner Canon MP Pixma 145 dengan kualitas tajam. “ Panduan buku Scanner Canon Pixma MP 145dengan kualitas tajam “

hasil dari akuisisi citra ini ditentukan oleh kemampuan sensor untuk mendigitalisasi sinyal yang terkumpul pada sensor tersebut. Kemampuan digitalisasi ditentukan oleh resolusi alat tersebut.

2. Prepocessing

Tahaan ini dilakukan untuk menjamin kelancaran pada proses berikutnya. Hal-hal penting yang dilakukan pada tingkatan ini diantaranya adalah:

a. peningkatan kualitas citra b. menghilangkan noise c. perbaikan citra 3. Segmentasi

Tahapan ini berujuan untuk memartisi citra menjadi bagian-bagian pokok yang mengandung informasi penting.

4. Representasi dan deskripsi

Dalam hal ini representasi merupakan suatu proses untuk mempresentasikan suatu wilayah sebagai suatudaftar titik-titik koordinat. Setelah suatu wilayah dapat dipresentasikan, proses selanjutnya dengan perhitungan rata-rata, standar deviasi, dan lain-lain.

5. Pengenalan dan interpretasi

tahap ini betujuan untuk memberi label pada sebuah objek informasinya telah tersedia.


(30)

2.2.5. Komponen Citra Digital

Setiap citra digital memiliki beberapa karakteristik, antara lain ukuran citra, resolusi, dan format nilainya. Umumnya citra digital berbentuk persegi panjang yang memiliki lebar dan tinggi tertentu.

Ukuran ini biasanya dinyatakan dengan banyaknya titik atau piksel sehingga ukuran citra selalu berukuran bulat. Ukuran citra juga dapat dinyatakan secara fisik dalam satuan panjang misalnya mm atau inch. Dalam hal ini tentu saja harus ada hubungan antara ukuran titik penyusun citra dengan satuann panjang. Hal tersebut dinyatakan dengan resolusi yang merupakan ukuran banyaknya titik untuk satuan panjang. Biasanya satuan yang digunakan adalah dpi (dot per inch). Semakin besar resolusi suatu citra maka semakin banyak titik yang terkandung dalam citra dengan ukuran fisik yang sama. Hal ini memberikan penampakan citra menjadi lebih halus.

Format citra digital ada bermacam-macam. Karena citra mempresentasikan informasi tertentu, sedangkan informasi tersebut dapat dinyatakan secara bervariasi, maka citra yang mewakilinya dapat muncul dalam berbagai format. Citra yang mempresentasikan informasi yang hanya bersifat biner untuk membedakan dua keadaan tertentu tidaklah sama dengan informasi yang lebih kompleks sehingga memerlukan lebih banyak keadaan yang diwakilinya. Pada citra digital, semua informasi disimpan dalam bentuk angka, sedangkan penampilan angka tersebut biasanya dikaitkan dengan warna.

Citra digital tersusun atas titik-titik yang biasanya berbentuk persegi panjang atau bujursangkar yang secara beraturan membentuk baris dan kolom. Setiap titik mewakili koordinat sesuai dengan posisinya dalam citra. Koordinat ini biasanya dinyatakan dalam bilangan bulat positif yang dimulai dari 0.


(31)

2.2.6. Peningkatan Kualitas Citra

Peningkatan kualitas citra adalah suatu proses untuk mengubah sebuah citra menjadi citra baru sesuai kebutuhan melalui berbagai cara. Cara-cara yang biasa dilakukan misalnya dengan fungsi transformasi, operasi matematis, pemfilteran, dan lain-lain. Tujuan utama dari peningkatan kualitas citra adalah untuk memproses citra sehingga citra yang dihasilkan lebih baik daripada citra aslinya untuk aplikasi tertentu.

2.1.9.1. Transformasi intensitas citra

Peningkatan kualitas citra dapat dilakukan melaluu transformasi intensitas citra, yaitu besar intensitas setiap piksel pada citra diubah, tetapi posisi piksel tetap. Transformasi citra diubah tetapi posisi piksel tetap. Transformasi ini dilakukan melalui sebuah fungsi yang disebut fungsi skala keabuan atau Gray-Scale Transformation Function atau biasa disebut fungsi GST. Fungsi ini memetakan fungsi input f(x,y)(yang bertindak sebagai citra input) menjadi fungsi output f(x,y)(yang bertindak sebagai citra output. Untuk citra warna, fungsi GST diterapkan untuk ketiga elemen warna yang ada (RGB). Penerapan ketiga elemen warna tadi tidak harus sama. Transformasi intensitas citra termasuk operasi titik yaitu hasil proses suatu titik (piksel) tidak tergantung pada titik tetangganya.

a. Transformasi citra berwarna menjadi citra skala keabuan

Proses awal yang banyak dilakukan dalam pengolahan citra adalah mengubah citra berwarna menjadi citra skala keabuan. Digunakan untuk menyederhanakan model citra. Citra berwarna terdiri dari 3 layer matrik yaitu R-layer, G-layer dan B-layer untuk melakukan proses-proses selanjutnya tetap diperhatikan tiga layer di atas. Bila setiap


(32)

proses perhitungan dilakukan menggunakan tiga layer, berarti dilakukan tiga perhitungan yang sama. Konsep itu disederhanakan, dengan mengubah 3 layer di atas menjadi 1 layer matrik skala keabuan Hasilnya : citra skala 15 keabuan. Dalam citra ini tidak ada lagi warna, yang ada adalah derajat keabuan. Citra warna biasa diubah menjadi citra skala keabuan dengan cara menghitung rata-rata elemen warna,

Red, Green Blue. Secara matematis perhitungannya adalah sebagai berikut.

F0 ( x,y) =

Gambar 2.2. Perubahan citra warna ke citra warna keabuan

b. Kontras

Kontras adalah tingkat penyebaran piksel-piksel ke dalam intensitas warna. Ada tiga macam kontras, yaitu kontras rendah, kontras tinggi, dan kontras normal.

1. Citra kontras rendah

Citra yang memiliki citra kontras rendah dapat terjadi karena kurangnya pencahayaan, kurangnya bidang dinamika dari sensor citra, atau kesalahan pengaturan pembuka lensa pada saat pengambilan citra. Citra ini memiliki kurva histogram yang sempit. Akibatnya sebaran intensitas terang atau intensitas gelapnya tidak merata. Ini berarti titik 18


(33)

tergelap dalam citra tersebut tidak hitam pekat dan titik paling terang tidak mencapai putih cemerlang.

2) Citra kontras tinggi

Citra memiliki kontras tinggi apabila memiliki kurva histogram yang terlalu lebar. Akibatnya sebaran intensitas terang dan gelap merata ke seluruh skala intensitas.

3) Citra kontras normal

Citra memiliki kontras normal bila lebar kurva histogram tidak terlalu sempit dan tidak terlalu melebar. Fungsi peningkatan kontras yang pertama secara matematis dituliskan sebagai berikut.

fo (x,y) G(fi(x,y) – P)P………(1)

Di mana G adalah koefisien penguatan kontras dan P adalah nilai grayscale yang dipalai sebagai pusat pengontrasan. Fo(x,y) adalah intensitas piksel citra hasil kontras dan fi(x,y) adalah intensitas piksel citra asal.

2.1.9.2. Penghalusan kualitas citra menggunakan pemfilteras spasial

Selain menggunakan transformasi intensitas, peningkatan kualitas citra juga bisa diperoleh dengan pemfilteran spasial dengan menggunakan beberapa filter yang telah dirancang salah satunya adalah filter rata-rata. Filter ini bertujuan untuk menghasilkan efek penghalusan (smoothing). Penghalusan citra menggunakan filter rata-rata Cara membuat efek penghalusan citra dengan filter rata-rata adalah melakukan proses pemfilteran citra f(x,y) dengan filter rata-rata g(x,y) untuk berbagai ukuran filter. Dari ukuran 3x3, 5x5, 7x7 dan seterusnya.


(34)

Dari berbagai ukuran filter ini, kita akan melihat ukuran filter yang paling mempunyai pengaruh terhadap citra tersebut.

Berdasarkan prinsip –prinsip filter pada Citra, Tepi Suatu gambar dapat diperoleh menggunakn High pass filter ( HPF ), Dengan karekteristik :

∑∑ H ( x,y ) =0 ………( 2 )

Gambar 2.3. Proses kernel filter

Dimana

f ( i,y ) = Ap1 + Bp2 + Cp3 + Dp4 + Ep5 + Fp6 + Gp7 + Hp8 + Ip9... ( 3 )

Dengan cara memetakan koordinat titik – titik citra asal ke koordinat titik – titik di citra hasil. Pemataan dilakukan dengan menerapkan Fungsi Transformasi spasial. Secara umum dapat dirumuskan dengan :

K΋ ( x¹, y¹ ) = KΌ ( x, y ) ………( 4 )

Dimana K1 (x,y) adalah keabuan piksel pada koordinat asal dan K0 (x1, y1) adalah

hasil keabuan pada koordinat. Yang memiliki ambang bawah dan ambang atas yang menampilkan titik yang mempunyai fungsi tertentu.

Ko = O , Jika ambang bawah ≤ Ki ≤ ambang atas

1, Lainnya

2.2.7. Transformasi Geometri

Telah diketahui bahwa suatu titik pada citra (piksel) mempunyai dua komponen, yaitu koordinat piksel (x,y) dan warna keabuan piksel f(x,y). Pada saat


(35)

membahas perbaikan citra, operasi yang digunakan hanya memodifikasi warna piksel saja, sedangkan koordinat piksel tetap tidak mengalami perubahan. Untuk kebutuhan pengolahan citra, sering kali dibutuhkan perubahan bentuk geometri citra yang salah satunya operasi cropping yang dijelaskan pada sub bab berikutnya.

Operasi Pemotongan (Cropping) Operasi pemotongan citra adalah pengolahan citra dengan kegiatan memotong satu bagian dari citra. Gambar 3 menunjukkan pemotongan suatu citra.

(a) Citra Asli (b) Citra hasil pemotongan Gambar. 2.4. Pemotongan Citra

Pada Gambar. 2.4. sebuah citra dipotong sebesar WxH. Titik ( X1,Y1 ) x1

y1 dan (X2,Y2) 2 x2 y2 adalah koordinat pojok kiri atas dan pojok kanan bawah

citra yang akan dipotong. Rumus yang digunakan adalah:

W = x1-x2 dan H = y1-y2 ………( 5 )

2.2.8 Segmentasi

Segmentasi citra bertujuan untuk membagi wilayah-wilayah yang homogen. Segmentasi adalah salah satu metode penting yang digunakan untuk mengubah citra masukan ke dalam citra keluaran berdasarkan atribut yang diambil dari citra tersebut. Segmentasi membagi citra ke dalam daerah intensitasnya masing-masing sehingga bisa membedakan antara objek dengan latar


(36)

belakangnya. Salah satu dari operator dari segmentasi ini yaitu deteksi tepi yang membagi ciri berdasarkan perbedaan dalam intensitasnya.

a. Tepi Objek

Pertemuan antara bagian objek dan bagian latar belakang disebut tepi objek. Dalam pengolahan citra, tepi objek ditandai oleh titik yang nilai keabuannya memiliki perbedaan yang cukup besar dengan titik yang ada di sebelahnya. Dengan demikian tepi sebuah objek dapat juga digunakan untuk mendeteksi keberadaan objek sehingga dapat dilacak dan dianalisis secara individu.

b. Deteksi Tepi

Deteksi tepi atau edge detection digunakan untuk menentukan lokasi titik-titik yang merupakan tepi obyek. Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya. Gambar. 2.5. berikut ini menggambarkan bagaimana tepi suatu gambar diperoleh.

Gambar. 2.5. Proses deteksi tepi citra

Secara umum, tepi suatu obyek dalam citra dinyatakan sebagai titik yang nilai keabuannya berbeda cukup besar dengan titik yang ada di sebelahnya. Banyak bentuk yang dipakai dalam operasi ini, misalnya operator Robert, Prewitt, Sobel, Canny, Laplacian, dan Laplacian of Gaussian.


(37)

c. Deteksi tepi berbasis gradien

Deteksi tepi dapat dilakukan dengan menghitung selisih antara dua buah titik yang bertentangan sehingga didapat besar gradien citra. Gradien adalah turunan pertama dari persamaan dua dimensi yang didefinisikan sebagai vektor sebagai berikut.

G[f(x,y)]= ………( 6 ) Besar gradien dihitung dengan persamaan berikut.

G[f(x,y)]= ………( 7 )

Untuk kebutuhan pengolahan citra dalam praktiknya besar gradien dihitung sebagai berikut.

G[f(x,y)]=|Gx|.|Gy| ……….( 8 ) Sedangkan arahnya dapat dihitung dengan persamaan berikut.

α (x,y)=tan-¹ ………..( 9 )

Di mana (diukur dari sumbu x sebagai garis acuan. Untuk keperluan perhitungan pada citra digital, turunan pada persamaan (4) lebih mudah bila ditulis dengan menggunakan pendekatan persamaan diferensial berikut.

Gx=f(x+1,y)-f(x,y)

G =f(x+1,y)-f(x,y) ………( 10 ) Di mana diukur dari sumbu x sebagai garis acuan. Untuk keperluan perhitungan pada citra digital, turunan pada persamaan (2) lebih mudah bila ditulis dengan menggunakan pendekatan persamaan diferensial berikut.


(38)

1. Operator Robert

Operator Robert adalah nama lain dari teknik differensial yang dikembangkan di atas, yaitu differensial pada arah horisontal dan differensial pada arah vertikal, dengan ditambahkan proses konversi biner setelah dilakukan differensial. Teknik konversi biner yang disarankan adalah konversi biner dengan meratakan distribusi warna hitam dan putih. Metode Robert ini juga disamakan dengan teknik DPCM (Differential Pulse Code Modulation). Operator ini adalah operator berbasis gradien yang menggunakan kernel ukuran 2x2 piksel. Operator ini mengambil arah diagonal untuk penentuan arah dalam perhitungan nilai gradien. Perhitungan gradient dalam operator Robert adalah:

G=|f(x,y)-f(x+1,y+1)|+|f(x+1,y)-f(x,y+1)………( 11 ) Bila ditulis dalam komponen gradien menjadi:

G=|Gx|+|Gy| ………( 12 ) Di mana G1 dan G2 dihitung menggunakan kernel konvlusi sebagai berikut.

Gy=

Titik ini terletak di antara 4 piksel dalam ukuran 2x2 piksel yang

berdekatan atau di pusat kernel yaitu koordinat hasil interpolasi

{

}

Sebenarnya operator robert merupakan perkiraan nilai gradien kontinu di titik tersebut. Jadi bukan merupakan nilai gradien yang sebenarnya di titik tersebut.

2. Operator Sobel

0 -1

-1 0

1 0 0 -1 Gx =


(39)

Operator Sobel merupakan operator yang menghindari adanya perhitungan gradient di titik interpolasi. Operator ini menggunakan kernel ukuran 3x3 piksel untuk perhitungan gradient sehingga perkiraan gradient tepat di tengah jendela. Misalkan susunan piksel-piksel di sekitar piksel (x,y) adalah:

Tabel. 2.3. Matriks susunan tangga

a 0 a 1 a 2

a 7 ( x,y ) a 3

a 6 a 5 a 4

Berdasarkan susunan tetangga Tabel. 2. 3, besaran gradient yang dihitung menggunakan operator Sobel adalah:

M = ………( 13 )

Di mana M adalah besar gradient di titik tengah kernel dan turunan parsial dihitung menggunakan persamaan berikut:

Sx = (a2 +ca3 + a4 ) – ( a0 + ca3 + a6 )

Sx = (a0 +ca1 + a2 ) – ( a6 + ca5 + a4 ) ……….( 14 ) Di mana c adalah konstanta yang bernilai 2 dan Sx merupakan perhitungan

terhadap sumbu horisontal (x) dan S y merupakan perhitungan terhadap sumbu

vertikal (y) sehingga kernel filter yang digunakan dalam metode Sobel

H = dan V=

Gambar. 2.6. Kernel filter operator Sobel

3. Operator Prewitt

Operator ini menggunakan persamaan yang sama dengan operator sobel, hanya saja konstanta c yang digunakan bernilai 1 sehingga bentuk kernel dari operator prewitt


(40)

Gambar. 2.7. Kernel Filter Metode Prewitt

2.2.9. Komponen T Image Dalam Delphi

Delphi tidak menyediakan secara khusus routine untuk pengolahan citra, oleh karena itu perlu dibuat sendiri program untuk mengolah citra. Namun Delphi telah menyediakan sarana untuk menampilkan citra, yaitu melalui komponen TImage yang terdapat pada palet komponen Additional. Komponen ini memiliki properti Picture yang digunakan untuk menyimpan data citra. Citra yang akan ditampilkan diambil dari file gambar yang dapat ditentukan pada saat mendesain dengan cara mengisi nilai properti ini atau pada saat program dijalankan dengan menggunakan prosedur LoadFromFile. Subproperti yang penting pada picture antara lain:

1. Height, berisi nilai tinggi citra 2. Width, berisi nilai lebar citra

3. Bitmap, berisi data format dan piksel citra, pada Tugas Akhir ini,

Pengolahan dilakukan terhadap nilai-nilai piksel pada bitmap ini. Dalam Delphi, informasi format citra terdapat pada subproperti bitmap, yaitu PixelFormat, dengan nilai seperti tercantum pada Tabel. 2.4. Dengan membaca nilai Pixel Format dapat diketahui cara penyimpanan piksel dalam memori sehingga mempermudah dalam pemrograman. Misalnya untuk pf8bit, setiap piksel disimpan dalam ukuran 1 byte, sedangkan untuk pf24bit, setiap piksel

-1 0 1 -1 0 1 -1 0 1

1 1 1 0 0 0 -1 -1 -1

Gx= Gy=


(41)

disimpan dalam ukuran 3 byte yang masing masing berisi nilai elemen merah (R), hijau (G), dan biru (B). Sebaliknya apabila nilai piksel diubah, maka secara otomatis format citra akan berubah sesuai dengan nilai yang baru.

Tabel 2.4. Format Citra Bitmap

Nilai Format Citra

pf1bit Citra biner/monokrom

pf8bit Citra skala keabuan. Sebenarnya nilai pf8bit adalah untuk citra warna berindeks 8 bit. Namun dalam pengerjaan TA ini, citra

skala keabuan direpresentasikan sebagai citra berindeks 8 bit dengan komponen palet warna merah, hijau, dan biru yang bernilai sama, sehingga menampilka warna keabuan dari hitam

sampai putih

pf24bit Citra true color (16 juta warna)


(42)

BAB III

ANALISA DAN PERANCANGAN SISTEM

3.1. Analisa Sistem

Perancangan aplikasi deteksi golongan darah dimulai mengambil sampel darah dan membaginya menjadi tiga bagian. Kemudian sampel darah tersebut ditetesi antiserum A yang berwarna biru, antiserum B yang berwarna kuning, dan antiserum AB yang tidak berwarna. Selanjutnya darah dan antiserum diratakan. Setelah darah dan antiserum rata, sampel darah diambil citranya secara digital menggunakan kamera digital.

Citra hasil pencitraan harus terlebih dahulu direkayasa atau istilah pengolahan citranya yaitu prepocessing yang mengubah format citra, pemotongan citra, dan pengaturan kontras untuk mendapatkan hasil yang maksimal. Setelah langkah prepocessing, maka citra siap untuk diolah secara digital untuk dapat mendeteksi penggumpalan yang disebabkan tetesan antiserum.

Pertama, citra hasil prepocessing di ambil, kemudian memilih operator deteksi tepi citra yang merupakan langkah utama untuk membaca gumpalan. Proses dari penentuan golongan darah yaitu mengubah citra berwarna menjadi citra skala keabuan, kemudian citra diolah dengan metode smoothing untuk menghaluskan dari noise dan pengolahan citra yang terakhir yaitu

pendeteksian tepi objek dalam citra. Selanjutnya dapat diketahui golongan darah tersebut dari pendeteksian tepi, apakah terdapat gumpalan atau tidak.


(43)

Akuisisi citra yang merupakan proses di mana terdapat sebuah objek (sampel darah yang telah dicampur serum), diambil gambarnya untuk dijadikan citra digital. Proses akuisisi citra menggunakan kamera digital.

3.3. Desain

3.3.1. Desain Input dan Output

Masukan dalam aplikasi ini yaitu file gambar berupa *.bmp. bisa berupa gambar bitmap dengan format piksel 8 bit (skala keabuan) dan 24 bit (True Color). Apabila gambar yang akan digunakan dalam pendeteksian tepi masih berupa gambar *.jpg, maka dalam aplikasi ini juga tersedia form untuk mengubah format gambar *.jpg ke gambar dengan format *.bmp. Dalam aplikasi ini juga disediakan fasilitas cropping (pemotongan gambar), untuk menghilangkan bagian yang tidak perlu dari gambar yang diambil menggunakan kamera digital. Keluaran yang dihasilkan dari aplikasi ini yaitu berupa hasil akhir penentuan golongan darah yaitu A, B, AB, O dan lama proses penentuan golongan darah mulai dari deteksi tepi sampai pada hasil.

Gambar. 3.1 Diagram Blok Aplikasi Pengolahan Citra

Perancangan pembuatan sistem perangkat lunak ini akan dibuatat sebuah aplikasi yaitu aplikasi desktop. Gambar 7 merupakan diagram blok proses pengolahan citra : Gambar 7. Diagram Blok Aplikasi Pengolahan Citra Aplikasi pendeteksi golongan darah hanya mampu membaca gambar digital dengan format .bmp. gambar dapat berupa ganbar dengan format piksel

8 bit (skala keabuan), maupun 24 bit (true color). Namun setelah gambar diambil, semua format gambar menjadi skala keabuan untuk mempermudah

Sample darah Pencitraan Pengolahan

Citra

Hasil 28


(44)

proses deteksi tepi. Setelah gambar diambil, operator deteksi tepi dapat dipilih yang berupa combo box. Setelah operator deteksi tepi ditentukan, maka prosesnya berupa gambar asal di ubah dengan metode penghalusan citra dan

kemudian dideteksi tepi menggunakan operator deteksi tepi yang ditentukan. Selanjutnya gambar hasil deteksi tepi, diambil sebagian untuk di analisa penentuan golongan darah. Waktu lama proses penentuan golongan darah digunakan untuk membandingkan lama proses dengan operator deteksi tepi yang lainnya. Sehingga lama proses deteksi tepi dan kebenaran dalam menentukan golongan darah dapat di analisa.

3.4. Desain Flowchart

Flowchart yang merupakan suatu diagram yang menunjukkan bagaimana sistem itu berjalan. Dari tahap prepocessing atau sebelum proses pengolahan citra untuk penentuan golongan darah terdapat beberapa langkah yaitu

a. mengubah format citra, b. mengatur kontras warna, dan c. memotong gambar.

Untuk langkat pengolahan citra yang utama berupa mengubah warna true color ke warna skala keabuan, penghalusan citra, pendeteksian tepi, dan membagi citra ke beberapa bagian yang akan dijelaskan pada Gambar. 3.2.


(45)

Gambar. 3.2 Flowchart Aplikasi

Pada Gambar. 3.2. dapat dijelaskan sebagai berikut. Proses yang pertama kali harus dilakukan yaitu mendapatkan citra digital (pencitraan) dari citra analog.

Pencitraan

Mengubah Citra.jpg ke .bmp

Mengatur Kontras Citra

Memotong Gambar (Cropping)

Mengubah Citra Warna Ke Citra Skala Keabuan

Penghalusan Citra

Deteksi Tepi

Membagi citra menjadi tiga bagian

A

A

Citra 1 Menggupal & Citra 2 Menggumpal &

Citra 3 Menggumpal

Citra 1 Menggupal & Citra 2 Tdk Menggumpal & Citra 3

Menggumpal

Citra 1 Tdk Menggupal & Citra 2

Tdk Menggumpal & Citra 3 TdkMenggumpal menampil kan ‘AB’ menampil kan ‘A’ menampil kan ‘B’ menampil kan ‘O’ Citra 1 Tdk

Menggupal & Citra 2 Tdk Menggumpal &

Citra 3 Tdk Menggumpal YA YA YA TIDAK TIDAK TIDAK TIDAK YA Menampilkan terdapat kesalhan Mengisi Biodata Simpan citra Cetak Data Selesai Mulai

Menentukan adanya gumpalan


(46)

Kemudian proses mengubah format citra jpeg ke bmp karena aplikasi penentuan golongan darah hanya mampu mengolah citra dengan format citra bitmap. Langkah berikutnya yaitu mengatur kontras citra untuk mendapat citra yang baik karena pencahayaan hasil pencitraan tidak menentu. Setelah langkah mengatur kontras citra, langkah berikutnya yaitu memotong citra untuk membuang bagian yang tidak diperlukan. Kemudian citra diubah ke dalam citra skala keabuan (grayscale) untuk mempercepat proses deteksi tepi. Setelah citra mencadi citra skala keabuan, maka citra dihaluskan (smoothing) menggunakan metode penghalusan citra rata-rata. Langkah berikutnya citra dideteksi tepi yang merupakan proses inti untuk membaca objek, apakah terdapat gumpalan atau tidak. Setelah proses deteksi tepi selesai, maka citra dipotong menjadi tiga bagian. Dari tiga bagian tersebut, citra dibaca dan kemudian citra ditentukan golongan darahnya.

3.4.1 Mengubah format citra *.jpg ke *.bmp

Mengubah format citra *.jpg ke *.bmp diperlukan karena proses pengolahan citra menggunakan citra dengan format *.bmp sedangkan hasil pencitraan dari kamera digital, citra masih berupa file dengan format *.jpg. berikut ini Flowchart mengubah format file *.jpg ke *.bmp.

Gambar. 3.3 Flowchart Mengubah citra JPG ke BMP

Mengubah Citra ke bmp.

Masuka Citra JPG

Ubah JPG ke BMP

Simpan Citra

Return


(47)

Gambar. 3.3. Merupakan flowchart mengubah format citra dengan langkah bertama berupa memasukkan citra jpg yang berasal dari kamera digital. Kemudian dengan fungsi jpg to bmp, sehingga citra berubah menjadi citra bitmap dan langkah terakhit yaitu citra disimpan

3.4.2. Mengatur Kontras Citra

Pengaturan kontras citra diperlukan untuk mengubah komposisi skala keabuan citra dan menjadikan citra lebih cerah atau lebih gelap sesuai dengan keinginan. Adapun Flowchart dari pengaturan kontras citra yaitu pada Gambar. 3.4.

Gambar. 3.4 Flowchart Mengubah Kontras Citra

Pada Gambar. 3.4. dapat dijelaskan sebagai berikut. Mula-mula gambar di ambil, kemudian menentukan skala keabuan citra yaitu dari 0 hingga 127. langkah

Mengatur Kontras Citra

Masukan Citra

Input skala Keabuaan ( P )

Tidak

Tidak

Ya

Ya

For i=0 to i=tinggi citra-1

For j=0 to j=lebar citra-1

Temp = Round (2*(piksel[j]-P)+P)

Citra Baru = Temp

j = lebar citra

i = tinggi citra

Simpan citra

Return


(48)

selanjutnya yaitu membaca tinggi dan lebar citra sebagai perulangan karena dalam pengolahan citra ini memanipulasi setiap

titik atau piksel. Setelah itu menghitung setiap piksel menggunakan rumus fo(x, y) G( fi(x, y) -P) P

.

………( 12 )

3.4.3 Memotong Citra

Pemotongan citra bertujuan untuk membuang bagian dari yang tidak diperlukan dari hasil pencitraan. Proses pemotongan citra sendiri digambarkan pada Gambar. 3.5.

Gambar. 3.5 Flowchart memotong gambar

Memotong Gambar ( Crooping )

Masukan Citra

For X=0 X= lebar citra baru -1

For Y=0 Y= lebar citra baru -1

X1= X+X left Y1= Y+Y Top

Temp (X,Y ) = citra ( X1,Y1 )

Y = Tinggi

Citra

X = Lebar Citra

Simpan Citra

Return

Tidak

Tidak Ya

Ya


(49)

Mula-mula citra di ambil, kemudian membaca tinggi dan lebar citra. Selanjutnya menentukan titik awal citra yang diinginkan sampai titik tertentu. Setelah ditentukan titk awal dan titik akhir maka citra baru terbentuk. Dan kemudian dapat disimpan untuk diproses selanjutnya.

3.4.4 Mengubah citra warna ke citra skala keabuan

Mengubah citra warna menjadi citra skala keabuan bertujuan untuk mempermudah dan mempercepat proses pengolahan citra. Langkah-langkah mengubah warna tersebut dapat dijelaskan dengan Flowchart pada Gambar. 3.6.

Gambar. 3.6 Flowchart mengubah citra warna menjadi citra skala keabuan

Mengubah Citra Warna ke Citra Skala Keabuaan

Masukan Citra

For X=0 X= lebar citra baru -1

For Y=0 Y= lebar citra baru -1

X1= X+X left Y1= Y+Y Top

Temp (X,Y ) = citra ( X1,Y1 )

Y = Tinggi Citra

X = Lebar Citra

Simpan Citra

Return

Tidak

Tidak

Ya

Ya


(50)

3.4.5. Penghalusan citra

Penghalusan citra merupakan salah satu operasi untuk memperbaiki citra. Proses ini merupakan salah satu langkah pengolahan citra untuk mendapatkan hasil yang maksimal.

Gambar. 3.7 Flowchart penghalusan citra

Penghalusan Citra

Masukan Citra

For X=0 X= lebar citra For Y=0 Y= lebar citra

Y = Tinggi Citra

X = Lebar Citra

Simpan Citra

Return

Tidak

Tidak Ya

Ya


(51)

Pada Gambar. 3.7 dapat dijelaskan bahwa langkah pertama yaitu mengambil citra untuk diproses. Kemudian membaca tinggi dan lebar citra sebagai proses array. Langkah berikutnya membaca pikses dengan array 5x5 dan kemudian di rata-rata untuk didapatkan hasil dari penghalusan citra dan kemudian citra disimpan untuk diproses pada proses berikutnya.

3.4.6. Deteksi tepi

Deteksi tepi merupakan operator paling utama dalam aplikasi ini proses deteksi tepi digambarkan dengan Flowchart berikut ini.

Gambar. 3.8 Flowchart deteksi tepi

Gambar. 3.8. merupakan flowchart deteksi tepi yang awalnya matriks kernel filter deteksi tepi didefinisikan terlebih dahulu dan kemudian mengambil

Mask Robert1:Mask3x3 = ( (0, 0, 0 ) ; (0, 1, 0 ) ; (0, 0, 1 )) ; Mask Robert1:Mask3x3 =

( (0, 0, 0 ) ; (0, 0, 1 ) ; (0, 1, 0 )) ; Mask PrewittH:Mask3x3 =

( (-1, 0, 1 ) ; (-1, 0, 1 ) ; (-1,0, 1 )) ; Mask PrewittV:Mask3x3 =

( (-1, -1,-1 ) ; (-1, 0,-1 ) ; (-1,0,-1 )) ; Mask SobelH:Mask3x3 =

( (-1, -1, 1 ) ; (-2, 0, 2 ) ;

Deteksi tepi

Menentukan adanya gumpalan

IF 9 < hit = tidak Mengumpal IF 9 > hit = Mengumpal

A

Operator Robert

Operator Prewitt

Jml 1 = K*Mask Robert 1 Jml 1 = K*Mask PrewittH Jml 1= K*Mask SobelH

Jml 2 = K*Mask Robert 2 Jml 2 = K*Mask PrewittV Jml 2 = K*Mask SobelH

Hasil = Sqrt ((jml1*jml1)+(jml2*jml2)) X= lebar citra -1 Y= Tinggi citra -1 Simpan d t Return B C T T Y Y T T Y Y A B Memasukan citra dan

memilih operator deteksi tepi

For y=0, to y= Tinggi Citra

For X=0, to X= Lebar Citra

K = Scanling ( X Y )

C


(52)

citra dan menentukan operator deteksi tepi. Deteksi tepi merupakan proses yang dilakukan terhadap setiap piksel citra sehingga array program berindeks dari 0 sampai batas tinggi dan lebar citra.Kemudian setiap piksel dihitung sesuai dengan kerner filter deteksi tepi dan proses terakhir yaitu dengan menghitung gradien. Setelah proses selesai, maka citra hasil disimpan untuk proses berikutnya.

3.5. Desain form

Aplikasi ini terdiri dari beberapa form saja untuk mempermudah dalam pengoperasiannya. Tampilan form tersebut diantaranya

3.5.1. Form splash

Form splash merupakan form yang pertama kali muncul selama tiga detik apabila aplikasi ini dijalankan

Gambar. 3.9 Form splash screen

3.5.2. Form utama

Form utama merupakan tampilan pada saat aplikasi berjalan. Form ini yang mengatur tampilnya form-form yang lainnya. Tampilan form utama dugambarkan pada Gambar. 3.10.


(53)

Gambar. 3.10 Form Utama

Gambar 16 merupakan tampilan Form utama yang didalamnya terdapat tombol untuk mengambil citra, mengubah format citra, mengatur kontras dan memotong gambar yang merupakan tahapan yang harus dilakukan terlebih dahulu. Setelah semua selesai, maka tombol proses merupakan langkah untuk melakukan proses dari mengubah citra ke skala keabuan hingga hasil analisa selesai.

Pada panel sebelah kanan terdapat textbox dari hasil analisa yang menjelaskan apakah terjadi gumpalan atau tidak, hasil golongan darah, dan lama proses penentuan golongan darah. Di bagian kanan bawah bawahnya terdapat textbox ID, Nama, Alamat, Tanggal Lahir yang bertujuan untuk mengisikan data pasien dan berfungsi untuk melabelkan setiap hasil citra dengan tujuan untuk meminimalkan kemungkinan citra tertukar dengan sampel darah orang lain.


(54)

BAB IV

IMPLEMENTASI SISTEM

4. Lingkungan Implementasi Sistem

4.1. Perangkat keras

Perangkat keras yang digunakan untuk merancang bangun aplikasi penentuan golongan darah memiliki splesifikasi sebagai berikut:

Komputer Laptop atau CPU dengan spesifikasi : 1) Prosesor Intel Dual Core

2) 1 GB DDR2 4.2. Perangkat lunak

Perangkat lunak sangat berperan penting dalam pembuatan aplikasi penentuan golongan darah. Aplikasi yang digunakan antara lain:

1) Borland Delphi 7.0.

2) Micosoft Office Word 2003. 3) Microsoft Visio 2007

4.3. Implementasi Antar Muka (Interface)

4.3.1 Form kontras

Form ini bertujuan untuk mengubah kontras suatu citra. Form ini dibuat sesederhana mungkin untuk mempermudah dalam mengoperasikannya. Form kontras digambarkan pada Gambar. 4.1


(55)

Gambar. 4.1. Form Kontras

Gambar. 4.1 merupakan Form kontras yang bertujuan untuk mengubah kontras citra. Di dalamnya terdapat Tombol Ambil citra merupakan tombol untuk mengambil citra yang akan diatur kontrasnya. ScrollBar yang digunakan untuk mengatur kontras dan tombol save untuk menyimpan citra hasil.

Gambar. 4.2. Kode program mengubah kontras citra

40


(56)

Dari Gambar. 4.2 dapat dijelaskan pada baris 2 merupakan pengaturan skala keabuan yang diatur menggunakan scrollbar yaitu mulai skala 0sampai skala 127. pada baris 2 memberukan konstanta pemberian kontras. Baris 10-15 merupakan penghitungan kontras untuk warna merah (R). Baris 16-21 merupakan penghitungan kontras untuk warna hijau (G). dan baris 22-27 merupakan perhitungan kontras untuk warna biru (B).

4.3.2. Form cropping

Form ini dibuat untuk memotonga bagian yang tidak diperlukan dalam sebuah citra. Tampilan form cropping seperti pada Gambar. 4.3.

Gambar. 4.3. Form Cropping

Pada form cropping hanya terdapat tiga tombol yaitu ambil citra yang berfungsi untuk mengambil citra yang akan dipotong, crop yang berungsi untuk mengeksekusi proses pemotongan, dan tombol save yang berfungsi untuk menyimpan hasil pemotongan.


(57)

Gambar. 4.4. Kode program memotong gambar

Pada Gambar. 4.4. dapat dijelaskan sebagai berikut. Pada baris 3-8 merupakan kode program untuk membaca nulai warna dari setiap piksel citra. Pada baris 11-18 merupakan kode program untuk membaca nilai citra berdasarkan batas yang telah ditentukan (hasil crop). Pada baris 21- 29 merupakan kode program untuk menggambar citra baru berdasarkan citra yang telah mengalami proses pemotongan.

4.3.3. Kode program mengubah citra warna ke grayscale


(58)

Gambar. 4.5. Kode program mengubah citra warna ke grayscale

Pada Gambar. 4.5. dapat dijelaskan sebagai berikut. Pada baris 3 merupakan kode program untuk membaca nilai warna setiap piksel citra. Pada baris 4 merupakan kode program dari citra baru dengan nilai yang telah dihitung pada baris 6.

4.3.4. Kode program penghalusan citra (smoothing)

Gambar. 4.6. Kode program penghalusan citra (smoothing)

Pada Gambar. 4.6. dapat dijelaskan sebagai berikut. Pada baris 3 merupakan kode program untuk membaca nilai warna setiap piksel citra. Perhitungan untuk penghalusan citra sendiri berada pada kode program baris 17-21. dan hasil dari perhitungan kemudian digambarkan pada citra baru dengan kode program baris 25-27.


(59)

4.3.5. Kode program deteksi tepi citra

Gambar. 4.7. Kode program deteksi tepi citra

Pada Gambar. 4.7. dapat dijelaskan sebagai berikut. Pada baris 3 merupakan pembacaan nilai warna setiap piksel dari suatu citra. Setelah citra diketahui nilai warnanya, maka akan dihitung untuk didapat citra tepinya. Pada baris 17 merupakan perhitungan dari operator deteksi tepi terhadap sumbu x yang diistilahkan dengan mask1. dan pada baris 21 merupakan perhitungan dari operator deteksi tepi terhadap sumbu y. setelah itu, menghitung nilai gradien deteksi tepi yaitu kode program baris 22. setelah


(60)

perhitungan selesai maka citra baru akan dibuat (kode program 29-31)

4.3.6. Kode program menentukan golongan darah

Gambar. 4.8. Kode program menentukan golongan darah

Pada Gambar. 4.8. merupakan kode program proses penentuan golongan darah berdasarkan pada Tabel 2. pada baris 1 merupakan suatu kondisi untuk mengecek apakah golongan darah hasil analisa adalah golongan O . Jika benar maka hasil analisa berupa golongan darah O (baris 2) dan jika salah maka proses dilanjutkan pada baris 4 yang merupakan kondisi untuk mengecek apakah golongan darah hasil analisa adalah golongan A. Jika benar maka hasil analisa berupa golongan darah A (baris 5). jika salah maka proses dilanjutkan pada baris 7 yang merupakan kondisi untuk mengecek apakah golongan darah hasil analisa adalah golongan B. Jika benar maka hasil analisa berupa golongan darah B (baris 8). jika salah maka proses dilanjutkan pada baris 10 yang merupakan kondisi untuk mengecek apakah golongan darah hasil analisa adalah golongan AB. Jika benar maka hasil analisa berupa 46


(61)

golongan darah AB (baris 11). jika salah maka akan muncul pesan seperti pada baris 13.

4.3.7. Form Preview

Form ini merupakan tampilan akhir pada saat hasil akan dicetak. Form preview ditampilkan pada Gambar. 4.9.

Gambar. 4.9. Form preview

Pada Gambar. 4.9. terdapat data dari Nama, Alamat, Tanggal Lahir, dan hasil analisa. Form Preview berisi informasi yang telah disesuaikan dengan kebutuhan informasi pada penentuan golongan darah secara manual. Dan apabila data sudah benar, dapat dicetak dengan menekan tombol File – Print.

4.3.8. Form about

Form ini merupakan informasi pembuat aplikasi penentuan golongan darah. Gambar. 4.10. merupakan tampilan form about.


(62)

Gambar. 4.10. Form about

4.3.5 Form help

Form ini membantu pengguna untuk mengoperasikan aplikasi penentuan golongan darah sehingga pengguna dapat dengan mudah untuk menjalankan aplikasi ini. Berikut ini tampilan form help.

Gambar. 4.11. Form help


(63)

BAB V

UJI COBA DAN EVALUASI

5.1. Hasil dan Pembahasan

5.1.1. Form utama

Apabila aplikasi ini dijalankan maka tampilan utama akan muncul seperti pada Gambar. 5.1 komudian pengguna dapat melakukan preprocessing yaitu mengubah tipe file, mengubah kontras, dan memotong gambar.

5.1.2. Mengubah tipe file

Untuk dapat melakukan pengolahan citra ini, pertama, pengguna harus mengubah tipe file citra dari JPG ke tipe file BMP. Karena aplikasi ini hanya dapat memproses citra dengan format citra bitmap. Untuk mengubah tipe file ini, pengguna dapat menekan tombol save to BMP. Kemudian akan muncul open picture dialog


(64)

Langkah berikutnya, pengguna dapat mencari file citra dari kamera digital pada direktori, setelah file ditemukan kemudian klik open. Kotak dialog save akan muncul seperti Gambar. 5.2.

Gambar. 5.2. Save picture dialog

Apabila tombol save di-klik maka akan muncul pesan yang menandakan gambar telah berhasil disimpan dengan format bitmap.

Gambar. 5.3 Pesan citra berhasil disimpan dengan format bitmap

5.1.3. Mengatur kontras citra

Untuk mengatur kontras citra, pengguna dapat menggunakan fasilitas contrast yang terdapat pada form utama. Pengguna hanya menekan tombol contrast kemudian akan muncul form kontras seperti pada Gambar. 5.4 pengguna dapat mengambil citra dengan menekan tombol Ambil Citra. Setelah gambar muncul maka pengguna dapat

49


(65)

mengatur kontras dengan menggeser scrollbar contrast hingga citra terlihat lebih cerah.

Gambar. 5.4. Mengatur contrast citra

5.1.4. Memotong gambar

Memotong gambar merupakan proses untuk menghilangkan bagian yang tidak penting dalam suatu citra. Fasilitas untuk memotong gambar terdapat pada form utama yaitu tombol cropping. Pengguna hanya mengeklik tombok tersebut dan akan muncul form sperti pada Gambar. 5.5 kemudian pengguna dapat menggunakannya dengan mengambil citra terlebih dahulu. Setelah itu pengguna dapat memilih bagian yang diperlukan dengan menggunakan mouse (drag). Setelah selesai hasil cropping dapat disimpan dengan menekan tombol save.


(66)

Gambar. 5.5 Memotong gambar

Gambar. 5.6. Hasil dari potongan gambar.

Setelah semua langkah-langkah prepocessing, maka prepocessing telah selesai dan kemudian langkah utama untuk menentukan golongan darah dapat dilakukan.

5.1.5. Proses penentuan golongan darah

Pada form utama telah disediakan tombol ambil citra untuk menampilkan citra. Dan hasilnya akan tampak sebagai berikut.


(67)

Gambar. 5.7 Mengambil citra untuk menentukan golongan darah

Setelah citra ditampilkan maka pengguna dapat memilih operator deteksi tepi yaitu Robert, Prewitt, dan Sobel

Gambar. 5.8. Memilih operator deteksi tepi

Kemudian setelah ditentukan operator deteksi tepinya maka pengguna dapat menekan tombol proses dan proses menentukan golongan darah dimulai. Langkah-langkahnya yaitu citra dirubah ke citra grayscale, kemudian citra mengalami smoothing dan langkah terakhir pengolahan citra yaitu mendeteksi tepi citra. Kemudian citra dibagi menjadi tiga bagian dan dianalisa terdapat gumpalan atau tidak. Dan hasil dari analisa tersebut akan muncul hasil golongan darah.

Gambar. 5.9. Proses pengolahan citra

Dan hasil analisa akan muncul seperti pada Gambar. 5.10 lama proses penentuan golongan darah juga tampil dengan satuan milidetik


(68)

Gambar. 5.10. Analisa golongan darah

Dari hasil tersebut maka golongan darah pasien dapat ditentukan dengan cepat dan citra dapat disimpan berupa citra digital yang terlabelkan. Label tersebut berupa ID, nama lengkap, alamat, dan tanggal lahir. Dengan mengisi terlebih dahulu identitas seperti pada Gambar. 5.11

5.1.6. Report

Setelah semua proses selesai, pengguna dapat melihat hasil laporan dengan menekan tombol report dan akan muncul form preview. Dalam form tersebut terdapat menu print untuk mencetak hasilnya

Gambar. 5.11. Form preview dan siap dicetak


(69)

Dari rata-rata lama proses penentuan golongan darah menggunakan operator Robert, Prewitt, dan Sobel yang tidak sampai mencapai satu detik, dan proses penentuan mulai dari pencitraan hingga hasil rekan medis dicetak, estimasi waktu yang dibutuhkan maksimal sekitar 10 menit dengan asumsi, sample darah asli yang belum kering, namun semua hasil sudah dicetak.

5.2. Hasil Analisis Kinerja Program

Dari pengimplementasian tiga operator deteksi tepi ini, dan didukung oleh 18 sampel darah yang diambil secara acak, didapatkan hasil sebagai berikut.

1. Operator Robert

Tabel. 5.1. Hasil penentuan golongan darah dengan operator Robert

NO GOLONGAN DARAH

HASIL OPERATOR

ROBERT

KETERANGAN

LAMA PROSES

( ms )

1 A O SALAH 469

2 A O SALAH 343

3 A O SALAH 360

4 A O SALAH 235

5 B O SALAH 315

6 B O SALAH 278

7 B O SALAH 345

8 B O SALAH 290

9 AB O SALAH 235

10 AB O SALAH 266

11 AB O SALAH 267

12 AB O SALAH 289

13 O O SALAH 250

14 O O BENAR 269

15 O O BENAR 315

16 0 O BENAR 367

Dengan menggunakan operator Robert didapatkan hasil sebagai berikut. membaca gumpalan, sehingga setiap sampel darah yang dideteksi selalu menghasilkan golongan darah O. dari 16 sampel darah, hanya golongan darah O


(70)

yang mendapat nilai benar atau dengan presentase kebenaran 40 % dengan kecepatan rata – rata 305,81 ms.

2. Operator Prewitt

Tabel. 5.2. Hasil penentuan golongan darah dengan operator Prewitt

NO GOLONGAN DARAH

HASIL OPERATOR

ROBERT

KETERANGAN

LAMA PROSES

( ms )

1 A AB SALAH 256

2 A A BENAR 237

3 A A BENAR 287

4 A O SALAH 295

5 B B BENAR 350

6 B O SALAH 386

7 B AB SALAH 378

8 B B BENAR 293

9 AB AB BENAR 241

10 AB AB BENAR 212

11 AB A SALAH 250

12 AB B SALAH 273

13 O AB SALAH 268

14 O AB SALAH 290

15 O O BENAR 250

16 0 A SALAH 286

Dengan menggunakan operator Prewitt, dapat diketahui, ternyata operator Prewitt lebih baik dalam membaca gumpalan darah dibandingkan operator Robert. Dari 16 sampel darah, hanya mendapati sembilan kesalahan deteksi atau dengan presentase kebenaran 60% dengan ratarata kecepatan rata – rata proses 284,5 ms


(71)

3. Operator Sobel

Tabel. 5.3 Hasil penentuan golongan darah dengan operator Sobel

NO GOLONGAN DARAH

HASIL OPERATOR

ROBERT

KETERANGAN

LAMA PROSES

( ms )

1 A A BENAR 319

2 A A BENAR 296

3 A A BENAR 289

4 A O SALAH 324

5 B B BENAR 317

6 B B BENAR 319

7 B B SALAH 358

8 B B BENAR 328

9 AB AB BENAR 356

10 AB AB BENAR 321

11 AB AB BENAR 365

12 AB AB BENAR 378

13 O O BENAR 380

14 O O BENAR 319

15 O O BENAR 325

16 0 O BENAR 317

Dengan menggunakan operator Sobel, dari tabel di atas dapat diketahui, ternyata operator Sobel merupakan deteksi tepi terbaik dalam aplikasi ini daripada operator Robert dan Prewitt. Dari 16 sampel darah, hanya mendapati dua kesalahan deteksi atau dengan presentase kebenaran 94,4% dengan ratarata kecepatan proses 331,93 ms.

Dari rata-rata lama proses penentuan golongan darah menggunakan operator Robert, Prewitt, dan Sobel yang tidak sampai mencapai satu detik, dan proses penentuan mulai dari pencitraan hingga hasil rekan medis dicetak, estimasi waktu yang dibutuhkan maksimal sekitar 10 menit dengan asumsi, sample darah asli yang belum kering, namun semua hasil sudah dicetak.


(72)

Dari semua analisa dalam penentuan golongan darah operator Sobel yang mempunyai akurasi yang paling tinggi meskipun perhitungan lama proses percepatan kurang maksimal. Dibandingkan dengan operator Prewitt, dan Robert.

HASIL UJI COBA


(73)

BAB VI

PENUTUP

6.1 Kesimpulan

Dari hasil penelitian, maka didapatkan kesimpulan sebagai berikut.

1. Jika dilihat dari sensitifitas dan tingkat keakuratan yang tinggi ketiga metode ini memiliki nilai Timing run paling kecil untuk setiap citra masukannya serta memiliki nilai sensitivitas yang tinggi terhadap noise, dan juga tingkat resolusi yang semakin tinggi.

2. Metode untuk mendeteksi tepi suatu citra adalah Prewitt, Sobel, dan Robert. Diantara ketiga metode ini memilki nilai Timing run dan sensitivity rate yang berbeda. Pada operator Robert semakin tinggi citranya semakin tinggi pula resolusinya, Operator Prewitt hanya digunakan untuk mendeteksi tepi citra yang sederhana, sedangakan Operator Sobel mendeteksi tepi yang terlalu besar dan memerlukan waktu yang besar pula,sehingga dihasilkan kualitas citra yang lumayan baik.

3. Deteksi tepi menurut hasil uji coba operator sobel mempunyai keakuratan 94% meskipun lama percepatan rata – rata 331,93 ms dari 16 uji coba yang benar 14 orang


(74)

6.2. Saran

Dari penelitian tersebut, saran dari penulis untuk kedepan yaitu.

1. Dunia medis dapat menentukan golongan darah secara komputerisasi untuk mempersingkat waktu.

2. Menggunakan operator deteksi tepi sobel untuk mendapatkan tingkat keakuratan yang tinggi.


(75)

DAFTAR PUSTAKA

Achmad, Balza Ir & Firdausi. Kartika, ST. MT. 2005. Teknik Pengolahan Citra Digital menggunakan Delphi. Yogyakarta: Ardi Publishing. Alexander Mangkulo, Hengki. 2004. Pemrograman Menggunakan Delphi7.

Jakarta: PT. Elex Media Komputindo.

Nalwan, Agustinus. 1997. Pengolahan Gambar Secara Digital. Jakarta: PT. Elex Media Komputindo.

Panduan buku kamera Digital Panasonic G900 auto Fokus 1,3 Mega Pixel. Panduan buku Canon pixma MP 145 kualitas tajam

Rafael C. Gonzales & Richard E. Woods, 1993. Digital Image Processing. Amerika: Addison-Wesley Publishing Company, Inc.


(76)

Listing Program deteksi tepi

unit FrmUtama; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtDlgs, Menus, StdCtrls,

ComCtrls, Clipbrd, ExtCtrls, Spin, ImgList, FileCtrl,ShellAPI; type

TFormUtama = class(TForm) PanelAtas: TPanel; ButtonAmbilCitra: TButton; StatusBar: TStatusBar; OpenPictureDialog: TOpenPictureDialog; Panel1: TPanel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Label4: TLabel; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Label5: TLabel; Label6: TLabel; Label7: TLabel; Crop: TButton; Timer1: TTimer; ButtonConvert: TButton; SavePictureDialog: TSavePictureDialog; OpenPictureDialog1: TOpenPictureDialog; ButtonContrast: TButton; Button1: TButton; MainMenu1: TMainMenu; File1: TMenuItem; Open1: TMenuItem; ools1: TMenuItem; ConvertImage1: TMenuItem; Crop1: TMenuItem; Contrast1: TMenuItem; Help1: TMenuItem; Help2: TMenuItem; About1: TMenuItem; Panel2: TPanel; ComboBoxOperator: TComboBox; Label1: TLabel; ButtonTepi: TButton; Edit6: TEdit; Edit7: TEdit; 62


(1)

FormSample3.Caption := ' .:Sampling3:. ' ; Olah;

end;

procedure TFormUtama.Palproc; var

i: integer; begin

Pal.lPal.palVersion := $300; Pal.lPal.palNumEntries := 256; for i := 0 to 255 do

begin

Pal.entry[i].peRed := i; Pal.entry[i].peGreen := i; Pal.entry[i].peBlue := i; end;

end;

procedure TFormUtama.smooth; var

x, y, w, h, u, v, Ambang: integer; PC, PH: PByteArray;

Ki, Ri, Gi, Bi, Ko, Ro, Go, Bo: array of array of byte; jumlah: real;

begin

Ambang := 20;

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 := FormHasilSmooth.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 := M to w-1-M do for y := N to h-1-N do begin

jumlah := 0;

for u := -M to M do for v := -N to N do

jumlah := jumlah+Mask[u,v]*Ki[x-u,y-v]; if (Abs(jumlah-Ki[x,y])<Ambang) then


(2)

Ko[x,y] := Ki[x,y] else

Ko[x,y] := Round(jumlah) end;

for y := 0 to h-1 do begin

PH := FormHasilSmooth.Image.Picture.Bitmap.ScanLine[y]; for x := 0 to w-1 do

PH[x] := Ko[x, y]; end;

Ki := nil; Ko := nil; end; end;

procedure TFormUtama.Sampling; var

x, y, x1, y1, w, h, w1, h1,m1,m2,b1, b2,lbr,tgi: integer; PC, PH: PByteArray;

Ki, Ri, Gi, Bi, Ko, Ro, Go, Bo: array of array of byte; begin

w := FormHasil.Image.Picture.Width; h := FormHasil.Image.Picture.Height; m1 := Round((w/3)*15/100);

m2:= Round ((w/3)*85/100); w1 := m2-m1;

b1 := Round (h*15/100); b2 := Round (h*85/100); h1 := b2-b1;

FormSample1.Image.Picture.Bitmap.Width := w1; FormSample1.Image.Picture.Bitmap.Height := h1;

if (FormHasil.Image.Picture.Bitmap.PixelFormat = pf8bit) then

begin

SetLength(Ki, w, h); SetLength(Ko, w1, h1); for y := 0 to h-1 do begin

PC := FormHasil.Image.Picture.Bitmap.ScanLine[y]; for x := 0 to w-1 do

Ki[x, y] := PC[x]; end;

for x1 := 0 to w1-1 do for y1 := 0 to h1-1 do begin

x := x1+m1; y := y1+b1;

Ko[x1, y1] := Ki[x, y]; end;


(3)

begin

PH := FormSample1.Image.Picture.Bitmap.ScanLine[y1]; for x1 := 0 to w1-1 do

PH[x1] := Ko[x1, y1]; end;

Ki := nil; Ko := nil; end; end;

procedure TFormUtama.Sampling1; var

x,xL,xR, y,yT, x1, y1, w, ww, h, hh, w1, h1,m1,m2,b1, b2,lbr,tgi: integer; PC, PH: PByteArray;

Ki, Ri, Gi, Bi, Ko, Ro, Go, Bo: array of array of byte; begin

w := FormHasil.Image.Picture.Width; h := FormHasil.Image.Picture.Height; xL := Round(w/3);

xR := Round((w/3)*2);

m1 := Round((xR-xL)*15/100); m2:= Round ((xR-xL)*85/100); w1 := m2-m1;

b1 := Round (h*15/100); b2 := Round (h*85/100); h1 := b2-b1;

FormSample2.Image.Picture.Bitmap.Width := w1; FormSample2.Image.Picture.Bitmap.Height := h1;

if (FormHasil.Image.Picture.Bitmap.PixelFormat = pf8bit) then

begin

SetLength(Ki, w, h); SetLength(Ko, w1, h1); for y := 0 to h-1 do begin

PC := FormHasil.Image.Picture.Bitmap.ScanLine[y]; for x := 0 to w-1 do

Ki[x, y] := PC[x]; end;

for x1 := 0 to w1-1 do for y1 := 0 to h1-1 do begin

x := x1+xL+m1; y := y1+b1;

Ko[x1, y1] := Ki[x, y]; end;

for y1 := 0 to h1-1 do begin

PH := FormSample2.Image.Picture.Bitmap.ScanLine[y1]; for x1 := 0 to w1-1 do


(4)

end; Ki := nil; Ko := nil; end; end;

procedure TFormUtama.Sampling2; var

x,xL,xR, y,yT, x1, y1, w, ww, h, hh, w1, h1,m1,m2,b1, b2,lbr,tgi: integer; PC, PH: PByteArray;

Ki, Ri, Gi, Bi, Ko, Ro, Go, Bo: array of array of byte; begin

w := FormHasil.Image.Picture.Width; h := FormHasil.Image.Picture.Height; xL := Round((w/3)*2);

xR := w;

m1 := Round((xR-xL)*15/100); m2:= Round ((xR-xL)*85/100); w1 := m2-m1;

b1 := Round (h*15/100); b2 := Round (h*85/100); h1 := b2-b1;

FormSample3.Image.Picture.Bitmap.Width := w1; FormSample3.Image.Picture.Bitmap.Height := h1;

if (FormHasil.Image.Picture.Bitmap.PixelFormat = pf8bit) then

begin

SetLength(Ki, w, h); SetLength(Ko, w1, h1); for y := 0 to h-1 do begin

PC := FormHasil.Image.Picture.Bitmap.ScanLine[y]; for x := 0 to w-1 do

Ki[x, y] := PC[x]; end;

for x1 := 0 to w1-1 do for y1 := 0 to h1-1 do begin

x := x1+xL+m1; y := y1+b1;

Ko[x1, y1] := Ki[x, y]; end;

for y1 := 0 to h1-1 do begin

PH := FormSample3.Image.Picture.Bitmap.ScanLine[y1]; for x1 := 0 to w1-1 do

PH[x1] := Ko[x1, y1]; end;

Ki := nil; Ko := nil;


(5)

end; end;

procedure TFormUtama.Scan1; var

g,tot,hit,x, y,x1, y1, w,w1, h,h1: integer; PC, PH: PByteArray;

Ki, Ko: array of array of byte; begin

w := FormSample1.Image.Picture.Width; h := FormSample1.Image.Picture.Height; g:= 0;

tot:=0;

if (FormHasil.Image.Picture.Bitmap.PixelFormat = pf8bit) then

begin

SetLength(Ki, w, h); for y := 0 to h-1 do begin

PC := FormSample1.Image.Picture.Bitmap.ScanLine[y]; for x := 0 to w-1 do

begin

Ki[x, y] := PC[x]; tot:=tot+1;

if Ki[x, y] = 255 then g:=g+1;

end; end;

hit:= Round (tot*5/100); if g < hit then

Edit3.Text := 'Tdk menggumpal' else

Edit3.Text := 'Menggumpal';

// ShowMessage(IntToStr(g)+'&'+IntToStr(tot)); Ki := nil;

end; end;

procedure TFormUtama.Scan2; var

g,tot,hit,x, y,x1, y1, w,w1, h,h1: integer; PC, PH: PByteArray;

Ki, Ko: array of array of byte; begin

w := FormSample2.Image.Picture.Width; h := FormSample2.Image.Picture.Height; g:= 0;


(6)

if (FormHasil.Image.Picture.Bitmap.PixelFormat = pf8bit) then

begin

SetLength(Ki, w, h); for y := 0 to h-1 do begin

PC := FormSample2.Image.Picture.Bitmap.ScanLine[y]; for x := 0 to w-1 do

begin

Ki[x, y] := PC[x]; tot:=tot+1;

if Ki[x, y] = 255 then g:=g+1;

end; end;

hit:= Round (tot*5/100); if g < hit then

Edit4.Text := 'Tdk Menggumpal' else

Edit4.Text := 'Menggumpal'; Ki := nil;

end; end;

procedure TFormUtama.Scan3; var

g,tot,hit,x, y,x1, y1, w,w1, h,h1,b: integer; PC, PH: PByteArray;

Ki, Ko: array of array of byte; a : string;

begin

w := FormSample3.Image.Picture.Width; h := FormSample3.Image.Picture.Height; g:= 0;

tot:=0;

if (FormHasil.Image.Picture.Bitmap.PixelFormat = pf8bit) then

begin

SetLength(Ki, w, h); for y := 0 to h-1 do begin

PC := FormSample3.Image.Picture.Bitmap.ScanLine[y]; for x := 0 to w-1 do

begin

Ki[x, y] := PC[x]; tot := tot+1;

if Ki[x, y] = 255 then g := g+1;

end; end;