DETEKSI DINI KANKER PARU DENGAN MODEL FUZZY RADIAL BASIS FUNCTION NEURAL NETWORK (FRBFNN) DAN HIGH FREQUENCY EMPHASIS FILTER.

(1)

1 BAB I PENDAHULUAN A. Latar Belakang

Kanker paru telah menjadi salah satu kanker yang sering terjadi dalam beberapa dekade ini. Kanker paru merupakan pertumbuhan sel-sel abnormal yang tak terkendali pada salah satu atau kedua paru-paru. Berdasarkan fakta dari International Agency for Research on Cancer (IARC) pada tahun 2012 diperkirakan terdapat kasus baru kanker paru diseluruh dunia yaitu 1,8 juta dengan angka kematian sebesar 1,59 juta dan 58% kasus kanker paru ditemukan di kawasan negara-negara yang belum berkembang. Kanker paru menjadi penyebab kematian terbanyak pada segala jenis kanker yang terjadi di seluruh dunia, diperkirakan 1 dari 5 penderita kanker paru meninggal dunia. Diperkirakan terdapat kasus kanker paru yang diderita oleh kaum laki-laki sebesar 1,2 juta, sedangkan pada kaum perempuan penderita kanker paru sebesar 583 ribu (GLOBOCAN, 2012).

Di Indonesia, berdasarkan laporan World Health Organization (WHO), kanker paru merupakan penyumbang insiden kanker pada laki-laki tertinggi, diikuti kanker kolorektal, prostat, hati dan nasofaring, dan merupakan penyumbang kasus kanker ke-5 pada perempuan. Merokok merupakan salah satu faktor resiko terjadinya kanker paru (Kemenkes RI, 2015) . Menurut American Cancer Society, 80% kematian kanker paru disebabkan oleh kebiasaan merokok. Faktor resiko akan semakin meningkat berdasarkan jangka waktu merokok dan jumlah rokok yang dihisap setiap hari. Selain itu, faktor resiko lainnya adalah terpapar zat kimia (radon,


(2)

2

asbestos, kadmium, arsenik), polusi udara pada kawasan padat industri, memiliki riwayat penyakit tuberkolosis, serta faktor genetika.

Deteksi dini yang dapat dilakukan untuk mendeteksi kanker paru adalah melalui pemeriksaan secara radiologi. Chest X-Ray atau foto radiography dada merupakan salah satu alat yang dapat digunakan untuk mendiagnosis beberapa penyakit paru diantaranya pneumonia, bronchitis dan kanker paru (Khobragade, et al 2016: 1). Citra dari hasil foto radiography akan menampilkan bentuk paru-paru yang berbeda antara paru normal dan paru yang tidak normal. Pada paru-paru yang tidak normal akan menunjukkan adanya nodul di paru-paru-paru-paru pada hasil citra radiography namun sebaliknya pada paru-paru yang normal tidak menunjukkan adanya nodul di paru-paru pada hasil citra radiography. Wajid, et al (2016) melakukan penelitian untuk mendeteksi kanker paru dengan menggunakan citra radiography. Dengan melakukan deteksi dini kanker paru diharapkan dapat memberikan penanganan yang tepat pada penderita kanker paru dan menurunkan angka kematian kanker paru-paru.

Soft computing adalah sebuah pendekatan komputasi yang memiliki kesamaan dengan kemampuan berpikir manusia untuk menyelesaikan suatu permasalahan dan belajar pada lingkungan yang mengandung ketidakpastian dan ketidaktepatan. Logika fuzzy dan jaringan saraf tiruan merupakan bagian dari soft computing. Tujuan utama pada soft computing adalah mengusahakan adanya toleransi terhadap ketidaktepatan, ketidakpastian, kecerdasan mesin tingkat tinggi dan biaya yang rendah dalam pengaplikasiannya (Lin & Lee, 1996: 2). Sebagai tambahan, unsur utama pada soft computing selain logika fuzzy dan jaringan saraf


(3)

3

tiruan adalah probabilistic reasoning, evolutionary programming, genetic algorithm dan choatic systems. Sistem fuzzy dan jaringan saraf tiruan telah menarik minat banyak peneliti serta berkembang pesat dalam bidang ilmiah maupun teknik. Berbagai macam aplikasi dari logika fuzzy dan jaringan saraf tiruan diantaranya adalah produk konsumen, sistem kontrol industri, instrumen medis, sistem informasi, dan analisis keputusan. Logika fuzzy didasarkan pada cara berpikir otak berhubungan dengan informasi eksak. Sedangkan, jaringan saraf tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia. Istilah buatan digunakan karena jaringan saraf ini diimplementasikan menggunakan program komputer. Ada banyak model pada jaringan syaraf tiruan diantaranya adalah backpropagation, kohonen, adaptive linear neuron, support vector machine dan radial basis function.

Penggunaan soft computing telah banyak dilakukan oleh beberapa penelitian dalam membangun model deteksi dini kanker paru dengan menggunakan citra radiography. Bhuvaneswari & Brintha (2014) melakukan penelitian untuk mendeteksi stadium awal kanker paru dengan menggunakan model Genetic K-Nearest Neighbour (GKNN). Tun & Khaing (2014) mendiagnosis kanker paru dengan menggunakan citra CT Scan dengan menggunakan model Artificial Neural Network (ANN) dan mengimplementasikan ekstraksi fitur berupa Gray Level Co-occurrence Matrix (GLCM) serta mengklasifikasikan kanker paru menggunakan teknik pengolahan citra. Penelitian lainnya dilakukan oleh Hamad (2016) dengan menggunakan Fuzzy Logic System untuk mendeteksi dini kanker paru. Pada


(4)

4

penelitian tersebut menggunakan data input berupa hasil foto CT Scan paru-paru dan melakukan image preprocessing pada hasil foto CT Scan paru-paru.

Radial Basis Function Neural Network (RBFNN) adalah salah satu jenis dari Artificial Neural Network (ANN) yang melakukan proses pembelajaran (learning) jaringan secara hybrid. Secara umum, arsitektur jaringan RBFNN terdiri dari 3 lapisan yaitu lapisan input, lapisan tersembunyi, dan lapisan output. Berbeda dengan jenis ANN lainnya yang menggunakan fungsi aktivasi pada lapisan tersembunyi berupa fungsi sigmoid, pada RBFNN menggunakan suatu fungsi aktivasi yaitu fungsi gaussian atau fungsi basis kernel lainnya pada lapisan tersembunyi. Obayya & Ghandour (2015) mengklasifikasikan kanker paru yaitu benign dan malignant dengan menggunakan model Radial Basis Function Neural Network (RBFNN). Pada penelitian tersebut, ekstraksi citra yang digunakan adalah metode Gray Level Co-occurrence Matrix (GLCM). Pada hasil akhir model diperoleh akurasi, sensitivitas, dan spesifisitas secara berurutan 90%, 88%, 92%

Fuzzy Radial Basis Function Neural Network (FRBFNN) merupakan desain arsitektur jaringan saraf tiruan yang terintegrasi berdasarkan Radial Basis Function Neural Network (RBFNN) dan logika fuzzy (Sung-Kwun et al, 2014: 97). Dengan menggabungkan konsep teori himpunan fuzzy pada input, output, dan lapisan tersembunyi pada arsitektur jaringan saraf tiruan, model FRBFNN dapat mengolah input dalam bentuk linguistik maupun numerik (Mitra & Basak, 2001: 245).

Beberapa penelitian telah dilakukan dengan mengabungkan dua model kecerdasan buatan yaitu logika fuzzy dan jaringan saraf tiruan. Mitra & Basak (2001) melakukan penelitian yaitu pengenalan pola suara dengan model FRBFNN.


(5)

5

Pada hasil akhir penelitiannya model FRBFNN memberikan hasil yang lebih baik dibanding model RBFNN konvensional dalam pengenalan pola suara. Penelitian lainnya yang dilakukan oleh Kulkarni & McCaslin (2004) yaitu menggunakan model Fuzzy Neural Network (FNN) untuk mengklasifikasikan citra Landsat TM. Pada penelitiannya tersebut model FNN menggunakan 4 buah lapisan yaitu lapisan ke-1 sebagai input fitur, lapisan ke-2 yaitu mengimplementasikan derajat keanggotaan dari input fitur, lapisan ke-3 sebagai lapisan tersembunyi, dan lapisan ke-4 sebagai lapisan output.

Metode-metode yang digunakan untuk mendeteksi kanker paru dengan menggunakan citra radiography diharapkan dapat menjadi lebih baik apabila dilakukan proses preprocessing citra. Tujuan dari melakukan image preprocessing adalah membuang informasi yang tidak relevan pada citra X-Ray serta mengembalikkan informasi yang berguna seperti penajaman citra pada daerah yang akan diamati (Khobragade et al, 2016: 2). Filter High Frequency Emphasis merupakan salah satu teknik preprocesing citra pada domain frekuensi. Tujuan dilakukan preprocessing dengan filter High Frequency Emphasis adalah mempertajam citra pada hasil citra X-Ray.

Sun (2009) melakukan perbaikan kualitas citra pada hasil citra radiography paru-paru. Teknik preprocesing pada penelitiannya adalah melakukan perbaikan kualitas citra dengan menggunakan High Frequency Emphasis Filter (HFEF). Banyak penelitian pendeteksian kanker paru dengan melakukan preprocessing citra diantaranya Gindi, Attiatalla & Mostafa (2014). Pada penelitiannya melakukan preprocessing citra radiography sebelum melakukan ekstraksi citra GLCM.


(6)

6

Preprocessing yang dilakukan adalah menggunakan High Frequency Emphasis Filter (HFEF). Selanjutnya, dengan menggunakan model Support Vector Machine (SVM) peneliti mengklasifikasi kanker paru berdasarkan citra radiography.

Berdasarkan uraian di atas, dalam penulisan tugas akhir ini akan dilakukan penelitian terkait deteksi dini kanker paru dengan menggunakan model Fuzzy Radial Basis Function Neural Network (FRBFNN). Dalam penelitian ini dilakukan preprocessing citra pada citra hasil radiography paru-paru. Teknik preprocessing yang digunakan adalah High Frequency Emphasis Filter (HFEF). Oleh karena itu, dilakukan penelitian tugas akhir menggunakan model FRBFNN yang berjudul “Deteksi Dini Kanker Paru dengan Model Fuzzy Radial Basis Function Neural Network (FRBFNN) dan High Frequency Emphasis Filter”. Melalui penelitian ini diharapkan dapat memberikan hasil yang lebih baik dalam perkembangan ilmu pengetahuan di bidang matematika serta bidang kesehatan.

B. Rumusan Masalah

Berdasarkan uraian dari latar belakang masalah di atas, rumusan masalah yang akan dibahas dalam penelitian ini adalah sebagai berikut:

1. Bagaimana prosedur pembentukan model Fuzzy Radial Basis Function Neural Network (FRBFNN) untuk mendeteksi dini kanker paru pada hasil citra radiography paru-paru dengan preprocessing High Frequency Emphasis Filter (HFEF) ?

2. Bagaimana ketepatan hasil model Fuzzy Radial Basis Function Neural Network (FRBFNN) untuk mendeteksi dini kanker paru pada hasil citra


