BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
17 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III
PERANCANGAN DAN IMPLEMENTASI SISTEM
3.1 Perancangan Sistem
Sistem yang dibangun pada tugas akhir ini menggunakan filter 2D gabor
wavelet dan logika fuzzy. Hasil keluaran dari sistem ini akan mengklasifikasikan
kondisi paru-paru menjadi tiga kondisi yaitu normal, TBC, atau efusi pleura.
Secara garis besar, sistem yang dirancang sebagai berikut :
Mulai
Citra
Paru-Paru
Pre Processing
Ekstraksi Ciri dengan
Filter 2D Gabor Wavelet
Klasifikasi dengan
Logika Fuzzy
Selesai
Gambar 3.1 Diagram Alir Sistem Deteksi Kondisi Paru-Paru Secara Umum.
Pada Gambar 3.1, citra paru-paru yang diperoleh berupa hasil foto rontgen
paru-paru yang kemudian difoto kembali menggunakan kamera digital. Proses
pengambilan citra paru-paru ini dilakukan dalam dua tahap, yaitu sebagai citra
latih dan citra uji sehingga secara lebih rinci prosesnya terbagi dua seperti pada
gambar berikut :
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
18 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
Mulai
Citra Latih
Pre Processing
Ekstraksi Ciri dengan
Filter 2D Gabor Wavelet
Klasifikasi dengan
Logika Fuzzy
Selesai
Hasil Citra yang
Telah Diklasifikasi
Kondisi Paru-Paru
Normal, TBC, Efusi
Gambar 3.2 Diagram Alir Proses Citra Latih
Pada Gambar 3.2, citra latih mengalami proses klasifikasi kemudian akan
diperoleh hasil citra yang telah diklasifikasikan dalam tiga kondisi yaitu normal,
TBC atau efusi. Hasil citra ini dijadikan sebagai database yang nantinya akan
digunakan pada proses citra uji.
Mulai
Citra Uji
Pre Processing
Ekstraksi Ciri dengan
Filter 2D Gabor Wavelet
Pengenalan Klasifikasi
dengan Logika Fuzzy
Selesai
Kondisi Paru-Paru
Normal, TBC, Efusi
Database Citra Latih
Gambar 3.3 Diagram Alir Proses Citra Uji
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
19 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
Dari Gambar 3.2 dan 3.3 pada dasarnya tahap yang digunakan pada proses
citra latih dan citra uji hampir sama, yang membedakan yaitu pada proses citra uji,
setelah ekstraksi ciri digunakan database citra latih sebagai acuan untuk
pengenalan kondisi paru-paru.
3.2 Proses Pengambilan Citra Paru-paru
Pengambilan citra paru-paru dilakukan dengan menggunakan kamera
digital yang diperoleh dari hasil foto rontgen di RS. Al Islam Bandung. Selain itu,
citra paru-paru juga diperoleh dari dokter di RS. Al Islam Bandung yang
dikirimkan melalui email. Dalam hal ini citra yang diperoleh dalam format
*JPEG, dengan ukuran bervariasi, namun ukuran dominan yang diperoleh yaitu
256x256 piksel.
Foto Rontgen
Paru-Paru
Pengambilan
Gambar
Citra
Paru-Paru
Gambar 3.4 Diagram Blok Proses Pengambilan Gambar
3.3 Pre Processing
Pre processing merupakan sebuah proses awal yang dilakukan pada suatu
citra digital sebelum dilakukan pemrosesan citra selanjutnya. Pre processing pada
tugas akhir ini dibagi dalam dua tahap, tahap pertama mengubah ukuran gambar
yang diperoleh. Dari 120 gambar yang diperoleh, 75 gambar memiliki ukuran
256x256 piksel. Untuk keseragaman masukan pre processing diperlukan ukuran
data yang seragam. Oleh karena itu, dilakukan proses resize. Proses resize pada
tugas akhir ini, dilakukan secara manual menggunakan perangkat lunak paint.
Gambar 3.5 Citra Hasil Resize 256x256piksel
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
20 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
Pemrosesan awal (pre-processing) tahap 2 yaitu peningkatan kualitas citra,
metode yang digunakan pada tugas akhir ini yaitu pengontrasan (contrast
stretching), hal ini dilakukan karena hasil foto rontgen paru-paru memiliki kontras
yang kurang baik, sehingga gambar menjadi kabur. Hal ini menimbulkan
kesulitan untuk menentukan kondisi paru-paru tersebut. Untuk itu perlu dilakukan
pengontrasan contrast stretching pada histogram citra asli agar gambar paru-paru
nampak lebih jelas. Namun, sebelum dilakukan contrast stretching, terlebih
dahulu citra diubah menjadi keabuan. Hal ini dilakukan karena citra yang dapat
diolah pada contrast stretching hanya citra keabuan.
Citra Hasil
Pre Processing
Tahap 1
GrayscalePre Processing
Tahap II
Citra Hasil
Pre Processing
Tahap II
Gambar 3.7 Diagram Blok Pre Processing Tahap II.
Gambar 3.8 Citra Hasil Pre Processing Tahap II
Gambar 3.9 Histogram Citra
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
21 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
3.4 Ekstraksi Ciri
Ektraksi ciri merupakan cara yang dilakukan untuk mendapatkan ciri dari
sebuah citra. Proses ini merupakan tahap yang penting dalam mendeteksi citra
paru-paru normal, TBC atau efusi, dimana setiap pola citra paru-paru ini berbeda,
maka dari itu diperlukan ekstraksi ciri untuk membedakan masing-masing pola
citra paru-paru dari ketiga kondisi tersebut. Dari ekstraksi ciri akan diperoleh
informasi-informasi penting dari citra paru-paru. Teknik ekstraksi ciri dalam
penelitian ini menggunakan Filter 2D gabor wavelet.
Mulai
Hasil Pre Processing
Tahap II
Segmentasi Citra
Menjadi 6 Bagian
Gabor Wavelet
Transform
Selesai
Gambar 3.9 Diagram Alir Ekstraksi Ciri
3.4.1 Segmentasi Citra
Segmentasi Citra dilakukan untuk membagi citra menjadi enam bagian.
Bagian tersebut meliputi semua bagian paru-paru kanan dan kiri, sedangkan
bagian tengah (mediastinum) tidak diproses, karena dianggap tidak memiliki
informasi penting untuk mendeteksi kondisi paru-paru. Dengan membagi citra
menjadi enam bagian, diharapkan semua informasi tentang kondisi paru-paru
dapat dideteksi secara lebih detail. Pada kasus TBC, tanda yang signifikan
biasanya terdapat pada bagian atas paru-paru. Pada kasus efusi, terdapat pada
bagian bawah paru-paru. Sedangkan bagian tengah paru-paru sebagai pemisah
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
22 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
antara bagian atas dan bawah paru-paru. Jika paru-paru hanya dibagi menjadi
empat bagian (Gambar 3.10) maka batas bagian atas dan bawah paru-paru tidak
terlalu jelas lagi. Sehingga pada kasus TBC, ketika terdapat tanda penyakit di
bagian atas paru-paru maka akan dideteksi mulai dari bagian tengah hingga ke
bagian atas. Hal ini kurang efektif. Oleh karena itu penulis membagi citra menjadi
enam bagian. Selanjutnya dari enam bagian tersebut dilakukan ekstraksi ciri dari
tiap bagian, sehingga akan dihasilkan banyak ciri. Hal ini diharapkan dapat
meningkatkan akurasi sistem.
Gambar 3.10 Citra Segmentasi 4 Bagian Gambar 3.11 Citra Segmentasi 6 Bagian
Gambar 3.12 Citra Hasil Segmentasi
3.4.2 Filter 2D gabor wavelet
Dengan menggunakan filter 2D simetri genap, hasil ekstraksi ciri dari citra
yang diperoleh berupa vektor ciri dengan ukuran tertentu. Berikut adalah langkah
untuk menghasilkan vektor ciri :
1. Pembangunan kernel
Kernel gabor dibangun dengan menggunakan MATLAB. Vektor ciri yang
dihasilkan oleh filter 2D gabor simetri genap merupakan kombinasi dari nilai arah
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
23 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
orientasi (θ) dan frekuensi. Gabor kernel yang dihasilkan terbagi dua, yaitu real
dan imajiner. Berikut adalah hasil dari kernel yang dihasilkan :
Gambar 3.13 Kernel Gabor Real
Gambar 3.14 Kernel Gabor Imajiner
2. Konvolusi kernel dengan enam bagian citra paru-paru
Konvolusi dalam tugas akhir ini dapat dilakukan jika telah terbentuk kernel
gabor. Kernel gabor ini kemudian dikonvolusikan dengan nilai pixel dari tiap
bagian pada paru-paru yang telah dilakukan segmentasi. Rumus konvolusi yang
digunakan[2]
:
),(),(),(*),(),( byaxgbafyxgyxfyxh (3.1)
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
24 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
Gambar 3.15 Hasil Konvolusi Citra Paru-Paru Bagian 1 dengan Kernel Gabor Real
Gambar 3.16 Hasil Konvolusi Citra Paru-Paru Bagian 1 dengan Kernel Gabor Imajiner
Konvolusi dilakukan pada ke enam bagian dari paru-paru sehingga akan
dihasilkan vektor ciri.
3. Magnitude dari vektor ciri
Setelah dilakukan konvolusi antara citra paru-paru dan kernel gabor, maka
untuk setiap bagian dari paru-paru akan menghasilkan vektor ciri, namun vektor
ciri yang dihasilkan masih terdapat nilai imajiner, oleh karena itu, dicari nilai
magnitude dari vektor ciri.
aveIaveROutput 22 (3.2)
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
25 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
Sehingga keluaran dari tiap bagian citra paru-paru merupakan nilai magnitude
dari vektor ciri. Berikut adalah contoh keluaran hasil ekstraksi ciri, untuk tiap
bagian pada citra :
Gambar 3.17 Hasil Ekstraksi Ciri 6 Bagian Citra Paru-Paru
0 5 10 15 20 25 30 350
10
20
30
40
Ciri
Magnitude V
ekto
r C
iri
0 10 20 30 400
50
100
150
200
250
300
Ciri
Magnitude V
ekto
r C
iri
0 5 10 15 20 25 30 350
5
10
15
20
25
Ciri
Magnitude V
ekto
r C
iri
0 10 20 30 400
100
200
300
400
500
Ciri
Magnitude V
ekto
r C
iri
0 10 20 30 400
50
100
150
200
250
300
350
Ciri
Magnitude V
ekto
r C
iri
0 5 10 15 20 25 30 350
500
1000
1500
Ciri
Magnitude V
ekto
r C
iri
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
26 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
Setelah memperoleh 32 vektor ciri dari tiap bagian paru-paru, maka total
dari enam bagian yaitu 192 ciri dari sebuah citra paru-paru. Ukuran ini terlalu
besar untuk dijadikan masukan pada logika fuzzy. Sebab jumlah aturan dari logika
fuzzy sangat bergantung pada jumlah masukan, semakin besar ukuran masukan
yang akan diproses, maka aturan yang dihasilkan semakin banyak, sehingga akan
memperlambat kerja sistem. Oleh karena itu, dari 192 ciri ini, akan diperkecil
menjadi 24 ciri, dengan menghitung rata-rata ciri. Ciri 1-8 dihitung rata-ratanya,
kemudian dijadikan ciri 1, Ciri 9-16 dihitung rata-ratanya, kemudian dijadikan ciri
2, Ciri 17-24 dihitung rata-ratanya, kemudian dijadikan ciri 3, Ciri 25-32 dihitung
rata-ratanya, kemudian dijadikan ciri 4. Hal ini dilakukan pada setiap bagian dari
citra, dari bagian satu sampai enam. Sehingga diperoleh 24 ciri. Setelah
memperoleh 24 ciri, ternyata jumlah ini masih cukup besar untuk menjadi
masukan logika fuzzy. Oleh karena itu dari 24 ciri ini maka diperkecil lagi menjadi
8 ciri, dengan mengelompokkan ciri yang memiliki nilai hampir sama, kemudian
dicari rata-rata dari ciri tersebut. Berdasarkan hasil pengamatan penulis terhadap
seluruh data hasil ekstraksi ciri, maka rata-rata ciri yang dikelompokkan yaitu :
ciri 1,5,9 menjadi ciri 1, ciri 13,17,21 menjadi ciri 2, ciri 2,3,6 menjadi ciri 3, ciri
7,10,11 menjadi ciri 4, ciri 14,15,18 menjadi ciri 5, ciri 19,22,23 menjadi ciri 6,
ciri 4,8, 12 menjadi ciri 7, ciri 16,20,24 menjadi ciri 8. Sehingga nilai vektor ciri
inilah yang akan menjadi masukan pada logika fuzzy.
Gambar 3.18 Nilai Vektor Ciri Sebagai Masukan Fuzzy
0
50
100
150
200
250
300
350
400
0 2 4 6 8 10
Mag
nit
ud
e V
ekto
r C
iri
Ciri
normal
tbc
efusi
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
27 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
3.5 Klasifikasi dengan Logika fuzzy
Tahap klasifikasi bertujuan untuk mengklasifikasikan kondisi paru-paru
normal, TBC, dan efusi. Klasifikasi yang digunakan pada tugas akhir ini yaitu
logika fuzzy yang bertujuan untuk mengambil keputusan dalam pendeteksian
kondisi paru-paru. Ada beberapa langkah yang digunakan yaitu Fuzzification,
Inference, dan Defuzzification.
Masukan Fuzzy
Keluaran Fuzzy
Fuzzification
Interference
Defuzzification
Gambar 3.19 Langkah Klasifikasi Menggunakan Logika fuzzy
3.5.1 Fuzzification
Nilai delapan vektor ciri yang diperoleh dari hasil ekstraksi ciri dikonversi
ke bentuk masukan fuzzy, nilai ini dinamakan variabel linguistik, variabel
linguistik digunakan untuk merepresentasikan delapan masukan yaitu ciri satu
sampai ciri delapan. Untuk setiap variabel linguistik memiliki dua nilai linguistik
yaitu rendah dan tinggi. Fungsi keanggotaan yang digunakan pada tugas akhir ini
yaitu fungsi trapesium dengan setiap vektor ciri memiliki satu fungsi
keanggotaan, sehingga dibutuhkan delapan fungsi keanggotaan untuk sebuah
citra. Berikut ini bentuk fungsi keanggotaan trapesium untuk delapan variabel
linguistik, dimana sumbu horizontal menunjukkan variabel linguistik dan sumbu
vertikal menunjukkan derajat keanggotaan :
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
28 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
0 .38 0.56 3. 20 2500
1ciri ke 4
rendah tinggi
0. 38 0. 63 0. 98 150
1ciri ke 3
2. 83 3. 97 5. 52 5750
1ciri ke 2
rendah tinggi
2. 40 3. 87 5. 20 1650
1ciri ke 1
rendah tinggi
25 60 105 15000
1ciri ke 8
tinggirendah
25 65 165 10000
1ciri ke 7
tinggirendah
0. 25 0.64 1. 94 5500
1ciri ke 6
tinggirendah
0 . 37 0. 96 2030
1ciri ke 5
tinggirendah
Der
ajat
kea
nggota
an (
µ(x
))
Variabel Linguistik
Der
ajat
kea
nggota
an (
µ(x
))
0 . 58
Variabel Linguistik
Der
ajat
kea
nggota
an (
µ(x
))
Variabel Linguistik
Der
ajat
kea
nggota
an (
µ(x
))
Variabel Linguistik
Der
ajat
kea
nggota
an (
µ(x
))D
eraj
at k
eanggota
an (
µ(x
))
Variabel Linguistik
Variabel Linguistik
Variabel Linguistik
Variabel Linguistik
Der
ajat
kea
nggota
an (
µ(x
))D
eraj
at k
eanggota
an (
µ(x
))
Gambar 3.20 Fungsi Keanggotaan Masukan Fuzzy
3.5.2 Inference
Inference merupakan proses untuk menentukan aturan fuzzy yang akan
digunakan dalam sistem. Pada tugas akhir ini, hasil inference menggunakan
fungsi keanggotaan trapesium dengan tiga nilai linguistik yaitu normal, TBC, dan
efusi seperti yang terlihat pada gambar berikut :
65 95 250 575 8000
1
normal tbc efusiµ
Der
ajat
kea
ng
go
taan
(µ
(x))
Variabel Linguistik
Gambar 3.21 Fungsi Keanggotaan Keluaran Fuzzy
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
29 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
Model aturan fuzzy yang digunakan yaitu model mamdani, dengan
menggunakan cara inferensi clipping (alpha-cut). Jumlah aturan yg diperlukan
pada sistem ini yaitu 28=256. Berikut adalah contoh tiga aturan dari 256 aturan
yang digunakan :
1. IF ciri_1 rendah AND ciri_2 rendah AND ciri_3 rendah AND ciri_4 rendah AND
ciri_5 rendah AND ciri_6 rendah AND ciri_7 rendah AND ciri_8 rendah THEN
normal.
2. IF ciri_1 rendah AND ciri_2 rendah AND ciri_3 rendah AND ciri_4 rendah AND
ciri_5 rendah AND ciri_6 tinggi AND ciri_7 tinggi AND ciri_8 tinggi THEN tbc.
3. IF ciri_1 tinggi AND ciri_2 tinggi AND ciri_3 tinggi AND ciri_4 tinggi AND ciri_5
tinggi AND ciri_6 tinggi AND ciri_7 tinggi AND ciri_8 tinggi THEN efusi.
Dari aturan-aturan tersebut, maka proses inference yang terjadi dengan
menggunakan inferensi Clipping dengan langkah sebagai berikut :
1. Menggunakan aturan Conjunction (˄) dengan memilih derajat keanggotaan
minimum dari nilai-nilai linguistik yang dihubungkan oleh ˄ (AND), dan
lakukan Clipping pada fungsi keanggotaan Trapesium.
2. Menggunakan aturan Disjunction (˅) dengan memilih derajat keanggotaan
maksimum dari nilai-nilai linguistik yang telah diperoleh dari aturan
Conjunction (˄).
3.5.3 Defuzzification
Merupakan suatu proses untuk memperoleh nilai crisp sebagai solusi
dari sistem fuzzy. Pada tugas akhir ini, menggunakan Centroid method.
Sebagai contoh, suatu citra paru-paru dideteksi oleh sistem memiliki dua
kemungkinan kondisi yaitu efusi dan TBC sebagai berikut :
65 250 57595 800
normal tbc efusi
Dera
jat
Kean
gg
ota
an
(µ
(x))
Variable Linguistik
µ
Gambar 3.22 Grafik Defuzzifikasi dengan Fungsi Trapesium
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
30 ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN
FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
Pada Gambar 3.22, maka untuk proses defuzzifikasi menggunakan
Centroid method dilakukan berdasarkan persamaan 2.11, langkah awal yaitu
menentukan titik-titik pada area TBC dan efusi. Titik-titik tersebut yaitu
65,66,67,68,69,....800. Langkah selanjutnya menjumlahkan semua titik dan
mengitung banyaknya titik yang berada pada range TBC, begitupun pada range
efusi. Langkah terakhir mengalikan hasil penjumlahan semua titik pada range
TBC dengan derajat keanggotaan TBC yang diperoleh dari proses sebelumnya,
hal ini juga dilakukan pada range efusi, kemudian hasil keduanya dijumlahkan
dan dibagi dengan jumlah banyaknya titik pada range TBC dan efusi, sehingga
diperoleh sebuah nilai sebagai keluaran kondisi paru-paru.
Keluaran untuk hasil deteksi kondisi paru-paru dibuat dalam sebuah range.
Range ini didapatkan dari hasil analisis terhadap citra latih, sehingga diperoleh
range keluaran sebagai berikut :
1. Normal (0-124)
2. TBC (125-449)
3. Efusi (450-1000)
3.6 Pengujian Sistem
Untuk pengujian sistem digunakan parameter akurasi dan error :
Akurasi adalah ukuran ketepatan sistem dalam mengenali masukan yang
diberikan sehingga menghasilkan keluaran yang benar. Secara sistematis dapat
dituliskan sebagai berikut :
%100__
__x
nkeseluruhadataJumlah
benardataJumlahAkurasi (3.3)
Error adalah tingkat kesalahan sistem dalam mengenali masukan yang
diberikan terhadap jumlah data secara keseluruhan. Secara sistematis dapat
dituliskan sebagai berikut:
AkurasiError %100 (3.4)