BAB III PERANCANGAN PERANCANGAN DAN IMPLEMENTASI SISTEM
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. fuzzy. Hasil keluaran dari sistem ini akan mengklasifikasikan kondisi paru-paru menjadi tiga kondisi yaitu normal, TBC, atau efusi pleura. Secara garis besar, sistem sist em yang dirancang sebagai berikut :
Mulai
Citra Paru-Paru
Pre Processing 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 :
17
ANALISIS PENDETEKSIAN PENDETEKSIAN PENYAKIT PENYAKIT TUBERKULOSIS TUBERKULOSIS (TBC) DAN DAN EFUSI PLEURA MENGGUNAKAN MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
Mulai
Citra Latih
Pre Processing
Ekstraksi Ciri dengan Filter 2D Gabor Wavelet
Klasifikasi dengan Logika Fuzzy
Hasil Citra yang Telah Diklasifikasi
Kondisi Paru-Paru Normal, TBC, Efusi
Selesai
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
Database Citra Latih
Ekstraksi Ciri dengan Filter 2D Gabor Wavelet
Pengenalan Klasifikasi dengan Logika Fuzzy
Kondisi Paru-Paru Normal, TBC , Efusi
Selesai
Gambar 3.3 Diagram Alir Proses Citra Uji 18
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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 citr a 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
Pr e Pr ocessi ng
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
19
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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
Grayscale
Pre 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
20
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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 21
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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
F i lt er 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 22
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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] :
h( x, y) f ( x, y) * g ( x, y) f (a, b) g ( x a, y b)
(3.1)
23
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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 I majiner
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.
2
2
Output R ave I ave
(3.2) 24
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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 :
40
300
i r i 30 C r o t k e V 20 e d u t i n g a 10 M
250 i r i C r 200 o t k e V 150 e d u t i n 100 g a M 50
0
0 0
5
10
15
20
25
30
35
0
10
20
Ciri
30
40
30
40
Ciri
25
500
i r 20 i C r o t k 15 e V e d u 10 t i n g a M 5
i r 400 i C r o t k 300 e V e d u 200 t i n g a M100
0
0 0
5
10
15
20
25
30
35
0
10
Ciri
20 Ciri
350
1500
300 i r i C250 r o t k e 200 V e d 150 u t i n g 100 a M
i r i C r 1000 o t k e V e d u t i n 500 g a M
50 0
0 0
10
20 Ciri
30
40
0
5
10
15
20
25
30
35
Ciri
Gambar 3.17 Hasil Ekstraksi Ciri 6 Bagian Citra Paru-Paru
25
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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.
400 350
i r i 300 C r o t k 250 e V e 200 d u t i 150 n g a 100 M
normal tbc efusi
50 0 0
2
4
6
8
10
Ciri
Gambar 3.18 Nilai Vektor Ciri Sebagai Masukan Fuzzy 26
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
3.5 Klasifikasi dengan L ogi ka fu zzy
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. Fuzzification
Masukan Fuzzy
Interference
Keluaran Fuzzy
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 : 27
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
1
ciri ke1
1
) ) x ( µ ( n a a t o g g n a e k t a j a r e D
rendah
0
2. 40 3. 87
ciri ke5
) ) x ( µ ( n a a t o g g n a e k t a j a r e D
tinggi
5. 20
rendah
165
0 . 37 0.58
0
Variabel Linguistik
1
1
rendah
0
2. 83 3. 97
) ) x ( µ ( n a a t o g g n a e k t a j a r e D
tinggi
5. 52
575
rendah
0.25 0.64
0
1
) ) x ( µ ( n a a t o g g n a e k t a j a r e D
1. 94
0. 98
15
rendah
0
25 65
1
rendah
0
3. 20
ciri ke8
) ) x ( µ ( n a a t o g g n a e k t a j a r e D
tinggi
0 .38 0.56
1000
Variabel Linguistik
ciri ke4
) ) x ( µ ( n a a t o g g n a e k t a j a r e D
tinggi
165
VariabelLinguistik
1
550
ciri ke7
) ) x ( µ ( n a a t o g g n a e k t a j a r e D
0. 38 0. 63
tinggi
Variabel Linguistik
ciri ke3
0
203
ciri ke6
VariabelLinguistik
1
0. 96
Variabel Linguistik
ciri ke2
) ) x ( µ ( n a a t o g g n a e k t a j a r e D
tinggi
250
0
VariabelLinguistik
rendah
25
60
tinggi
105
1500
Variabel Linguistik
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 : ) ) x ( µ ( n a a t o g g n a e k t a j a r e D
µ
normal
tbc
efusi
1
0
65
95
250
575
800
Variabel Linguistik
Gambar 3.21 Fungsi Keanggotaan Keluaran Fuzzy 28
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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 : µ ) ) x ( µ ( n a a t o g g n a e K t a j a r e D
normal
tbc
65
95
efusi
250
575
800
Variable Linguistik
Gambar 3.22 Grafik Defuzzifikasi dengan Fungsi Trapesium
29
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM
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 : Akurasi
Jumlah _ data _ benar
x100% Jumlah _ data _ keseluruhan
(3.3)
Error adalah tingkat kesalahan sistem dalam mengenali masukan yang diberikan terhadap jumlah data secara keseluruhan. Secara sistematis dapat dituliskan sebagai berikut: Error 100% Akurasi
(3.4)
30
ANALISIS PENDETEKSIAN PENYAKIT TUBERKULOSIS (TBC) DAN EFUSI PLEURA MENGGUNAKAN FILTER 2D GABOR WAVELET DAN LOGIKA FUZZY