(7)

7

radiography paru-paru dengan preprocessing High Frequency Emphasis Filter (HFEF) ?

C. Tujuan Penelitian

Tujuan dari penulisan penelitian ini menurut rumusan masalah di atas adalah sebagai berikut:

1. Mendeskripsikan prosedur pembentukan model Fuzzy Radial Basis Function Neural Network (FRBFNN) untuk mendeteksi dini kanker paru pada hasil citra radiography paru-paru dengan preprocessing High Frequency Emphasis Filter (HFEF).

2. Mendeskripsikan ketepatan hasil model Fuzzy Radial Basis Function Neural Network (FRBFNN) untuk mendeteksi dini kanker paru pada hasil citra radiography paru-paru dengan preprocessing High Frequency Emphasis Filter (HFEF).

D. Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah sebagai berikut: 1. Bagi penulis

Bagi penulis sendiri, penelitian tugas akhir ini diharapkan dapat menambah wawasan pengetahuan serta aplikasi model Fuzzy Radial Basis Function Neural Network (FRBFNN) untuk mendeteksi kanker paru pada hasil citra radiography paru-paru serta teknik pengolahan citra.

2. Bagi para pembaca

Bagi pembaca, penelitian ini dapat dijadikan salah satu referensi dalam mempelajari model Fuzzy Radial Basis Function Neural Network (FRBFNN)


(8)

8

dan teknik pengolahan citra. Selain itu, penilitian dapat digunakan sebagai referensi dalam penelitian selanjutnya serta hasil dari penelitian ini diharapkan dapat menjadi salah satu cara dalam mendeteksi kanker paru.

3. Bagi perpustakaan Universitas Negeri Yogyakarta

Penulisan tugas akhir penelitian ini diharapkan dapat menambah koleksi bahan pustaka yang bermanfaat bagi perpustakaan Universitas Negeri Yogyakarta dan mahasiswa Fakultas Matematika dan Ilmu Pengetahuan Alam pada khususnya.

4. Bagi praktisi medis

Bagi praktisi medis, penelitian ini diharapkan dapat digunakan sebagai salah satu cara untuk mendeteksi dini kanker paru dengan lebih cepat dan efisien.


(9)

9 BAB II KAJIAN TEORI

Bab II berisi tentang kajian teori yang akan digunakan dalam penelitian ini di antaranya mengenai kanker paru, pengolahan citra digital, perbaikan kualitas citra, ekstraksi fitur citra, jaringan saraf tiruan, logika fuzzy, dan ketepatan hasil diagnosa. A. Kanker Paru

Penyakit kanker merupakan salah satu penyebab kematian utama diseluruh dunia. Pada tahun 2012, kanker menjadi penyebab kematian sekitar 8,2 juta orang. Kanker paru, hati, perut, kolorektal, dan kanker payudara adalah penyebab terbesar kematian akibat kanker setiap tahunnya. Kanker paru telah menjadi salah satu kanker yang sering terjadi dalam beberapa dekade ini. Pada tahun 2012 diperkirakan terdapat kasus baru kanker paru diseluruh dunia yaitu 1,8 juta dengan angka kematian sebesar 1,59 juta dan 58% kasus kanker paru ditemukan dikawasan negara-negara yang belum berkembang. Kanker paru menjadi penyebab kematian terbanyak pada segala jenis kanker yang terjadi di seluruh dunia, diperkirakan 1 dari 5 penderita kanker paru meninggal dunia (GLOBOCAN, 2012).

1. Pengertian Kanker Paru

Kanker paru merupakan pertumbuhan sel-sel abnormal yang tak terkendali pada salah satu atau kedua paru-paru. Selama masa pertumbuhan, sel-sel abnormal dapat berubah menjadi tumor dan menganggu fungsi dari paru-paru, yang memberi oksigen ke tubuh melalui darah. Sel kanker dimulai dari mutasi yang terjadi pada DNA (deoxyribonucleic acid) sel. Mutasi DNA disebabkan oleh proses penuaan dini atau adanya faktor lingkungan seperti asap rokok, polusi udara, hingga terpapar


(10)

10

zat karsinogenik seperti arsen, asbestos, radon, kadmium (Cancer Care, 2017). Menurut WHO (World Health Organization), kanker paru merupakan penyumbang insiden kanker pada laki-laki tertinggi di Indonesia, diikuti kanker kolorektal, prostat, hati dan nasofaring dan merupakan penyumbang kasus kelima pada perempuan setelah kanker payudara, serviks, kolorektal, ovarium. Gejala awal kanker paru seperti batuk, suara serak dan lain-lain dapat dengan mudah disalah artikan sebagai penyakit flu atau gejala perokok biasa sehingga banyak kanker paru pada stadium awal sulit terdeteksi.

2. Jenis Kanker Paru

Kanker paru dibagi menjadi dua jenis yaitu (Varalakshmi, 2013: 63-64): a. Kanker paru jenis karsinoma sel kecil (Small Cell Lung Cancer)

Kanker paru jenis karsinoma sel kecil terjadi sekitar 20% dari seluruh kasus kanker paru. Jenis kanker ini berhubungan erat dengan kebiasaan merokok. Pada kasus jenis kanker ini 1% terjadi pada penderita yang bukan perokok.

b. Kanker paru jenis karsinoma bukan sel kecil (Non-Small Cell Lung Cancer) Kanker paru jenis karsinoma bukan sel kecil merupakan jenis kanker paru-paru yang paling umum terjadi, yaitu sekitar 80% dari seluruh jenis kanker paru-paru. Kanker paru jenis karsinoma bukan sel kecil memilki 3 jenis utama yang diberi nama berdasarkan jenis sel yang ditemukan, yaitu:

1) Karsinoma sel skuamosa

Karsinoma sel skuamosa dikenal juga dengan nama epidermoid carcinomas. Karsinoma sel skuamosa paling sering tumbuh di daerah pusat paru-paru, yaitu bronkus (percabangan terbesar dari trakea menuju ke paru-paru).


(11)

11 2) Adenokarsinoma

Adenokarsinoma adalah jenis kanker paru bukan sel kecil yang paling umum sekitar 30-40 %. Jenis ini terjadi lebih umum pada wanita dan mereka yang tidak merokok. sebagian besar kasus adenokarsinoma tumbuh di daerah tepi atau bagian luar paru-paru. Namun, adenokarsinoma dapat menyebar ke limfe (kelenjar getah bening) dan daerah yang jauh dari paru-paru.

3) Karsinoma sel besar

Karsinoma sel besar disebut juga dengan undifferentiated carcinomas. Jenis ini paling jarang terjadi, terhitung sekitar 10-15 % dari seluruh kasus kanker paru-paru.

3. Faktor Resiko Kanker Paru

Seperti umumnya penyakit kanker yang lain, penyebab yang pasti dari kanker paru belum diketahui. Namun, faktor resiko seseorang mengalami kanker paru sangat berhubungan erat dengan rokok atau paparan zat yang bersifat karsinogenik. Berikut ini faktor resiko penyebab terjadinya kanker paru (American Cancer Society, 2017):

a. Merokok

Merokok merupakan faktor yang berperan paling penting. Sekitar 80% kematian kanker paru disebabkan dari kebiasaan merokok. Resiko seorang perokok aktif lebih tinggi dibanding perokok pasif. Kejadian kanker paru pada perokok dipengaruhi oleh lamanya kebiasaan merokok, jumlah rokok yang dihisap setiap hari dan lamanya berhenti merokok.


(12)

12 b. Polusi Udara

Polusi udara menyebabkan resiko kanker paru terutama di daerah perkotaan yang padat kendaraan. Namun, resiko kanker paru yang ditimbulkan lebih rendah dibandingkan dengan kebiasaan merokok. Pada beberapa penelitian, diperkirakan sekitar 5% kematian kanker paru diseluruh dunia disebabkan dari polusi udara. c. Paparan zat karsinogenik

Beberapa zat karsinogenik seperti radon, asbestos, arsen, uranium, kadmium, nikel, vinil klorida, kromium dapat menyebabkan kanker paru. Zat-zat karsinogenik tersebut dapat ditemui di lingkungan kerja seperti kawasan pabrik industri dan pertambangan.

d. Genetika

Faktor resiko penyebab kanker paru juga dapat disebabkan oleh genetika. Apabila keluarga memiliki riwayat kanker paru dapat meningkatkan resiko terkena kanker paru, namun belum begitu jelas seberapa besar tingkat resiko yang dialami. 4. Gejala Kanker Paru

Pada umumnya gejala kanker paru akan mulai dirasakan apabila kanker telah menyebar, akan tetapi beberapa orang mengalami gejala-gejala pada tahap awal. Berikut ini gejala-gejala kanker paru pada tahap awal (American Cancer Society, 2017):

a. Mengalami batuk jangka panjang dan batuk berdarah

b. Sakit di dada pada saat menarik nafas panjang atau pada saat tertawa c. Nafsu makan berkurang sehingga berat badan turun


(13)

13

e. Mengalami infeksi seperti bronchitis dan pneumonia

5. Deteksi Dini Kanker Paru

Menurut Japanese Society of Radiology Technology, nodul atau benjolan yang terdeteksi pada paru-paru dikategorikan menjadi dua yaitu non cancerous nodule (tumor jinak) dan cancerous nodule (tumor ganas). Tumor jinak yang terdapat pada jaringan paru tidak akan menyerang selain organ paru karena tumor jinak hanya menyerang satu tempat dan tidak menyebar ke organ tubuh lainnya. Gejala awal kanker paru seperti batuk, demam, suara serak dan lain-lain dapat dengan mudah disalah artikan sebagai penyakit flu atau gejala pada orang merokok. sehingga banyak kanker paru pada stadium awal sulit dideteksi. Berikut ini beberapa cara deteksi dini kanker paru (Modern Cancer Hospital Guangzhou, 2015):

a. X-Ray

X-Ray adalah metode penting dalam pendeteksian kanker paru, sebagian besar kanker paru terdeteksi saat melakukan x-ray di bagian dada. Melalui pemeriksaan ini, dapat diketahui ada tidaknya tumor, letak dan ukuran tumor, serta melihat perubahan inflamasi paru yang disebabkan hambatan tumor pada bronkus yang menimbulkan emfisema lokal atau lesi sekitar. Teknik radiografi x-ray di bagian dada terdiri dari bermacam-macam posisi yang harus dipilih disesuaikan dengan indikasi pemeriksaan, misalnya bronchitis kronis, fleural effusion, pneumo thorax dan lain-lain. Foto thorax menggunakan radiasi terionisasi dalam bentuk x-ray. Dosis radiasi yang digunakan pada orang dewasa untuk membentuk radiografi adalah sekitar 0,006 mSv.


(14)

14 b. Sitologi sputum (dahak)

