plagiat merupakan tindakan tidak terpuji plagiat

advertisement
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
KLASIFIKASI PENENTUAN JENIS KANKER PAYUDARA
DAN PARU-PARU BERDASARKAN SUSUNAN PROTEIN
DENGAN ALGORITMA DECISION TREE
SKRIPSI
Ditujukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana
Program Studi Teknik Informatika
Oleh :
ANDHINI AYU SUSANTI
10 5314 097
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNVERSITAS SANATA DHARMA
YOGYAKARTA
2016
i
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
THE CLASSIFFICATION OF BREAST CANCER AND LUNG CANCER
TYPE BASED ON PROTEIN STRUCTURE
USING DECISION TREE ALGORITM
A THESIS
Presented Partial Fulfillment of the Requirements
To Obtain the Sarjana Komputer Degree
In Informatics Engineering Department
By:
Andhini Ayu Susanti
10 5314 097
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCINCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2016
ii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
iii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
iv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
HALAMAN PERSEMBAHAN
“By three methods we may learn wisdom: First, by reflection, which is
noblest; Second, by imitation, which is easiest; and third by experience,
which is the bitterest”
_Confucius_
“Jangan mencari yang besar-besar, cukup mengerjakan
yang kecil-kecil dengan cinta yang besar”
_Mother Teresa_
“Scared is what you’re feeling. Brave is
What you’re doing”
_Emma Donoghue_
Skripsi ini kupersembahkan untuk :
Tuhan Yang Maha Esa
Keluargaku
Sahabat dan Teman-teman
v
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya yang bertanda tangan dibawah ini menyatakan bahwa, saya menyatakan
dengan sungguh-sungguh bahwa skripsi yang saya tulis ini karya atau bagian dari
karya orang lain, kecuali yang telah disebutkan dalam kutipan atau daftar pustaka,
sebagaimana layaknya karya ilmiah
Yogyakarta, 29 Februari 2016
Penulis,
Andhini Ayu Susanti
vi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
KLASIFIKASI PENENTUAN JENIS KANKER PAYUDARA
DAN PARU-PARU BERDASARKAN SUSUNAN PROTEIN
DENGAN ALGORITMA DECISION TREE
ABSTRAK
Angka kematian di Indonesia karena penyakit kanker menurut WHO pada
tahun 2014 mencapai 195.300 orang dengan kematian terbanyak pada laki-laki
sebanyak 103.100 dengan penyakit kanker paru-paru pada tingkat pertama sebesar
21,8% dan pada wanita sebanyak 92.200 dengan penyakit kanker payudara pada
tingkat pertama sebesar 21.4%. Ilmu informatika dapat membantu menganalisa
masalah ini dengan mengunakan cabang ilmu bioinformatika, yang merupakan
penerapan teknis komputasional untuk mengolah dan menganalisa informasi
biologi seperti data DNA, RNA dan Protein.
Penelitian ini membahas tentang pendeteksian jenis kanker payudara dan
paru-paru berdasarkan susunan protein berupa asam amino. Data protein yang
digunkan berformat .fasta yang diambil dari database protein yaitu UniProt dan
NCBI (National Center for Biotechnology Information). Metode klasifikasi
digunakan untuk mendekteksi secara dini penyakit kanker berdasakan susunan
protein. Algoritma yang digunakan pada penelitian ini adalah decision tree, yaitu
salah satu algoritma yang digunakan dalam bidang bioinformatika.
Sebelum tahap klasifikasi dilakukan tahap pre-processing data sekuen
protein bertipe String ditransformasikan terlebih dahulu menggunakan EIIP
(Electron-Ion Interaction Potential) based protein value. Data sekuen protein
yang telah ditransformasikan menjadi numerik selanjutnya diektraksi ciri menjadi
sinyal frequency based dengan menggunakan FFT (Fast Fourier Transform) dan
LPC (Linear Prediction Coding) dan turunan dari LPC dengan order 8 dan 12.
Klasifikasi dengan decision tree dilakukan setelah proses ekstraksi ciri
selesai. Pada penelitian ini dilakukan pengujian kombinasi feature LPC pada saat
proses ekstraksi ciri. Dari seluruh pengujian (16 pengujian) yang dilakukan,
didapatkan hasil akurasi terbesar yaitu 79,85% dan waktu yang diperlukan untuk
membuat tree 29,09 detik dengan akurasi rata-rata sebesar 74.82% pada feature
LPC order 8.
vii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
THE CLASSIFFICATION OF BREAST CANCER AND LUNG CANCER
TYPE BASED ON PROTEIN STRUCTURE
USING DECISION TREE ALGORITM
ABSTRACT
The death rate from cancer in Indonesia by WHO in 2014 reached 195.300
people with the number of death in men at 103.100 from lung cancer at the first
level by 21.8% and in women at 92.200 from breast cancer at the first level by
21.4%. Science of Informatics can help analyze this problem by using a branch of
bioinformatics, which is the computational technique application to process and
analyze the data of biological information such as DNA, RNA and Protein.
This research discusses the detection of breast cancer and lung cancer
based on the composition of proteins in the form of amino acids. The protein data
used the format of .fasta derived from the protein database UniProt and NCBI
(National Center for Biotechnology Information). The classification method that
used for early detection of cancer based on protein structure. The algorithm used
in this study is a decision tree, which is one of the algorithms used in
bioinformatics.
Before classification phase, pre-processing phase of protein sequence data
of String type are transformed beforehand using EIIP (Electron-Ion Interaction
Potential) based on protein valueconducted. Protein sequence data that have been
transformed into numeric, then the feature extracted to become frequency based
signal by using FFT (Fast Fourier Transform) and LPC (Linear Prediction
Coding) and a derivative of LPC with order of 8 and 12.
Classification by decision tree is happened after the feature extraction
process is complete. In this research, testing the combination of LPC feature
during the process of feature extraction conducted. From all the tests (16 tests)
were conducted, showed the greatest accuracy is 79.85% and time to bulid tree
29.09 second with an average accuracy of 74.82% in order 8 of LPC feature.
viii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Andhini Ayu Susanti
NIM
: 105314097
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan
Univesitas Sanata Dharma karya ilmiah saya yang berjudul :
KLASIFIKASI PENENTUAN JENIS KANKER PAYUDARA
DAN PARU-PARU BERDASARKAN SUSUNAN PROTEIN
DENGAN ALGORITMA DECISION TREE
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,
mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan
data, mendistribusikannya secara terbatas dan mempublikasikannya di internet
atau media lain demi kepentingan akademis tanpa perlu meminta ijin dari saya
maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya
sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta,
Pada tanggal :
Yang menyatakan,
Andhini Ayu Susanti
ix
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
KATA PENGANTAR
Puji syukur
kepada Tuahn Yang Maha Esa atas karunia, berkat dan
rahmat-Nya yang melimpah sehingga penulis dapat menyelesaikan skripsi dengan
judul “Klasifikasi Penentuan Jenis Kanker Payudara dan Paru-Paru
Berdasarkan Susunan Protein Dengan Algoritma Decision Tree”. Dalam
kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar- besarnya
kepada semua pihak yang turut memberikan semangat, dukungan dan bantuan
sehingga selesainya skripsi ini :
1. Tuhan Yang Maha Esa atas segala berkat dan rahmatNya.
2. Romo Dr. Cyprianus Kuntoro Adi, S.J., M.A., M.Sc. selaku dosen
pembimbing, terima kasih atas bimbingan, saran, waktu, dan
kesabaranya dalam membimbing dan mengarahkan penulis dalam
menyelesaikan tugas akhir ini.
3. Bapak Sudi Mungkasi, S.Si., M.Math. Sc., Ph.D selaku Dekan
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Yogyakarta.
4. Ibu Dr. Anastasia Rita Widiarti M.Kom selaku Kaprodi dan Dosen
Penguji
5. Bapak Eko Hari Parmadi, S.Si., M.Kom. selaku Dosen Penguji
6. Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku dosen pembimbing
akademik.
7. Seluruh staff pengajar Prodi Teknik Informatika Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
8. Kedua orang tua saya, Ganeshan dan Harjanti Kusumawati, terima
kasih atas doa, semangat dan perhatian yang diberikan serta
dukungan material selama perkulihan.
9. Keluarga besar saya, terima kasih atas semangat, doa dan motivasi
yang diberikan.
10. Audris Evan Utomo, Romo Poldo atas tempat belajar bersama.
x
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
11. Teman-teman seperjuangan skripsi, Lutgardis Festidita, Renny
Nita dan Stella Filensia atas semangat dan segala waktu untuk
belajar dan berdiskusi bersama.
12. Amelia Endah, Karl Haryo, Sepen Mulyani, dan Gregorius
Airlangga atas motivasi dan dorongan semangat untuk penulis
yang tak pernah lelah diberikan untuk menyelesaikan tugas akhir
ini.
13. Temen-teman “second home” dan “ccp”, Maria Fernandez, Ria
Regina, Fransisca Novia, Yovita Metty, Fa Febrian, Yohanes
Teddy, Theodorus Adi Nugraha, I Nyoman Rama, Wisnu Yoga,
Alfonsus Doni, Christan Ardy dan Eduardus Hardika yang
berjuang bersama baik suka maupun duka dalam menyusun tugas
akhir ini.
14. Ratna Yani, Reti Erwiyanti, Astrian, Leslie, Adita, Pradita Eka,
Neva, Mario, Merry, Artha dan Ayu atas semangatnya.
15. Teman-teman
Teknik
Informatika
angakatan
2010
atas
kebersamaan dan dukungnya.
16. Terima kasih kepada semua pihak yang tidak dapat penulis
sebutkan secara langsung dan tidak langsung.
Penulis menyadari bahwa tugas akhir ini jauh dari
sempurna, oleh karena itu kritik dan saran yang sifatnya
membangun sangat penulis harapkan. Akhir kata, semoga skripsi
ini bermanfaat bagi pembaca dan pikah yang membutuhkan.
Yogyakarta, 29 Februari 2016
Penulis
xi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR ISI
HALAMAN JUDUL ..................................................................................................................... i
HALAMAN PERSETUJUAN ................................................... Error! Bookmark not defined.
HALAMAN PENGESAHAN ..................................................... Error! Bookmark not defined.
HALAMAN PERSEMBAHAN ................................................................................................ v
PERNYATAAN KEASLIAN KARYA .................................................................................. vi
ABSTRAK ................................................................................................................................... vii
ABSTRACT ............................................................................................................................... viii
LEMBAR PERNYATAAN PERSETUJUAN ...................................................................... ix
DAFTAR ISI ............................................................................................................................... xii
BAB I ..............................................................................................................................................1
PENDAHULUAN ........................................................................................................................1
1.1
Latar Belakang ...............................................................................................................1
1.2
Rumusan Masalah ..........................................................................................................3
1.3
Tujuan Penelitian ...........................................................................................................3
1.4
Batasan Masalah .............................................................................................................3
1.5
Luaran yang Diharapkan ..............................................................................................3
1.6
Metodelogi ......................................................................................................................4
1.7
Sistematis Penulisan ......................................................................................................4
BAB II .............................................................................................................................................5
LANDASAN TEORI ...................................................................................................................5
2.1
2.2
Kanker .............................................................................................................................5
2.2.1.
Kanker Payudara ....................................................................................................6
2.1.2.
Kanker Paru - paru .................................................................................................7
Bioinformatika ................................................................................................................8
2.2.1.
Protein ......................................................................................................................9
2.2.2.
Asam Amino .........................................................................................................10
2.3
Pengenalan Pola ...........................................................................................................10
2.4
Preprocessing dan Ekstraksi Ciri ...............................................................................11
xii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
2.4.1.
Electron- Ion Interaction Potential (EIIP) .........................................................11
2.4.2.
Fast Fourier Transform (FFT) ............................................................................13
2.4.3.
Linier Predictive Coding (LPC) .........................................................................14
2.5
Algoritma Decision Tree .............................................................................................15
2.6
K-Fold Cross Validation ............................................................................................17
BAB III .........................................................................................................................................19
METODOLOGI .........................................................................................................................19
3.1
Data ................................................................................................................................19
3.2
Metode Penelitian ........................................................................................................20
3.2.1
Preprocessing ........................................................................................................21
3.2.2
Ekstraksi Ciri ........................................................................................................22
3.2.3
Proses Training .....................................................................................................25
3.2.4
Tahap Klasifikasi Decision Tree ........................................................................26
3.2.5
Pengujian ...............................................................................................................28
BAB IV .........................................................................................................................................30
ANALISIS HASIL DAN IMPLEMENTASI SISTEM .....................................................30
4.1
Analisis Hasil ................................................................................................................30
4.2 Analisis Coding ....................................................................................................................32
4.2.1.
Ekstraksi Ciri ........................................................................................................32
4.2.2.
Algoritma Decision Tree .....................................................................................38
4.2.3.
Akurasi Tree .........................................................................................................42
4.3 User interface .........................................................................................................................43
BAB V ...........................................................................................................................................47
KESIMPULAN DAN SARAN ................................................................................................47
5.1
Kesimpulan ...................................................................................................................47
5.2
Saran ..............................................................................................................................48
DAFTAR PUSTAKA ................................................................................................................49
LAMPIRAN I : Code Program ..................................................................................................51
xiii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR TABEL
TABEL 2. 1EIIP VALUE AMINO ACID ...................................................................................................... 12
TABEL 2. 2 3-FOLD CROSS VALIDATION ................................................................................................ 18
xiv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR GAMBAR
GAMBAR 2. 1 GAMBAR PRESENTASE KANKER PAYUDARA.................................................... 7
GAMBAR 2. 2 MEKANISME PENGENALAN POLA ................................................................. 10
GAMBAR 2. 3 BLOK DIAGRAM PROSES PREPROCESSING DAN EKSTRAKSI CIRI .................. 11
GAMBAR 2. 4 BLOK DIAGRAM ANALISIS LPC .................................................................... 15
GAMBAR 2. 5 CONTOH POHON KEPUTUSAN ....................................................................... 16
GAMBAR 3. 1 DIAGRAM PROSES TRAINING DAN TESTING ................................................... 21
GAMBAR 3. 2 DIAGRAM PREPROCESSING ........................................................................... 22
GAMBAR 3. 3GRAFIK SEKUEN PROTEIN ASAM AMINO A2KUC3 ........................................ 22
GAMBAR 3. 4 DIAGRAM EKSTRAKSI CIRI ............................................................................ 23
GAMBAR 3. 5 SINYAL STEM EKSTRAKSI CIRI DENGAN ........................................................ 23
GAMBAR 3. 6 SINYAL STEM LPC, DELTA LPC, .................................................................. 24
GAMBAR 3. 7 SINYAL STEM LPC, DELTA LPC, .................................................................. 25
GAMBAR 3. 8 CONTOH DATA TRAINING 1 ........................................................................... 26
GAMBAR 3. 9 DECISION TREE KOSONG ................................................................................ 27
GAMBAR 3. 10
ENTROPY DARI VARIABEL BINARI
.............................................................. 27
GAMBAR 3. 11 CONTOH LEVEL PERTAMA DECISION TREE ................................................... 28
GAMBAR 3. 12 HASIL TREE YANG TERBENTUK DARI TRAINING 3 ....................................... 28
GAMBAR 4. 1 TABEL HASIL PERBANDINGAN AKURASI DAN WAKTU ................................... 30
GAMBAR 4. 2 GRAFIK AKURASI RATA-RATA FEATURE LPC ............................................... 31
GAMBAR 4. 3 USER INTERFACE HALAMAN UTAMA ............................................................ 44
GAMBAR 4. 4 HALAMAN EKSTRAKSI CIRI .......................................................................... 44
GAMBAR 4. 5 PROSES PREPROSES DAN EKSTRAKSI CIRI ...................................................... 45
GAMBAR 4. 6 HALAMAN TREE ........................................................................................... 45
GAMBAR 4. 7 HALAMAN AKURASI TREE ........................................................................... 46
GAMBAR 4. 8 HALAMAN UJI TUNGGAL.............................................................................. 46
xv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB I
PENDAHULUAN
1.1 Latar Belakang
Penyakit Kanker merupakan salah satu penyakit pembunuh teratas di
dunia. Pada tahun 2012, sekitar 8,2 juta kematian disebabkan oleh kanker, dengan
spesifikasi kanker paru, hati, perut, kolorektal, dan kanker payudara adalah
penyebab terbesar kematian akibat kanker setiap tahunnya (INFODATIN, 2014).
Berdasarkan data profil mortalitas Kanker (Cancer Mortality Profile) yang dirilis
oleh WHO pada tahun 2014, menyebutkan angka kematian yang disebabkan oleh
kanker di Indonesia mencapai 195.300 orang dengan prevalensi kematian
terbanyak pada laki-laki sebanyak 103,100 dengan penyakit kanker paru-paru
pada tingkat pertama sebesar 21,8% orang dan perempuan mencapai 92,200
orang dengan penyakit kanker payudara pada tingkat pertama sebesar 21,4 %.
Penyakit kanker adalah penyakit yang timbul akibat pertumbuhan tidak
normal sel jaringan tubuh yang berubah menjadi sel kanker, sedangkan tumor
adalah kondisi dimana pertumbuhan sel tidak normal sehingga membentuk suatu
lesi atau dalam banyak kasus, benjolan di tubuh. Tumor terbagi menjadi dua, yaitu
tumor jinak dan tumor ganas. Tumor jinak memiliki ciri-ciri, yaitu tumbuh secara
terbatas, memiliki selubung, tidak menyebar bila dioperasi,dapat dikeluarkan
secara utuh sehingga dapat sembuh sempurna, sedangkan tumor ganas memiliki
ciri-ciri, yaitu dapat menyusup ke jaringan sekitarnya, dan sel kanker dapat
ditemukan pada pertumbuhan tumor. Penyakit kanker
tidak dapat diketahui
secara langsung dalam satu kali pemeriksaan yang dilakukan oleh dokter.
Diperlukan serangkaian uji laboratorium yang berguna untuk mendeteksi sel-sel
kanker tersebut dalam tubuh manusia (Infodatin,2015).
Bioinformatika
adalah
ilmu
yang mempelajari
penerapan
teknis
komputasional untuk mengelola dan menganalisa informasi biologis. Bidang ini
mencakup penerapan metode-metode matematika, statistika, dan informatika
untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan
1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
2
sekuen DNA dan asam amino serta infomasi yang terkaitan.
Peranan bioinformatika dalam penelitian ini untuk membantu dalam
proses mendeteksi penyakit kanker payudara dan kanker paru-paru. Dengan
menggunakan data sekuen protein dari tubuh manusia, maka mendeteksi secara
dini penyakit kanker dan mengklasifikasikan jenis kanker dapat dilakukan.
Pendeteksian penyakit kanker secara dini di dalam tubuh penderita salah
satu data yang dapat digunakan adalah data sekuen protein. Protein yang
digunakan dalam penelitian ini adalah asam amino. Data sekuen protein
berformat .fasta dan bertipe String. Tahap awal dalam mengolah data sekuen
protein yaitu asam amino dalam penelitian ini adalah tahap pre-processing yaitu
data sekuen protein yang berupa string akan ditransformasikan menjadi data
numerik untuk mempermudah perhitungan dan panjang sekuen protein tidak harus
sama.
Pada peneilitian ini jenis kanker yang diteliti berdasarkan susunan sekuen
protein (asam amino) adalah kanker payudara dan kanker paru-paru yang
dibandingkan dengan manusia sehat atau non-cancer. Data sekuen protein berasal
dari bank protein dunia yang dapat diakses melalui website antara lain UniProt
(www.UniProt.org) dan National Center for Biotechnology Information
(www.ncbi.nlm.nih.gov).
Tahap pre-processing data sekuen protein ditransformasikan terlebih
dahulu menggunakan EIIP (Electron-Ion Interaction Potential) based protein
value. Data sekuen protein yang telah ditransformasikan menjadi numerik
selanjutnya diektraksi ciri menjadi sinyal frequency based dengan menggunakan
FFT (Fast Fourier Transform) dan LPC (Linear Prediction Coding) dan turunan
dari LPC dengan order 8 dan 12 untuk nyeragamkan panjang data dan
mendapatkan ciri data.
Berdasarkan pada penelitian sebelumnya yaitu menentukan jenis kanker
berdasarkan susunan protein
metode yang digunakan adalah pengelompokan
menggunakan K-Means dan klasifikasi KNN. Metode yang digunakan merupakan
gabungan antara pengelompokan dan klasifikasi yang bertujuan agar proses
klasifikasi KNN dapat dilakukan dengan mudah dan optimal, namun pada
kenyataannya error yang dihasilkan dalam penelitian tersebut masih cukup tinggi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
3
yaitu sekitar 52,00% .
Pada penelitian ini hanya menggunakan satu algoritma saja untuk proses
Klasifikasi. Ada beberapa metode dan algoritma yang dapat digunakan untuk
mengklasifikasi menentukan jenis kanker berdasarkan susunan protein. Algoritma
yang digunakan dalam penelitian ini adalah algoritma decission tree. Algoritma
decision tree akan menghasilkan tree atau pohon keputusan. Algoritma decision
tree yang telah digunakan dalam beberapa penelitian lain dan menghasilkan
tingkat keakurasian yang baik yaitu sekitar 70% - 85%.
1.2 Rumusan Masalah
Masalah yang dirumuskan dalam penelitian ini adalah :
Bagaimana klasifikasi dengan menggunakan algoritma decision tree mampu
mengenal jenis kanker payudara dan kanker paru-paru cepat dan tepat?
1.3 Tujuan Penelitian
Penelitian ini bertujuan untuk melakukan klasifikasi terhadap susunan protein
yaitu asam amino untuk mendeteksi kanker payudara dan kanker paru-paru
dengan cepat dan tepat.
1.4 Batasan Masalah
Batasan-batasan dalam penelitian ini adalah :
1. Ekstrasi ciri yang digunakan FFT, LPC dan turunan LPC (delta LPC dan
delta delta LPC) dengan order 8 dan 12.
2. Pre-processing yang digunakan adalah EIIP based value protein
3. Metode klasifikasi yang digunakan adalah greedy decision tree.
1.5 Luaran yang Diharapkan
Luaran yang dihasilkan dari penelitian ini adalah prototype yang bisa
menentukan apakah seseorang menderita penyakit kanker payudara,
kanker paru-paru atau sehat.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
4
1.6 Metodelogi
Metodologi penelitian yang digunakan antara lain :
1. Studi literatur untuk mempelajari bioinformatika khususnya mengenai
susunan asam amino.
2. Studi literatur untuk mempelajari mengenai EIIP ,FFT dan LPC.
3. Studi literatur untuk mempelajari data mining klasifikasi yaitu
algoritma Decision Tree.
4. Analisis data untuk mengetahui bagaimana cara mendapatkan data
susunan protein yang akan digunakan dalam penelitian ini.
5. Implementasi merupakan proses membuat model yang telah dibuat
dalam bentuk yang dapat diesksekusi. Implementasi mengunakan
MATLAB 2010.
6. Pengujian menggunakan k-fold cross validation untuk mengetahui
akurasi dari algoritma decision tree yang digunakan.
1.7 Sistematis Penulisan
BAB I PENDAHULUAN
Bab ini berisi latar belakang, rumusan masalah, tujuan, batasan masalah,
keluaran yang dihasilkan, metodologi dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi landasan teori yang dipakai untuk pembahasan tugas akhir.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi analisis dan perancangan sistem yang akan
diimplementasikan.
BAB IV IMPLEMENTASI SISTEM DAN ANALISIS HASIL
Bab ini berisi tentang proses implementasi sistem dan analisis hasil
Implementasi sistem.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB II
LANDASAN TEORI
Bab ini menjelaskan tentang dasar teori yang digunakan dalam penyusunan
tugas akhir ini untuk memperjelas materi-materi yang sedikit sudah dijelaskan
mulai dari kanker, bioinformatika, dan pengenalan pola yang meliputi ekstraksi
fitur yaitu EIIP, FFT dan LPC, algoritma decision tree dan cross-validation. Teori
–teori tersebut dijelaskan sebagai berikut :
2.1 Kanker
Kanker atau neoplasma adalah suatu penyakit sel dengan ciri gangguan atau
kegagalan mekanisme multiplikasi dan fungsi homeostasis lainnya pada
organisme multiseluler sehingga terjadi pertumbuhan jaringan yang tak terkontrol
(van Cauteren, et al,1996). Kadang istilah kanker sering di kacaukan dengan
tumor, padahal ada perbedaan yang mendasar. Perbedaan utama yaitu kanker
adalah neoplasma yang menyebar dan ganas (Malignant neoplasm) dan tumor
adalah neoplasma yang tidak menyebar dan tidak ganas (benigh neoplasm).
Kanker dapat menyerang berbagai sel pada seluruh organ dalam tubuh, dari
kepala sampai ujung kaki. Dalam keadaan normal sel hanya akan membelah diri
bila tubuh membutuhkan, misalnya ada sel-sel yang perlu diganti karena mati atau
rusak. Sedangkan sel kanker akan membelah meskipun tidak diperlukan, sehingga
terjadi sel-sel baru yang berlebihan. Sel-sel baru mempunyai sifat seperti
induknya yang sakit yaitu tidak mempunyai daya atur.
Dalam daftar Badan Kesehatan Dunia (WHO) penyakit kanker masuk dalam
urutan teratas dari kelompok penyakit. Hal ini dapat dimengerti, karena penyakit
ini merupakan penyakit yang paling mematikan di dunia. Kalau penyakit kanker
di dunia menempati urutan kedua, setelah penyakit jantung , di Indonesia kanker
termasuk urutan ke-6 sebagai penyakit kematian. Penyakit kanker diperkirakan
diidap oleh 15 orang per 100.000 penduduk di dunia (Saffiot dalam
Mulyadi,1997).
5
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
6
Jenis kanker yang sering terjadi pada kelompok pria adalah kanker paru-paru,
prostat dan kolon (usus besar). Sedangkan pada kelompok wanita adalah kanker
payudara, servix uteri, paru-paru dan kolon. Pada kelompok anak-anak jenis
kanker yang paling sering adalah leukemia(kanker darah) (Sunarto,1997:82-84).
2.1.1.
Kanker Payudara
Kanker payudara adalah kanker yang banyak menyerang kaum wanita dan
merupakan kanker penyebab kematian kedua bagi wanita di dunia. Kanker ini
banyak menyerang wanita umur antara 35 – 50 tahun. Berdasarkan laporan
dari Pathology of Breast Cancer in New South Wales Women pada tahun 1995
ditemukan bahwa 60% dari kaum wanita mempunyai benjolan pada
payudaranya yang berdiameter kurang dari 2cm yang dikenal sebagai kanker
panyudara stadium awal (dini). Kanker payudara umunnya terjadi pada kaum
wanita namun dapat pula menyerang kaum pria, pria dengan Klinefelter
Syndrome mempunyai resiko 60 kali lebih besar dibandingkan dengan pria
normal(Sri Hartati Yuliani. 2000).
Menurut data GLOBOCAN (IARC) pada tahun 2012 diketahui bahwa
penyakit kanker payudara merupakan penyakit kanker dengan presentase
kasus baru tertinggi pada wanita yaitu sebesar 43.3% dan presentase kematian
akibat penyakit kanker payudara sebesar 12,9%. (IinfoDatin. 2015).
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
7
Gambar 2. 1 Gambar presentase kanker payudara
pada tahun 2013 di provinsi- provinsi di Indonesia.
2.1.2.
Kanker Paru - paru
Kanker paru-paru adalah tumor mengancam (malignant tumour) pada
paru-paru. Paling biasa adalah bronchogenic carcinoma (sekitar 90%).Kanker
paru-paru adalah tumor mengancam yang paling bahaya di seluruh dunia,
menyebabkan sampai 3 juta kematian setiap tahun.
Pengungkapan kepada karsinogen, seperti diakibatkan asap tembakau,
menyebabkan perubahan kecil pada selaput jaringan pada bronkus di paruparu (bronchial mucous membrane). Efek ini akan menyebabkan jaringan
rusak sehingga tumor terbentuk. Jika tumor tumbuh ke dalam asap tembakau
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
8
akan menghalangi jalur udara menyebabkan sulit bernafas. Paru-paru akan
runtuh dan akan terkena infeksi dan menyebabkan bisul paru-paru (lung
abscess). Penderita akan mulai batuk dan mengeluarkan lendir berdarah.
Namun jika tumor membesar ke luar paru-paru, penderita tidak menyadarinya
sehingga mulai menginfeksi bagian tubuh yang lain[3].
Menurut data GLOBOCAN (IARC) pada tahun 2012 diketahui bahwa
penyakit kanker paru- paru merupakan penyakit kanker dengan presentase
kasus baru tertinggi pada laki-laki yaitu sebesar 34,2%
dan presentase
kematian akibat penyakit kanker paru-paru sebesar 30,0%. Penyakit kanker
paru-paru tidak hanya diderita oleh kaum laki-laki saja namun kaum
perempuan penderita penyakit kanker paru-paru dengan presentase kasus baru
sebesar 13,6% dan presentase kematian akibat penyakit kanker paru-paru
sebesar 11,1%. (infoDatin. 2015).
Penyakit
kanker
payudara
dan
paru-paru
dapat
dideteksidengan
menggunakan data sekuen protein yaitu data asam amino dari penderita
penyakit tersebut cabang ilmu yang digunakan adalah Bioinfomatika adalah
ilmu yang mempelajari penerapan teknis komputasional untuk mengelola dan
menganalisa informasi biologis. Data yang digunakan biasanya berupa DNA
dan asam amino.
2.2 Bioinformatika
Bioinformatika merupakan bidang ilmu pengetahuan baru dimana biologi
molekular dan ilmu komputer saling berhubungan untuk mengembangkan caradara yang lebih baik dalam mengeksplor, menganalisis dan memahami data-data
genetis (St. Clair, Caroline dan Jonathan Visick. 2010).Data yang digunakan
adalah data DNA dan protein atau asam amino. Data-data tersebut digunakan
antara lain untuk mendapatkan informasi genetik, mengetahui struktur molekul,
menentukan fungsi biokimia. Selanjutnya informasi-informasi yang ada
digabungkan dan di analisis yang kemudian hasilnya digunakan untuk penemuan
obat maupun prediksi suatu penyakit.Data dalam bioinformatika ini merupakan
data yang sangat besar sehingga dibutuhkan database untuk menyimpannya.
Database tersebut terletak di berbagai negara antara lain Amerika Serikat, Jepang
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
9
dan Inggris. Para peneliti sering mencari informasi dari database yang ada seperti
susunan asam amino, struktur gen atau protein.
Ada satu alat yang sering dalam bioinformatika yaitu The Basic Alignment
Search Tool (BLAST). BLAST melakukan perbandingan antara input sekuen
dengan seluruh sekuen yang ada dalam database untuk mendapatkan sekuen yang
paling mirip.
2.2.1.
Protein
Protein merupakan komponen utama dalam semua sel hidup. Fungsinya
terutama adalah sebagai unsur pembentuk struktur sel, misalnya dalam
rambut, wol, kolagen, jaringan penghubung, membran sel dan lain-lain. Selain
itu dapat pula berfungsi sebagai protein yang aktif, seperti misalnya enzim,
yang berperan sebagai katalis segala proses biokimia dalam sel. Protein aktif
selain enzim yaitu hormone, pembawa O2 (hemoglobin), protein yang terkait
pada gen, toksin, antibodi/antigen, dan lain-lain. Beberapa ciri utama molekul
protein yaitu:
1. Berat molekulnya besar, ribuan sampai jutaan, sehingga merupakan suatu
markro molekul.
2. Umumnya terdiri atas 2 asam amino. Asam amino berikatan (secara
kovalen) satu dengan yang lain dalam variasi urutan yang bermacammacam,
membentuk
suatu
rantai
polipeptida.
Ikatan
polipeptida
merupakan ikatan antara gugus α-karboksil dari asam amino yang satu
dengan gugus α-amino dari asam amino yang lain.
3.
Terdapat ikatan kimia lain, yang menyebabkan terbentuknya lengkunganlengkungan rantai polipeptida menjadi struktur tiga dimensi protein.
Sebagai contoh misalnya ikatan hidrofob (ikatan apolar), ikatan ion atau
elektrostatik dan ikatan Van der Waals.
4. Strukturnya tidak stabil terhadap beberapa factor seperti pH, radiasi,
temperature, medium pelarut organic dan deterjen.
5. Umumnya reaktif dan sangat spesifik, disebabkan terdapatnya gugus
samping
yang
reaktif
dan
susunan
khas
struktur
makro
molekulnya.berbagai macam gugus samping yang biasa terdapat adalah
gugus kation, anion, hidroksil alifatik, amin, amida, tiol, dan gugus
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
10
hoterosiklik.
2.2.2.
Asam Amino
Asam Amino merupakan bagian struktur protein dan menentukan banyak
sifatnya yang penting. Gilisin merupakan asam amino pertama yang telah
diisolasi dari hidrolisat protein, sedangkan teronin adalah asam amino
pembentuk protein yang paling akhir dapat diisolasi, yaitu dari hidrolisat
fibrin. Ke-20 macam amino berserta simbol kependekannya yaitu Alamin (A),
Arginin (R), Asparagin (N), Asam Aspartat (D), Sistein (C), Glutamin (Q),
Asam Glutamat (E), Glisin (G), Histidin (H), Isolesin (I), Lesin (L), Lisin (K),
Metionim (M), Femilalanim (F), Prolin (P), Serin (S), Treonin (T), Triptofan
(W), Tirosin (Y), Valin (V) (Muhamad Wirawadikusma. 1977).
2.3 Pengenalan Pola
Secara umum pengenalan pola (pattern recognition) adalah ilmu untuk
mengklasifikasikan atau menggambarkan sesuatu berdasarkan kuantitatif fitur
(ciri) atau sifat utama dari suatu objek. Pola sendiri adalah suatu entitas yang
terdefinisi dan didefinisikan serta dapat diberi nama. Sidik jari adalah suatu
contoh pola. Pola biasanya merupakan hasil kumpulan hasil suatu pengukuran
atau pemantauan dan bisa dinyatakan dalam notasi vector atau matrik. (Putra,
2010).
Prapengolahan
n
Pencarian dan
seleksi fitur
Algoritma
klasifikasi
Gambar 2. 2 Mekanisme Pengenalan Pola
Pengenalan pola berkaitan dengan menemukan algoritma dan metode atau alat
yang bisa membuata implementasi komputer yang digunakan untuk berbagai
macam tugas pengenalan yang biasa dilakukan oleh manusia. Tujuan dari
mengerjakan apa yang tidak bisa dilakukan oleh manusia seperti membaca
barcode, dan membuat proses pembuatan keputusan menjadi otomatis yang
mengarah ke pengenalan klasifikasi. (Sankar K. Pal and Pabita Mitra. 2004).
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
11
Terdapat tiga tahapan dalam pengenalan pola yaitu yaitu pre-processing,
ekstraksi ciri atau seleksi fitur dan klasifikasi. Pre-processing merupakan tahapan
awal dalam mengolah data inputan sebelum masuk pada proses klasifiksi. Data
pre-processing kemudian masuk pada tahap ekstraksi ciri. Ekstraksi ciri adalah
suatu pengambilan ciri atau fitur dari suatu data, dimana nilai yang didapatkan
dianalisis untuk proses klasifikasi. Tahap terakhir adalah klasifikasi, data yang
sudah diekstrak akan digunakan untuk klasifikasi yang mengevaluasi informasi
yang masuk dan menghasilkan keputusan akhir.
2.4 Preprocessing dan Ekstraksi Ciri
Ekstraksi ciri merupakan proses mendapatkan ciri tertentu dari data yang
sudah dikumpulkan. Tujuan dari proses ekstraksi ciri ini adalah mencari
karakteristik penting yang berguna untuk proses pengenalan dan mengurangi
dimesi (reduksi dimensi) pengukuran ruang sehingga efektif dan algoritma dengan
komputasi yang mudah bisa digunakan untuk klasifikasi yang efektif.
Data Sekuen
Protein
EIIP
FFT
LPC
Gambar 2. 3 Blok diagram Proses Preprocessing dan Ekstraksi Ciri
Langkah Pertama untuk mendapatkan ciri dari data sekuen protein
adalah tahap pre-processing yaitu mengubah data .fasta yang bertipe String
menjadi bertipe numerik dengan memberikan nilai Electron- Ion Interaction
Potential (EIIP), lalu diproses menggunakan Fast Fourier Transform (FFT)
untuk mengubah data dari numerik menjadi data sinyal dan Linier Predictive
Coding (LPC) mendapatkan ciri dari setiap data.
2.4.1.
Electron- Ion Interaction Potential (EIIP)
EIIP adalah salah satu paremeter asam amino yang digunakan untuk
mengubah data sekuen asam amino menjadi sekuen numerik dimana setiap
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
12
asam amino akan diberikan nilai konstanta berdasarkan EIIP value.
Perhitungan dalam EIIP value adalah menggunakan energi dari elektron
valensi dan dihitung untuk setiap asam amino menggunakan model umum dari
pseudopotensial adalah sebagai berikut.
W = 0.25
Z∗ sin(1.04πZ∗ )
(2.1)
2π
Dimana Z* memwakili dari rata-rata nilai equevalensi, dengan rumus
dibawah ini:
1
Z ∗ = N ∑m
i=1 ni Zi
(2.2)
Dimana Zi adalah nomer valensi dari i-komponen atom, ni adalah nomer
dari i-komponen atom, m adalah nomer komponen atom di monekul, dan N
adalah total nomer atom. Seperti telah menunjukan bahwa perioditas dari
EIIP
disepanjang sekuen protein berkorelasi dengan biologis protein,
terutama dengan interaksi spesifik dengan ligan dan protein lainnya.
(Branislava Gemovic et al . 2013).
Tabel 2. 1EIIP value amino acid
Amino Acid
1-Letter code
Numerical code
EIIP
Leucine
L
0.0000
Isoluecine
I
0.0000
Asparagine
N
0.0036
Glycine
G
0.0050
Valine
V
0.0057
Glutamic Acid
E
0.0058
Proline
P
0.0198
Histidine
H
0.0242
Lysine
K
0.0371
Alanine
A
0.0373
Tyrosine
Y
0.0516
Trytophan
W
0.0548
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
2.4.2.
Glutamine
Q
0.0761
Methionine
M
0.0823
Serine
S
0.0829
Cysteine
C
0.0829
Threonine
T
0.0941
Phenylalanine
F
0.0954
Arginine
R
0.0956
Aspartic Acid
D
0.1263
13
Fast Fourier Transform (FFT)
Algoritma Alihragam Fourier Cepat atau Fast Fourier Transform (FFT)
merupakan prosedur penghitungan DFT yang efisien sehingga akan
mempercepat proses penghitungan DFT. Bila diterapkan pada kawasan waktu
maka algoritma ini disebut juga sebagai FFT penipisan dalam waktu atau
decimation-in-time (DIT). Penipisan kemudian mengarah pada pengurangan
yang signifikan dalam sejumlah perhitungan yang dilakukan pada data
kawasan waktu. Persamaanya menjadi :
nk
H1 (k) = ∑N−1
n=0 h(n)WN , untuk 0 ≤ k ≤ (N − 1) (2.3)
Dimana faktor 𝑒
−𝑗2πœ‹
𝑁
akan ditulis sebagai :
WN = e
−j2π⁄
N
= cos( 2π⁄N) − j sin(2π⁄N)
(2.4)
Akhiran n pada Persamaan (2.4) diperluas dari n=0 sampai dengan n=N-1,
bersesuaian dengan nilai data h(0), h(1), h(2), h(3)...h(N-1). Runtun bernomor
genap adalah h(0), h(2), h(4)....h(N-2) dan runtun bernomor ganjil adalah h(1),
h(3)....h(N-1). Kedua runtun berisi N/2-titik. Runtun genap dapat ditandakan
h(2n) dengan n=0 sampai n=N/2-1, sedangkan runtun ganjil menjadi h(2n-1).
Kemudian Persamaan selanjutnya dapat ditulis ulang menjadi :
N⁄
N⁄
2−1
2−1
H1 (k) = ∑n=0
h(2n)WN2nk + ∑n=0
h(2n − 1)WN2(2n+1)k
N⁄
N⁄
k
2nk
2−1
2−1
= ∑n=0
h(2n)W 2nk
N + WN ∑n=0 h(2n − 1)W N ,
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
untuk 0 ≤ k ≤ (N − 1)
14
(2.5)
Selanjutnya dengan menganti π‘Š 2π‘›π‘˜
menjadi π‘Š π‘›π‘˜
𝑁⁄ maka persamaan
𝑁
2
selanjutnya menjadi : (Nandra Pradipta. 2011)
N⁄
N⁄
nk
k
2−1
2−1
H1 (k) = ∑n=0
h(2n)W nk
N⁄ + WN ∑n=0 h(2n − 1)W N⁄
2
2
(2.6)
Untuk melakukan analisis frekuensi di dalam MATLAB, telah tersedia
command “Fast Fourier Transform” (FFT) sebagai berikut:
y = fft(x)
2.4.3.
(2.7)
Linier Predictive Coding (LPC)
Analisa Linear Predictive Coding (LPC) adalah salah satu cara untuk
mendapatkan sebuah pendekatan mengenai spektrum bunyi. Prinsip dasar dari
pemodelan sinyal dengan menggunakan LPC adalah bahwa pencuplikan
sinyal ucapan s(n) pada waktu ke-n dapat diperkirakan sebagai kombinasi
linear dari p cuplikan sinyal ucapan sebelumnya yaitu :
s(n) ≈ a1 s(n − 1) + a2 s(n − 2) + β‹― + ap s(n − p), p < 𝑛 (2.8)
Dimana koefisien a1, a2,…,ap diasumsikan konstan selama analisi frame
suara (Novi Aryanto, 2011).
Secara umum metode yang digunakan utuk mendapatkan informasi dari
ciri yang dinamis biasa disebut dengan delta-feature. Turunan watu dari ciri
dapat dihitung dengan beberapa metode, hasil dari perhitungan delta akan
ditambahkan ke vector ciri, sehingga menghasilkan vector ciri yang lebih
besar.
βˆ†yt = yt+D − yt−D
(2.9)
Dimana D mewakili jumlah dari frame untuk menutup kedua sisi frame
saat ini dan dengan demikian dapat mengontrol window y dengan pembedaan
operasi. D diset bernilai 1 atau 2. βˆ†yt adalah koefisien delta yang dihitung
dari frame t untuk vektor fitur LPC (F.Z. Chelali, etc, 2015).
Nilai dari delta akan diturunkan sekali lagi terhadpa waktu menjadi nilai
delta delta pada beberapa kasus delta delta disebut dengan koefisien
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
15
percepatan, kerena nilai tersebut turunan dari kuadrat waktu dari koefisien.
βˆ†βˆ†yt = βˆ†yt+D − βˆ†yt−D
(2.10)
Pengukuran energi merupakan salah satu cara untuk menambah nilai
koefisien yang dihitung dari LPC, nilai tersebut merupakan log energy signal.
Ini berarti pada setiap frame tredapat nilai energi yang ditambahkan, berikut
rumus untuk menghitung nilai energi :
2
Em = log ∑k−1
k=0 x_windowed (k; m)
(2.11)
Dimana x_windowed adalah sinyal hasil windowing, k adalah jumlah
frame dan m adalah panjang frame (Muslim Sidiq, etc, 2015).
Analisis LPC pada dasarnya digunakan untuk mendapatkan koefisien LPC
yang diperlihatkan pada gambar 2.4.
Sinyal ucap
diskret
Pembingkian
sinyal (Frame)
Penjendelaan
Metode
Autokorelasi
Parameter
Keluaran
Gambar 2. 4 Blok diagram analisis LPC
2.5 Algoritma Decision Tree
Pohon keputusan (decision tree) merupakan metode penambangan data
meodel klasifikasi. Salah satu metode data mining yang umum digunakan adalah
decision tree. Konsep decision tree adalah suatu struktur flowcart yang
menyerupain tree (pohon), dimana setiap simpul internal menandakan suatu tes
pada atribut, setiap cabang mempresentasikan hasil tes dan simpul daun
mempresentasikan kelas atau distribusi kelas. Alur pada decision tree di telusuri
dari simpul akar ke simpil daun yang memegang prekdisi kelas untuk untuk
contoh tersebut. (Jiawei Han dan Micheline Kamber. 2006).
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
16
Akar
Daun
caban
g
Kemungkinan
Kejadian
Daun
Kemungkinan
Kejadian
Gambar 2. 5 Contoh Pohon Keputusan
Decision tree digunakan untuk kasus-kasus yang menghasilkan output bernilai
diskrit. Walaupun banyak variasi model decision tree dengan tingkat kemampuan
dan syarat yang berbeda, pada umumnya beberapa ciri khusus yang cocok untuk
diterapkan dengan metode decision tree :
1. Data dinyatakan dengan pasangan atribut dan nilainya.
2. Label /output data biasanya bernilai diskrit.
3. Data mempunyai missing value.
Dalam decision tree setiap atribut ditanyakan disimpul. Jawaban dari atribut
ini dinyatakan dalam cabang sampai akhirnya ditemukan kategori/jenis dari suatu
objek disimpul akhir .Untuk membuat decision tree perlu diperhatikan beberapa
syarat berikut : (Budi Santoso. 2007)
1. Atribut mana yang akan dipilih untuk memisahan objek
2. Urutan atribut mana yang akan dipilih terlebih dahulu
3. Struktur tree
4. Kriteria pemberhentian
5. Pruning
Masalah pertama pada decision tree adalah atribut manakah yang digunakan
sebagai akar atau root dari tree yang akan dibentuk. Akar yang dimaksud adalah
pemisah pertama dari decision tree. Dikenal dengan istilah Bayesian Score yang
menilai suatu atribut atau dalam decision tree disebut dengan entropy. Entropy
dihitung dengan rumus sebagai berikut: (Prabowo, Rahmadya dan Herlawati.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
17
2013)
Entropy (S) = − ∑ni=1 pi ∗ log 2 ( pi )
(2.12)
Keterangan :
S = Himpunan Kasus
n = jumlah partisi atribut S
pi = proporsi Si terhadap S
Setelah mendapatkan nilai entropy untuk suatu kumpulan sampel data, maka
dapat melakukan pengukuran efektoivitas suatu atribut dalam pengklasifikasikan
data. Ukuran efektivitas ini yang disebut dengan information gain. Information
Gain adalah salah satu alat ukur seleksi atribut yang digunakan untuk memilih
data test atribut tiap node pada tree. Atribut dengan information Gain tertinggi
dipilih sebagai data test atribut dari suatu node selanjutnya. Rumus untuk
information Gain adalah: (Kantardzic. 2003)
|S |
Gain(S, A) = Entropy(S) − ∑ni=1 |S|i ∗ Entropy(S)
(2.10)
Keterangan :
S = Himpunan Kasus
A = Fiture
n
= jumlah partisi atributA
β”‚Siβ”‚
= proporsi Si terhadap S
β”‚Sβ”‚
= jumlah kasus pada S
2.6 K-Fold Cross Validation
Cross
validation
adalah
metode
statistic
yang
mengevaluasi
dan
membandingkan algoritma pembelajaran dengn membagi data menjadi dua yaitu
data training dan data testing. Bentuk dari cross validation adalah k-fold cross
validation. (Payam R., Lie Tang dan Huan Liu. 2008). Metode k-fold cross
validation yang sering dipakai adalah 3-fold cross validation dan 5-fold cross
validation. Dalam cross validation, tentukan nilai folds atau partisi untuk data.
Prinsip dari k-fold cross validation adalah membagi tiap kelompok data menjadi k
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
18
bagian kelompok data yang selanjutnya, data tersebut secara bergantian akan
digunakan untuk training dan testing sejumlah k pengujian.
Tabel 2. 2 3-Fold cross validation
Training
Testing
2,3
1
1,3
2
1,2
3
Misalkan untuk 3-fold cross validation data dibagi menjadi 3 bagian. Setiap
bagian yang akan digunakan unruk training dan testing secara bergantian. Dua
dari tiga bagian data digunakan untuk training maka bagian data ketiga digunakan
untuk testing (Ian H., Frank Eibe, Mark A. Hall . 2010). Jika bagian data pertama
dan kedua digunakan untuk training maka data kedua digunakan untuk testing.
Jiaka bagian data kedua dan ketiga yang digunakan untuk training maka bagian
data pertama yang digunakan untuk testing.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB III
METODOLOGI
Bab metodologi ini berisi gambaran proses yang akan dilakukan dalam
penilitian dan penjelasan cara kerja sistem, serta data sekuen protein yang
digunakan dalam penilitian.
3.1 Data
Dalam penelitian ini, data yang digunakan untuk klasifikasi kanker paruparu dan kanker payudara dengan algoritma decision tree adalah data sekuen
protein yang berupa sekumpulan asam amino. Data sekuen protein diperoleh
dari salah satu bank protein dunia yaitu Uniprot.org dan NCBI. Data sekuen
protein yang digunakan berformat .fasta. Sekuen protein yang terdiri dari
sekumpulan asam amino. Asam amino memiliki 20 macam yaitu Alamin (A),
Arginin (R), Asparagin (N), Asam Aspartat (D), Sistein (C), Glutamin (Q),
Asam Glutamat (E), Glisin (G), Histidin (H), Isolesin (I), Lesin (L), Lisin (K),
Metionim (M), Femilalanim (F), Prolin (P), Serin (S), Treonin (T), Triptofan
(W), Tirosin (Y), Valin (V). Data sekuen protein yang digunakan bertipe
String dengan panjang sekuen yang beda-beda pada setiap data.
Data sekuen protein yang digunakan dipre-processing dan diekstraksi ciri
terlebih dahulu sebelum digunakan dalam proses klasifikasi dengan algoritma
decision tree. Tahap pertama dilakukan adalah pre-prosesing yaitu dengan
mentrasformasikan data asam amino yang bertipe String menjadi numerik
menggunakan EIIP based protein value tahap kedua adalah ektraksi ciri yaitu
mengubah data bertipe numeric yang berupa time based menjadi sinyal
frequency based mengunakan FFT dan tahap yang terakhir ekstraksi ciri
menggunakan LPC dan turunan LPC dengan order 8 dan 12 untuk
mendapatkan ciri dari setiap data. Data yang telah diekstraksi ciri selanjutnya
19
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
20
dicleaning yaitu dengan menganti data yang memiliki missing value berupa
nilai NaN dengan nilai 0.
Untuk penelitian ini data yang digunakan sebanyak 417 sekuen protein
asam amino yang terdiri dari :
a. 37 sekuen protein asam amino manusia sehat
b. 255 sekuen protein asam amino kanker paru-paru (lung cancer)
c. 125 sekuen protein asam amino kanker payudara (breast cancer)
Contoh data sekuen protein asam amino jenis lung cancer yang digunakan:
Tabel 3 1 Contoh data sekuen protein
>sp|O14672|ADA10_HUMAN Disintegrin and metalloproteinase
domain-containing protein 10 OS=Homo sapiens GN=ADAM10 PE=1
SV=1
MVLLRVLILLLSWAAGMGGQYGNPLNKYIRHYEGLSYNVDSL
HQKHQRAKRAVSHEDQFLRLDFHAHGRHFNLRMKRDTSLFSD
EFKVETSNKVLDYDTSHIYTGHIYGEEGSFSHGSVIDGRFEGFIQ
TRGGTFYVEPAERYIKDRTLPFHSVIYHEDDINYPHKYGPQGGC
ADHSVFERMRKYQMTGVEEVTQIPQEEHAANGPELLRKKRTT
SAEKNTCQLYIQTDHLFFKYYGTREAVIAQISSHVKAIDTIYQTT
DFSGIRNISFMVKRIRINTTADEKDPTNPFRFPNIGVEKFLELNSE
QNHDDYCLAYVFTDRDFDDGVLGLAWVGAPSGSSGGICEKSK
LYSDGKKKSLNTGIITVQNYGSHVPPKVSHITFAHEVGHNFGSP
HDSGTECTPGESKNLGQKENGNYIMYARATSGDKLNNNKFSL
CSIRNISQVLEKKRNNCFVESGQPICGNGMVEQGEECDCGYSD
QCKKRRRPPQPIQQPQRQRPRESYQMGHMRR
3.2 Metode Penelitian
Metode penelitian menjelaskan urutan proses yang dilakukan dalam sistem
dengan dataset masukan berupa data protein berformat .fasta. Proses pelatihan
atau training bertujuan untuk membentuk model yang dalam penelitian ini
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
21
berupa tree. Proses pengujian sistem atau testing bertujuan sebagai pengenalan
atau penentuan jenis kanker. Proses training terdiri dari ekstraksi ciri dan
klasifikasi decision tree untuk membentuk model. Proses testing terdiri dari
ekstraksi ciri, klasifikasi dan validasi sehingga terbentuk presentase akurasi.
Alur proses dari sistem bisa dilihat pada block diagram pada gambar 3.1 :
Training
Testing
Data Protein
Data Protein
Preprocessing
Preprocessing
Ekstraksi Ciri
Ekstraksi Ciri
Modeling
Decision tree
Klasifikasi
Decision tree
Model Jenis
Kanker
Validasi
Output Jenis
Kanker
Gambar 3. 1 Diagram proses training dan testing
3.2.1
Preprocessing
Tahap pre-processing merupakan tahapan awal dalam mengolahan data
inputan sebelum masuk pada proses klasifikasi. Data yang dipreprocessing kemudian akan masuk dalam tahap ekstraksi ciri. Tahap preprocessing pada penelitian ini menggunakan Electron- Ion Interaction
Potential (EIIP) yang merupakan based protein value.
Data Sekuen
Protein
Electron- Ion Interaction
Potential (EIIP) based
protein value
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
22
Gambar 3. 2 Diagram Preprocessing
Langkah pertama tahap pre-processing adalah data sekuen protein dengan
format .fasta memilki dua bagian yaitu header dan sequence, bagian sequence
yang berupa 1-latter code dari asam amino yang akan digunakan dalam tahap
pre-processing menggunakan EIIP based protein value. Fungsi dari EIIP
adalah mentransformasikan sequence yang bertipe String menjadi numerik
berdasarkan nilai asam amino yang telah ditetapkan pada tabel 2. EIIP value
amino acid. Berikut ini adalah contoh sequence yang telah ditransformasikan,
yang divisualisasikan pada grafik seperti gambar 3.3 :
Gambar 3. 3Grafik sekuen protein asam amino A2KUC3
yang telah ditrasformasikan dengan EIIP based protein value
3.2.2
Ekstraksi Ciri
Ekstraksi ciri merupakan proses mendapatkan ciri dari data yang sudah
dikumpulkan, tujuan ekstraksi ciri ini adalah mendapatkan ciri penting dari
data sekuen protein.
Data Hasil
Preprocessing
FFT
LPC
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
23
Gambar 3. 4 Diagram ekstraksi ciri
Sekuen protein asam amino yang telah ditransformasikan menjadi
numerik menggunakan EIIP based protein value , selanjutnya masuk kedalam
proses ekstraksi ciri dengan menggunakan Fast Fourier Transform (FFT)
yaitu mengubah sinyal time base (hasil pre-processing) menjadi sinyal
frequency based. Hasil dari proses FFT bisa dilihat pada grafik steam gambar
dibawah ini :
Gambar 3. 5 Sinyal stem ekstraksi ciri dengan
FFT pada sekuen protein A2KUC3
Data yang telah diubah menjadi sinyal frequency based, selanjutnya
ekstraksi ciri lagi dengan LPC. Fungsi LPC adalah untuk mendapatkan ciri
dari setiap data yaitu dengan menghapus redundansi pada sinyal. Order yang
digunakan dalam penelitian ini adalah order 8 dan order 12. Pemilihan order
LPC berhubungan dengan pole, dimana pole yang berhubungan pada
frekuensi. Pole yang biasa digunakan adalah pole 3 dan 4. Penelitian ini
menggunakan pole 4 dengan order standar order 8 dan order 12 yang
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
24
merupakan nilai order pole kedua (8+4). Nilai order yang dipilih pada
penelitian ini berpengaruh pada nilai turunan LPC. Jika nilai order semakin
besar, maka nilai ciri pada turuanan dari LPC semakin kecil. Pada penelitian
ini, menggunakan 3 feature LPC yaitu LPC, delta LPC dan delta delta LPC.
Delta LPC adalah turunan pertama dari LPC dan delta delta LPC adalah
turunan kedua dari LPC. Turunan LPC digunakan untuk mendapatkan
informasi dari ciri yang dinamis dari fitur statis.
Pada order 8, setiap feature menghasilkan 8 ciri dan 1 energi. Jika semua
feature (LPC, deltaLPC, delta delta LPC) digabungkan menjadi satu, maka
panjang data yang terbentuk sebanyak 27, dimana panjang data akan menjadi
atribut dari data dalam proses klasifikasi. Hasil dari proses LPC dengan
order 8 feature LPC, delta LPC dan delta delta LPC pada gambarr dibawah ini
:
Gambar 3. 6 Sinyal stem LPC, delta LPC,
delta delta LPC order 8 sekuen protein A2KUC3
Sedangkan, untuk order 12, setiap feature LPC menghasilkan 12 ciri dan
1 energi. Jika semua feature (LPC, deltaLPC, delta delta LPC) digabungkan
menjadi satu, maka panjang data yang terbentuk sebanyak 39, dimana panjang
data akan menjadi atribut dari data dalam proses klasifikasi. Hasil dari proses
LPC dengan order 12 dengan feature LPC, delta LPC dan delta delta LPC
bisa dilihat pada grafik steam gambar 3.7 :
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
25
Gambar 3. 7 Sinyal stem LPC, delta LPC,
delta delta LPC order 12 sekuen protein A2KUC3
Setelah proses ektraksi ciri selasai, maka dilakukan cleaning data dari
hasil ekstraksi ciri yang memiliki missing value. Pada penelitian ini missing
value berupa nilai NaN akan diberi nilai baru yaitu nilai 0, untuk
menormalisasikan nilai data tanpa merubah nilai. Proses ini melooping semua
data yang dimiliki nilai NaN pada setiap baris dan kolom.
Pada proses ini juga penambahan label data berupa kelas 1 sampai 3.
Dimana kelas 1 berupa data sehat, kelas 2 berupa data kanker paru-paru dan
kelas 3 berupa data kanker payudara. Pemberian label dilakukan secara
otomatis berdasarkan banyaknya data dari folder class (sehat, kanker paruparu, dan kanker payudara). Label ditaruh dibagian kolom pertama dari data
dan kolom selanjutnya berupa atribut.
3.2.3
Proses Training
Pada proses training, data dari tahap ekstraksi ciri akan diklasifikasi
dengan menggunakan algoritma decision tree. Data sekuen protein yang telah
dilakukan ekstraksi ciri akan disimpan dalam format .mat. K-fold cross
validation yang digunakan pada penelitian ini adalah dengan menggunakan 3-
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
26
fold cross-validation. Proses pembagian data mengunakan cv partition milik
matlab dimana data akan dipartisi sebanyak k, dimana nilai k adalah 3, data
dipartisi menjadi 3 bagian untuk data training dan 3 bagian untuk data data
testing. Data sebanyak 417 akan dibagi menjadi 3 bagian masing-masing 278
untuk training 1, 278 untuk training 2, dan 278 untuk training 3. Proses
training digunakan untuk mendapatkan model dari klasifikasi dengan
menggunakan algoritma decision tree yaitu berupa tree. Berikut ini contoh
data training 1 pada feature LPC dengan order 8.
Gambar 3. 8 Contoh data training 1
feature LPC dengan order 8
3.2.4
Tahap Klasifikasi Decision Tree
Data sekuen protein yang sudah diekstraksi ciri, selanjutnya masuk dalam
proses klasifikasikan menggunakan algoritma decision tree. Data yang telah
dipartisi menjadi training 1, training 2, dan training 3, selanjutnya tiap training
dan feature LPC dengan order 8 dan 12 akan dibuat model atau tree. Pada
penelitian ini menghasilkan 18 tree yang terbentuk berdasarkan kombanasi
feature LPC dan training. Algoritma decision tree yang digunakan adalah
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
27
greedy decision tree. Langkah membuat tree dengan algoritma greedy
decision tree:
a. Dimulai dari membuat decision tree kosong
Gambar 3. 9 decision tree kosong
b. Pisahkan pada yang memiliki atribut terbaik.
1. Hitung nilai entropy untuk semua atribut.
Entropy (S) = − ∑ni=1 pi ∗ log 2 ( pi )
(3.1)
Lalu cari nilai binari untuk setiap atribut terhadap kelas,
nilai binary digunakan untuk perhitungan entropy terhadap
komposisi kelas.
Entropy (S) = −p log 2 p − ( 1 − p) log 2 (1 − p)
(3.2)
Dimana nilai p = 0.5 merupakan nilai p terbaik untuk
variabel binary.
Gambar 3. 10 entropy dari variabel binari
2. Hitung nilai entropy untuk semua data terhadap komposisi
kelas
|S |
Entropy (S|A) = ∑ni=1 |S|i ∗ Entropy(S)
3. Hiitung nilai information gain untuk setiap atribut.
(3.3)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
|S |
Gain(S, A) = Entropy(S) − ∑ni=1 |S|i ∗ Entropy(Si )
28
(3.4)
Att b
< 19,9
>= 19,9
Gambar 3. 11 Contoh level pertama decision tree
c. Ulangi (rekursif) langkah 2 untuk setiap daun
Gambar 3. 12 Hasil Tree yang terbentuk dari training 3
3.2.5
Pengujian
Pengujian dilakukan untuk mengetahui akurasi dari proses klasifikasi.
Akurasi merupakan presentase data yang terklasifikasi dengan benar. Dari
tahap pengujian dapat dibuktikan bahwa jenis kanker paru-paru, kanker
payudara dan sehat dapat dikenali dengan benar sesuai label. Pengujian dan
training menggunakan 3-fold cross-validation yaitu dengan membagi data
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
29
menjadi tiga bagian. Data sebanyak 417 akan dibagi menjadi 3 bagian (untuk
testing) masing-masing 139, 139, 139. Dua bagian data akan digunakan untuk
training dan satu bagian digunakan untuk testing. Proses akurasi untuk
menghitung nilai akurasi dengan mencocokan label kelas data testing dengan
prediksi kelas, lalu hitung data yang sama antara label kelas data testing
dengan prediksi lalu dibagi dengan jumlah data testing dan dikalikan 100 %.
Berikut ini contoh tabel validasi yaitu data pencocokan data testing.
Gambar3. 1 Contoh data pencocokan data testing
Dari tabel validasi diatas, dapat dihitung akurasi dari percobaan
yang telah dilakukan.
Akurasi =
∑ data benar
∑ total data
× 100%
Keterangan :
∑ data benar
= jumlah data yang benar pada kelas prediksi
∑ total data
= jumlah total data yang digunakan
(3.5)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB IV
ANALISIS HASIL DAN IMPLEMENTASI SISTEM
Pada bab ini akan dibahas hal-hal yang berkaitan dengan implentasi
sistem, hasil yang akan didapatkan dari pengujian-pengujian yang akan dilakukan,
serta analisis dari hasil pengujian.
4.1 Analisis Hasil
Berdasarkan hasil pengujian yang dilakukan dengan menggunakan model
dari klasifikasi yaitu berupa tree dengan kombinasi feature LPC dan
kombinasi order dengan ketiga data training. Dari proses pengujian ini
dihasilkan nilai akurasi, nilai akurasi rata-rata, waktu pembuatan tree dan nilai
pembuatan tree rata-rata yang berbeda-beda pada setiap feature LPC. Hasil
pengujian tree yang dilakukan dengan kombinasi feature LPC dan kombinasi
order dihadirkan secara keseluruhan pada tabel yang ditunjukan pada gambar
berikut ini.
Gambar 4. 1 Gambar tabel hasil perbandingan akurasi dan waktu
30
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
31
Dari kedelapan belas pengujian feature LPC dengan data training yang
berbeda didapatkan tree yang berbeda-beda, hasil akurasi rata-rata yang paling
baik sebesar 74,82% dengan waktu rata-rata 28,34 detik dengan feature LPC
order 8 dengan nilai akurasi training yang paling baik sebesar 79.85 % dengan
waktu 29.09 detik dan feature LPC, Delta LPC order 8 memiliki nilai akurasi
rata-rat terendah yaitu sebesar 68,70% dengan waktu rata-rata 33,64 detik
dengan nilai akurasi training terrendah sebesar 64.02 dengan waktu 32,2 detik
Grafik hasil akurasi rata-rata pengujian tree ditunjukan melalui grafik dibawah
ini :
Gambar 4. 2 Grafik akurasi rata-rata feature LPC
Nilai akurasi tree merupakan pengaruh dari besarnya range data yang
digunakan pada proses klasifikasi, dimana data berasal dari hasil ekstraksi ciri.
Range nilai atribut yang besar berpengaruh pada perhitungan entrory dan
information gain yang digunakan dalam perhitungan untuk membuat tree.
Lamanya waktu pembuatan tree merupakan pengaruh dari banyaknya atribut
yang digunakan pada proses klasifikasi, dimana banyaknya atribut berasal
total panjang order dari kombinasi feature LPC.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
32
4.2 Analisis Coding
2.1.1.
Ekstraksi Ciri
Proses Ekstraksi ciri diawali dengan tahap pre-processing data sekuen
protein, dan dilanjutkan dengan proses ekstraksi ciri. Proses ekstraksi ciri
berjalan jika tombol proses diklik kemudian semua data sekuen yang akan
digunakan dilooping satu persatu. Data sekuen protein yang tersimpan
dalam sebuah folder, untuk melakukan looping nilai i diset untuk folder
yang menunjukkan banyaknya kelas yang dimiliki, dalam penelilitian ini
ada 3, dalam setiap folder terdapat data sekuen protein yang berbedabeda, untuk data sehat 37 data sekuen protein, data kanker paru-paru 254
data sekuen protein dan data kanker payudara 125 data sekuen protein.
Data sekuen protein harus berformat .fasta, untuk proses looping
ditunjukan pada potongan source code berikut.
for i=1:3
folder=['C:\Users\quadran\Documents\MATLAB\decision
tree\class ',num2str(n),'\'];
j = 1;
file = [folder,'class ',num2str(n),' (',num2str(j),').fasta'];
Kode Program 4. 1 Looping data sekuen protein
Proses pre-processing data sekuen protein menggunakan EIIP
based protein value, yaitu mentransformasikan data sekuen protein
berformat String menjadi berformat numerik, untuk proses pre-processing
ditunjukan pada potongan source kode berikut.
while exist(file, 'file') == 2
%ekstraksi ciri
[f,databaru] = preprosses(file);
Kode Program 4. 2 Pre-processing data sekuen protein
Proses transformasi dengan EIIP based protein value. Tahap
pertama yang dilakukan membaca data sekuen protein berformat .fasta
dengan menggunakan fungsi fastaread milik matlab, bagian data yang
digunakan adalah bagian sequence yang berisi single letter-code dari asam
amino. Setiap single letter-code dari asam amino diberi nilai berdasarkan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
33
EIIP based protein value. Berikut ini potongan source code transformasi
EIIP.
a=fastaread(x);
s=a.Sequence;
l = length(s);
ds = [];
for i = 1:l
hr = s(i);
if hr == 'L'
ds(i)=0.0000;
elseif hr == 'I'
ds(i)=0.0000;
elseif hr == 'N'
ds(i)=0.0036;
elseif hr == 'G'
ds(i)=0.0050;
elseif hr == 'V'
ds(i)=0.0057;
elseif hr == 'E'
ds(i)=0.0058;
elseif hr == 'P'
ds(i)=0.0198;
elseif hr == 'H'
ds(i)=0.0242;
elseif hr == 'K'
ds(i)=0.0371;
elseif hr == 'A'
ds(i)=0.0373;
elseif hr == 'Y'
ds(i)=0.0516;
elseif hr == 'W'
ds(i)=0.0548;
elseif hr == 'Q'
ds(i)=0.0761;
elseif hr == 'M'
ds(i)=0.0823;
elseif hr == 'S'
ds(i)=0.0829;
elseif hr == 'C'
ds(i)=0.0829;
elseif hr == 'T'
ds(i)=0.0941;
elseif hr == 'F'
ds(i)=0.0954;
elseif hr == 'R'
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
34
ds(i) =0.0956;
elseif hr == 'D'
ds(i)=0.1263;
end
end
f=ds;
Kode Program 4. 3 Transformasi sekuen protein menggunakan EIIP
based value protein
Proses selanjutnya adalah ektraksi ciri menggunakan FFT. Data sekuen
protein ditransformasikan menjadi data bertipe numerik diekstraksi ciri menjadi
sinyal frequency based dengan menggunakan FFT. FFT berfungsi mengubah
sinyal dari time-base menjadi frequency-base (Yan-Zhi GUO, Meng-Long L, et
al. 2005). Proses ini menggunakan function FFT milik matlab, yang ditunjukan
pada potongan source code berikut.
%fft
FreqBase = fft(ds);
plot(1:l,abs(FreqBase(1:l)));figure(gcf);
Kode Program 4. 4 Proses FFT data sekuen protein
Data sekuen protein yang telah menjadi sinyal frequency-base selanjutnya
diekstraksikan ciri kembali dengan mengunakan LPC dan turunan dari LPC (delta
LPC dan delta delta LPC). LPC digunakan untuk menyeragamkan panjang sinyal
yang ditentukan berdasarkan order dan mendapatkan ciri dari setiap data. Pada
penelitian ini order yang digunakan adalah order 8 dan order 12. Berikut ini
adalah potongan source code dari function dolpc.m dan deltas.m
[nbands,nframes] = size(x);
if nargin < 2
modelorder = 8;
end
% Calculate autocorrelation
r = real(ifft([x;x([(nbands-1):-1:2],:)]));
% First half only
r = r(1:nbands,:);
% Find LPC coeffs by durbin
[y,e] = levinson(r, modelorder);
% Normalize each poly by gain
y = y'./repmat(e',(modelorder+1),1);
end
Kode Program 4. 5 LPC
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
35
if nargin < 2
w = 9;
end
[nr,nc] = size(x);
if nc == 0
% empty vector passed in; return empty vector
d = x;
else
% actually calculate deltas
% Define window shape
hlen = floor(w/2);
w = 2*hlen + 1;
win = hlen:-1:-hlen;
% pad data by repeating first and last columns
xx = [repmat(x(:,1),1,hlen),x,repmat(x(:,end),1,hlen)];
% Apply the delta filter
d = filter(win, 1, xx, [], 2); % filter along dim 2 (rows)
% Trim edges
d = d(:,2*hlen + [1:nc]);
end
Kode Program 4. 6 Delta LPC
Setiap data yang telah diolah menggunakan LPC dan deltaLPC dengan
order tertentu selanjutnya digabungkan menjadi satu data. Setiap feature
menghasilkan nilai sesuai order yang digunakan ditambah satu energi. Contoh
feature LPC dengan order 8 menghasilkan 9 nilai pada setiap data yang terdiri dari
8 ciri dan 1 energi. Setiap feature digabungkan menjadi satu data baru yang
ditampilkan dengan sinyal steam, yang ditunjukan pada potongan source code
berikut.
lpc =dolpc (FreqBase,8);
% stem(dellpc,'DisplayName','dellpc');figure(gcf);
deltalpc = deltas(lpc,8);
% stem(deltalpc,'DisplayName','deltalpc');figure(gcf);
deltadeltalpc = deltas(deltalpc,8);
% stem(deltadeltalpc,'DisplayName','deltadeltalpc');figure(gcf);
databaru = [lpc; deltalpc; deltadeltalpc];
plot(1:27,databaru);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
36
stem(databaru,'DisplayName','databaru');figure(gcf)
f=databaru;
end
Kode Program 4. 7 Penggabungan LPC, delta LPC, delta delta LPC
Data feature LPC yang telah digabungkan selanjutnya ditampilkan pada
halaman ekstraksi ciri menggunakan function axes milik matlab. Function axes
digunakan untuk menampilkan data dalam bentuk grafik figure yang ditunjukan
pada potongan source code berikut.
axes(handles.axTotalLPC)
stem(databaru,'DisplayName','databaru');
pause(0.01);
Kode Program 4. 8 Menampilkan data pada halaman Ekstraksi Ciri
Nilai hasil ekstraksi disimpan dalam suatu variabel dan dilakukan proses
transpose matriks dengan memberikan (‘) pada variabel yang akan ditranspose.
Transpose matriks digunakn untuk mengubah baris menjadi kolom atau
sebaliknya. Tujuan dilakukannya transpose adalah untuk memepermudah
pembacaan data pada proses klasifikas, yang ditunjukan pada potongan source
code berikut.
f = f';
Hasilf=[Hasilf;f]
Kode Program 4. 9 Trasnpose hasil ekstraksi ciri
Data hasil ekstraksi ciri yang telah tersimpan dalam suatu variabel
selanjutnya diberi label sesuai dengan kelas dari setiap data. Pemberian label
berdasakan folder data yang digunakan dalam proses pre-processing dan ekstraksi
ciri. Pemberia label berguna pada proses klasifikasi dan akurasi untuk
mencocokan data berada pada kelas mana. Berikut ini adalah potongan source
code untuk pelabelan data.
class(m)=n;
m=m+1;
j=j+1;
file = [folder,'class ',num2str(n),' (',num2str(j),').fasta'];
end
n=n+1;
end
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
37
class=class';
[m,n]=size(Hasilf);
Kode Program 4. 10 Pemberian label kelas pada data
Sebelum proses klasifikasi data yang telah diekstraksi ciri dilakukukan
cleaning data yaitu data memiliki missing value diberi nilai baru. Pada peneleitian
ini data yang memiliki nilai NaN diberikan nilai baru yaitu 0, yang ditunjukan
pada potongan source code berikut.
%missing value
for i=1:m
for j=1:n
if isnan(Hasilf(i,j))
Hasilf(i,j)=0;
end
end
end
Kode Program 4. 11 Missing Value
Sebelum masuk dalam proses klasifikasi data dipartisi menjadi n-bagian
menggunakan k-fold cross validation. Pada penelitian ini menggunakan 3-fold
cross validation. Partisi data menggunakan cvpartition milik matlab. Cvpartition
mempartisi data training dan testing secara random, sehingga data yang telah
diolah harus disimpan sebelum dilakukan proses klasifikasi. Berikut ini adalah
potongan source code partisi data.
[N] = size(Hasilf,1);
k = 3;
c1 = cvpartition(N,'kfold',k);
Kode Program 4. 12 Partisi Data
Data hasil pre-processing, ekstraksi ciri, pelabelan, missing value disimpan
dalam variabel data Hasilf sedangkan hasil partisi berupa data training dan data
testing disimpan didalam variabel data Training 1, Trainining 2, Training 3,
Testing 1, Testing 2 dan Testing3. Semua data yang telah disimpan dijadikan satu.
Data disimpan dengan format .mat untuk mempermudah pemanggilan data dalam
proses klasifikasi. Berikut potongan source code menyimpan data.
Hasilf=[class,Hasilf];
[Training1, Testing1, Training2, Testing2, Training3, Testing3] = foldSaya(
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
38
Hasilf );
save('hasilPre-processing.mat','Hasilf' , 'Training1', 'Testing1', 'Training2',
'Testing2', 'Training3', 'Testing3');
Kode Program 4. 13 Save Data
2.1.2.
Algoritma Decision Tree
Pengujian dilakukan dengan membuat pohon keputusan atau tree
untuk setiap proses training. Untuk melakukan klasifikasi, langkah
pertama adalah memanggil dataset dari pre-processing dan ekstraksi ciri
yang telah dipartisi yang disimpan dalam format.mat dengan function load
dari matlab. Pilih data training yang digunakan dalam proses klasifikasi.
Pisah data training menjadi dua bagian yaitu data atribut dan data kelas.
Beri nama untuk setiap atribut sesuai dengan panjang data. Untuk
membuat tree dibutuhkan function bulid_tree.m dengan inputan berupa
kelas, atribut, dan nama atribut, yang ditunjukan pada source code berikut
ini.
load('hasilPre-processing.mat');
Data = Training3;
% We want to predict the first column...
Y = Data(:,1);
% ...based on the others
X = Data(:,2:end);
cols =
{'att1','att2','att3','att4','att5','att6','att7','att8','att9','att10','att11','att12','a
tt13','att14','att15','att16','att17','att18',...
'att19','att20','att21','att22','att23','att24','att25','att26','att27'};
t = build_tree(X,Y,cols);
Kode Program 4. 14 Build decision tree
Langkah pertama yang dilakukan dalam build tree adalah membuat
root kosong lalu buat cabang pada root, yang ditunjukan pada source code
berikut ini.
[inds p labels bVal coloum] = split_node(X, Y, inds, p,labels, cols, 1,
bVal,coloum);
Kode Program 4. 15 Membuat root kosong
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
39
Untuk membuat cabang pada root, langkah pertama adalah cek
nilai Y (kelas) yang memiliki nilai unique dan cek nilai X (atribut) pada
baris yang memiliki nilai unique. Looping setiap atribut untuk mendapat
nilai information gain terbaik dengan cara yaitu untuk setiap nilai yang
unique dipisahakan jika nilai atribut pada saat itu tidak bisa membuat
cabang (jumlah nilai unique < 2) maka atribut tersebut akan dilewati.
Untuk menghitung information gain perlu mencari nilai biner dari setiap
nilai split. Hitung information gain dengan menghitung nilai entropy
semua data pada komposisi kelas dan nilai entropy kondisi kelas pada
setiap nilai atribut, jika nilai entropy sudah dihitung maka nilai Informatin
gain merupakan hasil dari entropy semua data terhadap kompisis kelas
dikurangi entropy kondisi kelas pada setiap nilai atribut. Cari information
gain terbaik pada nilai atribut yang unique lalu proses information gain
terbesar antar atribut untuk mendapatkan nilai pemisah, yang ditampilkan
pada source code berikut
Function [inds p labels bVal coloum] = split_node(X, Y, inds, p,
labels, cols, node, bVal, coloum)
% Recursively splits nodes based on information gain
% Check if the current leaf is consistent
if numel(unique(Y(inds{node}))) == 1
return;
end
if size(unique(X(inds{node},:),'rows'),1) == 1
return;
end
best_ig = -inf; %best information gain
best_feature = 0; %best feature to split on
best_val = 0; % best value to split the best feature on
curr_X = X(inds{node},:);
curr_Y = Y(inds{node});
% Loop over each feature
for i = 1:size(X,2)
feat = curr_X(:,i);
% Deterimine the values to split on
vals = unique(feat);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
40
splits = 0.5*(vals(1:end-1) + vals(2:end));
if numel(vals) < 2
continue
end
% Get binary values for each split value
bin_mat = double(repmat(feat, [1 numel(splits)]) < repmat(splits',
[numel(feat) 1]));
% Compute the information gains
H = ent(curr_Y);
H_cond = zeros(1, size(bin_mat,2));
for j = 1:size(bin_mat,2)
H_cond(j) = cond_ent(curr_Y, bin_mat(:,j));
end
IG = H - H_cond;
% Find the best split
[val ind] = max(IG);
if val > best_ig
best_ig = val;
best_feature = i;
best_val = splits(ind);
end
end
Kode Program 4. 16 Split node
Hal yang pertama dilakukan dalam membuat node adalah siapkan
cabang terlebih dahulu, lalu cari nilai atribut terbaik pada saat itu yang
lebih kecil dari nilai pemisah terbaik, cabang kiri untuk cabang yang
memiliki nilai lebih kecil sedangkan cabang kanan untuk cabang yang
memiliki nilai yang lebih besar. Beri label untuk cabang kiri dan kanan
berupa nama atribut dan nilai terbaik dari pemisah terbaik. Ulangi untuk
membuat node baru yaitu mencari split node (Kode Program 4. 17).
Berikut ini source code yang digunakan.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
41
% Split the current node into two nodes
feat = curr_X(:,best_feature);
feat = feat < best_val;
inds = [inds; inds{node}(feat); inds{node}(~feat)];
inds{node} = [];
p = [p; node; node];
labels = [labels; sprintf('%s < %2.2f', cols{best_feature}, best_val);
sprintf('%s >= %2.2f', cols{best_feature}, best_val)];
bVal = [bVal; best_val; best_val];
coloum = [coloum;best_feature;best_feature];
% Recurse on newly-create nodes
n = numel(p)-2;
[inds p labels bVal coloum] = split_node(X, Y, inds, p, labels, cols,
n+1, bVal,coloum);
[inds p labels bVal coloum] = split_node(X, Y, inds, p, labels, cols,
n+2, bVal,coloum);
Kode Program 4. 18 Membuat cabang
Tree yang sudah terbentuk ditampikan dalam sebuah figure baru
(terlepas dari halaman tree) agar tree dapat lebih mudah dilihat. Untuk
menampilkan tree menggunakan treeplot dan treelayout. Treeplot
digunakan untuk menampilkan kerangka tree berupa node-node dan
cabang, sedangkan treelayout untuk membuat koordinasi dari tree. Setelah
tree ditampilkan niali dari tree akan disimpan sebagai model utuk proses
akurasi. Berikut ini source code yang digunakan.
h1 = figure;
%% Display the tree
treeplot(t.p');
title('Decision tree (Visual Tree)');
[xs,ys,h,s] = treelayout(t.p');
for i = 2:numel(t.p)
% Get my coordinate
my_x = xs(i);
my_y = ys(i);
% Get parent coordinate
parent_x = xs(t.p(i));
parent_y = ys(t.p(i));
% Calculate weight coordinate (midpoint)
mid_x = (my_x + parent_x)/2;
mid_y = (my_y + parent_y)/2;
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
42
% Edge label
text(mid_x,mid_y,t.labels{i-1});
% Leaf label
if ~isempty(t.inds{i})
val = Y(t.inds{i});
if numel(unique(val))==1
text(my_x, my_y, sprintf('y=%2.2f\nn=%d', val(1), numel(val)));
else
%inconsistent data
text(my_x, my_y, sprintf('**y=%2.2f\nn=%d', mode(val),
numel(val)));
end
end
end
save ('tree.mat','t');
Kode Program 4. 19 Menampilkan Tree
2.1.3.
Akurasi Tree
Proses akurasi dilakukan dengan testing tree terlebih dahulu.
Proses testing dilakukan pada setiap baris dengan cara mencari cabang
node yang memiliki parent yang berupa root. Proses berikut ini
berlangsung selama tree masih memiliki cabang. Tentukan nilai atribut
node berada pada cabang kanan (lebih besar) atau kiri (lebih kecil). Setelah
ditentukan atribut masuk dalam cabang kiri atau kanan, maka cabang
tesebut akan menjadi node berikutnya. Tahap selanjutnya adalah mencari
cabang node yang memiliki parent dari cabang node yang telah ditentukan
sebelumnya. Setelah menemukan node terakhir (tidak memiliki cabang),
didapatkan lah prediksi kelas. Data prediksi kelas di simpan dalam sebuah
array. Berikut ini source code yang digunakan.
for i = 1 : size(att, 1)
curr = 1;
idx = find(tree.p == curr);
while isempty(tree.inds{curr})
if(att(i, tree.coloum{idx(1) - 1}) < tree.bVal{idx(1) - 1})
curr = idx(1);
else
curr = idx(2);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
43
end
idx = find(tree.p == curr);
end
tree.inds{curr};
val = X(tree.inds{curr});
class = [class unique(val)];
end
Kode Program 4. 20 Testing tree
Langkah pertama untuk menghitung nilai akurasi dengan
mencocokan label kelas data testing dengan prediksi kelas yang
didapatkan dari proses Testing tree, lalu hitung rata-rata data yang sama
antara label kelas data testing dengan prediksi kelas, yang ditampilkan
pada source code dibawah ini.
for i = 1 : size(result, 1)
if(result(i, 1) == result(i, 2))
equ = equ + 1;
end
tot = tot + 1;
end
acc = equ * 100 / tot;
Kode Program 4. 21 Menghitung akurasi
4.3 User interface
Untuk mempermudah dalam melakukan tahap klasifikasi pada penelitian
ini dibuat user interface. User interface ini dibuat untuk membantu dalam preprocessing, ekstraksi fitur sehingga mendapatkan hasil klasifikasi berupa tree,
akurasi dan pengujian dengan data uji tunggal. Pada halaman utama terdiri
dari beberapa menu untuk ekstraksi ciri, klasifikasi, akurasi dan pengujian
dengan data tunggal. Berikut merupakan halaman utama dalam penelitian ini :
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
44
Gambar 4. 3 User Interface Halaman Utama
Halaman ekstraksi ciri digunakan untuk menampilkan bagian
tahap pre-processing dan ekstraksi ciri. Implementasi menu ekstraksi ciri
dapat dilihat pada gambar di bawah ini :
Gambar 4. 4 Halaman Ekstraksi ciri
Pada halaman ekstraksi ciri menunjukan bahwa data sekuen protein
yang sedang mengalami proses pre-processing dan ekstraksi ciri, data
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
45
sekuen protein yang ditampilkan pada halaman tersebut akan berubah
sesuai dengan data yang sedah diproses.
Gambar 4. 5 Proses preproses dan ekstraksi ciri
pada halaman ekstraksi ciri
Halaman tree merupakan halaman yang menampilkan hasil
klasifikasi (tree) dengan algoritma decision tree. Dataset yang digunakan
sebanyak 278 data sekuen protein untuk training 1, 278 data sekuen
protein untuk training 2 dan 278 data sekuen protein untuk training 3.
Gambar 4. 6 Halaman Tree
Halaman akurasi tree merupakan halaman yang menampilkan hasil
akurasi dari tree yang terbentuk pada tahap klasifikasi. Nilai akurasi tree
yang ditunjukan didapatkan dari perhitungan jumlah data yang bener
dibagi dengan seluruh data yang digunakan.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
46
Gambar 4. 7 Halaman Akurasi Tree
Halaman uji tunggal digunakan untuk menguji satu data sekuen
protein. Pada halaman ini masukan berupa nomor indek data sekuen
protein yang telah di pre-processing dan diekstraksi ciri, data yang
digunakan adalah testing. Keluaran dari proses uji tunggal adalah kelas
dan nama kanker dari data yang diolah.
Gambar 4. 8 Halaman Uji Tunggal
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan percobaan dan penelitian yang telah dilakukan untuk
klasifikasikan jenis kanker paru- paru dan payudara berdasarkan susunan
protein dengan algoritma decision tree ini dapat ditarik kesimpulan sebagai
berikut :
1.
Metode
ekstraksi
ciri
dengan
mengunakan
LPC
dapat
meyeragamkan panjang data dan mendapatkan ciri dari setiap data
yang diolah dengan pada proses klasifikasi.
2.
Proses cleaning data dengan mengganti nilai data yang memiliki
missing value (NaN) dapat membantu pada proses klasifikasi.
3.
Pada klasifikasi jenis kanker paru- paru dan payudara berdasarkan
susunan protein
dengan algoritma decision tree, data sekuen
protein yang gunakan sejumlah 417, yang terdiri dari 37 data
sekuen protein sehat, 255 data sekuen protein kanker paru-paru
dan 125 data sekuen protein kanker payudara. Data sekuen protein
di bagi menggunakan 3-fold cross validation dengan nilai training
278,278 dan 278 dan nilai testing 139,139 dan 139 menghasilkan
akurasi paling tinggi sebesar 79,85% pada feature LPC order 8
dan akurasi paling rendah sebesar 64,02% pada pada feature LPC,
delta LPC order 8.
4.
Klasifikasi dilakukan dengan memodifikasi kombinasi feature
LPC, delta LPC dan delta delta LPC deng order 8 dan 12 pada
proses ekstraksi ciri. Dari keenam pengujian didapatkan ketepatan
dan kecepatan klasifikasi terbaik pada feature LPC order 8 dengan
akurasi rata-rata sebesar 74,82% dan waktu rata-rata pembuatan
tree 28.34 detik dengan akurasi tertinggi dari training 1 sebesar
79,85 % dan waktu pembuatan tree 29.09 detik.
47
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
48
5.2 Saran
Saran untuk penelitian akhir ini adalah :
1. Data sekuen protein ditambah lebih banyak terutama untuk data
sekuen protein sehat dan penambahan tingkat stadium untuk setiap
data sekuen protein kanker payudara dan paru-paru.
2. Range nilai dalam atribut disederhanakan dengan interval nilai
atau kategorisasi.
3. Menggunakan pre-processing dan ekstraksi ciri yang berbeda
untuk penelitian selanjutnya.
4. Pada algoritma decision tree dapat ditambah method prune untuk
menambah peningkatan akurasi.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR PUSTAKA
Branslava Gemovic, Vladimir Perovic, et al. Feature –Base Classification of
Amino Acid Subtantions outside Conserved Functional Protein Domains.
Hindawai Publishing Corporation The Scientific Word Journal.
F.Z. Chelali, K. Sadeddine, et al. Speaker indetification system using LPCApplication on Berber language.HD-SKD Internasional Jurnal.
Han, Jiawei and Micheline Kamber. Data Mining : Concepts and techniques 2nd
edition. 2006. Morgan Kaufmann. Sanfrancisco, CA.
http://labrosa.ee.columbia.edu/matlab/rastamat/dolpc.m. Diakses pada tanggal 5
Mei 2014.
http://www.uniprot.org/uniprot/. Diakses pada tanggal 20 november 2013
Kementerian Kesehatan RI. infoDatin, Pusat Data dan Informasi Kementrian
Kesehatan RI, STOP KANKER. 2015. Jakarta.
Luciana Kuswibawati. Kanker. 2000. Universitas Sanata Dharma. Yogyakarta.
Mining. 2004. CRC Press LLC. USA.
Mitra, Sushmita dan Tinku Acharya. Data Mining : multimedia, soft computing,
and bioinformatics. 2003. John Wiley & Sons, Inc.. New Jersey.
Nandra Pradipta. Implementasi Algoritma FFT (Fast Fourier Transform) Pada
Digital Signal Processor (DSP) TMS320C542. Jurnal Universitas
Diponegoro
Novi Arya Kurnianto. Pententuan Jenis Kelamin Itik dengan Metode Dinamic
Time Warping (DWT). Jurnal Universitas Diponegoro.
Pal, Sankar K. dan Pabitra Mitra. Pattern Recognition Algorithms for Data
Mining. 2004. CRC Press LLC.USA.
49
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
50
Prabowo pudjo Widodo, et al. Penerapan Data Mining dengan Matlab.2013.
Rekayasa Sains. Bandung.
Putra, dharma .Pengolahan Citra Digital . 2010.Andi Offset. Yogyakarta
Ria K., Marji, Widodo. Penggunaan Metode Pengelompokkan K-Means pada
Klasifikasi KNN Untuk Penentuan Jenis Kanker Berdasarkan Susunan
Protein. Jurnal Universitas Brawijaya.
Rizki., 1 desemeber 2008., Bioinformatika. http://bioinformatika-q.blogspot.co.id.
Diakses pada tanggal 28 November 2013.
Santoso, Budi. DATA MINING : Teknik Pemanfaatan Data untuk Keperluan
Bisnis. 2007. Graha Ilmu. Yogyakarta.
Sri Hartanti Yuliana. Kanker. 2000. Universitas Sanata Dharma. Yogyakarta.
St. Clair, Caroline dan Jonathan Visick. Exploring Bioinformatics : A
Projectbased Approach. 2010. Jones and Bartlett Publishers. USA.
Tim
kumpulan
isitilah
.2013.
Pengertian
http://www.kumpulanistilah.com. Diakses pada
kanker
paru-paru
tanggal 28 November
2013
Wahab Naira S., 25 agustus 2015., Mengapa Kanker Paru dan Kanker Payudara
tertinggi diindonesia?. http://www.kompasiana.com. Diakses pada tanggal
8 November 2015
Wirahadikusuma, Muhamad. Biokimia “protein, enzim dan asam nukleat”. 1977.
ITB Bandung. Bandung.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
51
LAMPIRAN I : Code Program
1. File Preprosesing.mat
function [f,databaru] = preprosses(x)
%UNTITLED4 Summary of this function goes here
% Detailed explanation goes here
%membaca fasta%
%x =
'C:\Users\quadran\Documents\MATLAB\program\databaru\kelas1\kelas1
(1).fasta';
a=fastaread(x);
%hanya mengambil sequence%
s=a.Sequence;
l = length(s);
ds = [];
for i = 1:l
hr = s(i);
if hr == 'L'
ds(i)=0.0000;
elseif hr == 'I'
ds(i)=0.0000;
elseif hr == 'N'
ds(i)=0.0036;
elseif hr == 'G'
ds(i)=0.0050;
elseif hr == 'V'
ds(i)=0.0057;
elseif hr == 'E'
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
ds(i)=0.0058;
elseif hr == 'P'
ds(i)=0.0198;
elseif hr == 'H'
ds(i)=0.0242;
elseif hr == 'K'
ds(i)=0.0371;
elseif hr == 'A'
ds(i)=0.0373;
elseif hr == 'Y'
ds(i)=0.0516;
elseif hr == 'W'
ds(i)=0.0548;
elseif hr == 'Q'
ds(i)=0.0761;
elseif hr == 'M'
ds(i)=0.0823;
elseif hr == 'S'
ds(i)=0.0829;
elseif hr == 'C'
ds(i)=0.0829;
elseif hr == 'T'
ds(i)=0.0941;
elseif hr == 'F'
ds(i)=0.0954;
elseif hr == 'R'
ds(i) =0.0956;
elseif hr == 'D'
ds(i)=0.1263;
end
52
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
end
f=ds;
timeBase = fft(ds);
%
% fs = 100;
% l = length(ds);
% w =(1:l)/l*(fs/2);
plot(1:l,abs(timeBase(1:l)));figure(gcf);
% satulpc = lpc (timeBase,8);
% stem(satulpc,'DisplayName','satulpc');figure(gcf)
lpc =dolpc (timeBase,8);
% stem(dellpc,'DisplayName','dellpc');figure(gcf);
deltalpc = deltas(lpc,8);
% stem(deltalpc,'DisplayName','deltalpc');figure(gcf);
deltadeltalpc = deltas(deltalpc,8);
% stem(deltadeltalpc,'DisplayName','deltadeltalpc');figure(gcf);
databaru = [lpc; deltalpc; deltadeltalpc];
%databaru = [lpc; deltalpc];
%databaru = [lpc];
%plot(1:39,databaru);
plot(1:27,databaru);
stem(databaru,'DisplayName','databaru');figure(gcf)
f=databaru;
%f=databaru;
53
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
54
end
2. foldSaya.mat
function [Training1, Testing1, Training2, Testing2, Training3, Testing3] =
foldSaya( Hasilf )
%UNTITLED Summary of this function goes here
[N] = size(Hasilf,1);
k = 3;
c1 = cvpartition(N,'kfold',k);
Training1 = Hasilf(find(c1.training(1) == 1), :);
Testing1 = Hasilf(find(c1.test(1) == 1), :);
Training2 = Hasilf(find(c1.training(2) == 1), :);
Testing2 = Hasilf(find(c1.test(2) == 1), :);
Training3 = Hasilf(find(c1.training(3) == 1), :);
Testing3 = Hasilf(find(c1.test(3) == 1), :);
end
3. doLPC.mat
function y = dolpc(x,modelorder)
%y = dolpc(x,modelorder)
%
% compute autoregressive model from spectral magnitude samples
%
% rows(x) = critical band
% col(x) = frame
%
% row(y) = lpc a_i coeffs, scaled by gain
% col(y) = frame
%
% modelorder is order of model, defaults to 8
% 2003-04-12 [email protected] after [email protected]
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
55
[nbands,nframes] = size(x);
if nargin < 2
modelorder = 8;
end
% Calculate autocorrelation
r = real(ifft([x;x([(nbands-1):-1:2],:)]));
% First half only
r = r(1:nbands,:);
% Find LPC coeffs by durbin
[y,e] = levinson(r, modelorder);
% Normalize each poly by gain
y = y'./repmat(e',(modelorder+1),1);
end
4. deltas.mat
function d = deltas(x, w)
% D = deltas(X,W) Calculate the deltas (derivatives) of a sequence
% Use a W-point window (W odd, default 9) to calculate deltas using a
% simple linear slope. This mirrors the delta calculation performed
% in feacalc etc. Each row of X is filtered separately.
% 2003-06-30 [email protected]
if nargin < 2
w = 9;
end
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
[nr,nc] = size(x);
if nc == 0
% empty vector passed in; return empty vector
d = x;
else
% actually calculate deltas
% Define window shape
hlen = floor(w/2);
w = 2*hlen + 1;
win = hlen:-1:-hlen;
% pad data by repeating first and last columns
xx = [repmat(x(:,1),1,hlen),x,repmat(x(:,end),1,hlen)];
% Apply the delta filter
d = filter(win, 1, xx, [], 2); % filter along dim 2 (rows)
% Trim edges
d = d(:,2*hlen + [1:nc]);
end
5. ent.mat
function result = ent(Y)
% Calculates the entropy of a vector of values
% Get frequency table
56
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
57
tab = tabulate(Y);
prob = tab(:,3) / 100;
% Filter out zero-entries
prob = prob(prob~=0);
% Get entropy
result = -sum(prob .* log2(prob))
6. cond_ent.mat
function result = cond_ent(Y, X)
% Calculates the conditional entropy of y given x
result = 0;
tab = tabulate(X);
% Remove zero-entries
tab = tab(tab(:,2)~=0,:);
for i = 1:size(tab,1)
% Get entropy for y values where x is the current value
H = ent(Y(X == tab(i,1)));
% Get probability
prob = tab(i, 3) / 100;
% Combine
result = result + prob * H;
end
7. build_tree.mat
function t = build_tree(X,Y,cols)
% Builds a decision tree to predict Y from X. The tree is grown by
% recursively splitting each node using the feature which gives the best
% information gain until the leaf is consistent or all inputs have the same
% feature values.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
58
%
% X is an nxm matrix, where n is the number of points and m is the
% number of features.
% Y is an nx1 vector of classes
% cols is a cell-vector of labels for each feature
%
% RETURNS t, a structure with three entries:
% t.p is a vector with the index of each node's parent node
% t.inds is the rows of X in each node (non-empty only for leaves)
% t.labels is a vector of labels showing the decision that was made to get
%
to that node
% Create an empty decision tree, which has one node and everything in it
inds = {1:size(X,1)}; % A cell per node containing indices of all data in
that node
p = 0; % Vector contiaining the index of the parent node for each node
labels = {}; % A label for each node
bVal = {};
coloum = {};
% Create tree by splitting on the root
[inds p labels bVal coloum] = split_node(X, Y, inds, p,labels, cols, 1,
bVal,coloum);
t.inds = inds;
t.p = p;
t.labels = labels;
t.bVal = bVal;
t.coloum = coloum;
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
function [inds p labels bVal coloum] = split_node(X, Y, inds, p, labels,
cols, node, bVal, coloum)
% Recursively splits nodes based on information gain
% Check if the current leaf is consistent
if numel(unique(Y(inds{node}))) == 1
return;
end
% Check if all inputs have the same features
% We do this by seeing if there are multiple unique rows of X
if size(unique(X(inds{node},:),'rows'),1) == 1
return;
end
% Otherwise, we need to split the current node on some feature
best_ig = -inf; %best information gain
best_feature = 0; %best feature to split on
best_val = 0; % best value to split the best feature on
curr_X = X(inds{node},:);
curr_Y = Y(inds{node});
% Loop over each feature
for i = 1:size(X,2)
feat = curr_X(:,i);
% Deterimine the values to split on
vals = unique(feat);
splits = 0.5*(vals(1:end-1) + vals(2:end));
59
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
if numel(vals) < 2
continue
end
% Get binary values for each split value
bin_mat = double(repmat(feat, [1 numel(splits)]) < repmat(splits',
[numel(feat) 1]));
% Compute the information gains
H = ent(curr_Y);
H_cond = zeros(1, size(bin_mat,2));
for j = 1:size(bin_mat,2)
H_cond(j) = cond_ent(curr_Y, bin_mat(:,j));
end
IG = H - H_cond;
% Find the best split
[val ind] = max(IG);
if val > best_ig
best_ig = val;
best_feature = i;
best_val = splits(ind);
end
end
% Split the current node into two nodes
feat = curr_X(:,best_feature);
feat = feat < best_val;
inds = [inds; inds{node}(feat); inds{node}(~feat)];
inds{node} = [];
p = [p; node; node];
60
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
61
labels = [labels; sprintf('%s < %2.2f', cols{best_feature}, best_val);
sprintf('%s >= %2.2f', cols{best_feature}, best_val)];
bVal = [bVal; best_val; best_val];
coloum = [coloum;best_feature;best_feature];
% Recurse on newly-create nodes
n = numel(p)-2;
[inds p labels bVal coloum] = split_node(X, Y, inds, p, labels, cols, n+1,
bVal,coloum);
[inds p labels bVal coloum] = split_node(X, Y, inds, p, labels, cols, n+2,
bVal,coloum);
8. MainGUI.mat
function varargout = GUIAkhir(varargin)
% MAINGUI M-file for MainGUI.fig
%
MAINGUI, by itself, creates a new MAINGUI or raises the existing
%
singleton*.
%
%
to
H = MAINGUI returns the handle to a new MAINGUI or the handle
%
the existing singleton*.
%
% MAINGUI('CALLBACK',hObject,eventData,handles,...) calls the
local
% function named CALLBACK in MAINGUI.M with the given input
arguments.
%
%
the
MAINGUI('Property','Value',...) creates a new MAINGUI or raises
%
existing singleton*. Starting from the left, property value pairs are
%
applied to the GUI before MainGUI_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property
application
%
stop. All inputs are passed to MainGUI_OpeningFcn via varargin.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one
%
instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help MainGUI
% Last Modified by GUIDE v2.5 31-Jan-2016 23:01:37
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @MainGUI_OpeningFcn, ...
'gui_OutputFcn', @MainGUI_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
62
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
% --- Executes just before MainGUI is made visible.
function MainGUI_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% varargin command line arguments to MainGUI (see VARARGIN)
% Choose default command line output for MainGUI
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes MainGUI wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = MainGUI_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in BtnProses.
63
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
function BtnProses_Callback(hObject, eventdata, handles)
% hObject
handle to BtnProses (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
clc;
warning off;
set(handles.axTotalLPC,'Visible','on');
n=1;
m=1;
Hasilf=[];
class=[];
for i=1:3
folder=['C:\Users\quadran\Documents\MATLAB\decision tree\class
',num2str(n),'\'];
j = 1;
file = [folder,'class ',num2str(n),' (',num2str(j),').fasta'];
while exist(file, 'file') == 2
[f,databaru] = preprosses(file);
axes(handles.axTotalLPC)
stem(databaru,'DisplayName','databaru');
pause(0.01);
f = f';
Hasilf=[Hasilf;f];
class(m)=n;
m=m+1;
j=j+1;
file = [folder,'class ',num2str(n),' (',num2str(j),').fasta'];
end
64
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
n=n+1;
end
class=class';
[m,n]=size(Hasilf);
for i=1:m
for j=1:n
if isnan(Hasilf(i,j))
Hasilf(i,j)=0;
end
end
end
for i=1:37
classAwal{i,1}='normal';
end
for i=38:292
classAwal{i,1}='KPr';
end
for i=293:416
classAwal{i,1}='KPy';
end
Hasilf=[class,Hasilf];
[Training1, Testing1, Training2, Testing2, Training3, Testing3] =
foldSaya( Hasilf );
% seedstruct = se_getseeds(foldsaya(Hasilf));
65
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
66
save('hasilPre-processing.mat','Hasilf','classAwal' , 'Training1', 'Testing1',
'Training2', 'Testing2', 'Training3', 'Testing3');
uiwait(msgbox('Pre-processing sudah selesai.'));
% --- Executes on button press in BtnAkurasi.
function BtnAkurasi_Callback(hObject, eventdata, handles)
% hObject
handle to BtnAkurasi (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
load('hasilPre-processing.mat');
load('tree.mat','t');
class = testingTree(Testing3(:, 2:end), t, Training3(:, 1))';
result = [Testing3(:, 1), class];
acc = CalculateAcc(result);
save('acc.mat', 'acc');
set(handles.HasilAkurasi, 'String', strcat(int2str(acc), '%'));
function class = testingTree(att,tree,X)
%% X = Class awal
class = [];
for i = 1 : size(att, 1)
curr = 1;
idx = find(tree.p == curr);
while isempty(tree.inds{curr})
%att(tree.coloum(idx(1)))
if(att(i, tree.coloum{idx(1) - 1}) < tree.bVal{idx(1) - 1})
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
curr = idx(1);
else
curr = idx(2);
end
idx = find(tree.p == curr);
end
tree.inds{curr};
%%mencocokan data
val = X(tree.inds{curr});
class = [class unique(val)];
end
function acc = CalculateAcc(result)
equ = 0;
tot = 0;
for i = 1 : size(result, 1)
if(result(i, 1) == result(i, 2))
equ = equ + 1;
end
tot = tot + 1;
end
acc = equ * 100 / tot;
% --- Executes on button press in BtnTree.
function BtnTree_Callback(hObject, eventdata, handles)
% hObject
handle to BtnTree (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
67
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
% handles
68
structure with handles and user data (see GUIDATA)
%% Load the auto data
load('hasilPre-processing.mat');
M = Training3;
% We want to predict the first column...
Y = M(:,1);
% ...based on the others
X = M(:,2:end);
%%untuk orde 8
%cols = {'att1','att2','att3','att4','att5','att6','att7','att8','att9'};
%cols =
{'att1','att2','att3','att4','att5','att6','att7','att8','att9','att10','att11','att12','att13',
'att14','att15','att16','att17','att18'};
cols =
{'att1','att2','att3','att4','att5','att6','att7','att8','att9','att10','att11','att12','att13',
'att14','att15','att16','att17','att18',...
'att19','att20','att21','att22','att23','att24','att25','att26','att27'};
%%untuk orde 12
%cols =
{'att1','att2','att3','att4','att5','att6','att7','att8','att9','att10','att11','att12','att13'
};
%cols ={'att1','att2','att3','att4','att5','att6','att7','att8','att9','att10','att11',...
%'att12','att13','att14','att15','att16','att17','att18','att19','att20','att21','att22','
att23','att24','att25','att26'};
%cols ={'att1','att2','att3','att4','att5','att6','att7','att8','att9','att10','att11',...
% 'att12','att13','att14','att15','att16','att17','att18','att19','att20','att21',...
%'att22','att23','att24','att25','att26','att27','att28','att29','att30','att31',....
%'att32','att33','att34','att35','att36','att37','att38','att39'};
%% Build the decision tree
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
t = build_tree(X,Y,cols);
h1 = figure;
%% Display the tree
treeplot(t.p');
title('Decision tree (Visual Tree)');
[xs,ys,h,s] = treelayout(t.p');
for i = 2:numel(t.p)
% Get my coordinate
my_x = xs(i);
my_y = ys(i);
% Get parent coordinate
parent_x = xs(t.p(i));
parent_y = ys(t.p(i));
% Calculate weight coordinate (midpoint)
mid_x = (my_x + parent_x)/2;
mid_y = (my_y + parent_y)/2;
% Edge label
text(mid_x,mid_y,t.labels{i-1});
% Leaf label
if ~isempty(t.inds{i})
val = Y(t.inds{i});
if numel(unique(val))==1
text(my_x, my_y, sprintf('y=%2.2f\nn=%d', val(1), numel(val)));
69
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
else
%inconsistent data
text(my_x, my_y, sprintf('**y=%2.2f\nn=%d', mode(val),
numel(val)));
end
end
end
save ('tree.mat','t');
% --- Executes on button press in UTbutton.
function UTbutton_Callback(hObject, eventdata, handles)
% hObject
handle to UTbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
load('hasilPre-processing.mat');
load('tree.mat');
index =str2double(get(handles.IndexInputUT,'String'));
dataIndex = Testing3(index, 2:end);
hasilclass = testingTree(Testing3(index, 2:end), t, Training3(:, 1))';
save('UT.mat', 'hasilclass');
% a = hasilclass;
% %check the boolean condition
% if a == 1
%
% if condition is true then print the following
%
fprintf('Normal' );
% elseif( a == 2)
%
% if else if condition is true
%
fprintf('Kanker Paru - paru)' );
% elseif a == 3
%
% if else if condition is true
70
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
%
71
fprintf('kanker payudara' );
% else
%
% if none of the conditions is true '
%
fprintf('maaf anda salah');
% end
set(handles.HasilUT, 'String', strcat(' ', int2str(hasilclass)));
set(handles.UTData,'Data',dataIndex);
function IndexInputUT_Callback(hObject, eventdata, handles)
% hObject
handle to IndexInputUT (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of IndexInputUT as text
%
str2double(get(hObject,'String')) returns contents of IndexInputUT
as a double
% --- Executes during object creation, after setting all properties.
function IndexInputUT_CreateFcn(hObject, eventdata, handles)
% hObject
handle to IndexInputUT (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
72
Download