Sitologi sputum adalah tindakan diagnostik yang paling mudah dan murah. Kekurangan pemeriksaan ini terjadi bila tumor ada di perifer, penderita batuk kering dan teknik pengumpulan dan pengambilan sputum yang tidak memenuhi syarat. Dengan bantuan inhalasi NaCl 3% untuk merangsang pengeluaran sputum dapat ditingkatkan. Semua bahan yang diambil dengan pemeriksaan tersebut di atas harus dikirim ke laboratorium Patologi Anatomik untuk pemeriksaan sitologi. Pemeriksaan sitologi sputum dapat menentukan jenis patologi sel kanker dan kanker paru. Metode ini memiliki tingkat keakuratan lebih dari 80%. Secara klinis, pada pasien yang memiliki resiko lebih besar dapat melakukan sitologi sputum secara berulang.

c. Bronkoskopi

Bronkoskopi adalah pemeriksaan dengan tujuan diagnostik sekaligus dapat dihandalkan untuk dapat mengambil jaringan atau bahan agar dapat dipastikan ada tidaknya sel ganas. Pemeriksaan ada tidaknya masa intrabronkus atau perubahan mukosa saluran napas, seperti terlihat kelainan mukosa tumor misalnya, benjolan, hiperemis, atau stinosis infiltratif, mudah berdarah. Pendiagnosaan melalui bronkoskopi terhadap pasien kanker paru cenderung lebih tinggi. Melalui cara ini dapat dilihat secara langsung tumor di bagian rongga bronkus, serta mengambil jaringan kecil untuk dilakukan biopsi.

d. Biopsi jaringan

Biopsi adalah tindakan diagnostik yang dilakukan dengan mengambil sampel jaringan atau sel untuk dianalisis di laboratorium, baik untuk mendiagnosis suatu


(15)

15

penyakit atau untuk mengetahui jenis pengobatan atau terapi yang terbaik bagi pasien. Biopsi seringkali dikaitkan dengan kanker. Kanker dapat dideteksi dalam sel dan jaringan tubuh, dimana sel dapat menjadi tumor atau massa yang melekat pada organ tubuh. Ada banyak cara untuk melakukan biopsi, tergantung jenis jaringan yang dibutuhkan oleh dokter, penyakit yang diduga menyebabkan gangguan, atau hasil tes awal. Biasanya, biopsi dilakukan pada pasien kanker paru yang telah memasuki stadium lanjut, misalnya tumor sudah menyebar ke tulang selangka, bagian leher, ketiak dan kelenjar getah bening atau muncul nodul pada bagian bawah kulit.

B. Pengolahan Citra Digital

Secara umum, pengolahan citra digital merupakan pemrosesan gambar dua dimensi menggunakan komputer. Sebuah citra dapat didefinisikan sebagai fungsi dua dimensi , , dengan dan adalah koordinat spasial dan amplitudo pada sembarang pasangan koordinat , disebut tingkat keabuan citra pada titik tersebut (Gonzales & Woods, 2002: 1).

Nilai atau amplitudo pada koordinat spasial , merupakan kuantitas positif skalar dan terbatas,

< , < ∞ (2.1) Fungsi , dapat diartikan sebagai karakteristik dari dua komponen yaitu jumlah cahaya yang terdapat pada citra , dan jumlah cahaya yang dipantulkan oleh objek pada citra , (Gonzales & Woods, 2002: 50-51). Fungsi , diperoleh dari perkalian dua fungsi , dan , .


(16)

16 dengan

< , < ∞ (2.3) dan

< , < (2.4)

Intensitas citra monokrom pada setiap koordinat , , tingkat keabuan ℓ gambar pada titik tersebut adalah,

ℓ = , (2.5)

Berdasarkan Persamaan (2.2) s.d (2.4), menjelaskan bahwa ℓ terletak pada interval ℓ (2.6) Interval [ , ] atau [ , − ] disebut sebagai skala keabuan, dengan ℓ = adalah warna hitam dan ℓ = − adalah warna putih pada skala keabuan.

Matriks yang dibentuk oleh citra digital dua dimensi berukuran × , dengan adalah jumlah baris dan adalah jumlah kolom ditunjukkan sebagai berikut,

, = [

, , ⋮ − ,

, , ⋮ − ,

… … ⋱ …

, − , −

⋮ − , −

] (2.7)

Indeks baris dan indeks kolom menyatakan suatu koordinat titik pada citra, sedangkan , merupakan intensitas atau derajat keabuan pada titik , . Elemen pada matriks merupakan elemen citra digital yang disebut dengan piksel.

Citra digital terbagi menjadi tiga jenis yaitu citra biner, citra grayscale, dan citra warna. Berikut ini penjelasan jenis-jenis citra digital (Putra, 2010: 40 – 44):


(17)

17 1. Citra Biner

Citra biner adalah citra digital yang hanya hanya memiliki dua kemungkinan nilai piksel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and white) atau citra monokrom. Citra biner seringkali muncul sebagai hasil dari proses pengolahan citra seperti segmentasi, morfologi, mengurangi jumlah warna (dithering).

2. Citra Grayscale

Citra Grayscale merupakan citra yang hanya memiliki suatu nilai kernel pada setiap pixel (Red=Green=Blue). Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkat keabuan merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale tersimpan dalam format 8 bit untuk setiap piksel dan memungkinkan sebanyak 256 nilai intensitas. 3. Citra Warna

Setiap pixel dari citra warna 24 bit diwakili dengan 24 bit sehingga terdapat 16.777.216 variasi warna. Penglihatan manusia dipercaya hanya dapat membedakan hingga 10 juta warna. Setiap poin informasi piksel (RGB) disimpan ke dalam 1 bit data. 8 bit pertama menyimpan warna biru, kemudian diikuti dengan warna hijau pada 8 bit kedua dan 8 bit terakhir merupakan warna merah.

C. Perbaikan Kualitas Citra

Perbaikan kualitas citra (image enhancement) merupakan salah satu proses awal dalam pengolahan citra. Perbaikan kualitas citra bertujuan untuk memperbaiki kualitas citra yang buruk, seperti halnya citra yang mengalami noise, citra yang terlalu terang atau gelap, citra yang kurang tajam atau kabur dan sebagainya.


(18)

18

Melalui pemrosesan awal inilah kualitas citra diperbaiki sesuai kebutuhan yang diinginkan melalui berbagai cara, dapat berupa fungsi transformasi, operasi matematis, pemfilteran, dan lain-lain.

Perbaikan kualitas citra adalah proses mendapatkan citra yang lebih mudah diinterpretasikan oleh mata manusia. Pada proses ini, ciri-ciri tertentu yang terdapat di dalam citra lebih diperjelas kemunculannya. Secara matematis, perbaikan kualitas citra dapat diartikan sebagai proses mengubah citra , menjadi , sehingga ciri-ciri yang dilihat pada , lebih ditonjolkan. Proses-proses yang termasuk dalam perbaikan kualitas citra diantaranya pengubahan kecerahan citra (image brightness), peregangan kontras (contrast stretching), pengubahan histogram citra, pelembutan citra (image smoothing), penajaman (sharpening), pewarnaan semu (pseudocolouring), pengubahan geometrik (Munir, 2004: 91).

Untuk melakukan perbaikan kualitas citra terdapat beberapa teknik berdasarkan cakupan atau domain salah satunya adalah perbaikan citra pada domain frekuensi. Domain frekuensi adalah rentang sistem koordinat oleh � , dengan dan sebagai variabel frekuensi. Secara analogi, pada domain spasial dimana rentang sistem koordinat , dengan dan sebagai variabel spasial (Prasetyo, 2011: 75).

Dalam proses pengolahan citra, Transformasi Fourier dapat digunakan sebagai perbaikan citra atau peningkatan kualitas citra. Transformasi Fourier mengubah suatu citra dari domain spasial menjadi domain frekuensi. Citra hasil proses tranformasi dapat dianalisis kembali, diinterpretasikan, dan dijadikan acuan untuk melakukan pemrosesan selanjutnya. Transformasi Fourier yang biasa


(19)

19

diterapkan pada data citra adalah Transformasi Fourier Diskrit (Discrete Fourier Transform). Citra digital merupakan besaran diskrit 2-D, maka untuk melakukan pengolahan citra hanya membutuhkan Transformasi Fourier Diskrit 2-D.

1. Transformasi Fourier Diskrit (DFT 2-D)

Transformasi Fourier Diskrit 2-D dari sebuah fungsi diskrit , dinyatakan sebagai berikut (Gonzales & Woods, 2002: 154),

� , = ∑ ∑ − , exp [− � + ]

= −

= (2.8)

untuk = , , , . . , − , = , , , … , − .

Sedangkan transformasi balik ke domain spasial dapat dinyatakan sebagai berikut,

, = ∑ ∑ − � , exp [ � + ]

= −

= (2.9)

untuk = , , ,. . , − , = , , ,… , − .

Misalkan , dan , adalah komponen real dan imajiner dari � , , spektrum fourier atau yang dikenal sebagai magnitude didefinisikan sebagai berikut,

|� , | = [ , + , ] / (2.10) dan sudut fase transformasi didefinisikan sebagai,

∅ , = − [� ,

� , ] (2.11) Persamaan (2.10) dan (2.11) dapat digunakan untuk merepresentasikan � , dalam representasi polar kuantitas kompleks


(20)

20

Power spektrum didefinisikan sebagai kuadrat dari magnitude sebagai berikut,

� , = |� , | = , + , (2.13) Secara umum, untuk menentukan transformasi fourier pada suatu citra perlu dilakukan operasi perkalian pada fungsi input citra , dengan − + terlebih dahulu sebagai berikut (Gonzales & Woods, 2002:154),

ℑ[ , − + ] = � − , − (2.14)

dengan argumen ℑ . menyatakan transformasi fourier. Persamaan (2.14) menyatakan bahwa titik origin pada transformasi fourier dari suatu citra adalah � , berada pada titik koordinat suatu citra yaitu = / dan = / . Dengan kata lain, melakukan operasi perkalian , dengan − + adalah memindahkan titik origin dari � , pada koordinat frekuensi , yang merupakan pusat daerah transformasi diskrit fourier 2-D berukuran × .

Sebagai contoh, perhitungan DFT 2-D yang mentransformasikan titik-titik ke dalam interval persegi panjang yang ditunjukkan pada Gambar 2.1. Persegi panjang dengan garis putus-putus adalah perulangan periodik. Analisis visual spektrum transformasi fourier 2-D secara sederhana dengan memindahkan nilai origin transformasi ke pusat dari persegi panjang frekuensi. Nilai spektrum pada / , / dalam Gambar 2.1(b) adalah sama dengan nilai di , pada Gambar 2.1(a) dan nilai di , pada Gambar 2.1(b) adalah sama dengan nilai di − / ,− / pada Gambar 2.1(a). Dengan cara yang sama, nilai di − , −

pada Gambar 2.1(b) adalah sama dengan nilai di / − , / − pada Gambar 2.1(a).


(21)

21

Gambar 2.1 Spektrum Fourier 2-D

Nilai Transformasi Fourier pada , = , dari Persamaan (2.8) adalah sebagai berikut (Gonzales & Woods, 2002:155),

� , = ∑ ∑ − ,

= −

= (2.15)

yang merupakan rataan pada , . Dengan kata lain, apabila , adalah suatu citra, nilai transformasi fourier pada titik origin akan sama dengan rataan dari derajat keabuan suatu citra.

(b) (a)


(22)

22 2. Konsep Filter dalam Domain Frekuensi

Pada dasarnya, ide dalam pemfilteran pada domain frekuensi adalah untuk memilih fungsi transfer filter yang memodifikasi � , dengan cara tertentu. Berikut ini adalah langkah – langkah melakukan filtering pada domain frekuensi adalah (Gonzales & Woods, 158):

a. Kalikan citra input dengan − + untuk memusatkan transformasi.

Pada Gambar 2.2(a) merupakan citra input, sedangkan Gambar 2.2(b) merupakan perkalian citra input (a) dengan − + .

Gambar 2.2 Citra Lena.jpg

b. Hitung � , pada Persamaan (2.8), DFT 2-D dari citra pada langkah (1). Pada Gambar 2.3 merupakan spektrum fourier dari citra pada Gambar 2.2(b). Untuk menghitung spektrum fourier pada suatu citra menggunakan Persamaan (2.8).

Gambar 2.3 Spektrum Fourier Citra pada Gambar 2.2(b) (b)


(23)

23

c. Kalikan � , dengan fungsi filter , .

Pada Gambar 2.4(a) merupakan spektrum fourier untuk fungsi filter , . Hasil perkalian antara � , dan , ditunjukkan pada Gambar 2.4(b).

Gambar 2.4 Spektrum Fourier, (a) Spektrum Fourier Filter , , (b) Spektrum Fourier hasil perkalian � , dengan , .

d. Hitung invers DFT 2-D dari citra pada langkah (3) dengan Persamaan (2.9). Untuk menghitung transformasi balik suatu citra dari domain frekuensi ke dalam domain spasial dengan menggunakan Persamaan (2.9). Selanjutnya menggunakan bagian real dari citra. Gambar 2.5 merupakan citra hasil transformasi balik dari citra pada langkah (3).

Gambar 2.5 Citra Hasil Transformasi Balik dari Citra pada Langkah (3) e. Kalikan hasil pada langkah (4) dengan − + .

Pada Gambar 2.6 merupakan citra hasil akhir dari perbaikan kualitas citra pada Gambar 2.2(a) dengan menggunakan domain frekuensi.

(b) (a)


(24)

24

Gambar 2.6 Citra Hasil Perbaikan Kualitas Citra pada Domain Frekuensi Misalkan � , dan , merupakan Transformasi Fourier dari , dan ℎ , . Pernyataan sederhana dari teorema konvolusi bahwa , ∗ ℎ , dan � , , menyatakan pasangan Transformasi Fourier. Hal tersebut dapat dinyatakan sebagai berikut (Gonzales & Woods, 2002:162),

, ∗ ℎ , ⟺ � , , (2.16)

Simbol ‘*’ menyatakan konvolusi dari dua fungsi dan simbol ‘⟺’ digunakan

untuk menyatakan bahwa pada sisi kiri Persamaan (2.16) yang merupakan konvolusi pada domain spasial [ , ∗ ℎ , ] dapat diperoleh dengan mentransformasi balik hasil perkalian dari Transformasi Fourier [� , , ] pada sisi kanan Persamaan (2.16). Sebaliknya, pada Persamaan (2.17) menyatakan bahwa pada sisi kanan Persamaan (2.17) yang merupakan konvolusi [� , ∗

, ] dapat diperoleh dengan melakukan Transformasi Fourier pada sisi kiri Persamaan (2.17).

, ℎ , ⟺ � , ∗ , (2.17)

3. Filter Penajaman pada Domain Frekuensi

Filter penghalusan (smoothing) pada domain frekuensi dilakukan dengan pelemahan komponen frekuensi tinggi dari transformasi fourier atau yang disebut dengan lowpass filter. Berbeda pada filter penajaman (sharpening) pada domain frekuensi dapat dicapai dengan melemahkan frekuensi rendah tanpa mengganggu


(25)

25

informasi frekuensi tinggi dalam transformasi fouriernya. Filter penajaman biasanya disebut sebagai highpass filter. Filter highpass diperoleh dari filter lowpass dengan formula berikut (Gonzales & Woods, 2002: 180),

ℎ� , = − � , (2.18) dengan,

� , = fungsi transfer filter lowpass.

Butterworth highpass filter merupakan salah satu filter highpass pada domain frekuensi. Pada Butterworth Highpass Filter (BHPF) menampilkan citra yang lebih halus jika dibandingkan dengan Ideal Highpass Filter (IHPF). BHPF dengan order

, cut-off frekuensi dan jarak sembarang titik , ke titik origin , didefinisikan sebagai berikut (Gonzales & Woods, 2002: 183),

, = +[ / , ](2.19)

dengan

, = [ − / + − / ] /

4. High Frequency Emphasis Filter (HFEF)

Terkadang dalam melakukan perbaikan kualitas citra pada doman frekuensi dapat difokuskan pada komponen frekuensi tinggi suatu citra tersebut. Pada kasus ini, dengan melakukan operasi perkalian pada fungsi filter highpass dengan suatu konstanta dan menambahkan suatu offset maka pendekatan ini disebut dengan High Frequency Emphasis Filtering (Sun, 2009: 1). Nilai konstanta pengali meningkatkan amplitudo frekuensi rendah, tetapi frekuensi rendah menerima efek enhancement yang lebih sedikit daripada frekuensi tinggi, dengan dan >


(26)

26

ℎ , = + ℎ� , (2.20)

dengan,

ℎ� , = fungsi transfer filter highpass.

D. Ekstraksi Fitur Citra

Tekstur merupakan salah satu karakteristik terpenting yang dapat digunakan untuk mengidentifikasi objek atau daerah suatu citra yang diamati. Tekstur mengandung informasi penting tentang susunan struktural bidang. Fitur tekstur yang didasarkan atas warna abu-abu spasial secara umum digunakan dalam mengklasifikasikan citra (Gadkari, 2004: 8).

Haralick, Shanmugam & Dinstein (1973) pertama kali memperkenalkan penggunaan co-occurrence probabilities menggunakan GLCM untuk mengekstraksi beberapa fitur tekstur. GLCM atau yang disebut dengan Gray Level Co-occurrence Matrix. GLCM adalah sebuah matriks yang menyimpan nilai frekuensi kombinasi perbedaan tingkat kecerahan antara satu pixel dengan pixel sekitarnya pada sebuah citra (Sahaduta & Lubis, 2013: 4). Metode GLCM merupakan salah satu cara mengekstraksi second-order statistical fitur tekstur (Albregtsen, 2008: 1). Pendekatan ini banyak digunakan di beberapa aplikasi.

Berikut ini adalah beberapa ekstraksi fitur metode GLCM yang dapat digunakan (Gadkari, 2004: 12-15):

1. Energy

Ciri fitur statistik ini sering juga disebut dengan Angular Second Moment (ASM). Nilai energy mengukur keseragaman tekstur pada pengulangan pasangan piksel. Rumus fitur energy didefinisikan sebagai berikut,


(27)

27

= ∑ ∑ � �

= (2.21)

keterangan :

, = koordinat spasial fungsi � .

� = entri pada GLCM baris ke-i dan kolom ke-j. = banyak tingkat keabuan pada suatu citra.

2. Contrast

Nilai fitur contrast merupakan hasil perhitungan yang berkaitan dengan jumlah keberagaman intensitas keabuan dalam sebuah citra. Semakin tinggi tingkat keberagaman intensitas keabuaan, maka semakin tinggi pula nilai contrast. Rumus fitur contrast didefinisikan sebagai berikut,

= ∑ ∑ � − �

=

= (2.22)

keterangan :

, = koordinat spasial fungsi � .

� = entri pada GLCM baris ke-i dan kolom ke-j. = banyak tingkat keabuan pada suatu citra. 3. Correlation

Nilai Correlation menunjukkan ukuran ketergantungan linear derajat keabuan citra sehingga dapat memberikan petunjuk adanya struktur linear dalam citra. Jika derajat keabuan antar pasangan piksel memiliki hubungan linear maka nilai korelasi akan menjadi tinggi. Rumus fitur correlation didefinisikan sebagai berikut,


(28)

28

=∑��= ∑��= � −� �

� � (2.23)

keterangan :

, = koordinat spasial fungsi � .

� = entri pada GLCM baris ke-i dan kolom ke-j. = banyak tingkat keabuan pada suatu citra.

� = ∑ ∑ � � ,

=

=

� = ∑ ∑ � � ,

=

=

� = ∑ ∑ � − �

=

= � ,

� = ∑ ∑ ( − � )�

=

= � ,

4. Inverse Difference Moment (IDM)

Inverse Difference Moment (IDM) merupakan ukuran homogenitas lokal. Nilai IDM tinggi ketika tingkat keabuan seragam dan invers GLCM tinggi. Rumus fitur IDM didefinisikan sebagai berikut,

= ∑ ∑ � + −

=

= (2.24)

keterangan :

, = koordinat spasial fungsi � .

� = entri pada GLCM baris ke-i dan kolom ke-j. = banyak tingkat keabuan pada suatu citra.


(29)

29 5. Entropy

Nilai entropy menunjukkan sejumlah informasi dari suatu citra. Entropy mengukur informasi atau pesan yang hilang dari sebuah sinyal transmisi dan juga menghitung infromasi gambar. Rumus fitur entropy didefinisikan sebagai berikut,

= −∑ ∑ � �

= log �

= (2.25) keterangan :

, = koordinat spasial fungsi � .

� = entri pada GLCM baris ke-i dan kolom ke-j. = banyak tingkat keabuan pada suatu citra.

E. Teori Himpunan Fuzzy 1. Himpunan Klasik

Himpunan adalah sekumpulan dari objek-objek yang didefinisikan dengan jelas. Artinya objek-objek tersebut dapat ditentukan dengan jelas keberadaannya. Objek yang termasuk ke dalam himpunan disebut sebagai anggota atau elemen dari himpunan itu (Sukirman, 2006: 116). Secara umum, himpunan disimbolkan dengan huruf kapital ( , , , ) dan elemen-elemen dari himpunan disimbolkan dengan alfabet kecil ( , , , ). Notasi “ ” dibaca “b ialah elemen (anggota) dari

himpunan B” dan notasi “ ” dibaca “c bukan elemen (anggota) dari himpunan D”.

Pada himpunan klasik (crisp) nilai keanggotaan suatu item dalam suatu himpunan A, yang disimbolkan dengan � memiliki 2 kemungkinan yaitu � = artinya anggota himpunan A dan � = artinya bukan anggota


(30)

30

himpunan B (Kusumadewi, 2003: 156). Himpunan tegas dapat juga dikatakan sebagai fungsi karakteristik (Lin & Lee, 1996: 10).

2. Himpunan Fuzzy

Himpunan fuzzy pada ruang semesta didefinisikan sebagai suatu fungsi keanggotaan � yang memiliki nilai pada interval [ , ]. Oleh karena itu, himpunan fuzzy merupakan bentuk umum dari himpunan klasik dengan nilai fungsi keanggotaan pada interval [ , ]. Dengan kata lain, fungsi keanggotan pada himpunan klasik memiliki dua nilai 0 dan 1, sedangkan fungsi keanggotaan pada himpunan fuzzy adalah fungsi kontinu dengan range[ , ] (Wang, 1997: 21-22).

Himpunan fuzzy dalam dapat direpresentasikan sebagai himpunan pasangan berurutan elemen dan nilai keanggotaannya , yaitu

= { , � | } (2.26)

dengan � adalah derajat keanggotaan di (Wang, 1997: 22).

3. Fungsi Keanggotaan

Fungsi keanggotaan himpunan fuzzy (membership function) adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya yang memiliki interval antara 0 sampai dengan 1. Salah satu cara yang dapat digunakan untuk mendapat nilai keanggotaan adalah dengan melalui pendekatan fungsi (Kusumadewi, 2003: 160). Ada beberapa fungsi keanggotaan yang dapat digunakan sebagai berikut,

a. Representasi Linier

Pada representasi linier, pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Bentuk representasi linier merupakan


(31)

31

bentuk yang paling sederhana. Terdapat dua keadaan himpunan fuzzy pada representasi linier. Pertama, kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol (0) dan bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi.

Fungsi keanggotaan representasi linier naik adalah sebagai berikut,

� = {

,

− , <

, >

(2.27)

Gambar 2.7 Representasi Kurva Linier Naik

Kedua, garis lurus dari nilai domain dengan derajat keanggotaan yang tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan yang lebih rendah.

Fungsi keanggotaan representasi linier turun adalah sebagai berikut,

� = { −− , <


(32)

32

Gambar 2.8 Representasi Kurva Linier Turun b. Representasi Kurva Segitiga

Kurva segitiga pada dasarnya merupakan gabungan antara 2 garis (linier). Representasi kurva segitiga ditunjukkan pada Gambar 2.9.

Gambar 2.9 Representasi Kurva Segitiga Fungsi keanggotaan kurva segitiga adalah sebagai berikut,

� = {

, atau

− , <

− , <


(33)

33 c. Representasi Kurva Trapesium

Kurva trapesium pada dasarnya seperti bentuk kurva segitiga, namun ada beberapa titik yang memiliki nilai keanggotaan 1. Berikut adalah fungsi keanggotaan kurva trapesium.

Fungsi keanggotaan kurva trapesium sebagai berikut,

� =

{

; atau

− ; < <

;

− ; < <

(2.30)

Gambar 2.10 Representasi Kurva Trapesium

4. Operasi Dasar Zadeh

Terdapat beberapa operasi yang didefinisikan secara khusus untuk mengkombinasi dan memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai hasil dari operasi dua himpunan sering dikenal dengan nama fire strength atau α -predikat. Menurut Zadeh, terdapat tiga operator dasar pada himpunan fuzzy, yaitu (Zimmermann, 1996: 16-17):


(34)

34 a. Operator AND

Operator ini berhubungan dengan operasi interaksi pada himpunan. Fungsi keanggotaan � dari interaksi = didefinisikan sebagai berikut:

� = min{� ,� } , � (2.31) b. Operator OR

Operator ini berhubungan dengan operasi gabungan pada himpunan. Fungsi keanggotaan � dari gabungan = didefinisikan sebagai berikut:

� = max {� ,� }, � (2.32) c. Operator NOT

Operator ini berhubungan dengan operasi komplemen pada himpunan. Fungsi keanggotaan dari komplemen himpunan fuzzy didefinisikan sebagai berikut:

= − � , � (2.33) F. Jaringan Saraf Tiruan (Artificial Neural Network)

Artificial Neural Network (ANN) atau yang biasa dikenal dengan jaringan saraf tiruan adalah suatu sistem pemrosesan informasi yang memiliki karakteristik kinerja tertentu yang sama dengan jaringan saraf biologis yang ditunjukan pada Gambar 2.11 (Fausett, 1994: 3). Diperkirakan manusia memiliki neuron dan 6 × 8 sinapsis. Dengan jumlah yang begitu banyak, otak mampu mengenali pola, melakukan perhitungan, dan mengontrol organ-organ tubuh dengan kecepatan lebih tinggi (Siang, 2005: 1).


(35)

35

Gambar 2.11 Jaringan Saraf Biologis

Jaringan saraf tiruan telah berkembang menjadi suatu generalisasi model matematika dari jaringan saraf manusia, dengan asumsi bahwa (Fausett, 1994: 3): 1. Pemrosesan informasi terjadi pada banyak elemen sederhana yang disebut

dengan neuron.

2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung. 3. Tiap penghubung antar neuron memiliki bobot yang dapat memperkuat atau

memperlemah sinyal yang dikirimkan.

4. Tiap neuron menggunakan suatu fungsi aktivasi (biasanya fungsi nonlinear) yang dikenakan pada jumlahan input yang diterima untuk menentukan sinyal output.

Jaringan saraf tiruan memiliki karateristik diantaranya adalah pola hubungan antar neuron atau disebut arsitektur, metode untuk menentukan bobot penghubung atau disebut metode training, learning, algoritma, dan fungsi aktivasi (Fausett, 1994: 3). Jaringan saraf tiruan sederhana pertama kali diperkenalkan oleh McCulloch dan Pitts di tahun 1943. McCulloch dan Pitts menyimpulkan bahwa


(36)

36

kombinasi beberapa neuron sederhana menjadi sebuah sistem neural akan meningkatkan kemampuan komputasinya (Siang, 2005: 4).

Model jaringan saraf tiruan merupakan model non-linear jaringan saraf tiruan, terdapat suatu bias yang dinotasikan dengan yang ditunjukkan pada Gambar 2. 12 (Haykin, 1999: 33). Bias tersebut memiliki pengaruh untuk meningkatkan atau menurunkan jaringan input dari fungsi aktivasi.

Gambar 2.12 Model Jaringan Saraf Tiruan Non-Linear

Secara matematis, neuron ditulis berdasarkan hubungan persamaan,

= ∑ = (2.34)

dan

= � + (2.35)

dengan , , … , merupakan input, , ,… , merupakan bobot pada tiap penghubung neuron , dan adalah kombinasi linear antara bobot dan input , sedangkan � . adalah fungsi aktivasi, dan terakhir merupakan sinyal output dari neuron (Haykin, 1999: 33).


(37)

37 1. Arsitektur Jaringan

Pada umumnya terdapat 3 jenis arsitektur pada jaringan saraf tiruan diantaranya adalah sebagai berikut (Haykin, 1999: 43 – 45):

a. Jaringan Lapisan Tunggal (Single Layer Network)

Pada jaringan lapisan tunggal sekumpulan input neuron dihubungkan langsung dengan sekumpulan output. Selain itu, pada jaringan lapisan tunggal semua unit input dihubungkan dengan semua unit output dengan bobot yang berbeda-beda. Namun, pada unit input tidak terhubung dengan unit input lainnya dan sebaliknya yaitu pada unit output juga tidak terhubung dengan unit output lainnya. Dengan kata lain, jaringan lapisan tunggal disebut jaringan feedforward atau acyclic. Sebagai ilustrasi pada Gambar 2.13 merupakan arsitektur jaringan lapisan tunggal dengan 4 neuron pada lapisan input dan 2 neuron pada lapisan output dengan bobot-bobot yang menghubungkan lapisan input dan output.


(38)

38

b. Jaringan Lapisan Jamak (Multi Layer Network)

Jaringan lapisan jamak merupakan suatu jaringan dengan satu atau lebih jaringan dimana terdapat penambahan lapisan yaitu lapisan tersembunyi. Lapisan tersembunyi terletak diantara lapisan input dan lapisan output. Dimungkinkan pula terdapat beberapa lapisan tersembunyi. Semua unit dalam satu lapisan tidak saling terhubung. Jaringan lapisan jamak dapat menyelesaikan beberapa permasalahan yang lebih kompleks dibanding jaringan lapisan tunggal, tetapi proses pelatihan jaringan terkadang lebih sulit dan memakan waktu lama. Sebagai ilustrasi pada Gambar 2.14 merupakan arsitektur jaringan lapisan jamak dengan 4 neuron pada lapisan input, 3 neuron pada lapisan tersembunyi dan 2 neuron pada lapisan output.

Gambar 2.14 Arsitektur Jaringan Lapisan Jamak 2. Fungsi Aktivasi

Pada jaringan saraf tiruan, fungsi aktivasi digunakan untuk menentukan keluaran suatu neuron. Jika net merupakan kombinasi linear antara input dan bobot


(39)

39

( = ∑ = ), maka fungsi aktivasinya adalah = ∑ =

(Siang, 2005: 26). Pada beberapa kasus, fungsi aktivasi nonlinear dapat digunakan. Berikut ini adalah fungsi aktivasi yang umum digunakan pada jaringan saraf tiruan (Fausett, 1994: 17-19):

a. Fungsi Linier

Fungsi linier sering dipakai apabila menginginkan output jaringan berupa sembarang bilangan riil. Pada fungsi identitas, nilai output yang dihasilkan sama dengan nilai input.

Fungsi linier dirumuskan sebagai berikut:

= + , � (2.36)

Fungsi identitas merupakan fungsi linier dengan nilai = dan = . Fungsi identitas dirumuskan sebagai berikut:

= , (2.37)

Gambar 2.15 Fungsi Identitas b. Fungsi Tangga Biner (dengan threshold�)

Pada jaringan lapisan tunggal sering menggunakan fungsi tangga biner untuk mengkonversi input dari variabel yang bernilai kontinu ke suatu output yang biner


(40)

40

(0 dan 1). Fungsi tangga biner biasa disebut dengan treshold function atau heaviside function. Fungsi tangga biner dirumuskan sebagai berikut:

= { ; ; < � (2.38)

Gambar 2.16 Fungsi Tangga Biner c. Fungsi Sigmoid Biner

Fungsi sigmoid biner memiliki daerah hasil dengan interval 0 sampai 1. Fungsi sigmoid biner sering digunakan pada jaringan saraf tiruan sebagai fungsi aktivasi dimana nilai dari outputnya berupa biner atau interval antara 0 dan 1. Kurva fungsi sigmoid biner ditunjukkan pada Gambar 2.17. Fungsi ini sering disebut juga dengan logistic sigmoid function. Fungsi sigmoid biner dirumuskan sebagai berikut:

= +exp −� , (2.39)

dengan turunan pertama fungsi pada Persamaan (2.39) adalah:

= � exp −�


(41)

41

Gambar 2.17 Fungsi Sigmoid Biner d. Fungsi Sigmoid Bipolar

Fungsi Sigmoid Bipolar hampir sama dengan fungsi sigmoid biner dimana pada fungsi sigmoid bipolar memiliki daerah hasil antara -1 sampai 1. Kurva fungsi sigmoid bipolar ditunjukkan pada Gambar 2.18. Fungsi sigmoid bipolar dirumuskan sebagai berikut:

= −exp −�+exp −� , (2.41)

dengan turunan pertama fungsi pada Persamaan (2.41) adalah :

= σexp −�

exp −� + −

σexp −� [exp −� − ]

[exp −� + ] (2.42)


(42)

42

3. Algoritma Pembelajaran (Learning Algorithm)

Jaringan saraf tiruan tersusun atas neuron-neuron dan dendrit. Tidak seperti model biologis, jaringan saraf tiruan memiliki struktur yang tidak dapat diubah, dibangun oleh sejumlah neuron dan memiliki nilai tertentu yang menunjukkan seberapa besar koneksi antar neuron (yang dikenal dengan nama bobot). Tujuan utama dari proses pembelajaran yaitu melakukan pengaturan bobot-bobot yang ada dalam jaringan saraf tiruan, sehingga diperoleh bobot akhir yang tepat dan sesuai dengan pola data yang dilatih. Terdapat 2 metode pembelajaran pada jaringan saraf tiruan yaitu (Kusumadewi, 2003: 220):

a. Pembelajaran Terawasi (supervised learning)

Metode pembelajaran pada jaringan saraf tiruan disebut terawasi jika output yang diharapkan telah ditentukan atau disebut juga sebagai target output. Pada proses pembelajaran, satu pola input akan diberikan ke satu neuron pada lapisan input. Pola ini akan dirambatkan di sepanjang jaringan saraf tiruan hingga sampai ke neuron pada lapisan output. Lapisan output ini akan membangkitkan pola output yang nantinya akan dicocokkan dengan pola output target. Selisih antara pola output hasil pembelajaran dengan pola target disebut dengan error.

b. Pembelajaran Tak Terawasi (unsupervised learning)

Pada metode pembelajaran yang tak terawasi ini tidak memerlukan target output. Pada metode ini, tidak dapat ditentukan hasil yang diharapkan selama proses pembelajaran. Selama proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai input yang diberikan. Pembelajaran tak terawasi sangat cocok untuk pengelompokkan atau klasifikasi pola.


(43)

43 G. Ketepatan Hasil Diagnosa

Pengujian ketepatan hasil diagnosa dilakukan untuk menguji sejauh mana model memberikan ketepatan hasil diagnosa. Untuk menghitung ketepatan hasil diagnosa digunakan tiga ukuran statistik. Tiga ukuran statistik tersebut adalah sensitivitas, spesifisitas, dan akurasi (Zhu, Zeng & Wang, 2010: 1). Hasil kemungkinan yang dapat terjadi dalam hasil uji diagnosa tersaji pada Tabel 2.1 di bawah ini:

Tabel 2.1 Hasil Uji Diagnosa 2 Kategori Hasil Uji

Diagnosa

Kondisi Penyakit sebagaimana yang ditetapkan oleh Standar Kebenaran

Positif Negatif Jumlah Baris

Positif TP FP TP + FP

Negatif FN TN FN + TN

Jumlah Kolom TP + FN FP + TN N = TP + FN + FP + FN

dengan,

� (True Positive) : subjek yang memiliki penyakit dan hasil diagnosa menyatakan subjek memiliki penyakit.

��(False Positive) : subjek yang tidak memiliki penyakit namun hasil diagnosa menyatakan subjek memiliki penyakit. (True Negative) : subjek yang tidak memiliki penyakit dan hasil

diagnosa menyatakan subjek tidak memiliki penyakit. � (False Negative) : subjek yang memiliki penyakit namun hasil diagnosa menyatakan subjek tidak memiliki penyakit. Sensitivitas menyatakan proporsi subjek yang terindikasi positif berdasarkan hasil pengujian dalam jumlah keseluruhan subjek yang memiliki penyakit. Dengan


(44)

44

kata lain, sensitivitas adalah peluang mendapatkan hasil positif pada subjek yang memiliki penyakit (Simundic, 2003: 3). Rumus sensitivitas adalah sebagai berikut:

=��+��� × % (2.43)

Spesifisitas menyatakan proporsi subjek yang terindikasi negatif berdasarkan hasil pengujian dalam jumlah keseluruhan subjek yang tidak memiliki penyakit. Dengan kata lain, spesifisitas adalah peluang mendapatkan hasil negatif pada subjek yang tidak memiliki penyakit (Simundic, 2003: 4). Rumus spesifisitas adalah sebagai berikut:

=� +��� × % (2.44)

Akurasi adalah proporsi dari kebenaran hasil dimana hasil positif dan hasil negatif dalam populasi. Rumus akurasi adalah sebagai berikut:


(45)

45

BAB III PEMBAHASAN

Bab III merupakan pembahasan yang meliputi proses penelitian yaitu Fuzzy

Radial Basis Function Neural Network (FRBFNN), prosedur pembentukan model FRBFNN, hasil model FRBFNN untuk deteksi dini kanker paru, dan ketepatan hasil deteksi dini kanker paru.

A. Fuzzy Radial Basis Function Neural Network (FRBFNN)

Fuzzy Radial Basis Function Neural Network (FRBFNN) merupakan model

yang terintegrasi dari Radial Basis Function Neural Network (RBFNN) dan logika

fuzzy. Model tersebut menerapkan konsep teori himpunan fuzzy pada input, output

dan lapisan tersembunyi. Penggunaan logika fuzzy yang diterapkan pada suatu

jaringan saraf tiruan untuk mengantisipasi dalam mengolah informasi-informasi yang memiliki ketidakpastian atau bersifat ambigu. Model RBFNN telah banyak digunakan dalam menyelesaikan permasalahan-permasalahan seperti data mining, prediksi runtun waktu, pengolahan sinyal, sistem kontrol dan pengenalan pola.

Model FRBFNN melakukan pembelajaran jaringan secara hybrid dengan

menggunakan pembelajaran tak terawasi (unsupervised learning) dan pembelajaran

terawasi (supervised learning). Model FRBFNN menggunakan variabel input fuzzy

yang didasarkan pada logika fuzzy, yaitu derajat keanggotaan masing-masing

himpunan fuzzy yang merupakan hasil dari proses fuzzifikasi input fitur, sedangkan proses pengambilan keputusan diselesaikan dengan menggunakan pendekatan jaringan saraf tiruan.


(46)

46

1. Arsitektur Fuzzy Radial Basis Function Neural Network (FRBFNN)

Desain arsitekur model FRBFNN yang digunakan pada tugas akhir ini terdiri dari 4 lapisan, yaitu lapisan ke-1 sebagai lapisan input fitur, lapisan ke-2 sebagai lapisan input fuzzy dari input fitur, lapisan ke-3 sebagai lapisan tersembunyi dan lapisan ke-4 sebagai lapisan output. Desain dari arsitektur FRBFNN dapat dilihat pada Gambar 3.1.

-Gambar 3.1 Arsitektur Model FRBFNN

Pada lapisan ke-1 menuju lapisan ke-2 dilakukan fuzzifikasi untuk

memperoleh derajat keanggotaan masing-masing input fitur yang digunakan pada neuron-neuron di lapisan ke-2. Pada lapisan ke-2 menuju lapisan ke-3 dilakukan

.

.

. . .

. .

.


(47)

47

proses pembelajaran jaringan tak terawasi (unsupervised learning) sedangkan pada lapisan ke-3 menuju lapisan ke-4 dilakukan proses pembelajaran jaringan terawasi (supervised learning).

Pada model FRBFNN ini lapisan input fitur menerima sinyal dari

, , …, kemudian pada masing-masing input fitur akan ditentukan derajat

keanggotaan dengan menggunakan fungsi keanggotaan representasi kurva

trapesium pada Persamaan (2.30), sedangkan pada lapisan input fuzzy menerima

sinyal dari . , . , . , . ,. . . , . ,… , . kemudian

sinyal tersebut dikirimkan ke semua neuron pada lapisan tersembunyi. Diantara

lapisan tersembunyi dan lapisan output terdapat m buah bobot , , , … ,

dan sebuah bobot bias . Selanjutnya, pada arsitektur FRBFNN menggunakan

fungsi aktivasi � , � , � , … , � dari lapisan tersembunyi menuju lapisan output . Dalam arsitektur FRBFNN juga menambahkan satu neuron bias pada lapisan tersembunyi. Dengan menambahkan bias pada lapisan tersembunyi diharapkan dapat mengoptimalkan kinerja jaringan saraf tiruan untuk mengolah informasi.

2. Fungsi Aktivasi Fuzzy Radial Basis Function Neural Network (FRBFNN)

Model FRBFNN menggunakan fungsi aktivasi yaitu fungsi radial basis pada setiap neuron di lapisan tersembunyi. Berikut ini beberapa fungsi radial basis yang dapat digunakan sebagai fungsi aktivasi (Orr, 1996: 40):

a. Fungsi Gaussian


(48)

48

b. Fungsi Cauchy

�[ ] =[ � − + ]− (3.2)

c. Fungsi Multikuadratik

�[ ] = √ − + (3.3)

d. Fungsi Invers Multikuadratik

�[ ] =√ � + (3.4)

dengan,

= jarak maksimum variabel input ke pusat cluster

= nilai pusat variabel input pada cluster

= nilai input fitur

= derajat keanggotaan himpunan fuzzy dari input fitur

�[ ] = fungsi aktivasi neuron tersembunyi

Output yang dihasilkan dari model FRBFNN merupakan kombinasi

linear dari bobot dengan fungsi aktivasi �[ ] dan bobot bias .

Output dirumuskan sebagai berikut :

= ∑ = � [� � ] + (3.5)

dengan,

� [� � ] = exp [−[� � −� ]

[� � −� ]

],

[� � ] = [ . . . ... .. ],

[� ] = [ … … ],


(49)

49

� � = vektor derajat keanggotaan himpunan fuzzy dari input fitur

= vektor nilai pusat cluster ke-j

= bobot dari neuron pada lapisan tersembunyi ke- menuju neuron

pada lapisan output,

= bobot bias pada lapisan tersembunyi menuju neuron pada lapisan

output,

= jarak maksimum pada cluster ke- ,

= , , , … , ,

= , , , … , .

= , , , … , .

3. Algoritma Pembelajaran FRBFNN

Proses pembelajaran model FRBFNN menggunakan jaringan hybrid, yaitu

dengan menggabungkan antara pembelajaran tak terawasi (unsupervised learning)

pada proses pengiriman sinyal lapisan input fuzzy menuju lapisan tersembunyi dan

pembelajaran terawasi (supervised learning) untuk pemrosesan informasi dari

lapisan tersembunyi menuju lapisan output.

Algoritma pembelajaran FRBFNN terbagi menjadi 4 tahapan yaitu

menentukan input fuzzy pada lapisan fuzzy, input fuzzy pada lapisan fuzzy ditentukan melalui proses fuzzifikasi input fitur. Hasil dari proses fuzzifikasi dari input fitur

yaitu derajat keanggotaan masing-masing himpunan fuzzy. Kedua, menentukan

pusat dan jarak pada masing-masing fungsi basis, setiap pusat dan jarak

tersebut ditentukan menggunakan salah satu metode clustering yaitu metode


(50)

50

yang dilakukan secara trial and error. Terakhir, menentukan bobot-bobot pada

lapisan jaringan optimum, bobot ditentukan melalui dua pendekatan yaitu metode global ridge regression dan metode algoritma backpropagation. Dari dua metode tersebut akan dibandingkan, hasil yang terbaik yang akan digunakan pada model FRBFNN.

a. Proses Fuzzifikasi Input Fitur

Untuk menentukan input fuzzy pada lapisan input fuzzy dilakukan proses

fuzzifikasi. Fuzzifikasi adalah pemetaan himpunan tegas (crisp) ke himpunan fuzzy yang diwakili oleh suatu derajat keanggotaan (Ross, 2010: 93). Berikut ini contoh

proses fuzzifikasi menggunakan fungsi keanggotaan representasi kurva trapesium.

Misalkan = , dan himpunan semesta dari adalah = [ ] akan

dipetakan ke dalam 3 himpunan fuzzy. Perhitungan parameter-parameter pada

fungsi keanggotaan trapesium untuk pada himpunan A, himpunan B, dan

himpunan C, dapat dirumuskan sebagai berikut,

Diketahui himpunan semesta = [ ]

− = − = − (3.6)

− = − −[ − ] (3.7)

= − − − [ − ] (3.8)

dengan

− = − = = − = − = = − = − .


(51)

51

Menentukan parameter-parameter pada fungsi keanggotaan trapesium untuk

himpunan A yaitu , , , adalah sebagai berikut,

− = − = − = − = ,

− = − − [ − ]= − − [ , ]= ,

= − − − [ − ] = − , − ( × , ) = − ,

= + , = − ,

= + , = ,

= + , = ,

Fungsi keanggotaan pada himpunan A untuk berdasarkan Persamaan (2.30) adalah sebagai berikut,

= {

; − , ,

+ ,

− , + , ; − , < < − ,

; − , ,

, −

, − , ; , < < ,

Perhitungan parameter-parameter fungsi keanggotaan pada himpunan B dan C analog dengan perhitungan parameter pada himpunan A, sehingga diperoleh fungsi keanggotaan untuk himpunan B dan C berdasarkan Persamaan (2.30) adalah sebagai berikut,

= {

; , ,

− ,

, − , ; , < < ,

; , ,

, −


(52)

52

= {

; , ,

− ,

, − , ; , < < ,

; , ,

, −

, − , ; , < < ,

Perhitungan derajat keanggotaan pada masing-masing himpunan fuzzy adalah

sebagai berikut,

, = , = , =

b. K-Means Clustering untuk Menentukan Pusat dan Jarak Fungsi Basis

Algoritma K-Means Clustering adalah algoritma klasterisasi yang

mengelompokkan data berdasarkan titik pusat klaster (centroid) terdekat dengan

data. Tujuan dari K-Means Clustering adalah mengelompokkan data dengan

memaksimalkan kemiripan data dalam satu klaster dan meminimalkan kemiripan data antar klaster. Memaksimalkan kemiripan data didapat berdasarkan jarak terpendek antara data terhadap titik pusat (centroid) (Asroni & Adrian, 2015: 78).

Algoritma metode K-Means Clustering (Johnson & Wichern, 2007: 696):

1) Tentukan partisi awal data ke dalam m-cluster.

2) Tempatkan setiap data ke dalam cluster terdekat dengan menghitung jarak

antar data dan tiap-tiap cluster (perhitungan jarak biasanya menggunakan jarak euclidean). Persamaan jarak euclidean antara dua buah titik sebarang

, , … , dan , ,… , sebagai berikut:


(53)

53

Hitung ulang kembali nilai pusat untuk cluster yang menerima data baru dan cluster yang kehilangan data.

3) Ulangi kembali langkah ke-2 sehingga tidak terdapat data yang berpindah

cluster.

Contoh penggunaan metode K-Means Clustering: Misalkan terdapat dua

variabel yaitu dan untuk masing-masing A, B, C, dan D. Data diberikan pada Tabel 3.1:

Tabel 3.1 Tabel Data Pengamatan

Item

A 5 3

B -1 1

C 1 -2

D -3 -2

Data pada Tabel 3.1 akan dikelompokkan menjadi 2 cluster ( = ). Untuk

mengimplementasikan K-Means Clustering dengan 2 cluster, pertama partisi item

menjadi 2 cluster (AB) dan (CD), kemudian hitung pusat masing-masing cluster,

seperti pada Tabel 3.2:

Tabel 3.2 Koordinat Pusat Cluster Partisi Pertama

Cluster

Koordinat Pusat Cluster

+

= + =

+ −


(54)

54

Langkah selanjutnya adalah menghitung jarak euclidean pada Persamaan

(3.9) untuk masing-masing item dari pusat cluster dan menempatkan kembali

masing-masing item ke cluster terdekat. Jika terdapat item yang berpindah, maka

pusat cluster dihitung kembali. Untuk koordinat ke-i, = , , …, pusat cluster

dihitung dengan cara:

1) Jika item ke-i ditambahkan ke dalam cluster

̅ , � = ̅ ++ (3.10)

2) Jika item ke-i dihilangkan dari cluster

̅ , � = ̅ − (3.11)

Dengan n adalah jumlah item pada cluster sebelumnya. Lalu, dilakukan

perhitungan jarak euclidean tiap item terhadap masing-masing cluster dengan

menggunakan Persamaan (3.9):

, = √ − + − = ,

, = √ + + + = ,

Karena jarak A dengan (AB) lebih dekat, sehingga A tetap pada cluster (AB).

, = √ − − + − = ,

, = √ − + + + =

Karena jarak B dengan (CD) lebih dekat, sehingga B berpindah ke cluster (CD).

, = √ − + − − = ,

, = √ + + − + =

Karena jarak C dengan (CD) lebih dekat, sehingga C tetap pada cluster (CD).


(55)

55

, = √ − + + − + =

Karena jarak D dengan (CD) lebih dekat, sehingga D tetap pada cluster (CD). Berdasarkan perhitungan jarak di atas dilakukan pengelompokan kembali berdasarkan jarak minimum, diperoleh cluster yang baru yaitu (A) dan (BCD) dan menghitung kembali nilai pusat yang baru dengan Persamaan (3.10) dan (3.11) dengan nilai pusat baru pada Tabel 3.3:

Tabel 3.3 Koordinat Pusat Cluster Partisi Kedua

Cluster

Koordinat Pusat Cluster

− −

− =

− =

− + −

+ = −

− +

+ = −

Pusat cluster baru yang terbentuk adalah , dan − ,− . Setelah

diperoleh cluster dan pusat cluster yang baru dilakukan perhitungan jarak euclidean

dan pengelompokan kembali. Pada contoh ini, perhitungan jarak euclidean dan

pengelompokan kembali diperoleh hasil yang sama dengan sebelumnya (stabil)

yaitu , dan − ,− . Selanjutnya, menghitung jarak maksimum tiap

item terhadap cluster masing- masing:

, = √ − + − =

, = √ − + + + =

, = √ + + − + = ,


(56)

56

Berdasarkan hasil perhitungan di atas, diperoleh jarak maksimum untuk

tiap-tiap cluster adalah untuk cluster dan , untuk cluster .

c. Menentukan Jumlah Neuron pada Lapisan Tersembunyi

Jumlah neuron pada lapisan tersembunyi sama dengan banyaknya cluster

yang digunakan pada proses clustering dengan K-Means Clustering. Untuk

menentukkan jumlah neuron pada lapisan tersembunyi dari model FRBFNN dilakukan secara trial and error.

d. Menentukan bobot-bobot pada Jaringan Optimum

Penentuan bobot-bobot pada model FRBFNN yang digunakan pada tugas akhir ini menggunakan dua pendekatan yaitu mengestimasi bobot optimum

menggunakan metode global ridge regression dan algoritma backpropagation.

Berikut adalah estimasi bobot optimum dengan menggunakan metode global ridge

regression dan algoritma backpropagation:

1) Estimasi Bobot Optimum menggunakan Metode Global Ridge Regression

Proses pembelajaran terawasi (supervised) pada model FRBFNN dari lapisan

tersembunyi menuju lapisan output menggunakan metode Global Ridge

Regression. Metode Global Ridge Regression mengestimasi bobot dengan cara

menambahkan parameter regulasi yang bernilai positif > pada Sum Square

Error (Orr, 1996:24). Estimasi bobot terbaik diperoleh dari hasil akhir dengan SSE terkecil. Dengan menggunakan metode kuadrat terkecil (ordinary least square)

akan diperoleh bobot optimum. Model linear yang digunakan adalah =

= � [� ] +


(57)

57 dengan

= jumlah data pengamatan

̂ = hasil variabel output dari data

ke-= target variabel output dari data ke- = , , , . . . , .

Untuk menentukan nilai optimum bobot , dapat ditentukan dengan

mendiferensialkan Persamaan (3.12) terhadap bobot-bobotnya sehingga diperoleh,

� = ∑ − ̂

� �

= (3.13)

Berdasarkan Persamaan (3.5) diperoleh,

� = � [� ] (3.14)

Persamaan (3.14) disubstitusikan ke Persamaan (3.13) dengan mengasumsikan

bahwa �

� = diperoleh,

= ∑ = − ̂ � [� ] (3.15)

= ∑ = � [� ]− ∑ = ̂ � [� ] (3.16)

= ̂ � [� ]= ∑ = � [� ] (3.17)

= ̂ � [� ]= ∑ = � [� ] (3.18)

Karena, = , , … , maka akan diperoleh m persamaan seperti Persamaan (3.18)

untuk menentukan bobot. Untuk memperoleh penyelesaian tunggal, Persamaan

(3.18) ditulis dalam notasi vektor diperoleh,


(1)

157

if change > Threshold

notDone = 0;

end else

% interpret threshold as absolute difference

if change < Threshold notDone = 0;

end end

% get ready for next iteration (or end) l(i) = nl;

e(i) = ns;

if Verbose

fprintf('%4d %9.3e %9.3e ', count, l(i), e(i))

if Threshold >=1

fprintf('%7d ', change)

else

fprintf('%7.1e ', change)

end if Flops

fprintf('%9d\n', flops)

else

fprintf('\n')

end end end

if Verbose

if ~notTooMany

fprintf('hard limit reached\n')

else

if Threshold >=1 fprintf('relative ')

else

fprintf('absolute ')

end

fprintf('threshold in ')

end end end


(2)

158

Lampiran 17.

Script m-file GLCM_Features4 untuk Ekstraksi Fitur Pada Citra

function [out] = GLCM_Features4(glcmin,pairs) % If 'pairs' not entered: set pairs to 0

if ((nargin > 2) || (nargin == 0))

error('Too many or too few input arguments. Enter GLCM and pairs.');

elseif ( (nargin == 2) )

if ((size(glcmin,1) <= 1) || (size(glcmin,2) <= 1)) error('The GLCM should be a 2-D or 3-D matrix.'); elseif ( size(glcmin,1) ~= size(glcmin,2) )

error('Each GLCM should be square with NumLevels rows and NumLevels cols');

end

elseif (nargin == 1) % only GLCM is entered

pairs = 0; % default is numbers and input 1 for percentage if ((size(glcmin,1) <= 1) || (size(glcmin,2) <= 1))

error('The GLCM should be a 2-D or 3-D matrix.'); elseif ( size(glcmin,1) ~= size(glcmin,2) )

error('Each GLCM should be square with NumLevels rows and NumLevels cols');

end end

format longe

if (pairs == 1) newn = 1;

for nglcm = 1:2:size(glcmin,3)

glcm(:,:,newn) = glcmin(:,:,nglcm) + glcmin(:,:,nglcm+1); newn = newn + 1;

end

elseif (pairs == 0) glcm = glcmin;

end

size_glcm_1 = size(glcm,1); size_glcm_2 = size(glcm,2); size_glcm_3 = size(glcm,3); % checked

out.autoc = zeros(1,size_glcm_3); % Autocorrelation: [2] out.contr = zeros(1,size_glcm_3); % Contrast: matlab/[1,2] out.corrm = zeros(1,size_glcm_3); % Correlation: matlab out.corrp = zeros(1,size_glcm_3); % Correlation: [1,2] out.cprom = zeros(1,size_glcm_3); % Cluster Prominence: [2] out.cshad = zeros(1,size_glcm_3); % Cluster Shade: [2] out.dissi = zeros(1,size_glcm_3); % Dissimilarity: [2] out.energ = zeros(1,size_glcm_3); % Energy: matlab / [1,2] out.entro = zeros(1,size_glcm_3); % Entropy: [2]

out.homom = zeros(1,size_glcm_3); % Homogeneity: matlab out.homop = zeros(1,size_glcm_3); % Homogeneity: [2]

out.maxpr = zeros(1,size_glcm_3); % Maximum probability: [2] out.sosvh = zeros(1,size_glcm_3); % Sum of sqaures: Variance [1] out.savgh = zeros(1,size_glcm_3); % Sum average [1]

out.svarh = zeros(1,size_glcm_3); % Sum variance [1] out.senth = zeros(1,size_glcm_3); % Sum entropy [1]

out.dvarh = zeros(1,size_glcm_3); % Difference variance [4] %out.dvarh2 = zeros(1,size_glcm_3); % Difference variance [1]


(3)

159

out.denth = zeros(1,size_glcm_3); % Difference entropy [1] out.inf1h = zeros(1,size_glcm_3); % Information measure of correlation1 [1]

out.inf2h = zeros(1,size_glcm_3); % Informaiton measure of correlation2 [1]

%out.mxcch = zeros(1,size_glcm_3);% maximal correlation coefficient [1]

%out.invdc = zeros(1,size_glcm_3);% Inverse difference (INV) is homom [3]

out.indnc = zeros(1,size_glcm_3); % Inverse difference normalized (INN) [3]

out.idmnc = zeros(1,size_glcm_3); % Inverse difference moment normalized [3]

glcm_sum = zeros(size_glcm_3,1); glcm_mean = zeros(size_glcm_3,1); glcm_var = zeros(size_glcm_3,1);

% http://www.fp.ucalgary.ca/mhallbey/glcm_mean.htm confuses the range of

% i and j used in calculating the means and standard deviations. % As of now I am not sure if the range of i and j should be [1:Ng] or

% [0:Ng-1]. I am working on obtaining the values of mean and std that get

% the values of correlation that are provided by matlab. u_x = zeros(size_glcm_3,1);

u_y = zeros(size_glcm_3,1); s_x = zeros(size_glcm_3,1); s_y = zeros(size_glcm_3,1);

% checked p_x p_y p_xplusy p_xminusy

p_x = zeros(size_glcm_1,size_glcm_3); % Ng x #glcms[1] p_y = zeros(size_glcm_2,size_glcm_3); % Ng x #glcms[1] p_xplusy = zeros((size_glcm_1*2 - 1),size_glcm_3); %[1] p_xminusy = zeros((size_glcm_1),size_glcm_3); %[1] % checked hxy hxy1 hxy2 hx hy

hxy = zeros(size_glcm_3,1); hxy1 = zeros(size_glcm_3,1); hx = zeros(size_glcm_3,1); hy = zeros(size_glcm_3,1); hxy2 = zeros(size_glcm_3,1); corm = zeros(size_glcm_3,1); corp = zeros(size_glcm_3,1);

for k = 1:size_glcm_3

glcm_sum(k) = sum(sum(glcm(:,:,k)));

glcm(:,:,k) = glcm(:,:,k)./glcm_sum(k); % Normalize each glcm glcm_mean(k) = mean2(glcm(:,:,k)); % compute mean after norm glcm_var(k) = (std2(glcm(:,:,k)))^2;

for i = 1:size_glcm_1 for j = 1:size_glcm_2

p_x(i,k) = p_x(i,k) + glcm(i,j,k); p_y(i,k) = p_y(i,k) + glcm(j,i,k); % taking i for j and j for i


(4)

160

p_xplusy((i+j)-1,k) = p_xplusy((i+j)-1,k) + glcm(i,j,k);

%end

%if (ismember(abs(i-j),[0:(size_glcm_1-1)]))

p_xminusy((abs(i-j))+1,k) = p_xminusy((abs(i-j))+1,k) +...

glcm(i,j,k); %end end

end end

% marginal probabilities are now available [1] % p_xminusy has +1 in index

% for matlab (no 0 index)

% computing sum average, sum variance and sum entropy: %Q = zeros(size(glcm));

i_matrix = repmat([1:size_glcm_1]',1,size_glcm_2); j_matrix = repmat([1:size_glcm_2],size_glcm_1,1); % i_index = [ 1 1 1 1 1 .... 2 2 2 2 2 ... ] i_index = j_matrix(:);

% j_index = [ 1 2 3 4 5 .... 1 2 3 4 5 ... ] j_index = i_matrix(:);

xplusy_index = [1:(2*(size_glcm_1)-1)]'; xminusy_index = [0:(size_glcm_1-1)]'; mul_contr = abs(i_matrix - j_matrix).^2; mul_dissi = abs(i_matrix - j_matrix); %div_homop = ( 1 + mul_contr);

% used from the above two formulae %div_homom = ( 1 + mul_dissi);

for k = 1:size_glcm_3 % number glcms

out.contr(k) = sum(sum(mul_contr.*glcm(:,:,k))); out.dissi(k) = sum(sum(mul_dissi.*glcm(:,:,k))); out.energ(k) = sum(sum(glcm(:,:,k).^2));

out.entro(k) = - sum(sum((glcm(:,:,k).*log(glcm(:,:,k) + eps))));

out.homom(k) = sum(sum((glcm(:,:,k)./( 1 + mul_dissi)))); out.homop(k) = sum(sum((glcm(:,:,k)./( 1 + mul_contr)))); % [1] explains sum of squares variance with a mean value; % the exact definition for mean has not been provided in % the reference: I use the mean of the entire normalized glcm out.sosvh(k) = sum(sum(glcm(:,:,k).*((i_matrix -

glcm_mean(k)).^2)));

out.indnc(k) = sum(sum(glcm(:,:,k)./( 1 + (mul_dissi./size_glcm_1) )));

out.idmnc(k) = sum(sum(glcm(:,:,k)./( 1 + (mul_contr./(size_glcm_1^2)))));

out.maxpr(k) = max(max(glcm(:,:,k))); u_x(k) = sum(sum(i_matrix.*glcm(:,:,k))); u_y(k) = sum(sum(j_matrix.*glcm(:,:,k)));

% using http://www.fp.ucalgary.ca/mhallbey/glcm_variance.htm for s_x

% s_y : This solves the difference in value of correlation and might be


(5)

161

% According to this website there is a typo in [2] which provides

% values of variance instead of the standard deviation hence a square

% root is required as done below:

s_x(k) = (sum(sum( ((i_matrix - u_x(k)).^2).*glcm(:,:,k) )))^0.5;

s_y(k) = (sum(sum( ((j_matrix - u_y(k)).^2).*glcm(:,:,k) )))^0.5;

corp(k) = sum(sum((i_matrix.*j_matrix.*glcm(:,:,k)))); corm(k) = sum(sum(((i_matrix - u_x(k)).*(j_matrix - u_y(k)).*glcm(:,:,k))));

out.autoc(k) = corp(k);

out.corrp(k) = (corp(k) - u_x(k)*u_y(k))/(s_x(k)*s_y(k)); out.corrm(k) = corm(k) / (s_x(k)*s_y(k));

out.cprom(k) = sum(sum(((i_matrix + j_matrix - u_x(k) - u_y(k)).^4).*...

glcm(:,:,k)));

out.cshad(k) = sum(sum(((i_matrix + j_matrix - u_x(k) - u_y(k)).^3).*...

glcm(:,:,k)));

out.savgh(k) = sum((xplusy_index + 1).*p_xplusy(:,k));

% the summation for savgh is for i from 2 to 2*Ng hence (i+1) out.senth(k) = - sum(p_xplusy(:,k).*...

log(p_xplusy(:,k) + eps));

% compute sum variance with the help of sum entropy out.svarh(k) = sum((((xplusy_index + 1) -

out.senth(k)).^2).*...

p_xplusy(:,k));

% the summation for savgh is for i from 2 to 2*Ng hence (i+1) % compute difference variance, difference entropy,

% out.dvarh2(k) = var(p_xminusy(:,k)); % but using the formula in

http://murphylab.web.cmu.edu/publications/boland/boland_node26.htm l

% we have for dvarh

out.denth(k) = - sum((p_xminusy(:,k)).*... log(p_xminusy(:,k) + eps));

out.dvarh(k) = sum((xminusy_index.^2).*p_xminusy(:,k)); % compute information measure of correlation(1,2) [1] hxy(k) = out.entro(k);

glcmk = glcm(:,:,k)'; glcmkv = glcmk(:);

hxy1(k) = - sum(glcmkv.*log(p_x(i_index,k).*p_y(j_index,k) + eps));

hxy2(k) = - sum(p_x(i_index,k).*p_y(j_index,k).*...

log(p_x(i_index,k).*p_y(j_index,k) + eps)); hx(k) = - sum(p_x(:,k).*log(p_x(:,k) + eps)); hy(k) = - sum(p_y(:,k).*log(p_y(:,k) + eps));

out.inf1h(k) = ( hxy(k) - hxy1(k) ) / ( max([hx(k),hy(k)]) ); out.inf2h(k) = ( 1 - exp( -2*( hxy2(k) - hxy(k) ) ) )^0.5; % eig_Q(k,:) = eig(Q(:,:,k));

% sort_eig(k,:)= sort(eig_Q(k,:),'descend'); % out.mxcch(k) = sort_eig(k,2)^0.5;

% The maximal correlation coefficient was not calculated due to


(6)

162

% computational instability %

http://murphylab.web.cmu.edu/publications/boland/boland_node26.htm l

end

% GLCM Features (Soh, 1999; Haralick, 1973; Clausi 2002) % f1. Uniformity / Energy / Angular Second Moment (done) % f2. Entropy (done)

% f3. Dissimilarity (done) % f4. Contrast / Inertia (done) % f5. Inverse difference

% f6. correlation

% f7. Homogeneity / Inverse difference moment % f8. Autocorrelation

% f9. Cluster Shade

% f10. Cluster Prominence % f11. Maximum probability % f12. Sum of Squares % f13. Sum Average % f14. Sum Variance % f15. Sum Entropy

% f16. Difference variance % f17. Difference entropy

% f18. Information measures of correlation (1) % f19. Information measures of correlation (2) % f20. Maximal correlation coefficient

% f21. Inverse difference normalized (INN)

% f22. Inverse difference moment normalized (IDN)