OPTIMASI FUZZY DECISION TREE MENGGUNAKAN ALGORITME GENETIKA PADA DATA DIABETES
WELLYA SEPTIN
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2008
OPTIMASI FUZZY DECISION TREE MENGGUNAKAN ALGORITME GENETIKA PADA DATA DIABETES
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
WELLYA SEPTIN G64104002
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2008
ABSTRAK WELLYA SEPTIN. Optimasi Fuzzy Decision Tree Menggunakan Algoritme Genetika pada Data Diabetes. Dibimbing oleh IMAS S. SITANGGANG dan IRMAN HERMADI. Hasil survey Organisasi Kesehatan Dunia (WHO) pada tahun 2004, menyatakan Indonesia menempati urutan keempat terbesar dalam jumlah penderita kencing manis (diabetes melitus) di dunia setelah India, Cina, dan Amerika Serikat. Data diabetes terkait hasil pemeriksaan laboratorium dari pasien di rumah sakit dibiarkan menggunung tanpa digunakan secara maksimal. Oleh karena itu, penelitian dengan mengaplikasikan teknik data mining pada data diabetes perlu dilakukan agar diperoleh informasi mengenai karakteristik pasien yang dinyatakan positif diabetes atau negatif diabetes. Salah satu output dari teknik data mining adalah pohon keputusan (decision tree) yang dapat digunakan untuk memprediksi apakah seseorang menderita diabetes atau tidak. Penelitian ini menggunakan salah satu teknik data mining yaitu teknik klasifikasi dengan menggunakan metode fuzzy decision tree. Algoritme decision tree yang digunakan yaitu fuzzy ID3 (Iterative Dichotomiser 3). Algoritme genetika digunakan sebagai teknik optimasi terhadap fuzzy decision tree (FDT) sehingga diperoleh genetically optimized fuzzy decision tree (G-DT). Bagian FDT yang dioptimasi dengan algoritme genetika adalah fungsi keanggotaan fuzzy. Hasil penelitian ini berupa model (classifier), fungsi keanggotaan fuzzy yang telah dioptimasi, dan nilai akurasi G-DT yang lebih baik daripada nilai akurasi FDT. Model yang dihasilkan dari proses training G-DT mengandung 27 aturan yang terdiri atas 25 aturan mengandung kelas target negatif diabetes dan dua aturan mengandung kelas target positif diabetes. Model yang dihasilkan dari proses training FDT mengandung 30 aturan yang terdiri atas 29 aturan mengandung kelas target negatif diabetes dan satu aturan mengandung kelas target positif diabetes. Fungsi keanggotaan yang digunakan dalam pembentukan G-DT berbeda dengan FDT. Pada FDT, fungsi keanggotaan fuzzy telah ditentukan dari awal. Sedangkan pada G-DT, fungsi keanggotaan diperoleh selama pembelajaran. Rata-rata nilai akurasi G-DT meningkat sebesar 4.83% dari rata-rata nilai akurasi FDT. Rata-rata akurasi FDT adalah sebesar 90.69%, sedangkan rata-rata akurasi G-DT adalah sebesar 95.52%. Kata kunci: klasifikasi, decision tree, optimasi fuzzy decision tree, algoritme genetika, genetically optimized fuzzy decision tree
Judul : Optimasi Fuzzy Decision Tree Menggunakan Algoritme Genetika pada Data Diabetes Nama : Wellya Septin NIM : G64104002
Menyetujui: Pembimbing I,
Pembimbing II,
Imas S. Sitanggang, S.Si, M.Kom NIP 132206235
Irman Hermadi, S.Kom, M.S NIP 132321422
Mengetahui: Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Dr. Drh. Hasim, DEA NIP 131578806
Tanggal Lulus:
RIWAYAT HIDUP Penulis dilahirkan di Bukittinggi pada tanggal 27 September 1986, dari pasangan Ir. Zamri Rasyidin dan Eliza. Penulis merupakan putri kedua dari tiga bersaudara. Pada tahun 1998, penulis lulus dari SD Negeri 150/IV Kotabaru Kota Jambi, lalu pada tahun yang sama melanjutkan pendidikan di SLTP NEGERI 11 Kota Jambi. Pada tahun 2001, penulis lulus dari SLTP dan melanjutkan sekolah di SMU Negeri 1 Kota Jambi hingga tahun 2004. Pada tahun yang sama penulis berkesempatan untuk melanjutkan studinya di Institut Pertanian Bogor (IPB) melalui jalur USMI (Undangan Seleksi Masuk IPB) sebagai mahasiswa S1 Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Selama di IPB, penulis aktif dalam kegiatan beberapa kegiatan kemahasiswaan terutama di Himpunan Mahasiswa Ilmu Komputer (HIMALKOM) periode 2005/2006. Pada tahun 2007 penulis mendapatkan beasiswa prestasi belajar dari Pemerintah Daerah (PEMDA) Propinsi Jambi. Pada tahun 2007, penulis melaksanakan kegiatan praktik kerja lapangan di PT Surya Citra Televisi (SCTV) Divisi Broadcast Engineering selama dua bulan. Penulis juga pernah menjadi anggota tim tenaga IT (information technology) PHK TIK Departemen Agronomi dan Hortikultura IPB dalam rangka pengembangan course content praktikum Ekologi Pertanian.
PRAKATA Alhamdulillahi Rabbil ‘alamin, puji dan syukur penulis panjatkan kepada Allah SWT atas segala curahan rahmat dan karunia-Nya sehingga tugas akhir ini dapat diselesaikan. Tugas akhir ini berjudul Optimasi Fuzzy Decision Tree Menggunakan Algoritme Genetika pada Data Diabetes. Dalam menyelesaikan tugas akhir ini penulis mendapatkan banyak sekali bantuan, bimbingan dan dorongan dari berbagai pihak. Oleh karena itu, penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu dalam penyelesaian tugas akhir ini, antara lain: 1 Kedua orangtua tercinta, papa Ir. Zamri Rasyidin dan mama Eliza atas segala do’a, kasih sayang, dan dukungannya, 2 Kakak dr. Nella Yesdelita dan adik Rifki Zel tercinta yang selalu memberikan motivasi dalam penyelesaian tugas akhir ini, 3 Ibu Imas S. Sitanggang, S.Si, M.Kom selaku pembimbing pertama atas bimbingan dan arahannya selama pengerjaan tugas akhir ini, 4 Bapak Irman Hermadi S.Kom, MS selaku pembimbing kedua atas bimbingan dan arahannya selama pengerjaan tugas akhir ini, 5 Bapak Hari Agung, S.Kom, M.Si selaku moderator dalam seminar dan penguji dalam sidang, 6 Teny Handhani atas persahabatan, bantuan dan motivasinya, 7 Teman-teman di Pondok Sabrina terutama Popi, Inez, Bibib, Rini dan Yuli atas persahabatan, bantuan dan motivasinya, 8 Tri, Henri, Gananda, Rafi, Hasan, Heni, Yaghi, mba Risha, Syadid, Wawan, Denny, Udin, Yohan atas bantuan dan kebersamaan selama konsultasi bersama, 9 Indri dan Roni atas kesediaannya menjadi pembahas dalam seminar, 10 Kak Firat, mas Irfan, Anizza, Fernissa, Kikis, Marisa, dan Ayu atas bantuan dan motivasinya, 11 Seluruh teman-teman seperjuangan Program Studi Ilmu Komputer angkatan 41 yang tidak dapat disebutkan namanya satu-persatu. Penulis juga mengucapkan terima kasih kepada semua pihak yang telah membantu selama pengerjaan penyelesaian tugas akhir ini yang tidak dapat disebutkan satu-persatu. Semoga penelitian ini dapat memberi manfaat.
Bogor, Mei 2008
Wellya Septin
v
DAFTAR ISI Halaman DAFTAR TABEL.......................................................................................................................... vii DAFTAR GAMBAR ..................................................................................................................... vii DAFTAR LAMPIRAN.................................................................................................................. vii PENDAHULUAN Latar Belakang ............................................................................................................................. 1 Tujuan .......................................................................................................................................... 1 Ruang Lingkup............................................................................................................................. 1 Manfaat Penelitian ....................................................................................................................... 2 TINJAUAN PUSTAKA Data Mining ................................................................................................................................. 2 Klasifikasi .................................................................................................................................... 2 Logika Fuzzy ................................................................................................................................ 2 Fungsi Keanggotaaan ................................................................................................................... 2 Fuzzy ID3 Decision Tree.............................................................................................................. 3 Fuzzy Entropy dan Information Gain........................................................................................... 3 Sistem Inferensi Fuzzy ................................................................................................................. 4 Fuzzy C-Means (FCM)................................................................................................................. 4 K-fold Cross Validation ............................................................................................................... 4 Algoritme Genetika ...................................................................................................................... 4 Encoding Kromosom dan Inisialisasi Populasi ............................................................................ 5 Evaluasi Fitness ........................................................................................................................... 5 Elitisme ........................................................................................................................................ 5 Seleksi (Selection)........................................................................................................................ 5 Rekombinasi (Crossover)............................................................................................................. 5 Mutasi (Mutation) ........................................................................................................................ 6 Terminasi Algoritme Genetika..................................................................................................... 6 METODE PENELITIAN Data .............................................................................................................................................. 6 Metode ......................................................................................................................................... 6 Pembagian data .................................................................................................................... 6 Pembentukan G-DT.............................................................................................................. 7 Percobaan untuk mencari parameter algoritme genetika yang optimal .............................. 10 Training G-DT ................................................................................................................... 10 Lingkup Pengembangan Sistem ................................................................................................. 11 HASIL DAN PEMBAHASAN Pemilihin Training Set dan Testing Set ...................................................................................... 11 Percobaan untuk Mencari Parameter Algoritme Genetika yang Optimal .................................. 12 Ukuran populasi sebesar 10................................................................................................ 12 Ukuran populasi sebesar 30 dan 50 .................................................................................... 12 Penentuan parameter yang optimal .................................................................................... 13 Training G-DT ........................................................................................................................... 14 Representasi Pengetahuan .......................................................................................................... 15 Perbandingan G-DT dan FDT .................................................................................................... 16 Proses pembentukan tree.................................................................................................... 16 Hasil training ..................................................................................................................... 17 Evaluasi Kinerja G-DT............................................................................................................... 20
vi
KESIMPULAN DAN SARAN Kesimpulan ................................................................................................................................ 21 Saran........................................................................................................................................... 21 DAFTAR PUSTAKA .................................................................................................................... 22 LAMPIRAN................................................................................................................................... 23
vii
DAFTAR TABEL Halaman 1 2 3 4 5 6 7 8 9 10 11
Contoh populasi awal berukuran 10............................................................................................9 Contoh populasi akhir berukuran 10 .........................................................................................10 Hasil eksekusi program G-DT menggunakan 10 training sets dan 10 testing sets....................11 Persebaran data negatif dan positif diabetes pada setiap training set dan testing set ................11 Hasil percobaan dengan variasi tingkat rekombinasi dan tingkat mutasi ..................................13 Hasil percobaan dengan variasi ukuran populasi dan maksimum generasi...............................13 Hasil training untuk training set 2 ............................................................................................14 Hasil training untuk training set 3 ............................................................................................14 Hasil training G-DT untuk setiap training set ..........................................................................15 Hasil training G-DT ..................................................................................................................17 Hasil training FDT....................................................................................................................18
DAFTAR GAMBAR Halaman 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Fungsi keanggotaan trapezoidal..................................................................................................2 Operator rekombinasi..................................................................................................................5 Operator mutasi...........................................................................................................................6 Alur penelitian.............................................................................................................................7 Tahapan pembentukan G-DT. .....................................................................................................7 Representasi nilai parameter fungsi keanggotaan fuzzy di dalam kromosom..............................8 Contoh kromosom. ......................................................................................................................8 Grafik hasil clustering menggunakan FCM. ...............................................................................8 Panjang rentang nilai a, b, c, dan d..............................................................................................8 Alur pemilihan parameter yang optimal bagi ukuran populasi sebesar 10................................12 Himpunan fuzzy atribut GLUN..................................................................................................19 Himpunan fuzzy atribut GPOST. ...............................................................................................20 Himpunan fuzzy atribut HDL. ...................................................................................................20 Himpunan fuzzy atribut TG. ......................................................................................................20 Antarmuka grafis aplikasi G-DT...............................................................................................21
DAFTAR LAMPIRAN Halaman 1 Hasil percobaan untuk 90 kombinasi parameter pada ukuran populasi sebesar 10 ...................24 2 Hasil percobaan untuk 12 kombinasi parameter pada ukuran populasi sebesar 10 ...................26 3 Hasil percobaan untuk 3 kombinasi parameter menggunakan training set 2 pada ukuran populasi sebesar 10 ...................................................................................................................30 4 Hasil percobaan untuk parameter yang optimal pada ukuran populasi sebesar 30 & 50...........31 5 Hasil training dari training set 1, 4, 5, 6, 7, 8, 9, dan 10 dengan menggunakan parameter algoritme genetika yang optimal ...............................................................................................31 6 Contoh sebagian data training set 1 dan testing set 1................................................................34 7 Contoh sebagian data training set 1 hasil fuzzikasi untuk membentuk FDT ............................35 8 Contoh sebagian data training set 1 hasil fuzzikasi untuk membentuk G-DT ..........................36 9 Fuzzy decision tree untuk contoh training set 1 ........................................................................37 10 Aturan klasifikasi menggunakan FDT dari contoh training set 1 .............................................38 11 Genetically optimized fuzzy decision tree untuk contoh training set 1......................................39 12 Aturan klasifikasi menggunakan G-DT dari contoh training set 1 ...........................................40 13 Fungsi keanggotaan dari training set 1, 2, 3, 4, 5, 7, 8, 9, dan 10. ............................................41 14 Fungsi keanggotaan untuk membentuk FDT ............................................................................47
1
PENDAHULUAN Latar Belakang Hasil survey Organisasi Kesehatan Dunia (WHO) pada tahun 2004, menyatakan Indonesia menempati urutan keempat terbesar dalam jumlah penderita kencing manis (diabetes melitus) di dunia setelah India, Cina, dan Amerika Serikat. Pada tahun 2006, jumlah penderita diabetes di Indonesia mencapai 14 juta orang. Dari 14 juta orang, hanya 50% penderita yang sadar mengidap diabetes, dan hanya sekitar 30% diantaranya melakukan pengobatan secara teratur. Sehingga setiap tahun, jumlah penderita diabetes semakin meningkat. Di lain pihak, data diabetes terkait hasil pemeriksaan laboratorium dari pasien di rumah sakit dibiarkan menggunung tanpa digunakan secara maksimal. Oleh karena itu, penelitian perlu dilakukan untuk menganalisis data diabetes. Salah satunya dengan mengaplikasikan teknik data mining agar diperoleh suatu informasi atau pengetahuan seperti pohon keputusan sebagai penunjang pengambilan keputusan. Dengan demikian jumlah penderita diabetes dapat ditekan. Penelitian ini terkait dengan penelitian yang telah dilakukan oleh Firat Romansyah pada tahun 2007 mengenai data mining dengan judul “Penerapan Teknik Klasifikasi dengan Metode Fuzzy Decision Tree dengan Algoritme ID3 pada Data Diabetes”. Data mining merupakan proses ekstraksi informasi dari data berukuran besar (Han & Kamber 2006). Klasifikasi merupakan salah satu metode dalam data mining untuk mengetahui label kelas dari suatu record dalam data. Salah satu metode klasifikasi yaitu fuzzy decision tree. Penggunaan teknik fuzzy memungkinkan dilakukan penentuan suatu objek yang dimiliki oleh lebih dari satu kelas. Penelitian sebelumnya telah menghasilkan aturan klasifikasi pada data diabetes dengan menggunakan fuzzy decision tree, sehingga diperoleh informasi untuk memprediksi potensi seseorang terkena diabetes. Algoritme genetika merupakan algoritme yang dapat menyelesaikan masalah optimisasi. Algoritme genetika dapat menangani beberapa fungsi objektif, bekerja pada sekumpulan calon solusi, dan menggunakan aturan transisi peluang bukan aturan deterministik. Pada penelitian ini, algoritme genetika digunakan untuk mengoptimasi fuzzy decision tree (FDT)
sehingga diperoleh genetically optimized fuzzy decision tree (G-DT) (Pedryez & Sosnowki 2005). Optimasi ini dilakukan untuk meningkatkan nilai akurasi. Dengan demikian, informasi atau pengetahuan untuk memprediksi potensi seseorang terkena diabetes menjadi lebih baik daripada hasil penelitian sebelumnya. Tujuan 1
Tujuan penelitian ini adalah: Menerapkan algoritme genetika untuk mengoptimumkan fuzzy decision tree (FDT) sehingga diperoleh genetically optimized fuzzy decision tree (G-DT) pada data diabetes, sehingga diperoleh nilai akurasi yang lebih baik daripada penelitian sebelumnya.
2
Membangun aplikasi sederhana untuk membuat model (aturan klasifikasi) dengan menggunakan fuzzy decision tree yang dioptimasi dengan algoritme genetika.
3
Membandingkan hasil implementasi fuzzy decision tree (FDT) dengan genetically optimized fuzzy decision tree (G-DT).
Ruang Lingkup 1
2
Ruang lingkup penelitian dibatasi pada: Membangun sebuah model untuk mengetahui potensi seseorang terkena diabetes dengan menggunakan data hasil pemeriksaan lab dari sebuah rumah sakit yang meliputi pemeriksaan GLUN (Glukosa Darah Puasa), GPOST (Glukosa Darah 2 Jam Pasca Puasa), TG (Trigliserida), HDL (Kolesterol HDL), serta diagnosa pasien berdasarkan nilai GLUN, GPOST, HDL dan TG. Diagnosa pasien ditransformasi menjadi dua kategori, yaitu negatif diabetes dan positif diabetes. Penelitian ini menggunakan salah satu teknik data mining yaitu teknik klasifikasi dengan menggunakan metode fuzzy decision tree. Pendekatan fuzzy digunakan untuk menangani ketidakpastian dan ketidaktepatan. Algoritme fuzzy decision tree yang digunakan yaitu fuzzy ID3 (Iterative Dichotomiser 3). Algoritme genetika digunakan sebagai teknik optimasi terhadap fuzzy decision tree (FDT) sehingga diperoleh genetically optimized fuzzy decision tree (G-DT).
2
Manfaat Penelitian Penelitian ini diharapkan dapat menghasilkan pohon keputusan yang lebih akurat daripada penelitian sebelumnya. Informasi ini dapat digunakan oleh pihak yang berkepentingan untuk mengetahui potensi seseorang terkena diabetes sehingga dapat dilakukan antisipasi sedini mungkin terhadap penyakit diabetes.
TINJAUAN PUSTAKA Data Mining Data mining merupakan proses ekstraksi informasi data berukuran besar (Han & Kamber 2006). Dari sudut pandang analisis data, data mining dapat diklasifikasikan menjadi dua kategori yaitu descriptive data mining dan predictive data mining. Descriptive data mining fokus untuk menemukan pola yang mendeskripsikan data yang dapat diinterprestasikan oleh manusia. Predictive data mining melibatkan beberapa variabel dalam himpunan data untuk memprediksikan nilai variabel lain yang tidak diketahui (Kantardzic 2003).
logika klasik (Boolean atau Crisp). Dalam logika fuzzy nilai kebenaran suatu pernyataan berkisar dari sepenuhnya benar ke sepenuhnya salah (Cox 2005). Inti dari logika fuzzy adalah himpunan fuzzy (fuzzy set) (Cox 2005). Himpunan fuzzy adalah himpunan tanpa batas tegas (crisp boundary) (Kantardzic 2003). Setiap elemen dari himpunan fuzzy memiliki derajat keanggotaan. Derajat keanggotaan menunjukkan nilai keanggotaan suatu objek pada suatu himpunan. Nilai keanggotaan ini berkisar antara 0 sampai 1. Dengan teori himpunan fuzzy suatu objek dapat menjadi anggota dari banyak himpunan dengan derajat keanggotaan yang berbeda dalam masingmasing himpunan (Cox 2005). Fungsi Keanggotaaan Inti dari himpunan fuzzy adalah fungsi keanggotaan (membership function). Fungsi keanggotaan menggambarkan hubungan antara domain himpunan fuzzy dengan nilai derajat keanggotaan (Cox 2005). Jika X adalah kumpulan objek yang ditandai secara umum oleh x, maka himpunan fuzzy A pada X didefinisikan sebagai berikut:
Klasifikasi Klasifikasi termasuk ke dalam kategori predictive data mining. Klasifikasi adalah proses menemukan model (fungsi) yang menjelaskan dan membedakan kelas-kelas atau konsep, dengan tujuan agar model yang diperoleh dapat digunakan untuk mengetahui kelas atau objek yang memiliki label kelas yang tidak diketahui. Model yang diturunkan didasarkan pada analisis dari training data (Han & Kamber 2006). Proses klasifikasi dibagi menjadi dua fase yaitu learning dan testing. Pada fase learning, sebagian data yang telah diketahui kelas datanya (training set) digunakan untuk membentuk model. Selanjutnya pada fase testing, model yang sudah terbentuk diuji dengan sebagian data lainnya (test set) untuk mengetahui akurasi dari model tersebut. Jika akurasinya mencukupi maka model tersebut dapat dipakai untuk prediksi kelas data yang belum diketahui (Han & Kamber 2006).
A=
{(x, μ A ( x) ) | x ∈ X }
dimana μA(x) adalah fungsi keanggotaan untuk himpunan fuzzy A. Fungsi keanggotaan memetakan setiap elemen dari X ke nilai derajat keanggotaan (Kantardzic 2003). Salah satu bentuk fungsi keanggotaan adalah trapezoidal. Fungsi keanggotaan trapezoidal dispesifikasi oleh empat parameter (a, b, c, d) sebagai berikut.
⎧0 ; x ≤ a ⎪( x − a ) /(b − a ) ; a ≤ x ≤ b ⎪ μ A ( x ) = ⎨1 ; b ≤ x ≤ c ⎪( d − x ) /( d − c ) ; c ≤ x ≤ d ⎪0 ; d ≤ x ⎩ Bentuk fungsi keanggotaan trapezoidal dapat dilihat pada Gambar 1 (Kantardzic 2003). 1
Logika Fuzzy Konsep logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh dari Universitas California pada tahun 1965. Logika fuzzy merupakan generalisasi dari
a
b
c
d
Gambar 1 Fungsi keanggotaan trapezoidal.
3
Fuzzy ID3 Decision Tree Decision tree merupakan suatu pendekatan yang sangat populer dan praktis dalam machine learning untuk menyelesaikan permasalahan klasifikasi (Liang 2005). Decision tree sama dengan satu himpunan aturan IF...THEN (Marsala 1998). Decision tree terdiri internal node menggambarkan data yang diuji, setiap cabang (branch) menggambarkan nilai keluaran dari data yang diuji, dan leaf node menggambarkan distribusi kelas dari data yang digunakan. Decision tree digunakan untuk mengklasifikasikan suatu sampel data yang tidak dikenal (Han & Kamber 2006). Fuzzy decision tree merupakan metode perluasan dari decision tree. Fuzzy decision tree menggunakan teori himpunan fuzzy untuk merepresentasikan himpunan data (Liang 2005). Manfaat dari teori fuzzy dalam decision tree adalah meningkatkan kemampuan dalam memahami decision tree ketika digunakan atribut-atribut kuantitatif dan meningkatkan ketahanan saat melakukan klasifikasi kasus-kasus baru (Marsala 1998). Algoritme ID3 (Iterative Dichotomiser 3) pertama kali diperkenalkan oleh J. Rose Quilan pada tahun 1986. Algoritme fuzzy ID3 merupakan algoritme yang efisien untuk membuat suatu fuzzy decision tree. Algoritme fuzzy ID3 adalah sebagai berikut (Liang 2005): 1 2
Create a Root node that has a set of fuzzy data with membership value 1 If a node t with a fuzzy set of data D satisfies the following conditions, then it is a leaf node and assigned by the class name. • The proportion of a class Ck is greater than or equal to Өx, |D
Ci
|D|
•
3
|
≥ θr
the number of a data set is less than θn • there are no attributes for more classifications If a node D does no satisfy the above conditions, then it is not a leaf-node. And an new sub-node is generated as follow: • For Ai’s (i=1,…, L) calculate the information
•
•
•
gain, and select the test attribute Amax that maximizes them. Divide D into fuzzy subset D1 , ..., Dm according to Amax , where the membership value of the data in Dj is the product of the membership value in D and the value of Fmax,j of the value of Amax in D. Generate new nodes t1 , …, tm for fuzzy subsets D1 , ... , Dm and label the fuzzy sets Fmax,j to edges that connect between the nodes tj and t Replace D by Dj (j=1, 2, …, m) and repeat from 2 recursively.
Dalam pembangunan tree, dilakukan ekspansi tree dan evaluasi dengan nilai threshold. Ada dua nilai threshold yaitu (Liang 2005): 1 Fuzziness control threshold (FCT) / θr Jika proporsi himpunan data dari kelas Ck lebih besar atau sama dengan nilai threshold θr, maka ekspansi tree dihentikan. 2 Leaf decision threshold (LDT) / θn Jika banyaknya anggota himpunan data pada suatu node lebih kecil dari threshold θn, maka ekspansi tree dihentikan. Fuzzy Entropy dan Information Gain Information gain adalah suatu nilai statistik yang digunakan untuk memilih atribut yang akan mengekspansi tree dan menghasilkan node baru pada algoritme ID3. Suatu entropy dipergunakan untuk mendefinisikan nilai information gain (Liang 2005). Berikut persamaan untuk mencari nilai fuzzy entropy dari keseluruhan data: H f (S ) = H s (S ) = ∑i − Pi * log 2 (Pi ) N
dengan Pi adalah rasio dari kelas Ci pada himpunan contoh S = {x1, x2,…,xk } (Liang 2005). Untuk menentukan fuzzy entropy dan information gain dari suatu atribut A pada algoritma fuzzy ID3 (FID3) digunakan persamaaan berikut: H f ( S , A) = − ∑C i =1
∑N j μ ij S
log 2
∑N j μ ij S
4
SV G f = H f ( S ) − ∑vN⊆ A ∗ H f (S v , A ) S
dengan μij adalah nilai keanggotaan dari pola ke-j untuk kelas ke-i. Hf(S) menunjukkan entropy dari himpunan S dari data pelatihan pada node. |Sv| adalah ukuran dari subset S v ⊆ S dari data pelatihan xj dengan atribut v. |S| menunjukkan ukuran dari himpunan S (Liang 2005). Sistem Inferensi Fuzzy Sistem inferensi fuzzy adalah suatu framework yang didasarkan pada konsep himpunan fuzzy, fuzzy if-then rules, dan fuzzy reasoning. Salah satu metode inferensi fuzzy yang paling umum digunakan adalah metode sistem inferensi fuzzy Mamdani. Struktur dasar dari sistem inferensi fuzzy terdiri dari tiga komponen yaitu (Jang et al 1997): 1 rule base, terdiri dari aturan-aturan fuzzy (fuzzy rules), 2 database/dictionary, mendefinisikan fungsi keanggotaan yang digunakan pada aturan fuzzy, dan 3 reasoning mechanism, melakukan proses inferensi pada aturan dan fakta yang diberikan untuk memperoleh output atau kesimpulan. Fuzzy C-Means (FCM) Fuzzy C-Means atau Fuzzy ISODATA, merupakan algoritme clustering data di mana setiap titik data masuk dalam sebuah cluster dengan ditandai oleh derajat keanggotaan yang bernilai antara 0 dan 1. Oleh karena itu, sebuah titik data dapat menjadi anggota untuk beberapa cluster. FCM ini dimodifikasi oleh Jim Bezdek pada tahun 1973 dari teknik hard C-means (HCM). FCM membagi sebuah koleksi dari n data vektor xi (i = 1, ..., n) menjadi c kelompok fuzzy, dan menemukan sebuah pusat cluster (cluster center) untuk setiap kelompok di mana meminimalisasi ukuran ketidakmiripan dari fungsi objektif (Jang et al 1997).
Algoritme Genetika Konsep dasar algoritme genetika (AG) pertama kali dicetuskan pada tahun 1975 oleh John H. Holland dalam bukunya yang berjudul Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelegence (Cox 2005). Algoritme genetika adalah suatu teknik proses komputasi yang pada dasarnya meniru teori evolusi alamiah (Michalewicz 1996). Menurut Michalewicz (1996), algoritme genetika harus memiliki lima komponen berikut: 1 Representasi genetik untuk solusi-solusi yang potensial pada permasalahan. 2 Cara untuk menciptakan suatu inisialisasi populasi dari solusi-solusi yang potensial. 3 Fungsi evaluasi yang menilai solusi dalam kaitannya dengan nilai fitness. 4 Operator-operator genetik yang mengubah komposisi anak (children). 5 Nilai-nilai dari berbagai macam parameter yang digunakan dalam algoritme genetika (ukuran populasi dan peluang-peluang yang akan diterapkan pada operator genetik). Algoritme genetika adalah sebagai berikut (Lawrence 1991): 1 2 3
4 5 6
Initialize a population of chromosomes. Evaluate each chromosomes in the population. Create new chromosomes by mating current chromosomes; apply mutation and recombination as the parent chromosomes mate. Delete members of the population to make room for the new chromosomes. Evaluate the new chromosomes and insert them into the population. If time is up, stop and return the best chromosomes; if not, go to 3.
K-fold Cross Validation K-fold cross validation dilakukan untuk membagi training set dan testing set. K-fold cross validation mengulang k-kali untuk membagi sebuah himpunan contoh secara acak menjadi k subset yang saling bebas. Setiap ulangan disisakan satu subset untuk pengujian dan subset lainnya untuk pelatihan (Fu 1994).
Pada algoritma genetika terdapat prosesproses utama yang menjadi prinsip utama dalam evolusi, yaitu rekombinasi (crossover) dan mutasi (mutation). Algoritme ini menggunakan sistem seleksi alamiah (selection) terhadap individu baru yang muncul dari evolusi individu sebelumnya. Individu solusi yang dihasilkan diharapkan
5
merupakan individu solusi yang terbaik (Michalewicz 1996). Encoding Populasi
Kromosom
dan
Inisialisasi
Algoritme genetika dimulai dengan membuat representasi dari solusi untuk suatu permasalahan. Hal ini disebut encoding. Encoding schema merupakan cara menerjemahkan masalah ke dalam framework algoritme genetika. Beberapa Encoding schema yaitu binary, negative, floating-point, dan discrete-value numbers. Pada umumnya, algoritme genetika menggunakan binarycoding schema untuk merepresentasikan solusi. Sekumpulan nilai yang diencode menjadi bit string, menyatakan satu kromosom (Kantardzic 2003). Pada algoritme genetika, yang dievaluasi bukan satu kromosom tetapi sekumpulan kromosom yang disebut populasi (Kantardzic 2003). Jumlah kromosom dalam populasi tergantung pada jumlah variabel dalam pencarian (Cox 2005). Populasi diinisialisasi secara acak dengan pertimbangan ukuran populasi (pop-size) (Kantardzic 2003). Evaluasi Fitness Fitness merupakan suatu ukuran yang digunakan untuk membandingkan solusisolusi dan menentukan solusi yang lebih baik. Nilai fitness dapat ditentukan dari rumus hasil analisis yang kompleks, model simulasi, dan pengamatan dari percobaan atau permasalahan nyata (Kantardzic 2003). Elitisme Elitisme adalah proses mempertahankan kromosom dengan nilai fitness terbaik dengan cara menyalin kromosom dengan fitness terbaik ke generasi selanjutnya. Elitisme digunakan dengan dikombinasikan dengan teknik seleksi untuk menjaga kromosom dengan fitness terbaik tetap bertahan hingga generasi berikutnya (Cox 2005).
1 Hitung nilai fitness eval(vi) untuk setiap kromosom vi ( i = 1, ..., pop_size). 2 Hitung total fitness untuk populasi: F=
pop _ size
∑ eval (v )) i
i =1
3 Hitung peluang seleksi pi untuk setiap kromosom vi ( i = 1, ..., pop_size). pi =
eval (vi ) F
4 Hitung peluang kumulatif qi untuk setiap kromosom vi ( i = 1, ..., pop_size). i
qi = ∑ p j j =1
5 Proses seleksi dimulai dengan memutar roulette wheel sebanyak ukuran populasi (pop-size) kali. Pada sekali putaran, sebuah kromosom dipilih untuk membentuk populasi yang baru dengan cara berikut: • Bangkitkan sebuah bilangan acak r pada selang [0, 1]. • Jika r < q1 maka pilih kromosom selainnya pilih pertama (v1); kromosom ke-i vi (2 ≤ i ≤ pop_size) sehingga qi-1 < r < qi. Rekombinasi (Crossover) Rekombinasi (crossover) adalah proses pembentukan kromosom baru dengan menggabungkan dua atau lebih kromosom relatif baik (Cox 2005). Ada beberapa teknik untuk melakukan rekombinasi yaitu rekombinasi satu titik (one-point) dan rekombinasi dua titik (two-point). Rekombinasi satu titik memilih titik rekombinasi pada kode genetik secara acak dan kromosom dua parent dipertukarkan pada titik ini. Rekombinasi dua titik memilih dua titik rekombinasi dan bagian kromosom diantara dua titik ini ditukar untuk menghasilkan dua anak (children) dari generasi baru. Rekombinasi satu titik dan rekombinasi dua titik dapat dilihat pada Gambar 2 (Kantardzic 2003). Titik untuk rekombinasi satu titik
Seleksi (Selection) Seleksi (selection) adalah proses memilih populasi yang relatif baik (nilai fitness baik) untuk dilakukan rekombinasi dan mutasi (Cox 2005). Salah satu metode seleksi yang banyak digunakan yaitu roulette wheel. Roulette wheel menyeleksi populasi baru dengan distribusi probabilitas yang berdasarkan nilai fitness. Algoritme seleksi roulette wheel adalah berikut ini (Michalewicz 1996):
10011110 10110010
10010010 10111110
a) Rekombinasi satu titik Titik untuk rekombinasi dua titik 10011110 10110010
10110110 10011010
b) Rekombinasi dua titik
Gambar 2 Operator rekombinasi.
6
Tingkat rekombinasi (crossover rate / pc) menyatakan peluang kromosom akan dipilih untuk rekombinasi. Pada umumnya, nilai tingkat rekombinasi sebesar 0.5 hingga 0.9 merupakan nilai perkiraan tingkat rekombinasi yang baik (Cox 2005).
3 satu atau lebih kromosom memiliki nilai fitness yang memenuhi fungsi objektif, 4 fungsi fitness terbaik pada generasi selanjutnya telah stabil.
Rekombinasi dibentuk dengan cara melakukan tiga langkah berikut secara berulang sebanyak jumlah kromosom dalam populasi (Michalewicz 1996). 1 Bangkitkan sebuah bilangan acak r pada selang [0, 1]. 2 Jika r < pc , maka kromosom tersebut dipilih untuk rekombinasi. 3 Untuk setiap pasang kromosom terpilih, bangkitkan bilangan acak pada selang [1, L-1] (L = panjang kromosom). Bilangan ini menunjukkan posisi titik rekombinasi.
METODE PENELITIAN
Mutasi (Mutation) Mutasi (mutation) adalah proses untuk menghasilkan kromosom yang relatif lebih baik dengan mengubah allele (nilai dari solusi/kromosom). Operator mutasi yang sering digunakan adalah mutasi pembalikan yang melakukan pembalikan gen secara acak untuk membentuk individu baru (Cox 2005) (Michalewicz 1996). Mutasi pembalikan dapat dilihat pada Gambar 3 (Kantardzic 2003). Bit terpilih yang akan termutasi 10011110
10011010
Gambar 3 Operator mutasi. Tingkat mutasi (mutation rate / pm) menyatakan peluang sebuah gen mengalami perubahan melalui teknik mutasi. Pada umumnya, nilai tingkat mutasi sangat rendah. Nilai tingkat mutasi sebesar 0.01 hingga 1/ukuran populasi merupakan nilai perkiraan yang baik untuk nilai tingkat mutasi (Cox 2005). Mutasi dibentuk dengan cara melakukan dua langkah berikut secara berulang sebanyak jumlah gen dalam populasi (Michalewicz 1996). 1 Bangkitkan sebuah bilangan acak r pada selang [0, 1]. 2 Jika r < pm , maka gen tersebut mengalami mutasi. Terminasi Algoritme Genetika Kriteria algoritme genetika untuk berhenti yaitu: 1 maksimum generasi telah dicapai, 2 waktu eksekusi yang telah cukup lama,
Data Penelitian ini menggunakan data diabetes yang merupakan hasil pemeriksaan laboratorium pasien dari sebuah rumah sakit. Data hasil pemeriksaan lab pasien yang digunakan dalam penelitian ini meliputi GLUN (Glukosa Darah Puasa), GPOST (Glukosa Darah 2 Jam Pasca Puasa), HDL (Kolesterol HDL), TG (Trigliserida), serta diagnosa pasien berdasarkan nilai GLUN, GPOST, HDL dan TG. Nilai GLUN, GPOST, HDL, TG dinyatakan dalam satuan Mg/DL. Diagnosa pasien ditransformasi menjadi dua kategori, yaitu negatif diabetes yang direpresentasikan dengan angka 1 dan positif diabetes yang direpresentasikan dengan angka 2. Total data yang digunakan dalam penelitian ini berjumlah 290 record. Metode Metode penelitian yang digunakan dapat dilihat pada Gambar 4. Tahapan pembentukan genetically optimized fuzzy decision tree (GDT) dapat dilihat pada Gambar 5. •
Pembagian data Pembagian data menggunakan 10-fold cross validation, sama dengan penelitian sebelumya. Data akan dibagi menjadi training set dan testing set. Data akan dibagi menjadi 10 subset (S1, ..., S10) yang berbeda dengan jumlah yang sama besar. Setiap kali sebuah subset digunakan sebagai testing set maka sembilan buah partisi lainnya akan dijadikan sebagai training set (Romansyah 2007). Pembagian data dengan metode 10-fold cross validation ini akan menghasilkan sepuluh training sets dan sepuluh testing sets. Jika sepuluh training sets dan sepuluh testing sets digunakan dalam percobaan untuk mencari parameter algoritme genetika yang optimal, maka total percobaan yang harus dilakukan akan banyak sekali. Oleh karena itu, hanya satu dari sepuluh training sets dan testing set yang akan digunakan untuk percobaan. Sedangkan untuk proses training G-DT digunakan sepuluh training sets.
7
Mulai
Mulai Data diabetes
AG
Pembagian data (10-fold cross validation)
Pendefinisian kromosom Bangkitkan populasi awal
i= 1
Hitung Fitness
10 training sets dan 10 testing sets
Bentuk MF & Hitung derajat keanggotaan kromosom Ci
Pemilihan 1 training set dari 10 training sets
Selesai Training (FID3)
1 training set dan 1 testing set untuk percobaan
Percobaan
Bentuk Rule Rules Model Testing (FIS Mamdani)
Pencarian parameter AG optimal pada ukuran populasi = 10
Error Rate Ci = Fitness Ci
Pemilihan parameter AG yang paling optimal pada ukuran populasi = 10
Fuzzy ID3 i=i+1
Bentuk MF & Hitung derajat keanggotaan
Ya i < ukuran populasi ?
Penambahan ukuran populasi pada parameter AG yang paling optimal (30 & 50)
Parameter MF terbaik Ya
Tidak
Analisis hasil percobaan
Fitness (Pop) < Fitness Threshold ?
Fitness (Populasi)
Parameter AG yang paling optimal Tidak Elitisme
Training GDT menggunakan parameter optimal dan 10 training sets dan 10 testing sets
Bangkitkan populasi baru
Representasi pengetahuan
Seleksi Crossover Mutasi
Selesai
Gambar 4 Alur penelitian.
Gambar 5 Tahapan pembentukan G-DT. •
Pembentukan G-DT Langkah-langkah dalam pembentukan GDT yaitu: 1 Pendefinisian kromosom Pada penelitian ini, yang direpresentasikan dalam kromosom adalah parameter fungsi keanggotaan fuzzy dari atribut GLUN, GPOST, HDL, dan TG. Masing-masing atribut memiliki empat nilai parameter. Sehingga satu kromosom menyimpan 16 nilai parameter fungsi keanggotan fuzzy dari
8
Cluster 1
Cluster 2
Cluster 3
1
r
0.9
u
0.8 0.7 Derajat
seluruh atribut. Nilai parameter fungsi keanggotaan fuzzy ini direpresentasikan dalam bilangan bulat di dalam kromosom. Representasi nilai parameter fungsi keanggotaan fuzzy untuk atribut GPOST di dalam kromosom dapat dilihat pada Gambar 6, dan contoh kromosom dapat dilihat pada Gambar 7.
0.6
s
0.5
t
0.4 0.3 0.2 0.1
Derajat keanggotaan
1
Rendah
Sedang
0
Tinggi
0
100
0.8
0.4 0.2
0
b
a 100
200
c
d
300
400
500
600
700
GPOST
96
175
296
393
Gambar 6 Representasi nilai parameter fungsi keanggotaan fuzzy di dalam kromosom. 88
132
213
299
96
GLUN
42
300 400 GPOST
500
600
700
Gambar 8 Grafik hasil clustering menggunakan FCM.
0.6
0
200
66
76
175
296
393
GPOST
144
98
158
HDL
329
467
TG
Gambar 7 Contoh kromosom. 2 Pembangkitan populasi awal Populasi awal dibangkitkan secara acak dalam rentang nilai tertentu sesuai dengan ukuran populasi. Rentang nilai setiap parameter dalam fungsi keanggotaan fuzzy ditentukan dengan bantuan teknik clustering menggunakan fuzzy C-means (FCM). Data dari setiap atribut (GLUN, GPOST, HDL, TG) akan dikelompokan masing-masing menjadi tiga cluster. Satu cluster dianggap dapat mewakili satu himpunan fuzzy. Grafik hasil clustering dari satu atribut yaitu atribut GPOST dengan menggunakan FCM dapat dilihat pada Gambar 8.
Nilai r adalah anggota cluster 1 yang memiliki derajat keanggotaan paling tinggi. Nilai s adalah anggota cluster 2 yang paling rendah. Nilai t adalah anggota cluster 2 yang paling tinggi. Nilai u adalah anggota cluster 3 yang memiliki derajat keanggotaan paling tinggi. Grafik fungsi keanggotaan fuzzy dari satu atribut dapat dilihat pada Gambar 6. Empat nilai parameter fungsi keanggotaan fuzzy direpresentasikan oleh nilai a, b, c, dan d. Rentang nilai a, b, c, dan d dapat ditentukan setelah melakukan clustering dengan FCM dan diperoleh nilai r, s, t, dan u. Ilustrasi pencarian rentang nilai a, b, c, dan d yang mungkin dengan melibatkan nilai r, s, t dan u dapat dilihat pada Gambar 9. Panjang rentang nilai a, b, c, dan d adalah 2x. Nilai x merupakan nilai yang paling kecil dari selisih antara nilai minimum dengan r, r dengan s, s dengan t, t dengan u, dan u dengan nilai maksimum, kemudian dikurangi 1 untuk menghindari terjadinya overlap. Besar nilai x diperoleh dengan cara berikut: x = (minimum ( (r – min), (s – r), (t – s)/4, (u – t), (max–u) ) ) – 1 b
a
r
min
x
c
s
x
d
u
t
2x
2x
x
max
x
Gambar 9 Panjang rentang nilai a, b, c, dan d. Sehingga, rentang nilai a, b, c, dan d adalah: r -x ≤ a ≤r+x s ≤ b ≤ s + 2x t – 2x ≤ c ≤ t u-x ≤ d ≤u+x Salah satu contoh populasi awal berukuran 10 dapat dilihat pada Tabel 1.
9
Tabel 1 Contoh populasi awal berukuran 10 Kromosom
GLUN
GPOST
HDL
TG
1
73
124
194
282
98
165
269
357
43
53
88
144
89
152
311
493
2
82
105
185
291
100
151
258
357
25
61
95
156
97
162
316
493
3
73
122
191
275
94
167
266
355
46
59
81
152
95
173
330
477
4
88
107
190
273
102
167
270
375
29
62
94
139
97
163
313
487
5
84
107
204
289
85
157
262
369
29
68
81
150
90
158
315
483
6
88
116
188
278
104
172
261
358
47
62
78
146
107
170
314
485
7
70
122
189
271
92
152
263
361
42
65
96
142
108
170
330
471
8
89
110
200
280
104
168
273
362
31
70
80
148
109
160
317
478
9
72
115
197
277
96
169
260
360
28
54
98
156
98
164
329
474
10
90
112
195
282
101
158
277
359
42
51
81
147
99
153
320
481
3 Penghitungan nilai fitness Pada penelitian ini, nilai fitness adalah nilai galat (error). Perhitungan nilai fitness dilakukan untuk setiap kromosom. Langkahlangkah untuk memperoleh nilai galat yaitu: a Bentuk fungsi keanggotaan fuzzy untuk setiap atribut (GLUN, GPOST, HDL, dan TG) dan hitung derajat keanggotaan setiap data masing-masing atribut. Nilai derajat keanggotaan fuzzy setiap data akan digunakan untuk membentuk tree. b Bentuk tree dengan menggunakan algoritme fuzzy ID3, sehingga diperoleh aturan-aturan. Aturan-aturan dan fungsi keanggotaan fuzzy setiap atribut digunakan untuk membentuk FIS Mamdani. c Melakukan testing dengan menggunakan FIS Mamdani, sehingga diperoleh nilai galat (error). 4 Evaluasi nilai fitness dengan fitness threshold Nilai fitness terbaik adalah nilai galat yang paling rendah. Evaluasi nilai fitness dilakukan dengan cara membandingkan nilai fitness setiap kromosom dengan nilai fitness threshold. Pada penelitian ini, nilai fitness threshold ditentukan sebesar 0.05 karena diharapkan nilai galat lebih kecil atau sama dengan 0.05. Jika ada kromosom yang memiliki nilai fitness lebih kecil daripada nilai fitness threshold, maka kromosom tersebut merupakan solusi yang memberikan parameter fungsi keanggotaan fuzzy yang terbaik bagi masing-masing atribut (GLUN, GPOST, HDL, dan TG). Jika solusi belum diperoleh berarti nilai fitness dari semua kromosom yang ada pada populasi masih lebih besar daripada nilai fitness threshold, maka populasi tersebut akan mengalami
elitisme, seleksi, rekombinasi, dan mutasi, sehingga akan terbentuk populasi baru. 5 Pembentukan populasi baru •
Elitisme
Jika ukuran populasi genap, maka dua kromosom yang memiliki nilai fitness terbaik akan dipertahankan untuk berada pada generasi selanjutnya. Jika ukuran populasi ganjil, maka satu kromosom yang memiliki nilai fitness terbaik akan dipertahankan untuk berada pada generasi selanjutnya. Hal ini dikarenakan jumlah kromosom harus genap dalam melakukan rekombinasi. •
Seleksi
Metode seleksi yang digunakan adalah roulette wheel. Seleksi roulette wheel memungkinkan kromosom dengan nilai fitness tinggi memiliki peluang untuk terpilih lebih besar daripada kromosom dengan nilai fitness rendah. Seleksi roulette wheel juga memungkinkan suatu kromosom terpilih lebih dari satu kali. •
Rekombinasi
Rekombinasi yang digunakan adalah rekombinasi satu titik (one-point crossover). Untuk melakukan rekombinasi, jumlah kromosom yang akan mengalami rekombinasi harus genap. Jika jumlah kromosom ganjil, maka salah satu kromosom harus dibuang (dikembalikan ke populasi). •
Mutasi
Mutasi dilakukan dengan cara menambah atau mengurangi satu nilai dari nilai gen yang akan mengalami mutasi secara acak. Penambahan atau pengurangan satu nilai merupakan cara untuk memberikan perubahan kecil pada populasi. Hal ini dikarenakan
10
representasi kromosom dalam bilangan bulat dan nilai satu merupakan nilai paling kecil yang berarti pada kasus ini. Setelah dilakukan elitisme, seleksi, rekombinasi, dan mutasi diperoleh populasi baru dan selanjutnya dilakukan perhitungan nilai fitness untuk setiap kromosom pada populasi baru. Untuk memperoleh kromosom yang menjadi solusi, evaluasi nilai fitness
dengan fitness threshold dilakukan kembali. Proses pembentukan populasi baru, perhitungan nilai fitness, dan evaluasi nilai fitness dengan fitness threshold dilakukan secara berulang hingga mencapai kondisi terminasi algoritme genetika yaitu telah mencapai nilai fitness yang diinginkan atau telah mencapai maksimum generasi. Salah satu contoh populasi akhir berukuran 10 dapat dilihat pada Tabel 2.
Tabel 2 Contoh populasi akhir berukuran 10 Kromosom
GLUN
GPOST
HDL
TG
1
87
106
189
273
105
167
270
377
31
60
99
149
106
170
314
488
2
87
105
189
275
103
169
271
379
32
61
98
148
107
170
312
485
3
89
106
189
274
103
168
270
377
31
63
97
149
107
170
312
485
4
88
106
190
275
103
169
270
380
31
63
97
149
106
169
311
487
5
88
106
189
275
102
168
269
377
31
63
96
149
107
170
312
485
6
88
105
189
275
103
169
270
379
32
61
98
148
107
170
312
485
7
87
107
191
275
103
169
270
380
31
64
97
149
105
169
312
486
8
88
108
190
274
105
168
271
379
30
61
99
147
107
169
314
487
9
88
106
189
273
104
168
270
377
30
60
98
149
106
170
314
487
10
88
108
189
275
103
169
270
380
31
61
98
149
107
170
312
485
Salah satu contoh kromosom yang menjadi solusi terbaik adalah kromosom pertama yang nilainya dicetak tebal dari sepuluh kromosom pada populasi akhir yang ada pada Tabel 2. 6 Pembentukan aturan akhir (tree hasil proses G-DT) Jika parameter fungsi keanggotaan fuzzy yang paling baik telah diperoleh, maka aturan akhir yang merupakan tree dari hasil proses G-DT dapat dibentuk. Langkah-langkah yang dilakukan untuk membentuk aturan akhir (tree hasil proses G-DT) yaitu: a Bentuk fungsi keanggotaan fuzzy untuk setiap atribut (GLUN, GPOST, HDL, dan TG) dan hitung derajat keanggotaan setiap data masing-masing atribut. Fungsi keanggotaan fuzzy ini merupakan hasil kerja algoritme genetika. Nilai derajat keanggotaan fuzzy setiap data akan digunakan untuk membentuk tree. b Bentuk tree dengan menggunakan algoritme fuzzy ID3, sehingga diperoleh aturan-aturan. Aturan-aturan ini merupakan aturan akhir yaitu tree hasil dari proses G-DT.
•
Percobaan untuk mencari parameter algoritme genetika yang optimal Percobaan untuk mencari parameter algoritme genetika yang optimal dilakukan dengan variasi tingkat rekombinasi, tingkat mutasi, jumlah maksimum generasi, dan ukuran populasi. Variasi keempat nilai parameter itu yaitu: a tingkat rekombinasi: 50%, 60%, 70%, 80%, 90%, dan 100%, b tingkat mutasi: 1%, 5%, dan 10%, c maksimum generasi: 50, 100, 150, 200, dan 250, d ukuran populasi: 10, 30, dan 50. Percobaan ini dilakukan dengan menggunakan nilai fuzziness control threshold (FCT) sebesar 98% dan nilai leaf decision threshold (LDT) sebesar 3%. Nilai ini digunakan karena berdasarkan hasil penelitian sebelumnya, nilai FCT dan LDT ini merupakan nilai FCT dan LDT yang menghasilkan tree yang paling baik. •
Training G-DT Training G-DT dilakukan dengan sepuluh training sets. Setiap training set dilakukan pengulangan training sebanyak sepuluh kali.
11
Lingkup Pengembangan Sistem Perangkat keras yang digunakan berupa notebook dengan spesifikasi: • processor: Intel Core 2 Duo 1.66 GHz, • memori: 1,512 GB, dan • harddisk: 80GB. Perangkat lunak yang digunakan yaitu: sistem operasi: Window XP, Matlab 7.0.1 sebagai bahasa pemrograman, dan • Microsoft Excel 2003 sebagai tempat penyimpanan data. • •
HASIL DAN PEMBAHASAN Pemilihan Training Set dan Testing Set Pembagian data menggunakan 10-fold cross validation menghasilkan sepuluh training sets dan 10 testing sets. Untuk percobaan mencari parameter algoritme genetika yang optimal digunakan hanya satu training set saja. Pemilihan training set ini berdasarkan hasil eksekusi program G-DT dengan menggunakan sepuluh training sets dan sepuluh testing sets serta persebaran data pada masing-masing training set dan testing set. Parameter algoritme genetika yang digunakan dalam pemilihan training set yaitu: fitness threshold = 0.05, ukuran populasi = 10, maksimum generasi = 50, tingkat rekombinasi = 50%, dan tingkat mutasi = 1%. Hasil eksekusi program G-DT menggunakan sepuluh training sets dan sepuluh testing sets dapat dilihat pada Tabel 3. Tabel 3 Hasil eksekusi program G-DT menggunakan 10 training sets dan 10 testing sets Set
Akurasi
Jumlah Aturan
1 2 3 4 5 6 7 8 9 10 Rataan
100.00% 58.62% 89.66% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 94.83%
20 17 25 20 21 21 22 19 22 21 20.8
Waktu Total (detik) 14,906 209,562 320,938 15,031 15,109 14,937 14,578 14,985 14,938 15,344
Jumlah Iterasi 1 50 50 1 1 1 1 1 1 1
Dari total data sebanyak 290 record, terdapat data negatif diabetes sebanyak 273
record dan data positif diabetes sebanyak 17 record. Dengan 10-fold cross validation, data sebanyak 290 record dibagi menjadi training set dan testing set. Training set berjumlah 261 record dan testing set berjumlah 29 record. Persebaran data negatif dan positif diabetes pada setiap training set dan testing set dapat dilihat pada Tabel 4. Tabel 4 Persebaran data negatif dan positif diabetes pada setiap training set dan testing set Set 1 2 3 4 5 6 7 8 9 10 Total
Training Set Negatif Positif 244 17 257 4 248 13 244 17 244 17 244 17 244 17 244 17 244 17 244 17 261
Testing Set Negatif Positif 29 0 16 13 25 4 29 0 29 0 29 0 29 0 29 0 29 0 29 0 29
Dari hasil eksekusi program G-DT menggunakan sepuluh training sets dan sepuluh testing sets terlihat bahwa hanya training set 2 dan 3 yang belum memperoleh akurasi 100%. Dengan menggunakan parameter algoritme genetika yang optimal diharapkan akurasi pada training set 2 dan 3 meningkat. Sehingga, training set 2 dan 3 menjadi calon training set yang akan digunakan dalam percobaan mencari parameter algoritme genetika yang optimal. Untuk menentukan satu training set yang akan digunakan dalam percobaan, persebaran data pada training set dan testing set 2 dan 3 dilihat. Pada Tabel 4, dapat dilihat bahwa 13 record data positif diabetes dari total 17 record positif diabetes ada pada testing set 2. Hanya 4 record data positif diabetes yang ada pada training set 2. Sedangkan pada training set 3 terdapat 13 record data positif diabetes dan pada testing set 3 terdapat 4 record data positif diabetes. Hal ini menunjukkan bahwa persebaran data pada training set dan testing set 3 lebih baik daripada training set dan testing set 2. Sehingga, percobaan mencari parameter algoritme genetika yang optimal dilakukan dengan menggunakan training set dan testing set 3.
12
Percobaan untuk Mencari Parameter Algoritme Genetika yang Optimal Setelah memilih training set yang akan digunakan untuk percobaan, percobaan untuk mencari parameter algoritme genetika yang optimal dapat dilakukan. Pertama, percobaan dengan ukuran populasi sebesar 10 dilakukan. Selanjutnya, percobaan dengan ukuran populasi sebesar 30 dan 50 dilakukan. Parameter algoritme genetika yang optimal ditentukan berdasarkan hasil percobaan. •
Ukuran populasi sebesar 10 Pada percobaan dengan ukuran populasi sebesar 10, dilakukan dengan variasi tingkat rekombinasi (50%, 60%, 70%, 80%, 90%, dan 100%), tingkat mutasi (1%, 5%, dan 10%), dan maksimum generasi (50, 100, 150, 200, 250). Total percobaan yang dilakukan adalah 90 percobaan. Hasil dari 90 percobaan ini dapat dilihat pada Lampiran 1. Alur pemilihan parameter yang optimal bagi ukuran populasi sebesar 10 dapat dilihat pada Gambar 10. 58 kombinasi parameter dengan nilai fitness terbaik 12 kombinasi parameter dengan nilai fitness terbaik dan waktu eksekusi < 360 detik 3 kombinasi parameter yang terbaik untuk training set 3 (pengulangan 10 kali) 1 kombinasi parameter yang terbaik untuk training set 3 dan 2 Æ parameter AG optimal bagi populasi 10
Gambar 10 Alur pemilihan parameter yang optimal bagi ukuran populasi sebesar 10. Dari 90 percobaan, diperoleh 58 kombinasi parameter dengan nilai fitness yang terbaik sebesar 0.0690. Dari 58 kombinasi parameter, hanya 12 kombinasi parameter yang memiliki waktu eksekusi kurang dari 360 detik. Dua belas kombinasi parameter tersebut adalah nilai yang dicetak tebal pada Lampiran 1. Dua belas kombinasi parameter tersebut merupakan parameter algoritme genetika yang baik. Dua belas kombinasi parameter ini dapat digunakan sebagai parameter algoritme genetika untuk training G-DT. Untuk mencari parameter algoritme genetika yang paling optimal diantara 12 kombinasi parameter tersebut, dilakukan percobaan sebanyak 10 kali untuk masing-masing 12 kombinasi parameter. Total percobaan yang dilakukan
adalah 120 percobaan. Hasil percobaan untuk 12 kombinasi parameter dapat dilihat pada Lampiran 2. Dari 12 kombinasi parameter dan masingmasing dilakukan 10 iterasi, hanya tiga kombinasi parameter yang menghasilkan nilai fitness relatif lebih stabil dengan menghasilkan nilai fitness sebesar 0.0690 sebanyak sembilan buah dan nilai fitness sebesar 0.1034 sebanyak satu buah. Tiga kombinasi parameter tersebut yaitu: a. tingkat rekombinasi = 80%, tingkat mutasi = 10%, dan maksimum generasi = 50, b. tingkat rekombinasi = 90%, tingkat mutasi = 10%, dan maksimum generasi = 50, dan c. tingkat rekombinasi = 100%, tingkat mutasi = 1%, dan maksimum generasi = 50. Tiga kombinasi parameter di atas merupakan kombinasi parameter yang terbaik bagi training set dan testing set 3. Untuk memperoleh parameter yang lebih optimal lagi, dilakukan percobaan untuk masingmasing tiga kombinasi parameter itu dengan menggunakan training set dan testing set 2. Training set 2 digunakan karena training set 2 merupakan training set yang memiliki akurasi masih di bawah 100% selain training set 3. Percobaan untuk tiga kombinasi parameter ini juga dilakukan masing-masing 10 kali percobaan. Total percobaan yang dilakukan adalah 30 percobaan. Hasil dari 30 kali percobaan ini dapat dilihat pada Lampiran 3. Dari 30 percobaan, kombinasi parameter yang terdiri dari tingkat rekombinasi sebesar 90%, tingkat mutasi sebesar 10%, dan maksimum generasi sebesar 50 generasi merupakan kombinasi parameter yang terbaik bagi training set dan testing set 2. Parameter ini menghasilkan nilai fitness yang stabil dengan menghasilkan nilai fitness sebesar 0.3793 pada 10 percobaan yang dilakukan. Sehingga, parameter algoritme yang optimal dengan ukuran populasi sebesar 10 yaitu: a tingkat rekombinasi: 90%, b tingkat mutasi: 10%, dan c maksimum generasi: 50. •
Ukuran populasi sebesar 30 dan 50 Pada percobaan dengan ukuran populasi sebesar 30 dan 50, juga dilakukan dengan variasi tingkat rekombinasi (50%, 60%, 70%, 80%, 90%, dan 100%), tingkat mutasi (1%, 5%, dan 10%), dan maksimum generasi (50, 100, 150, 200, 250). Total percobaan untuk
13
masing-masing ukuran populasi adalah 90 percobaan. Waktu eksekusi dengan ukuran populasi sebesar 30 dan 50 relatif lama (lebih dari 900 detik), sehingga percobaan dengan ukuran populasi sebesar 30 dan 50 ini tidak dilakukan untuk semua kombinasi parameter. Percobaan dilakukan hanya dengan kombinasi parameter yang optimal pada ukuran populasi sebesar 10 yaitu kombinasi parameter yang terdiri dari tingkat rekombinasi sebesar 90% dan tingkat mutasi sebesar 10%. Percobaan dilakukan dengan variasi nilai maksimum generasi (50, 100, 150, 200, dan 250). Total percobaan yang dilakukan adalah 10 percobaan. Hasil percobaan ini dapat dilihat pada Lampiran 4. Dari hasil percobaan tersebut, besar nilai fitness dengan maksimum generasi sebesar 250 sama dengan nilai fitness dengan maksimum generasi sebesar 50 yaitu sebesar 0.0690. Sehingga, maksimum generasi sebesar 50 merupakan maksimum generasi yang baik bagi ukuran populasi sebesar 30 dan 50. •
Penentuan parameter yang optimal Total percobaan yang dilakukan adalah 250 percobaan. Dari 250 percobaan, dapat disimpulkan hasil percobaan ke dalam dua kelompok yaitu: a percobaan dengan variasi tingkat rekombinasi dan tingkat mutasi, dan b percobaan dengan variasi ukuran populasi dan maksimum generasi. Hasil percobaan dengan variasi tingkat rekombinasi dan tingkat mutasi dapat dilihat pada Tabel 5. Percobaan ini dilakukan pada ukuran populasi sebesar 10 dan maksimum generasi sebesar 50 generasi.
Tabel 5 Lanjutan Tingkat Rekombinasi 90%
100%
50%
60%
70%
80%
Tingkat Mutasi 1% 5% 10% 1% 5% 10% 1% 5% 10% 1% 5% 10%
Akurasi 89.66% 93.10% 89.66% 93.10% 93.10% 93.10% 89.66% 93.10% 86.21% 93.10% 89.66% 93.10%
Fitness Terbaik 0.1034 0.0690 0.1034 0.0690 0.0690 0.0690 0.1034 0.0690 0.1379 0.0690 0.1034 0.0690
Akurasi 93.10% 93.10% 93.10% 93.10% 93.10% 89.66%
Fitness Terbaik 0.0690 0.0690 0.0690 0.0690 0.0690 0.1034
Dari Tabel 5, ada 12 kombinasi parameter yang baik yaitu kombinasi parameter yang memiliki nilai fitness sebesar 0.0690. Dari 12 kombinasi parameter ini, telah disimpulkan parameter yang optimal yaitu: a tingkat rekombinasi: 90%, dan b tingkat mutasi: 10%. Hasil percobaan dengan variasi ukuran populasi dan maksimum generasi dapat dilihat pada Tabel 6. Percobaan ini dilakukan dengan tingkat rekombinasi sebesar 90% dan tingkat mutasi sebesar 10%. Tabel 6 Hasil percobaan dengan variasi ukuran populasi dan maksimum generasi Ukuran Popu lasi
10
30
Tabel 5 Hasil percobaan dengan variasi tingkat rekombinasi dan tingkat mutasi Tingkat Rekombinasi
Tingkat Mutasi 1% 5% 10% 1% 5% 10%
50
Maks. Gene Rasi 50 100 150 200
Akurasi
Fitness Terbaik
Waktu (detik)
93.10% 93.10% 93.10% 93.10%
0.0690 0.0690 0.0690 0.0690
331,344 621,937 989,718 1168,190
250
93.10%
0.0690
1453,800
50
93.10%
0.0690
1014,110
100
93.10%
0.0690
2406,530
150
93.10%
0.0690
3140,270
200
93.10%
0.0690
4502,950
250
93.10%
0.0690
5732,880
50
93.10%
0.0690
1809,130
100
93.10%
0.0690
3866,530
150
93.10%
0.0690
5677,980
200
93.10%
0.0690
7172,590
250
93.10%
0.0690
7865,800
Dari Tabel 6, besar nilai fitness terbaik pada ukuran populasi sebesar 30 dan 50 tidak lebih rendah daripada nilai fitness terbaik pada ukuran populasi sebesar 10. Waktu eksekusi percobaan dengan ukuran populasi sebesar 30 dan 50 lebih lama daripada ukuran populasi sebesar 10. Pada ukuran populasi sebesar 10, 30, dan 50, besar nilai fitness terbaik pada maksimum generasi sebesar 250 tidak lebih
14
rendah daripada nilai fitness terbaik pada maksimum generasi sebesar 50. Waktu eksekusi percobaan dengan maksimum generasi sebesar 250 lebih lama daripada maksimum generasi sebesar 50. Peningkatan ukuran populasi dan maksimum generasi tidak menghasilkan nilai fitness yang lebih rendah dari 0.0690 dan akurasi lebih tinggi dari 93.10%. Berdasarkan hasil percobaan tersebut ditetapkan bahwa ukuran populasi yang baik adalah 10 dan maksimum generasi yang baik adalah 50 generasi. Setelah menganalisis hasil percobaan, diperoleh parameter algoritme genetika yang optimal bagi kasus ini. Parameter algoritme genetika yang optimal bagi kasus ini yaitu: a tingkat rekombinasi: 90%, b tingkat mutasi: 10%, c ukuran populasi: 10, dan d maksimum generasi: 50. Training G-DT Setelah parameter algoritme genetika yang optimal diperoleh, proses training G-DT dapat dilakukan. Proses training ini menggunakan sepuluh training sets yang sebelumnya telah dibagi dengan metode 10-fold cross validation. Untuk setiap training set dilakukan 10 kali iterasi. Satu hasil training yang mewakili 10 hasil training dari suatu training set ditentukan dengan kriteria berikut yang diurutkan berdasarkan prioritas: 1 nilai akurasi yang paling tinggi, 2 jumlah aturan yang dihasil yang paling sering muncul (modus), dan 3 waktu eksekusi yang paling cepat. Hasil training untuk training set 2 dapat dilihat pada Tabel 7. Hasil training set 3 dapat dilihat pada Tabel 8. Tabel 7 Hasil training untuk training set 2 Set
Akurasi
Waktu (detik)
Jumlah Aturan
1 2 3 4 5 6 7 8 9 10
62.07% 62.07% 62.07% 62.07% 62.07% 62.07% 62.07% 62.07% 62.07% 62.07%
231,344 216,141 220,281 199,360 200,547 213,359 227,078 204,969 240,250 223,735
18 (17 negatif, 1 positif) 17 (16 negatif, 1 positif) 17 (16 negatif, 1 positif) 16 (15 negatif, 1 positif) 17 (16 negatif, 1 positif) 18 (17 negatif, 1 positif) 18 (17 negatif, 1 positif) 17 (16 negatif, 1 positif) 19 (18 negatif, 1 positif) 18 (17 negatif, 1 positif)
Tabel 8 Hasil training untuk training set 3 Set
Akurasi
Waktu (detik)
Jumlah Aturan
1 2 3 4 5 6 7 8 9 10
93.10% 93.10% 93.10% 93.10% 89.66% 93.10% 93.10% 93.10% 93.10% 93.10%
324,594 328,766 310,985 321,031 302,500 306,156 317,187 306,375 264,859 319,531
28 (26 negatif, 2 positif) 26 (25 negatif, 1 positif) 21 (20 negatif, 1 positif) 25 (23 negatif, 2 positif) 20 (19 negatif, 1 positif) 22 (20 negatif, 2 positif) 25 (24 negatif, 1 positif) 21 (20 negatif, 1 positif) 21 (20 negatif, 1 positif) 24 (23 negatif, 1 positif)
Hasil training dari training set 2 yaitu dari 10 iterasi yang dilakukan diperoleh nilai akurasi yang sama yaitu 62.07%. Jumlah aturan yang paling sering dihasilkan adalah 17 aturan dan 18 aturan. Empat iterasi dari 10 iterasi yang dilakukan menghasilkan aturan yang berjumlah 17 aturan. Empat iterasi menghasilkan aturan yang berjumlah 18 aturan. Tujuh belas dan delapan belas aturan yang dihasilkan ini masing-masing memiliki 1 aturan mengandung kelas target positif diabetes. Dari delapan iterasi ini, yang memiliki waktu eksekusi paling cepat adalah iterasi ke-5 yaitu 200,547 detik. Sehingga, hasil training yang mewakili hasil training dari training set 2 adalah hasil training pada iterasi ke-5. Hasil training dari training set 3 yaitu dari 10 iterasi yang dilakukan diperoleh nilai akurasi sebesar 93.10% sebanyak 9 iterasi dan nilai akurasi sebesar 89.66% sebanyak 1 iterasi. Jumlah aturan yang paling sering dihasilkan adalah 21 aturan. Tiga iterasi dari 10 iterasi yang dilakukan menghasilkan aturan yang berjumlah 21 aturan. Dua puluh satu aturan yang dihasilkan ini terdiri dari 20 aturan mengandung kelas target negatif diabetes dan 1 aturan mengandung kelas target positif diabetes. Dari tiga iterasi yang menghasilkan 21 aturan ini, yang memiliki waktu eksekusi paling cepat adalah iterasi ke9 yaitu 264,859 detik. Sehingga, hasil training yang mewakili hasil training dari training set 3 adalah hasil training pada iterasi ke-9. Hasil training set 1, training set 4, training set 5, training set 6, training set 7, training set 8, training set 9, dan training set 10 dapat dilihat pada Lampiran 5. Pemilihan satu hasil training untuk mewakili 10 hasil training suatu training set ini juga dilakukan
15
untuk 8 training sets ini. Record yang dicetak tebal pada Lampiran 5 merupakan wakil hasil training dari training set tersebut. Hasil training untuk setiap training set dapat dilihat pada Tabel 9. Tabel 9 Hasil training G-DT untuk setiap training set Set
Akurasi
1
100.00%
2
62.07%
3
93.10%
4
100.00%
5
100.00%
6
100.00%
7
100.00%
8
100.00%
9
100.00%
10
100.00%
Rataan
95.52%
Jumlah Aturan 26 (24 negatif, 2 positif) 17 (16 negatif, 1 positif) 21 (20 negatif, 1 positif) 25 (24 negatif, 1 positif) 23 (20 negatif, 3 positif) 27 (25 negatif, 2 positif) 22 (22 negatif, 0 positif) 20 (19 negatif, 1 positif) 22 (22 negatif, 0 positif) 23 (21 negatif, 2 positif) 22.6
Waktu Total (detik) 15,031 207,204 271,484 15,563 15,188 15,063 14,797 14,625 15,016 15,485
Dari Tabel 9, terlihat bahwa nilai akurasi pada training set 2 dan training set 3 mengalami peningkatan dengan menggunakan parameter algoritme genetika yang optimal. Hasil dari training set menggunakan parameter algoritme genetika yang tidak optimal dapat dilihat pada Tabel 3. Dengan menggunakan parameter yang tidak optimal, untuk training set 2 diperoleh nilai akurasi sebesar 58.62% dan training set 3 diperoleh nilai akurasi sebesar 89.66%. Setelah menggunakan parameter yang optimal, nilai akurasi training set 2 dari 58.62% naik menjadi 62.07%. Pada training set 3, nilai akurasi dari 89.66% naik menjadi 93.10%. Rata-rata akurasi yang diperoleh dengan menggunakan parameter yang tidak optimal adalah sebesar 94.83%. Rata-rata akurasi yang diperoleh dengan menggunakan parameter yang optimal adalah sebesar 95.52%. Hal ini menunjukkan bahwa terjadi peningkatan ratarata akurasi dengan menggunakan parameter yang optimal sebesar 0.69%. Sebagian besar jumlah aturan yang dihasilkan dengan menggunakan parameter
yang optimal mengalami peningkatan dari jumlah aturan yang dihasilkan dengan menggunakan parameter yang tidak optimal. Tujuh dari sepuluh aturan yang dihasilkan mengalami peningkatan dalam hal jumlah. Tiga aturan dihasilkan dengan jumlah yang sama. Hal ini disebabkan perbedaan bilangan acak yang dibangkitkan untuk membentuk populasi awal dan penggunaan parameter yang berbeda. Kedua hal ini menyebabkan solusi yang dihasilkan akan berbeda sehingga tree yang dihasilkan akan berbeda. Parameter yang menghasilkan nilai akurasi tertinggi merupakan parameter yang terbaik. Rata-rata jumlah aturan yang dihasilkan dengan menggunakan parameter yang tidak optimal adalah 20.8. Rata-rata aturan yang dihasilkan dengan menggunakan parameter yang optimal adalah 22.6. Hal ini menunjukkan bahwa terjadi peningkatan ratarata jumlah aturan yang dihasilkan dengan menggunakan parameter yang optimal. Representasi Pengetahuan Model yang dihasilkan dari proses training digunakan untuk mengetahui label kelas pada data yang baru. Model tersebut dipilih berdasarkan tiga kriteria berikut yang diurutkan berdasarkan prioritas: 1 Model yang mencakup semua kelas target yang mungkin muncul dalam testing set, dalam penelitian ini kelas target yang mungkin muncul yaitu kelas target 1 (negatif diabetes) dan kelas target 2 (positif diabetes). 2 Model dengan akurasi yang paling tinggi, semakin tinggi akurasinya maka semakin baik model tersebut. 3 Model dengan jumlah aturan yang paling banyak. Berdasarkan kriteria tersebut maka model yang dipilih adalah hasil training dari pasangan training set dan testing set keenam dengan jumlah aturan sebanyak 27 aturan. Dari 27 aturan tersebut hanya 2 aturan yang mengandung kelas target positif diabetes. Model yang dihasilkan adalah sebagai berikut: 1 IF GPOST rendah THEN Negatif Diabetes 2 IF GPOST sedang AND GLUN rendah AND TG rendah AND HDL rendah THEN Negatif Diabetes 3 IF GPOST sedang AND GLUN rendah AND TG rendah AND HDL sedang THEN Negatif Diabetes
16
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
IF GPOST sedang AND GLUN rendah AND TG rendah AND HDL tinggi THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG sedang AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG sedang AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG tinggi THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG rendah AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG rendah AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG rendah AND HDL tinggi THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG sedang AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG sedang AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG tinggi AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG tinggi AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN tinggi AND TG rendah AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN tinggi AND TG rendah AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN tinggi AND TG sedang AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN tinggi AND TG sedang AND HDL sedang THEN Positif Diabetes IF GPOST sedang AND GLUN tinggi AND TG tinggi THEN Negatif Diabetes IF GPOST tinggi AND TG rendah AND GLUN sedang THEN Negatif Diabetes IF GPOST tinggi AND TG rendah AND GLUN tinggi THEN Negatif Diabetes IF GPOST tinggi AND TG sedang AND HDL rendah AND GLUN rendah THEN Negatif Diabetes IF GPOST tinggi AND TG sedang AND HDL rendah AND GLUN sedang THEN Negatif Diabetes
24 IF GPOST tinggi AND TG sedang AND HDL rendah AND GLUN tinggi THEN Negatif Diabetes 25 IF GPOST tinggi AND TG sedang AND HDL sedang AND GLUN rendah THEN Negatif Diabetes 26 IF GPOST tinggi AND TG sedang AND HDL sedang AND GLUN sedang THEN Negatif Diabetes 27 IF GPOST tinggi AND TG sedang AND HDL sedang AND GLUN tinggi THEN Positif Diabetes Perbandingan G-DT dan FDT •
Proses pembentukan tree Proses pembentukan G-DT berbeda dengan FDT. Sehingga, tree dan aturan yang dihasilkan G-DT berbeda dengan FDT. Untuk melihat tree dan aturan yang dihasilkan oleh FDT dan G-DT, dilakukan pembentukan FDT dan G-DT menggunakan data training set dan testing set 1. Contoh sebagian data training set dan testing set 1 dapat dilihat pada Lampiran 6. Contoh sebagian data training set 1 hasil fuzzikasi untuk membentuk FDT dapat dilihat pada Lampiran 7. Contoh sebagian data training set 1 hasil fuzzikasi untuk membentuk G-DT dapat dilihat pada Lampiran 8. Pembentukan FDT menggunakan algoritme FID3. Langkah-langkah dalam pembentukan FDT yaitu: 1 Membuat root node dari semua data training yang ada. 2 Menghitung fuzzy entropy dari training set yang ada. Nilai fuzzy entropy ini akan digunakan untuk menghitung nilai information gain dari masing-masing atribut. 3 Menghitung information gain dari atributatribut. Atribut yang memiliki nilai information gain paling tinggi akan dipilih untuk digunakan dalam mengekspansi tree atau menjadi root node, tetapi pada subnode selanjutnya atribut ini tidak dapat digunakan untuk mengekspansi tree. 4 Ekspansi data training berdasarkan atribut terpilih. Nilai derajat keanggotaan yang baru masing-masing record pada sub-node diperoleh dari hasil perkalian antara derajat keanggotaan pada root node dan derajat keanggotaan atribut yang digunakan untuk mengekspansi tree.
17
5 Menghitung proporsi dari setiap kelas yang ada pada setiap node. 6 Periksa threshold. Jika proporsi himpunan data dari kelas Ck lebih besar atau sama dengan nilai fuzziness control threshold (FCT / θr), maka ekspansi tree dihentikan. Jika banyaknya anggota himpunan data pada suatu node lebih kecil dari leaf decision threshold (LDT / θn), maka ekspansi tree dihentikan. 7 Ekspansi sub-node terus dilakukan sampai tidak ada lagi data yang dapat diekspansi atau tidak ada lagi atribut yang dapat digunakan untuk mengekspansi tree yaitu ketika tree yang terbentuk sudah mencapai kedalaman maksimum atau sub-node tidak memenuhi syarat dari threshold yang diberikan. Jika sub-node sudah tidak dapat diekspansi maka nilai proporsi kelas terbesar merupakan kesimpulan dari sekumpulan aturan yang diperoleh dengan menghubungkan setiap node yang dilewati dari root node hingga leaf node. Berdasarkan langkah-langkah algoritme FID3 di atas, diperoleh fuzzy decision tree seperti Lampiran 9 dan sebuah model yang terdiri dari 29 buah aturan dengan menggunakan training set 1. Model atau aturan klasifikasi yang diperoleh dapat dilihat pada Lampiran 10. Pembentukan G-DT menggunakan algoritme genetika dan algoritme FID3. Langkah-langkah dalam pembentukan G-DT yaitu: 1 Membangkitkan populasi berdasarkan data training.
awal
2 Menghitung nilai fitness dengan langkahlangkah berikut: a Bentuk fungsi keanggotaan fuzzy untuk setiap atribut dan hitung derajat keanggotaan setiap data masingmasing atribut. Nilai derajat keanggotaan fuzzy setiap data akan digunakan untuk membentuk tree. b Bentuk tree dengan menggunakan algoritme fuzzy ID3, sehingga diperoleh aturan-aturan. Aturan-aturan dan fungsi keanggotaan fuzzy setiap atribut digunakan untuk membentuk FIS Mamdani. c Melakukan testing dengan menggunakan FIS Mamdani, sehingga diperoleh nilai galat (error). Nilai galat ini merupakan nilai fitness.
3 Mengevaluasi fitness dengan cara memeriksa fitness dengan fitness threshold. Jika fitness lebih kecil daripada fitness threshold, maka parameter fungsi keanggotaan yang terbaik telah diperoleh dan dapat dibentuk tree dengan cara: a Bentuk fungsi keanggotaan fuzzy untuk setiap atribut dan hitung derajat keanggotaan setiap data masingmasing atribut. Nilai derajat keanggotaan fuzzy setiap data akan digunakan untuk membentuk tree. b Bentuk tree dengan menggunakan algoritme fuzzy ID3, sehingga diperoleh model. Jika fitness lebih besar daripada fitness threshold, maka lakukan elitisme, seleksi, rekombinasi, dan mutasi untuk membentuk populasi baru. 4 Melakukan elitisme, seleksi, rekombinasi, dan mutasi sehingga terbentuk populasi baru. 5 Menghitung nilai fitness populasi baru. 6 Evaluasi nilai fitness populasi baru. 7 Iterasi akan terus dilakukan hingga diperoleh solusi yang memenuhi nilai fitness threshold atau telah mencapai maksimum generasi. Jika parameter fungsi keanggotaan yang terbaik telah diperoleh, maka tree dapat dibentuk. Tree yang dihasilkan ini merupakan genetically optimized fuzzy decision tree (G-DT). Berdasarkan langkah-langkah dalam pembentukan G-DT di atas, diperoleh genetically optimized fuzzy decision tree seperti Lampiran 11 dan sebuah model yang terdiri dari 26 buah aturan dengan menggunakan training set 1. Model atau aturan klasifikasi yang diperoleh dapat dilihat pada Lampiran 12. •
Hasil training Hasil G-DT dapat dilihat pada Tabel 10. Hasil FDT yang merupakan hasil penelitian sebelumnya dapat dilihat pada Tabel 11. Tabel 10 Hasil training G-DT Set
Akurasi
Waktu (detik)
Waktu Total (detik)
1
100.00%
8,390
15,031
2
62.07%
200,547
207,204
Jumlah Aturan 26 (24 negatif, 2 positif) 17 (16 negatif, 1 positif)
18
Tabel 10 Lanjutan
Tabel 11 Lanjutan
Akurasi
Waktu (detik)
Waktu Total (detik)
3
93.10%
264,859
271,484
4
100.00%
8,953
15,563
5
100.00%
8,235
15,188
6
100.00%
8,453
15,063
7
100.00%
8,281
14,797
8
100.00%
7,938
14,625
9
100.00%
8,250
15,016
10
100.00%
8,813
15,485
Rataan
95.52%
Set
Jumlah Aturan 21 (20 negatif, 1 positif) 25 (24 negatif, 1 positif) 23 (20 negatif, 3 positif) 27 (25 negatif, 2 positif) 22 (22 negatif, 0 positif) 20 (19 negatif, 1 positif) 22 (22 negatif, 0 positif) 23 (21 negatif, 2 positif) 22.6
Tabel 11 Hasil training FDT Set
Akurasi
Waktu (detik)
Waktu Total (detik)
1
100.00%
0,750
21,625
2
55.17%
0,219
21,375
3
82.76%
0,562
21,500
4
100.00%
0,735
21,657
5
100.00%
0,782
21,703
6
100.00%
0,828
21,906
7
86.66%
0,766
21,828
8
89.66%
0,766
21,719
9
100.00%
0,750
21,797
Jumlah Aturan 29 (29 negatif, 0 positif) 9 (9 negatif, 0 positif) 23 (22 negatif, 1 positif) 29 (29 negatif, 0 positif) 30 (30 negatif, 0 positif) 31 (31 negatif, 0 positif) 29 (27 negatif, 2 positif) 29 (28 negatif, 1 positif) 29 (29 negatif, 0 positif)
Set
Akurasi
10
93.10%
Rataan
90.69%
Waktu (detik)
Waktu Total (detik)
0,782
21,750
Jumlah Aturan 30 (29 negatif, 1 positif) 27
Dari Tabel 10 dan Tabel 11, terlihat bahwa nilai akurasi G-DT lebih tinggi daripada nilai akurasi FDT. Hal ini menunjukkan bahwa G-DT berhasil meningkatkan nilai akurasi. Nilai akurasi training set 2 dari 55.17% naik menjadi 62.07%. Nilai akurasi training set 3 juga naik dari 82.76% menjadi 93.10%. Nilai akurasi training set 7, trainng set 8, dan training set 10 naik menjadi 100%. FDT hanya menghasilkan 5 nilai akurasi sebesar 100%. Sedangkan G-DT menghasilkan 8 nilai akurasi sebesar 100%. Rata-rata akurasi yang dihasilkan G-DT juga lebih tinggi daripada rata-rata akurasi yang dihasilkan FDT. Rata-rata nilai akurasi yang dihasilkan FDT adalah sebesar 90.69%. Sedangkan, rata-rata nilai akurasi yang dihasilkan G-DT adalah sebesar 95.52%. Hal ini menunjukkan bahwa G-DT berhasil meningkatkan nilai rata-rata akurasi sebesar 4.83%. Sebagian besar jumlah aturan yang dihasilkan G-DT untuk setiap training set lebih rendah dari jumlah aturan yang dihasilkan FDT. Sembilan dari sepuluh model yang dihasilkan G-DT memiliki jumlah aturan lebih rendah daripada jumlah aturan yang dihasilkan FDT. Satu model yang dihasilkan G-DT memiliki jumlah aturan yang lebih tinggi daripada jumlah aturan yang dihasilkan FDT. Pada training set 2, jumlah aturan yang dihasilkan FDT adalah sebanyak 9 aturan dan jumlah aturan yang dihasilkan G-DT adalah sebanyak 17 aturan. Perbedaan jumlah aturan yang dihasilkan ini disebabkan oleh perbedaan proses pembentukan tree pada G-DT dan FDT. Rendahnya jumlah aturan yang dihasilkan GDT ini disebabkan oleh perbedaan jumlah himpunan fuzzy untuk atribut GLUN dan GPOST yang digunakan dalam pembentukan G-DT dan FDT. Pada FDT, jumlah himpunan fuzzy untuk atribut GLUN dan GPOST adalah sebanyak 4 himpunan fuzzy (rendah, sedang, tinggi, sangat tinggi). Pada G-DT, jumlah himpunan fuzzy untuk atribut GLUN dan GPOST adalah sebanyak 3 himpunan fuzzy
19
(rendah, sedang, tinggi). Oleh karena itu, sebagian besar jumlah aturan yang dihasilkan G-DT lebih rendah daripada jumlah aturan yang dihasilkan FDT. Pada umumnya, jika nilai akurasi semakin naik maka jumlah aturan yang dihasilkan semakin turun.
pembentukan G-DT dengan menggunakan training set 6. a Atribut GLUN Atribut GLUN dibagi menjadi 3 kelompok yaitu rendah, sedang, dan tinggi. Fungsi keanggotaan untuk atribut GLUN yaitu:
Rata-rata jumlah aturan yang dihasilkan G-DT juga lebih rendah daripada rata-rata jumlah aturan yang dihasilkan FDT. Rata-rata jumlah aturan yang dihasilkan FDT adalah 27 aturan. Sedangkan, rata-rata jumlah aturan yang dihasilkan G-DT adalah 22.6 aturan.
; x < 70 ⎧ 1 ⎪ x −126 μ rendah (x ) = ⎨ ; 70 ≤ x <126 ⎪ − 56 ; x ≥126 ⎩ 0
⎧ 0 ⎪ x − 70 ⎪ ⎪ 56 μ sedang (x ) = ⎨ 1 ⎪ x − 282 ⎪ ⎪ − 80 ⎩ 0
Model yang dihasilkan G-DT juga berbeda dengan model yang dihasilkan FDT. Dengan menggunakan sepuluh training sets, G-DT menghasilkan 8 model yang memiliki aturan yang mengandung kelas target positif diabetes. Sedangkan FDT hanya menghasilkan 4 model yang memiliki aturan yang mengandung kelas target positif diabetes.
Waktu untuk membentuk G-DT lebih lama daripada waktu untuk membentuk FDT. Hal ini disebabkan dalam pembentukan GDT, FDT dibentuk beberapa kali tergantung besarnya ukuran populasi dan maksimum generasi. Jika besar ukuran populasi dan maksimum generasi semakin besar, maka waktu pembentukan G-DT akan semakin lama. Akan tetapi, jika hasil G-DT diperoleh pada iterasi pertama, waktu total untuk menjalankan program G-DT lebih cepat daripada waktu total untuk menjalankan program FDT. Hal ini terlihat dari waktu eksekusi untuk training set 1, 4, 5, 6, 7, 8, 9, dan 10 pada Tabel 10. Jumlah himpunan fuzzy dan fungsi keanggotaan yang digunakan dalam pembentukan G-DT berbeda dengan FDT. Pada FDT, fungsi keanggotaan fuzzy telah ditetapkan dari awal. Sedangkan pada G-DT, fungsi keanggotaan diperoleh dari hasil pembelajaran dengan algoritme genetika. Berikut jumlah himpunan fuzzy dan fungsi keanggotaan yang digunakan dalam
x < 70
;
70 ≤ x <126
; 126 ≤ x < 202 ; 202 ≤ x < 282 x ≥ 282
;
; x < 202 ⎧ 0 ⎪ x − 202 μtinggi (x ) = ⎨ ; 202 ≤ x < 282 ⎪ 80 1 ; x ≥ 282 ⎩
Himpunan fuzzy menggunakan kurva dengan bentuk trapesium seperti Gambar 11. Rendah
1 Derajat Keanggiotaan
Model yang dihasilkan dari proses training FDT mengandung 30 aturan yang terdiri atas 29 aturan mengandung kelas target negatif diabetes dan 1 aturan mengandung kelas target positif diabetes. Model yang dihasilkan dari proses training G-DT mengandung 27 aturan yang terdiri atas 25 aturan mengandung kelas target negatif diabetes dan 2 aturan mengandung kelas target positif diabetes.
;
Tinggi
Sedang
0.8 0.6 0.4 0.2 0 0
100
200
300 GLUN
400
500
600
Gambar 11 Himpunan fuzzy atribut GLUN. b Atribut GPOST Atribut GPOST dibagi menjadi 3 kelompok yaitu rendah, sedang, dan tinggi. Fungsi keanggotaan untuk atribut GPOST yaitu: ⎧ ⎪
1
x −154 μ rendah (x ) = ⎨
⎪ − 57 ⎩ 0 ⎧ 0 ⎪ x − 97 ⎪ ⎪ 57 μ sedang ( x ) = ⎨ 1 ⎪ x − 378 ⎪ ⎪ − 106 ⎩ 0
;
x < 97
; 97 ≤ x <154 ;
x ≥154
;
x < 97
;
97 ≤ x <154
; 154 ≤ x < 272 ; 272 ≤ x < 378 ;
x ≥ 378
x < 272 ; ⎧ 0 ⎪ x − 272 μtinggi (x ) = ⎨ ; 272 ≤ x < 378 ⎪ 106 1 ; x ≥ 378 ⎩
20
Himpunan fuzzy menggunakan kurva dengan bentuk trapesium seperti Gambar 12. Rendah
Derajat Keanggiotaan
1
Sedang
Tinggi
d Atribut TG Atribut TG dibagi menjadi 3 kelompok yaitu rendah, sedang, dan tinggi. Fungsi keanggotaan untuk atribut TG yaitu: ⎧ 1 ⎪ x −168 μ rendah (x ) = ⎨ ⎪ − 59 ⎩ 0 ⎧ 0 ⎪ x −109 ⎪ ⎪ 59 μ sedang (x ) = ⎨ 1 ⎪ x − 471 ⎪ ⎪ − 147 ⎩ 0
0.8 0.6 0.4 0.2 0 0
100
200
300 400 GPOST
500
600
700
c Atribut HDL Atribut HDL dibagi menjadi 3 kelompok yaitu rendah, sedang, dan tinggi. Fungsi keanggotaan untuk atribut HDL yaitu:
;
x < 35
;
35 ≤ x < 61
;
61≤ x < 77 x ≥135
Derajat Keanggiotaan
Sedang
x <109
; 109 ≤ x <168 ; 168 ≤ x < 324 ; 324 ≤ x < 471 ;
x ≥ 471
Sedang
Tinggi
0.4 0.2 0 100
200
300
400
500
600
700
TG
Gambar 14 Himpunan fuzzy atribut TG.
Tinggi
Untuk training set 1, 2, 3, 4, 5, 7, 8, 9, dan 10 dapat dilihat pada Lampiran 13. Sedangkan, jumlah himpunan fuzzy dan fungsi keanggotaan yang digunakan dalam pembentukan FDT yang digunakan pada penelitian sebelumnya dapat dilihat pada Lampiran 14. Evaluasi Kinerja G-DT
0.8 0.6 0.4 0.2 0 0
;
0.6
0
Himpunan fuzzy menggunakan kurva dengan bentuk trapesium seperti Gambar 13. Rendah
x ≥168
0.8
x < 77 ; ⎧ 0 ⎪ x − 77 ; 77 ≤ x <135 μtinggi (x ) = ⎨ ⎪ 58 x ≥135 ; ⎩ 1
1
Rendah
1
; 77 ≤ x <135 ;
; 109 ≤ x <168 ;
Himpunan fuzzy menggunakan kurva dengan bentuk trapesium seperti Gambar 14.
Derajat Keanggiotaan
⎧ 0 ⎪ x − 35 ⎪ ⎪ 26 μ sedang (x ) = ⎨ 1 ⎪ x −135 ⎪ ⎪ − 058 ⎩
x < 109
; x < 324 ⎧ 0 ⎪ x − 471 ; 324 ≤ x < 471 μtinggi ( x ) = ⎨ ⎪ 147 ; x ≥ 471 ⎩ 1
Gambar 12 Himpunan fuzzy atribut GPOST.
; x < 35 ⎧ 1 ⎪ x − 61 ; 35 ≤ x < 61 μrendah (x ) = ⎨ ⎪ − 26 0 ; x ≥ 61 ⎩
;
20
40
60
80
100 120 140 160 180 200 HDL
Gambar 13 Himpunan fuzzy atribut HDL.
Evaluasi kinerja G-DT dapat diketahui dari akurasi yang dihasilkan pada proses pembentukan G-DT pada training set dan testing set yang berbeda dan rata-rata akurasi keseluruhan training set. Hal ini dapat dilihat pada Tabel 10. Dari tabel 10 terlihat bahwa bahwa rata-rata akurasi G-DT lebih tinggi daripada rata-rata akurasi FDT. Hal ini menunjukkan telah terjadi peningkatan ratarata akurasi sebesar 4.83% dari rata-rata akurasi FDT. Dari sepuluh training sets, hanya dua training sets yang tidak memperoleh akurasi
21
100%. Untuk training set dan testing set 2 diperoleh akurasi sebesar 62.07%. Untuk training set dan testing set 3 diperoleh akurasi sebesar 93.10%. Hal ini disebabkan pada testing set 2 dan testing set 3 mengandung data positif diabetes. Sedangkan testing set yang lain tidak mengandung data positif diabetes. Sementara itu, total data positif diabetes berjumlah kecil yaitu hanya 17 record dan total data negatif diabetes berjumlah besar yaitu 273 record. Data ini kurang representatif. Hal ini mengakibatkan jumlah aturan yang dihasilkan yang mengandung kelas target positif diabetes lebih rendah daripada aturan yang mengandung kelas target negatif diabetes. Sehingga, data dengan kelas target positif diabetes sulit untuk dikenali. Oleh karena itu, data testing set 2 dan testing set 3 agak sulit dikenali dan nilai akurasinya relatif lebih rendah. Untuk melakukan proses pembentukan GDT telah dibangun sebuah aplikasi sederhana dengan menggunakan Matlab 7.0.1. Salah satu antarmuka grafis dari aplikasi tersebut dapat dilihat pada Gambar 15.
2
3
4
5
6
7
sehingga diperoleh genetically optimized fuzzy decison tree (G-DT). Rata-rata nilai akurasi G-DT meningkat sebesar 4.83% dari rata-rata nilai akurasi FDT. Rata-rata akurasi FDT adalah sebesar 90.69%, sedangkan rata-rata akurasi G-DT adalah sebesar 95.52%. Parameter algoritme genetika yang optimal yaitu: a fitness threshold: 0.05, b tingkat rekombinasi: 90%, c tingkat mutasi: 10%, d ukuran populasi: 10, dan e maksimum generasi: 50. Dengan menggunakan parameter algoritme genetika yang optimal, nilai akurasi meningkat sebesar 0.69%. Ratarata akurasi yang diperoleh dengan menggunakan parameter yang tidak optimal adalah 94.83%. Rata-rata akurasi yang diperoleh dengan menggunakan parameter yang optimal adalah 95.52%. Jumlah aturan yang diperoleh oleh G-DT adalah sebanyak 27 aturan yang terdiri atas 25 aturan mengandung kelas target negatif diabetes dan 2 aturan mengandung kelas target positif diabetes. Jumlah aturan yang diperoleh G-DT lebih rendah daripada jumlah aturan yang diperoleh FDT. Jumlah aturan yang diperoleh FDT adalah 30 aturan. Jumlah aturan yang diperoleh G-DT adalah 27 aturan. Penelitian ini menghasilkan aplikasi sederhana yang dapat digunakan untuk membuat classifier berdasarkan algoritme genetika dan FID3 dengan menggunakan Matlab 7.0.1.
Saran
Gambar 15 Antarmuka grafis aplikasi G-DT.
KESIMPULAN DAN SARAN Kesimpulan Dari berbagai percobaan yang dilakukan terhadap data diabetes diperoleh kesimpulan sebagai berikut: 1 Algoritme genetika dapat digunakan untuk optimasi fuzzy decision tree (FDT)
Pada penelitian ini masih terdapat kekurangan yang dapat diperbaiki pada penelitian selanjutnya. Pada penelitian ini, data yang digunakan kurang representatif karena jumlah data untuk positif diabetes hanya 17 record, sedangkan untuk negatif diabetes sebanyak 273 record. Penelitian selanjutnya diharapkan menggunakan data yang lebih representatif dengan perbandingan jumlah data positif dan negatif diabetes yang sama besar, sehingga aturan klasifikasi yang dihasilkan memiliki akurasi yang lebih baik.
22
DAFTAR PUSTAKA Cox E. 2005. Fuzzy Modeling and Genetic Algorithms for Data Mining and Exploration. USA: Morgan Kaufman Publishers. Fu L. 1994. Neural Network In Computer Intelligence. Singapura: McGraw Hill. Han J, Kamber M. 2006. Data Mining: Concepts and Techniques. USA: Morgan Kaufman Publishers. Jang JSR, Sun CT, Mizutani Eiji. 1997. Neuro-Fuzzy and Soft Computing. London: Prentice-Hall International, Inc. Kantardzic M. 2003. Data Mining: Concepts, Models, Methods, and Algorithms. Wiley-Interscience. Lawrence D. 1991. Handbook of Genetic Algorithms. New york: Van Nostrand Reinhold. Liang G. 2005. A Comparative Study of Three Decision Tree Algorithms: ID3, Fuzzy ID3 and Probabilistic Fuzzy ID3. Rotterdam: Informatic & Ecosnomics Eramus University Rotterdam. Marsala C. 1998. Application of Fuzzy Rule Induction to Data Mining. France: University Pierre et Marie Curie. Michalewicz Z. 1996. Genetic Algorithms + Data Structure = Evolution Programs. New York: Springer-Verlag Berlin Heidelberg. Pedryez W, Sosnowski ZA. 2005. Genetically Optimized Fuzzy Decision Trees. IEEE Transactions on Systems, Man, and Cybernetics vol.35 no.3. Romansyah F. 2007. Penerapan Teknik Klasifikasi dengan Metode Fuzzy Decision Tree dengan Algoritme ID3 pada Data Diabetes [Skripsi]. Bogor: Departemen Ilmu Komputer FMIPA IPB.
LAMPIRAN
24
Lampiran 1 Hasil percobaan untuk 90 kombinasi parameter pada ukuran populasi sebesar 10 Tingkat Crossover
Tingkat Mutasi 1%
50%
5%
10%
1%
60%
5%
10%
1%
70%
5%
10%
Maks. Generasi 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250
Akurasi 89,66% 89,66% 93,10% 89,66% 93,10% 93,10% 89,66% 93,10% 89,66% 93,10% 89,66% 89,66% 93,10% 93,10% 93,10% 93,10% 93,10% 89,66% 89,66% 93,10% 93,10% 89,66% 89,66% 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 89,66% 93,10% 93,10% 89,66% 89,66% 93,10% 93,10% 89,66% 93,10% 93,10% 86,21% 93,10% 93,10% 93,10% 93,10%
Waktu (detik) 320,938 533,547 762,656 1197,000 1792,580 284,406 585,859 845,891 1063,630 1271,020 301,875 522,672 981,672 1292,670 1451,640 315,610 597,734 802,297 1028,450 1275,480 329,094 549,875 1104,130 1229,920 1238,810 280,547 678,875 744,406 1002,200 1283,950 294,219 684,062 929,750 1157,770 1426,420 308,328 552,813 935,766 1016,780 1348,020 249,718 698,156 918,813 1219,940 1611,380
Jumlah Iterasi 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250
Jumlah Aturan 25 (0) 20 (1) 21 (1) 24 (1) 28 (1) 22 (1) 24 (1) 24 (1) 18 (1) 20 (1) 24 (3) 22 (1) 27 (1) 25 (1) 23 (1) 25 (2) 23 (1) 22 (1) 20 (1) 20 (1) 27 (`1) 23 (1) 29 (2) 24 (1) 18 (1) 21 (1) 27 (1) 18 (1) 22 (1) 20 (1) 21 (1) 27 (1) 23 (1) 23 (1) 23 (1) 22 (1) 19 (1) 24 (1) 17 (1) 21 (1) 19 (1) 32 (2) 28 (1) 25 (1) 25 (1)
Fitness Terbaik 0,1034 0,1034 0,0690 0,1034 0,0690 0,0690 0,1034 0,0690 0,1034 0,0690 0,1034 0,1034 0,0690 0,0690 0,0690 0,0690 0,0690 0,1034 0,1034 0,0690 0,0690 0,1034 0,1034 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,1034 0,0690 0,0690 0,1034 0,1034 0,0690 0,0690 0,1034 0,0690 0,0690 0,1379 0,0690 0,0690 0,0690 0,0690
25
Lanjutan Tingkat Crossover
Tingkat Mutasi
Maks. Waktu Jumlah Jumlah Fitness Akurasi Generasi (detik) Iterasi Aturan Terbaik 50 93,10% 339,532 50 26 (1) 0,0690 100 89,66% 509,110 100 21 (1) 0,1034 1% 150 89,66% 980,109 150 24 (1) 0,1034 200 93,10% 1322,890 200 26 (1) 0,0690 250 93,10% 1643,280 250 27 (1) 0,0690 50 89,66% 313,047 50 25 (1) 0,1034 100 93,10% 620,031 100 25 (1) 0,0690 5% 80% 150 93,10% 964,328 150 26 (1) 0,0690 200 93,10% 1249,340 200 23 (1) 0,0690 250 89,66% 1374,340 250 21 (1) 0,1034 50 93,10% 285,296 50 22 (1) 0,0690 100 93,10% 513,906 100 21 (1) 0,0690 10% 150 93,10% 1005,910 150 27 (1) 0,0690 200 93,10% 1207,580 200 26 (1) 0,0690 250 89,66% 1236,940 50 19(1) 0,1034 50 93,10% 278,891 50 21 (1) 0,0690 100 89,66% 518,094 100 22 (1) 0,1034 1% 150 89,66% 891,500 150 23 (1) 0,1034 200 89,66% 1088,890 200 22 (1) 0,1034 250 93,10% 1240,310 250 20 (1) 0,0690 50 93,10% 322,313 50 26 (3) 0,0690 100 93,10% 706,078 100 28 (1) 0,0690 90% 5% 150 93,10% 800,484 150 22 (2) 0,0690 200 93,10% 1122,440 200 22 (1) 0,0690 250 89,66% 1466,860 250 24 (1) 0,1034 50 93,10% 331,344 50 28 (2) 0,0690 100 93,10% 621,937 100 25 (1) 0,0690 10% 150 93,10% 989,718 150 23 (1) 0,0690 200 93,10% 1168,190 200 21 (1) 0,0690 250 93,10% 1453,800 250 24 (1) 0,0690 50 93,10% 296,625 50 23 (1) 0,0690 100 89,66% 619,860 100 22 (1) 0,1034 1% 150 93,10% 883,781 150 23 (1) 0,0690 200 93,10% 1354,590 200 26 (1) 0,0690 250 89,66% 1522,090 250 24 (2) 0,1034 50 93,10% 278,891 50 25 (2) 0,0690 100 89,66% 591,531 100 24 (1) 0,1034 100% 5% 150 89,66% 904,672 150 24 (3) 0,1034 200 93,10% 1167,970 200 21 (1) 0,0690 250 89,66% 1476,840 250 23 (1) 0,1034 50 89,66% 321,093 50 25 (1) 0,1034 100 89,66% 674,547 100 27 (1) 0,1034 10% 150 93,10% 827,235 150 21 (1) 0,0690 200 93,10% 1500,420 200 25 (1) 0,0690 250 93,10% 1651,530 250 28 (1) 0,0690 Ket : angka di dalam kurung pada kolom “jumlah aturan” menunjukkan jumlah aturan yang mengandung kelas target positif diabetes.
26
Lampiran 2 Hasil percobaan untuk 12 kombinasi parameter pada ukuran populasi sebesar 10 Tingkat rekombinasi = 50% Tingkat mutasi = 5% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 89,66% 93,10% 93,10% 89,66% 93,10% 93,10% 89,66% 89,66% 93,10%
Waktu (detik) 284,406 331,953 276,828 282,782 302,062 276,922 278,406 307,843 274,890 295,157
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 22 (1) 26 (1) 21 (1) 23 (1) 24 (1) 21 (1) 23 (1) 24 (1) 20 (1) 22 (1)
Fitness Terbaik 0,0690 0,1034 0,0690 0,0690 0,1034 0,0690 0,0690 0,1034 0,1034 0,0690
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 25 (2) 26 (1) 24 (1) 20 (1) 25 (1) 24 (2) 20 (1) 23 (1) 25 (1) 23 (1)
Fitness Terbaik 0,0690 0,0690 0,0690 0,0690 0,1034 0,1034 0,1034 0,0690 0,0690 0,1034
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 27 (`1) 28 (1) 27 (2) 22 (1) 26 (1) 25 (1) 25 (1) 28 (2) 23 (1) 25 (1)
Fitness Terbaik 0,0690 0,0690 0,0690 0,0690 0,1034 0,0690 0,1034 0,0690 0,0690 0,0690
Tingkat rekombinasi = 60% Tingkat mutasi = 1% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 93,10% 93,10% 93,10% 89,66% 89,66% 89,66% 93,10% 93,10% 89,66%
Waktu (detik) 315,610 315,422 307,375 271,719 315,547 306,218 265,594 308,453 332,000 285,907
Tingkat rekombinasi = 60% Tingkat mutasi = 5% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 93,10% 93,10% 93,10% 89,66% 93,10% 89,66% 93,10% 93,10% 93,10%
Waktu (detik) 329,094 344,547 344,297 284,531 349,375 317,188 331,188 329,078 300,906 331,234
27
Lanjutan Tingkat rekombinasi = 60% Tingkat mutasi = 10% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 89,66% 93,10% 93,10% 93,10% 93,10% 93,10% 89,66% 93,10% 93,10%
Waktu (detik) 280,547 319,500 285,125 330,547 293,546 260,922 315,672 282,031 271,829 257,641
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 21 (1) 26 (1) 22 (1) 25 (1) 21 (1) 21 (1) 23 (1) 21 (1) 22 (1) 21 (1)
Fitness Terbaik 0,0690 0,1034 0,0690 0,0690 0,0690 0,0690 0,0690 0,1034 0,0690 0,0690
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 22 (1) 25 (1) 25 (1) 27 (1) 24 (1) 26 (1) 27 (1) 24 (1) 23 (1) 28 (2)
Fitness Terbaik 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,1034 0,0690 0,1034
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 26 (1) 29 (5) 22 (1) 25 (2) 26 (1) 23 (1) 23 (1) 26 (1) 25 (1) 21 (1)
Fitness Terbaik 0,0690 0,0690 0,1034 0,0690 0,1034 0,1034 0,0690 0,1034 0,0690 0,0690
Tingkat rekombinasi = 70% Tingkat mutasi = 5% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 89,66% 93,10% 89,66%
Waktu (detik) 308,328 318,000 334,156 344,797 310,969 337,328 336,156 315,890 311,938 364,765
Tingkat rekombinasi = 80% Tingkat mutasi = 1% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 93,10% 89,66% 93,10% 89,66% 89,66% 93,10% 89,66% 93,10% 93,10%
Waktu (detik) 339,532 360,234 287,625 322,375 325,172 307,922 297,297 331,016 313,687 284,859
28
Lanjutan Tingkat rekombinasi = 80% Tingkat mutasi = 10% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 89,66% 93,10%
Waktu (detik) 285,296 326,329 337,750 277,985 298,187 323,641 329,125 348,125 340,657 291,610
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 22 (1) 25 (1) 27 (2) 21 (1) 22 (1) 25 (1) 22 (1) 27 (1) 26 (1) 21 (1)
Fitness Terbaik 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,1034 0,0690
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 21 (1) 25 (1) 21 (1) 20 (1) 22 (1) 27 (2) 20 (1) 25 (2) 22 (1) 23 (1)
Fitness Terbaik 0,0690 0,0690 0,0690 0,0690 0,1034 0,0690 0,1034 0,1034 0,0690 0,0690
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 26 (3) 24 (1) 26 (1) 24 (1) 21 (1) 23 (1) 21 (1) 20 (1) 23 (1) 22 (1)
Fitness Terbaik 0,0690 0,1034 0,0690 0,0690 0,0690 0,0690 0,0690 0,1034 0,0690 0,0690
Tingkat rekombinasi = 90% Tingkat mutasi = 1% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 93,10% 93,10% 93,10% 89,66% 93,10% 89,66% 89,66% 93,10% 93,10%
Waktu (detik) 278,891 322,578 282,781 263,531 282,594 341,031 270,093 315,000 287,782 295,766
Tingkat rekombinasi = 90% Tingkat mutasi = 5% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 89,66% 93,10% 93,10% 93,10% 93,10% 93,10% 89,66% 93,10% 93,10%
Waktu (detik) 322,313 317,047 293,438 296,734 276,937 300,235 285,062 262,234 292,860 277,062
29
Lanjutan Tingkat rekombinasi = 90% Tingkat mutasi = 10% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 93,10% 93,10% 93,10% 89,66% 93,10% 93,10% 93,10% 93,10% 93,10%
Waktu (detik) 331,344 335,422 317,735 327,796 309,219 312,890 328,078 313,047 271,484 326,250
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 28 (2) 26 (1) 21 (1) 25 (2) 20 (1) 22 (2) 25 (1) 21 (1) 21 (1) 24 (1)
Fitness Terbaik 0,0690 0,0690 0,0690 0,0690 0,1034 0,0690 0,0690 0,0690 0,0690 0,0690
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 23 (1) 22 (1) 28 (1) 27 (1) 27 (2) 23 (1) 20 (1) 24 (1) 23 (1) 22 (1)
Fitness Terbaik 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,0690 0,1034
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 25 (2) 23 (1) 25 (1) 21 (1) 23 (1) 20 (1) 25 (1) 23 (1) 27 (2) 19 (1)
Fitness Terbaik 0,0690 0,1034 0,0690 0,1034 0,0690 0,0690 0,0690 0,0690 0,0690 0,1034
Tingkat rekombinasi = 100% Tingkat mutasi = 1% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 93,10% 89,66%
Waktu (detik) 296,625 303,406 351,344 353,968 337,781 302,250 266,562 322,969 302,344 296,406
Tingkat rekombinasi = 100% Tingkat mutasi = 5% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 93,10% 89,66% 93,10% 89,66% 93,10% 93,10% 93,10% 93,10% 93,10% 89,66%
Waktu (detik) 278,891 318,203 331,234 276,297 297,719 266,204 330,297 298,750 342,594 260,390
Ket : angka di dalam kurung pada kolom “jumlah aturan” menunjukkan jumlah aturan yang mengandung kelas target positif diabetes.
30
Lampiran 3 Hasil percobaan untuk 3 kombinasi parameter menggunakan training set 2 pada ukuran populasi sebesar 10 Tingkat rekombinasi = 80% Tingkat mutasi = 10% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 62,07% 62,07% 62,07% 62,07% 62,07% 62,07% 55,17% 62,07% 62,07% 62,07%
Waktu (detik) 202,969 223,484 216,125 228,938 216,360 236,109 143,484 213,875 220,172 241,578
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 15 (1) 18 (1) 17 (1) 18 (1) 16 (1) 18 (1) 10 (1) 17 (1) 15 (1) 18 (1)
Fitness Terbaik 0,3793 0,3793 0,3793 0,3793 0,3793 0,3793 0,4483 0,3793 0,3793 0,3793
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 18 (1) 17 (1) 17 (1) 16 (1) 17 (1) 18 (1) 18 (1) 17(1) 19 (1) 18 (1)
Fitness Terbaik 0,3793 0,3793 0,3793 0,3793 0,3793 0,3793 0,3793 0,3793 0,3793 0,3793
Jumlah Iterasi 50 50 50 50 50 50 50 50 50 50
Jumlah Aturan 18 (1) 19 (1) 16 (0) 16 (0) 17 (1) 18 (1) 18 (1) 20 (1) 17 (1) 18 (1)
Fitness Terbaik 0,3793 0,3793 0,4483 0,4483 0,4138 0,3793 0,3793 0,3793 0,3793 0,3793
Tingkat rekombinasi = 90% Tingkat mutasi = 10% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 62,07% 62,07% 62,07% 62,07% 62,07% 62,07% 62,07% 62,07% 62,07% 62,07%
Waktu (detik) 238,188 223,031 226,906 206,625 207,204 220,187 233,735 211,954 247,094 230,625
Tingkat rekombinasi = 100% Tingkat mutasi = 1% No. 1 2 3 4 5 6 7 8 9 10
Akurasi 62,07% 62,07% 55,17% 55,17% 58,62% 62,07% 62,07% 62,07% 62,07% 62,07%
Waktu (detik) 228,172 236,594 210,282 117,047 217,188 226,297 228,563 256,375 213,062 233,719
Ket : angka di dalam kurung pada kolom “jumlah aturan” menunjukkan jumlah aturan yang mengandung kelas target positif diabetes.
31
Lampiran 4 Hasil percobaan untuk parameter yang optimal pada ukuran populasi sebesar 30 & 50 Ukuran Populasi = 30 Tingkat Crossover 90%
Tingkat Mutasi 10%
Maks. Generasi 50 100 150 200 250
Akurasi 93,10% 93,10% 93,10% 93,10% 93,10%
Waktu (detik) 1014,110 2406,530 3140,270 5732,880
Jumlah Iterasi 50 100 150 200 250
Jumlah Aturan 25 (1) 22 (1) 25 (1) 26 (1) 26 (1)
Fitness Terbaik 0,0690 0,0690 0,0690 0,0690 0,0690
Waktu (detik) 1809,130 3866,530 5677,980 7172,590 7865,800
Jumlah Iterasi 50 100 150 200 250
Jumlah Aturan 23 (1) 25 (1) 23 (1) 23 (1) 21 (1)
Fitness Terbaik 0,0690 0,0690 0,0690 0,0690 0,0690
4502,950
Ukuran Populasi = 50 Tingkat Crossover
90%
Tingkat Mutasi
10%
Maks. Generasi 50 100 150 200 250
Akurasi 93,10% 93,10% 93,10% 93,10% 93,10%
Ket : angka di dalam kurung pada kolom “jumlah aturan” menunjukkan jumlah aturan yang mengandung kelas target positif diabetes. Lampiran 5 Hasil training dari training set 1, 4, 5, 6, 7, 8, 9, dan 10 dengan menggunakan parameter algoritme genetika yang optimal Training 1 No. 1 2 3 4 5 6 7 8 9 10
Akurasi 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00%
Waktu (detik) 8,688 7,922 8,484 8,843 8,390 8,828 8,844 8,172 8,875 8,313
Waktu total (detik) 15,281 14,532 15,078 15,531 15,031 15,438 15,406 14,656 15,516 14,875
Jumlah Iterasi 1 1 1 1 1 1 1 1 1 1
Jumlah Aturan 26 21 24 21 26 26 24 21 26 20
Waktu (detik) 8,265 8,047 9,218 8,719 8,938 8,953 9,140
Waktu total (detik) 14,859 14,641 15,906 15,484 15,641 15,563 15,703
Jumlah Iterasi 1 1 1 1 1 1 1
Jumlah Aturan 22 21 25 25 26 25 27
Keterangan 24 negatif, 2 positif 21 negatif, 0 positif 22 negatif, 2 positif 21 negatif, 0 positif 24 negatif, 2 positif 25 negatif, 1 positif 22 negatif, 2 positif 21 negatif, 0 positif 24 negatif, 2 positif 18 negatif, 2 positif
Training 4 No. 1 2 3 4 5 6 7
Akurasi 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00%
Keterangan 22 negatif, 0 positif 20 negatif, 1 positif 24 negatif, 1 positif 25 negatif, 0 positif 25 negatif, 1 positif 24 negatif, 1 positif 24 negatif, 3 positif
32
Lanjutan No. 8 9 10
Akurasi 100,00% 100,00% 100,00%
Waktu (detik) 9,062 8,188 8,172
Waktu total (detik) 15,781 14,782 14,703
Jumlah Iterasi 1 1 1
Jumlah Aturan 24 23 23
Waktu (detik) 8,141 9,203 8,968 9,110 8,500 8,344 8,578 8,390 8,422 8,235
Waktu total (detik) 14,813 15,797 16,703 15,704 15,156 15,016 15,266 15,062 15,016 15,188
Jumlah Iterasi 1 1 1 1 1 1 1 1 1 1
Jumlah Aturan 21 23 23 24 23 22 22 22 24 23
Waktu (detik) 8,547 8,500 8,203 8,453 8,235 9,000 9,016 8,563 9,188 8,578
Waktu total (detik) 15,359 15,094 14,906 15,063 14,938 15,594 15,500 15,359 15,922 15,265
Jumlah Iterasi 1 1 1 1 1 1 1 1 1 1
Jumlah Aturan 27 23 22 27 24 27 28 20 29 24
Waktu (detik) 8,437 8,140 8,281 8,141 8,297 8,312 8,063 8,437 8,578 8,438
Waktu total (detik) 15,281 14,890 14,797 14,891 14,906 14,687 14,703 14,984 15,188 15,141
Jumlah Iterasi 1 1 1 1 1 1 1 1 1 1
Jumlah Aturan 24 19 22 22 22 24 20 23 23 27
Keterangan 23 negatif, 1 positif 22 negatif, 1 positif 23 negatif, 0 positif
Training 5 No. 1 2 3 4 5 6 7 8 9 10
Akurasi 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00%
Keterangan 21 negatif, 0 positif 21 negatif, 2 positif 20 negatif, 3 positif 24 negatif, 0 positif 23 negatif, 0 positif 19 negatif, 3 positif 22 negatif, 0 positif 20 negatif, 2 positif 23 negatif, 1 positif 20 negatif, 3 positif
Training 6 No. 1 2 3 4 5 6 7 8 9 10
Akurasi 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00%
Keterangan 27 negatif, 0 positif 23 negatif, 0 positif 20 negatif, 2 positif 25 negatif, 2 positif 23 negatif, 1 positif 24 negatif, 3 positif 26 negatif, 2 positif 19 negatif, 1 positif 27 negatif, 2 positif 22 negatif, 2 positif
Training 7 No. 1 2 3 4 5 6 7 8 9 10
Akurasi 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00%
Keterangan 24 negatif, 0 positif 19 negatif, 0 positif 22 negatif, 0 positif 22 negatif, 0 positif 22 negatif, 0 positif 24 negatif, 0 positif 19 negatif, 1 positif 23 negatif, 0 positif 22 negatif, 1 positif 27 negatif, 0 positif
33
Lanjutan Training 8 No.
Akurasi
1 2 3 4 5 6 7 8 9 10
100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00%
Waktu (detik) 8,062 8,781 8,266 8,797 8,312 8,844 8,157 8,172 7,938 8,750
Waktu total (detik) 14,875 15,313 14,922 15,250 15,015 15,328 14,688 14,641 14,625 15,594
Jumlah Iterasi 1 1 1 1 1 1 1 1 1 1
Jumlah Aturan 20 28 23 28 20 23 20 23 20 22
Waktu (detik) 8,062 8,781 8,266 8,797 8,312 8,844 8,157 8,172 7,938 8,750
Waktu total (detik) 14,875 15,313 14,922 15,250 15,015 15,328 14,688 14,641 14,625 15,594
Jumlah Iterasi 1 1 1 1 1 1 1 1 1 1
Jumlah Aturan 20 28 23 28 20 23 20 23 20 22
Waktu (detik) 9,187 9,516 8,828 9,078 9,094 9,094 8,813 8,985 9,000 9,110
Waktu total (detik) 15,828 16,063 15,531 15,735 15,750 15,750 15,485 15,594 16,062 15,938
Jumlah Iterasi 1 1 1 1 1 1 1 1 1 1
Jumlah Aturan 22 22 29 25 25 27 23 26 25 23
Keterangan 19 negatif, 1 positif 28 negatif, 0 positif 21 negatif, 2 positif 28 negatif, 0 positif 20 negatif, 0 positif 23 negatif, 0 positif 20 negatif, 0 positif 22 negatif, 1 positif 19 negatif, 1 positif 21 negatif, 1 positif
Training 9 No.
Akurasi
1 2 3 4 5 6 7 8 9 10
100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00%
Keterangan 19 negatif, 1 positif 28 negatif, 0 positif 21 negatif, 2 positif 28 negatif, 0 positif 20 negatif, 0 positif 23 negatif, 0 positif 20 negatif, 0 positif 22 negatif, 1 positif 19 negatif, 1 positif 21 negatif, 1 positif
Training 10 No. 1 2 3 4 5 6 7 8 9 10
Akurasi 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00% 100,00%
Keterangan 19 negatif, 3 positif 21 negatif, 1 positif 29 negatif, 3 positif 22 negatif, 3 positif 23 negatif, 2 positif 23 negatif, 4 positif 21 negatif, 2 positif 25 negatif, 1 positif 25 negatif, 0 positif 21 negatif, 2 positif
34
Lampiran 6 Contoh sebagian data training set 1 dan testing set 1 Training set 1 no_rm 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
GLUN 262 70 74 130 74 81 102 97 107 87 151 63 68 68 120
GPOST 434 80 130 210 225 118 107 105 104 150 212 147 90 70 151
HDL
GLUN 115 0 90 84 78
GPOST 159 0 145 90 149
HDL
TG 39 49 30 38 37 58 40 31 28 30 40 26 56 43 51
117 91 178 169 90 70 88 222 164 177 235 94 77 139 126
CLASS 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
117 91 86 46 52
CLASS 1 1 1 1 1
Testing set 1 no_rm 1 2 3 4 5
TG 32 91 28 64 41
Lampiran 7 Contoh sebagian data training set 1 hasil fuzzikasi untuk membentuk FDT no_rm
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
GLUN
262 70 74 130 74 81 102 97 107 87 151 63 68 68 120
Rend ah
Seda ng
Ting gi
Sang at Ting gi
0 0,5 0,1 0 0,1 0 0 0 0 0 0 1 0,7 0,7 0
0 0,5 0,9 0 0,9 1 1 1 0,8 1 0 0 0,3 0,3 0
0 0 0 1 0 0 0 0 0,2 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
GPOST
434 80 130 210 225 118 107 105 104 150 212 147 90 70 151
Rend ah
Seda ng
Ting gi
Sang at Ting gi
0 1 0 0 0 0 0 0 0,1 0 0 0 1 1 0
0 0 1 0 0 1 1 1 0,9 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 1
1 0 0 1 1 0 0 0 0 0 1 0 0 0 0
HDL
39 49 30 38 37 58 40 31 28 30 40 26 56 43 51
Rend ah
Seda ng
Ting gi
0,6 0 1 0,7 0,8 0 0,5 1 1 1 0,5 1 0 0,2 0
0,4 1 0 0,3 0,2 0,7 0,5 0 0 0 0,5 0 0,9 0,8 1
0 0 0 0 0 0,3 0 0 0 0 0 0 0,1 0 0
TG
117 91 178 169 90 70 88 222 164 177 235 94 77 139 126
Rend ah
Seda ng
Ting gi
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 0 1 1 1 1 0 0 0 0
CLASS
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Lampiran 8 Contoh sebagian data training set 1 hasil fuzzikasi untuk membentuk G-DT no_rm
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
GLUN
Rendah
Sedang
262 70 74 130 74 81 102 97 107 87 151 63 68 68 120
0 1 1 0,04 1 0,96 0,57 0,66 0,47 0,85 0 1 1 1 0,23
0,32 0 0 0,96 0 0,04 0,43 0,33 0,53 0,15 1 0 0 0 0,77
Tinggi
0,68 0 0 0 0 0 0 0 0 0 0 0 0 0 0
GPOST
Rendah
Sedang
Tinggi
HDL
Rendah
Sedang
Tinggi
434 80 130 210 225 118 107 105 104 150 212 147 90 70 151
0 1 0,48 0 0 0,62 0,77 0,79 0,8 0,22 0 0,26 0,97 1 0,21
0 0 0,52 1 1 0,38 0,23 0,21 0,2 0,78 1 0,74 0,03 0 0,79
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
39 49 30 38 37 58 40 31 28 30 40 26 56 43 51
1 0,33 1 1 1 0 1 1 1 1 1 1 0 0,83 0,17
0 0,67 0 0 0 1 0 0 0 0 0 0 1 0,17 0,83
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TG
117 91 178 169 90 70 88 222 164 177 235 94 77 139 126
Rendah
Sedang
Tinggi
CLASS
0,80 1 0 0 1 1 1 0 0 0 0 1 1 0,42 0,64
0,20 0 1 1 0 0 0 1 1 1 1 0 0 0,58 0,36
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Lampiran 9 Fuzzy decision tree untuk contoh training set 1 GPOST Rendah HDL
Rendah
Sedang Tinggi
NO
TG
NO
Rendah Sedang Tinggi
NO
Rendah Sedang GLUN
Rendah
NO
GLUN
Tinggi
TG
NO
Sangat Tinggi
TG
NO
Sedang
NO
Tinggi
Sedang
Rendah TG
NO
Sedang
NO
Sedang
Tinggi
NO
NO
Tinggi GLUN
NO
Sedang
Tinggi
NO
Sangat Tinggi
HDL
NO
Sedang
Rendah
TG
Rendah
Sedang Tinggi
NO
NO
NO
Tinggi
NO
Sedang
NO
Tinggi
TG
Sangat Tinggi TG
Tinggi
NO
HDL
Sedang
Tinggi
Rendah
NO
HDL
TG
Rendah
Sedang Tinggi
NO
NO
NO
Sedang Tinggi
NO
NO
Sedang Tinggi TG
NO
Sedang Tinggi
NO
NO
38
Lampiran 10 Aturan klasifikasi menggunakan FDT dari contoh training set 1 No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Aturan IF GPOST rendah AND HDL rendah THEN Negatif Diabetes IF GPOST rendah AND HDL sedang AND TG rendah THEN Negatif Diabetes IF GPOST rendah AND HDL sedang AND TG sedang AND GLUN rendah THEN Negatif Diabetes IF GPOST rendah AND HDL sedang AND TG sedang AND GLUN sedang THEN Negatif Diabetes IF GPOST rendah AND HDL sedang AND TG sedang AND GLUN tinggi THEN Negatif Diabetes IF GPOST rendah AND HDL sedang AND TG tinggi THEN Negatif Diabetes IF GPOST rendah AND HDL tinggi AND GLUN rendah AND TG sedang THEN Negatif Diabetes IF GPOST rendah AND HDL tinggi AND GLUN rendah AND TG tinggi THEN Negatif Diabetes IF GPOST rendah AND HDL tinggi AND GLUN sedang THEN Negatif Diabetes IF GPOST sedang THEN Negatif Diabetes IF GPOST tinggi AND TG rendah THEN Negatif Diabetes IF GPOST tinggi AND TG sedang THEN Negatif Diabetes IF GPOST tinggi AND TG tinggi AND GLUN sedang THEN Negatif Diabetes IF GPOST tinggi AND TG tinggi AND GLUN tinggi AND HDL rendah THEN Negatif Diabetes IF GPOST tinggi AND TG tinggi AND GLUN tinggi AND HDL sedang THEN Negatif Diabetes IF GPOST tinggi AND TG tinggi AND GLUN tinggi AND HDL tinggi THEN Negatif Diabetes IF GPOST tinggi AND TG tinggi AND GLUN sangat tinggi THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN rendah THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN sedang AND TG sedang THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUNsedang AND TG tinggi THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN tinggi AND TG sedang THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN tinggi AND TG tinggi AND HDL rendah THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN tinggi AND TG tinggi AND HDL sedang THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN tinggi AND TG tinggi AND HDL tinggi THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN sangat tinggi AND HDL rendah AND TG sedang THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN sangat tinggi AND HDL rendah AND TG tinggi THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN sangat tinggi AND HDL sedang AND TG sedang THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN sangat tinggi AND HDL sedang AND TG tinggi THEN Negatif Diabetes IF GPOST sangat tinggi AND GLUN sangat tinggi AND HDL tinggi THEN Negatif Diabetes
Lampiran 11 Genetically optimized fuzzy decision tree untuk contoh training set 1 GPOST Sedang
Rendah
Tinggi
GLUN
NO
TG Rendah
Tinggi Sedang
TG
Rendah
TG
Sedang
HDL
Rendah
NO
NO
Tinggi
HDL
Sedang Tinggi
NO
Rendah
Rendah
NO
Rendah
NO
NO
Sedang
HDL
NO
Sedang Tinggi
TG
Rendah
NO
HDL
Sedang Tinggi
NO
Tinggi
NO
Rendah
Sedang
NO
NO
Rendah HDL
HDL
Sedang HDL
NO
Sedang
Tinggi
Rendah
HDL
NO
Tinggi
Rendah
Sedang
Rendah
Sedang
Rendah
Sedang
NO
NO
NO
NO
NO
NO
YES
GLUN
Rendah
NO
Sedang
YES
Sedang
Tinggi
NO
NO
40
Lampiran 12 Aturan klasifikasi menggunakan G-DT dari contoh training set 1 No. 1
25
Aturan IF GPOST rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG rendah AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG rendah AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG rendah AND HDL tinggi THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG sedang AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG sedang AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG sedang AND HDL tinggi THEN Negatif Diabetes IF GPOST sedang AND GLUN rendah AND TG tinggi THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG rendah AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG rendah AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG rendah AND HDL tinggi THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG sedang AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG sedang AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG sedang AND HDL tinggi THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG tinggi AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN sedang AND TG tinggi AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN tinggi AND TG rendah AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN tinggi AND TG rendah AND HDL sedang THEN Negatif Diabetes IF GPOST sedang AND GLUN tinggi AND TG sedang AND HDL rendah THEN Negatif Diabetes IF GPOST sedang AND GLUN tinggi AND TG sedang AND HDL sedang THEN Positif Diabetes IF GPOST sedang AND GLUN tinggi AND TG tinggi THEN Negatif Diabetes IF GPOST tinggi AND TG rendah THEN Negatif Diabetes IF GPOST tinggi AND TG sedang AND HDL rendah AND GLUN rendah THEN Negatif Diabetes IF GPOST tinggi AND TG sedang AND HDL rendah AND GLUN sedang THEN Negatif Diabetes IF GPOST tinggi AND TG sedang AND HDL rendah AND GLUN tinggi THEN Negatif Diabetes
26
IF GPOST tinggi AND TG sedang AND HDL sedang THEN Positif Diabetes
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
41
Lampiran 13 Fungsi keanggotaan dari training set 1, 2, 3, 4, 5, 7, 8, 9, dan 10 TRAINING 1 GLUN
HDL
; x < 79 ⎧ 1 ⎪ x −132 μ rendah (x ) = ⎨ ; 79 ≤ x <132 ⎪ − 53 0 ; x ≥132 ⎩
x < 41 ; ⎧ 1 ⎪ x − 53 ; 41≤ x < 53 μ rendah (x ) = ⎨ ⎪ − 12 x ≥ 53 ; ⎩ 0
⎧ 0 ⎪ x − 79 ⎪ ⎪ 53 μ sedang ( x ) = ⎨ 1 ⎪ x − 293 ⎪ ⎪ − 97 ⎩ 0
;
x < 79
;
79 ≤ x <132
; 132 ≤ x <196 ; 196 ≤ x < 293 x ≥ 293
;
⎧ 0 ⎪ x − 41 ⎪ ⎪ 12 μ sedang (x ) = ⎨ 1 ⎪ x −132 ⎪ ⎪ −051 ⎩
;
x < 41
;
41≤ x < 53
;
53 ≤ x < 81
; 81≤ x <132 x ≥132
;
; x < 196 ⎧ 0 ⎪ x −196 ; 196 ≤ x < 293 μtinggi (x ) = ⎨ ⎪ 97 ; x ≥ 293 ⎩ 1
x < 81 ; ⎧ 0 ⎪ x − 81 μtinggi ( x ) = ⎨ ; 81≤ x <132 ⎪ 51 ; x ≥132 ⎩ 1
GPOST
TG
; x < 88 ⎧ 1 ⎪ x −168 μ rendah (x ) = ⎨ ; 88 ≤ x <168 ⎪ − 80 0 ; x ≥168 ⎩
; x < 105 ⎧ 1 ⎪ x −164 ; 105 ≤ x <164 μ rendah (x ) = ⎨ ⎪ − 59 x ≥164 ; ⎩ 0
⎧ 0 ⎪ x − 88 ⎪ ⎪ 80 μ sedang (x ) = ⎨ 1 ⎪ x − 388 ⎪ ⎪ − 095 ⎩
; ;
x < 88 88 ≤ x <168
; 168 ≤ x < 293 ; 293 ≤ x < 388 ;
x ≥ 388
; x < 293 ⎧ 0 ⎪ x − 293 ( ) ; 293 ≤ x < 388 μtinggi x = ⎨ ⎪ 95 1 ; x ≥ 388 ⎩
⎧ 0 ⎪ x −105 ⎪ ⎪ 59 μ sedang ( x ) = ⎨ 1 ⎪ x − 468 ⎪ ⎪ − 141 ⎩ 0
;
x <105
; 105 ≤ x <164 ; 164 ≤ x < 327 ; 327 ≤ x < 468 ;
x ≥ 468
; x < 327 ⎧ 0 ⎪ x − 327 ; 327 ≤ x < 468 μtinggi ( x ) = ⎨ ⎪ 141 ; x ≥ 468 ⎩ 1
TRAINING 2 GPOST
GLUN ; x < 86 ⎧ 1 ⎪ x −108 μ rendah (x ) = ⎨ ; 86 ≤ x <108 ⎪ − 22 ; x ≥108 ⎩ 0 ⎧ 0 ⎪ x − 86 ⎪ ⎪ 22 μ sedang (x ) = ⎨ 1 ⎪ x − 299 ⎪ ⎪ − 102 ⎩ 0
;
x < 86
;
86 ≤ x <108
; 108 ≤ x < 197 ; 197 ≤ x < 299 ;
x ≥ 299
; x < 197 ⎧ 0 ⎪ x −197 ; 197 ≤ x < 299 μtinggi ( x ) = ⎨ ⎪ 102 ; x ≥ 299 ⎩ 1
; x < 95 ⎧ 1 ⎪ x −147 μ rendah (x ) = ⎨ ; 95 ≤ x <147 ⎪ − 52 ; x ≥147 ⎩ 0
⎧ 0 ⎪ x − 95 ⎪ ⎪ 52 μ sedang (x ) = ⎨ 1 ⎪ x − 391 ⎪ ⎪ − 118 ⎩ 0
;
x < 95
;
95 ≤ x <147
; 147 ≤ x < 273 ; 273 ≤ x < 391 ;
x ≥ 391
; x < 273 ⎧ 0 ⎪ x − 273 ; 273 ≤ x < 391 ⎪ 118 ; x ≥ 391 ⎩ 1
μtinggi (x ) = ⎨
42
Lanjutan TG
HDL ; x < 37 ⎧ 1 ⎪ x − 61 ; 37 ≤ x < 61 ⎪ − 24 0 ; x ≥ 61 ⎩
μ rendah (x ) = ⎨
⎧ 0 ⎪ x − 37 ⎪ ⎪ 24 μ sedang (x ) = ⎨ 1 ⎪ x − 136 ⎪ ⎪ − 049 ⎩
;
x < 37
;
37 ≤ x < 61
;
61≤ x < 87
; 87 ≤ x <136 x ≥136
;
; x < 87 ⎧ 0 ⎪ x − 87 ; 87 ≤ x <136 μtinggi (x ) = ⎨ ⎪ 49 ; x ≥136 ⎩ 1
; x < 103 ⎧ 1 ⎪ x −159 ; 103 ≤ x <159 ⎪ − 56 ; x ≥159 ⎩ 0
μrendah (x ) = ⎨
⎧ 0 ⎪ x −103 ⎪ ⎪ 56 μ sedang (x ) = ⎨ 1 ⎪ x − 362 ⎪ ⎪ − 95 ⎩ 0
⎧ ⎪
0
x − 267 μtinggi (x ) = ⎨ ⎪ 95 ⎩ 1
x < 103
;
; 103 ≤ x < 159 ; 159 ≤ x < 267 ; 267 ≤ x < 362 x ≥ 362
;
x < 267
;
; 267 ≤ x < 362 x ≥ 362
;
TRAINING 3 GLUN
HDL
; x < 87 ⎧ 1 ⎪ x −106 ; 87 ≤ x <106 μ rendah (x ) = ⎨ ⎪ − 19 ; x ≥106 ⎩ 0
; x < 31 ⎧ 1 ⎪ x − 60 μ rendah (x ) = ⎨ ; 31≤ x < 60 ⎪ − 29 ; x ≥ 60 ⎩ 0
⎧ 0 ⎪ x − 87 ⎪ ⎪ 19 μ sedang (x ) = ⎨ 1 ⎪ x − 273 ⎪ ⎪ − 84 ⎩ 0
;
x < 87
;
87 ≤ x <106
; 106 ≤ x <189 ; 189 ≤ x < 273 ;
x ≥ 273
⎧ 0 ⎪ x − 31 ⎪ ⎪ 29 μ sedang ( x ) = ⎨ 1 ⎪ x −149 ⎪ ⎪ − 50 ⎩ 0
μtinggi (x ) = ⎨
GPOST
TG
; x < 105 ⎧ 1 ⎪ x −167 ; 105 ≤ x <167 μrendah (x ) = ⎨ ⎪ − 62 0 ; x ≥167 ⎩
μ rendah (x ) = ⎨
;
x <105
; 105 ≤ x <167 ; 167 ≤ x < 270 ; 270 ≤ x < 377 ;
x ≥ 377
; x < 270 ⎧ 0 ⎪ x − 270 μtinggi (x ) = ⎨ ; 270 ≤ x < 377 ⎪ 107 x ≥ 377 1 ; ⎩
x < 31
;
31≤ x < 60
;
60 ≤ x < 99
; 99 ≤ x <149 ;
x ≥149
; x < 99 ⎧ 0 ⎪ x − 99 ; 99 ≤ x <149 ⎪ 50 ; x ≥149 ⎩ 1
; x < 189 ⎧ 0 ⎪ x −189 ; 189 ≤ x < 273 μtinggi (x ) = ⎨ ⎪ 84 1 ; x ≥ 273 ⎩
⎧ 0 ⎪ x −105 ⎪ ⎪ 62 μ sedang (x ) = ⎨ 1 ⎪ x − 377 ⎪ ⎪ − 107 ⎩ 0
;
; x < 106 ⎧ 1 ⎪ x −170 ; 106 ≤ x <170 ⎪ − 64 ; x ≥170 ⎩ 0
⎧ 0 ⎪ x −106 ⎪ ⎪ 64 μ sedang (x ) = ⎨ 1 ⎪ x − 488 ⎪ ⎪ − 174 ⎩ 0
;
x <106
; 106 ≤ x <170 ; 170 ≤ x < 314 ; 314 ≤ x < 488 ;
x ≥ 488
; x < 314 ⎧ 0 ⎪ x − 314 μtinggi ( x ) = ⎨ ; 314 ≤ x < 488 ⎪ 174 ; x ≥ 488 ⎩ 1
43
Lanjutan TRAINING 4 GLUN
HDL
; x < 91 ⎧ 1 ⎪ x −112 μ rendah (x ) = ⎨ ; 91≤ x <112 ⎪ − 21 0 ; x ≥112 ⎩
; x < 33 ⎧ 1 ⎪ x − 51 μ rendah (x ) = ⎨ ; 33 ≤ x < 51 ⎪ − 18 ; x ≥ 51 ⎩ 0
⎧ 0 ⎪ x − 91 ⎪ ⎪ 21 μ sedang (x ) = ⎨ 1 ⎪ x − 281 ⎪ ⎪ − 077 ⎩
;
x < 91
;
91≤ x <112
; 112 ≤ x < 204 ; 204 ≤ x < 281 ;
x ≥ 281
; x < 204 ⎧ 0 ⎪ x − 204 ; 204 ≤ x < 281 ⎪ 77 ; x ≥ 281 ⎩ 1
⎧ 0 ⎪ x − 33 ⎪ ⎪ 18 μ sedang (x ) = ⎨ 1 ⎪ x −137 ⎪ ⎪ −061 ⎩
;
x < 33
;
33 ≤ x < 51
;
51≤ x < 76
; 76 ≤ x <137 ;
x ≥137
; x < 76 ⎧ 0 ⎪ x − 76 ; 76 ≤ x <137 ⎪ 61 ; x ≥137 ⎩ 1
μtinggi ( x ) = ⎨
μtinggi (x ) = ⎨
GPOST
TG
; x < 97 ⎧ 1 ⎪ x −155 μrendah ( x ) = ⎨ ; 97 ≤ x <155 ⎪ − 58 0 ; x ≥155 ⎩
; x < 94 ⎧ 1 ⎪ x −158 ; 94 ≤ x <158 μrendah (x ) = ⎨ ⎪ − 64 x ≥158 0 ; ⎩
⎧ 0 ⎪ x − 97 ⎪ ⎪ 58 μ sedang (x ) = ⎨ 1 ⎪ x − 394 ⎪ ⎪ − 119 ⎩ 0
;
x < 97
;
97 ≤ x <155
; 155 ≤ x < 275 ; 275 ≤ x < 394 ;
x ≥ 394
; x < 275 ⎧ 0 ⎪ x − 275 μtinggi (x ) = ⎨ ; 275 ≤ x < 394 ⎪ 119 1 ; x ≥ 394 ⎩
⎧ 0 ⎪ x − 94 ⎪ ⎪ 64 μ sedang (x ) = ⎨ 1 ⎪ x − 475 ⎪ ⎪ − 171 ⎩ 0
;
x < 94
;
94 ≤ x <158
; 158 ≤ x < 304 ; 304 ≤ x < 475 ;
x ≥ 475
; x < 304 ⎧ 0 ⎪ x − 304 ; 304 ≤ x < 475 ⎪ 171 ; x ≥ 475 ⎩ 1
μtinggi (x ) = ⎨
TRAINING 5 GLUN
GPOST
; x < 83 ⎧ 1 ⎪ x −129 μ rendah (x ) = ⎨ ; 83 ≤ x <129 ⎪ − 46 ; x ≥129 ⎩ 0
x < 88 ; ⎧ 1 ⎪ x − 168 ; 88 ≤ x < 168 μ rendah (x ) = ⎨ ⎪ − 80 ; x ≥168 ⎩ 0
⎧ 0 ⎪ x − 83 ⎪ ⎪ 46 μ sedang (x ) = ⎨ 1 ⎪ x − 302 ⎪ ⎪ − 110 ⎩ 0
;
x < 83
;
83 ≤ x <129
; 129 ≤ x <192 ; 192 ≤ x < 302 ;
x ≥ 302
; x < 192 ⎧ 0 ⎪ x −192 μtinggi ( x ) = ⎨ ; 192 ≤ x < 302 ⎪ 110 ; x ≥ 302 ⎩ 1
⎧ 0 ⎪ x − 88 ⎪ ⎪ 80 μ sedang (x ) = ⎨ 1 ⎪ x − 402 ⎪ ⎪ − 112 ⎩ 0
;
x < 88
;
88 ≤ x <168
; 168 ≤ x < 290 ; 290 ≤ x < 402 ;
x ≥ 402
; x < 290 ⎧ 0 ⎪ x − 290 μtinggi ( x ) = ⎨ ; 290 ≤ x < 402 ⎪ 112 ; x ≥ 402 ⎩ 1
44
Lanjutan HDL
TG
; x < 41 ⎧ 1 ⎪ x − 66 μrendah ( x ) = ⎨ ; 41≤ x < 66 ⎪ − 25 0 ; x ≥ 66 ⎩
; x < 104 ⎧ 1 ⎪ x −162 μrendah (x ) = ⎨ ; 104 ≤ x <162 ⎪ − 58 0 ; x ≥162 ⎩
⎧ 0 ⎪ x − 41 ⎪ ⎪ 25 μ sedang (x ) = ⎨ 1 ⎪ x −144 ⎪ ⎪ − 51 ⎩ 0
x < 41
; ;
41 ≤ x < 66
;
66 ≤ x < 93
; 93 ≤ x <144 x ≥144
;
; x < 93 ⎧ 0 ⎪ x − 93 ; 93 ≤ x <144 ⎪ 51 ; x ≥144 ⎩ 1
μtinggi (x ) = ⎨
⎧ 0 ⎪ x −104 ⎪ ⎪ 58 μ sedang (x ) = ⎨ 1 ⎪ x − 464 ⎪ ⎪ − 153 ⎩ 0
;
x <104
; 104 ≤ x <162 ; 162 ≤ x < 311 ; 311≤ x < 464 ;
x ≥ 464
; x < 311 ⎧ 0 ⎪ x − 311 μtinggi ( x ) = ⎨ ; 311≤ x < 464 ⎪ 153 1 ; x ≥ 464 ⎩
TRAINING 7 GLUN
HDL
; x < 73 ⎧ 1 ⎪ x −112 μrendah (x ) = ⎨ ; 73 ≤ x <112 ⎪ − 39 ; x ≥112 ⎩ 0
; x < 29 ⎧ 1 ⎪ x − 52 ; 29 ≤ x < 52 μrendah (x ) = ⎨ ⎪ − 23 ; x ≥ 52 ⎩ 0
⎧ 0 ⎪ x − 73 ⎪ ⎪ 39 μ sedang (x ) = ⎨ 1 ⎪ x − 290 ⎪ ⎪ − 97 ⎩ 0
; ;
x < 73 73 ≤ x <112
; 112 ≤ x <197 ; 197 ≤ x < 290 ;
x ≥ 290
⎧ 0 ⎪ x − 29 ⎪ ⎪ 23 μ sedang ( x ) = ⎨ 1 ⎪ x −145 ⎪ ⎪ − 54 ⎩ 0
;
x < 29
;
29 ≤ x < 52
;
52 ≤ x < 91
; 91≤ x <145 x ≥145
;
; x < 197 ⎧ 0 ⎪ x −197 μtinggi (x ) = ⎨ ; 197 ≤ x < 290 ⎪ 97 ; x ≥ 290 ⎩ 1
; x < 91 ⎧ 0 ⎪ x − 91 μtinggi (x ) = ⎨ ; 91≤ x <145 ⎪ 54 ; x ≥145 ⎩ 1
GPOST
TG
; x < 92 ⎧ 1 ⎪ x −156 ; 92 ≤ x <156 μ rendah (x ) = ⎨ ⎪ − 64 x ≥156 ; ⎩ 0
; x < 96 ⎧ 1 ⎪ x −141 μ rendah (x ) = ⎨ ; 96 ≤ x <141 ⎪ − 45 ; x ≥141 ⎩ 0
⎧ 0 ⎪ x − 92 ⎪ ⎪ 64 μ sedang (x ) = ⎨ 1 ⎪ x − 394 ⎪ ⎪ − 131 ⎩ 0
;
x < 92
;
92 ≤ x <156
; 156 ≤ x < 263 ; 263 ≤ x < 394 ;
x ≥ 394
x < 263 ; ⎧ 0 ⎪ x − 263 ; 263 ≤ x < 394 μtinggi ( x ) = ⎨ ⎪ 131 x ≥ 394 ; ⎩ 1
⎧ 0 ⎪ x − 96 ⎪ ⎪ 45 μ sedang (x ) = ⎨ 1 ⎪ x − 328 ⎪ ⎪ − 104 ⎩ 0
;
x < 96
;
96 ≤ x <141
; 141≤ x < 224 ; 224 ≤ x < 328 ;
x ≥ 328
; x < 224 ⎧ 0 ⎪ x − 224 ; 224 ≤ x < 328 ⎪ 104 ; x ≥ 328 ⎩ 1
μtinggi (x ) = ⎨
45
Lanjutan TRAINING 8 GLUN
HDL
x < 88 ; ⎧ 1 ⎪ x −120 ; 88 ≤ x <120 μrendah (x ) = ⎨ ⎪ − 32 ; x ≥120 ⎩ 0
; x < 41 ⎧ 1 ⎪ x − 53 μrendah (x ) = ⎨ ; 41≤ x < 53 ⎪ − 12 ; x ≥ 53 ⎩ 0
⎧ 0 ⎪ x − 88 ⎪ ⎪ 32 μ sedang (x ) = ⎨ 1 ⎪ x − 302 ⎪ ⎪ − 93 ⎩ 0
;
x < 88
;
88 ≤ x <120
; 120 ≤ x < 209 ; 209 ≤ x < 302 ;
x ≥ 302
⎧ 0 ⎪ x − 41 ⎪ ⎪ 12 μ sedang (x ) = ⎨ 1 ⎪ x −137 ⎪ ⎪ − 053 ⎩
;
x < 41
;
41≤ x < 53
;
53 ≤ x < 84
; 84 ≤ x <137 ;
x ≥137
; x < 209 ⎧ 0 ⎪ x − 209 μtinggi ( x ) = ⎨ ; 209 ≤ x < 302 ⎪ 93 x ≥ 302 ; ⎩ 1
; x < 84 ⎧ 0 ⎪ x − 84 μtinggi (x ) = ⎨ ; 84 ≤ x <137 ⎪ 53 ; x ≥137 ⎩ 1
GPOST
TG ; x < 103 ⎧ 1 ⎪ x −157 ; 103 ≤ x <157 ⎪ − 54 ; x ≥157 ⎩ 0
μ rendah ( x ) = ⎨
⎧ 0 ⎪ x −103 ⎪ ⎪ 54 μ sedang (x ) = ⎨ 1 ⎪ x − 394 ⎪ ⎪ − 123 ⎩ 0
;
x <103
; 103 ≤ x <157 ; 157 ≤ x < 271 ; 271≤ x < 394 ;
x ≥ 394
; x < 271 ⎧ 0 ⎪ x − 271 μtinggi ( x ) = ⎨ ; 271≤ x < 394 ⎪ 123 1 ; x ≥ 394 ⎩
; x < 105 ⎧ 1 ⎪ x −154 μrendah ( x ) = ⎨ ; 105 ≤ x <154 ⎪ − 49 0 ; x ≥154 ⎩ ⎧ 0 ⎪ x −105 ⎪ ⎪ 49 μ sedang (x ) = ⎨ 1 ⎪ x − 468 ⎪ ⎪ − 157 ⎩ 0
;
x <105
; 105 ≤ x <154 ; 154 ≤ x < 311 ; 311≤ x < 468 ;
x ≥ 468
; x < 311 ⎧ 0 ⎪ x − 311 μtinggi (x ) = ⎨ ; 311≤ x < 468 ⎪ 157 x ≥ 468 ; ⎩ 1
TRAINING 9 GLUN
GPOST
; x < 78 ⎧ 1 ⎪ x −119 μ rendah (x ) = ⎨ ; 78 ≤ x <119 ⎪ − 41 ; x ≥119 ⎩ 0
; x < 103 ⎧ 1 ⎪ x −170 ; 103 ≤ x <170 μ rendah ( x ) = ⎨ ⎪ − 67 ; x ≥170 ⎩ 0
⎧ 0 ⎪ x − 78 ⎪ ⎪ 41 μ sedang ( x ) = ⎨ 1 ⎪ x − 308 ⎪ ⎪ − 107 ⎩ 0
;
x < 78
;
78 ≤ x <119
; 119 ≤ x < 201 ; 201≤ x < 308 ;
x ≥ 308
; x < 201 ⎧ 0 ⎪ x − 201 μtinggi ( x ) = ⎨ ; 201≤ x < 308 ⎪ 107 1 ; x ≥ 308 ⎩
⎧ 0 ⎪ x −103 ⎪ ⎪ 67 μ sedang (x ) = ⎨ 1 ⎪ x − 395 ⎪ ⎪ − 117 ⎩ 0
;
x <103
; 103 ≤ x <170 ; 170 ≤ x < 278 ; 278 ≤ x < 395 ;
x ≥ 395
x < 278 ; ⎧ 0 ⎪ x − 278 ; 278 ≤ x < 395 μtinggi (x ) = ⎨ ⎪ 117 x ≥ 395 ; ⎩ 1
46
Lanjutan HDL
TG
x < 34 ; ⎧ 1 ⎪ x − 60 ; 34 ≤ x < 60 μ rendah (x ) = ⎨ ⎪ − 26 x ≥ 60 0 ; ⎩
; x < 90 ⎧ 1 ⎪ x −157 μrendah (x ) = ⎨ ; 90 ≤ x <157 ⎪ − 67 0 ; x ≥157 ⎩
⎧ 0 ⎪ x − 34 ⎪ ⎪ 26 μ sedang (x ) = ⎨ 1 ⎪ x −152 ⎪ ⎪ − 071 ⎩
;
x < 34
;
34 ≤ x < 60
;
60 ≤ x < 81
; 81≤ x <152 ;
x ≥152
; x < 81 ⎧ 0 ⎪ x − 81 ; 81≤ x <152 ⎪ 71 ; x ≥152 ⎩ 1
μtinggi (x ) = ⎨
⎧ 0 ⎪ x − 90 ⎪ ⎪ 67 μ sedang (x ) = ⎨ 1 ⎪ x − 341 ⎪ ⎪ − 94 ⎩ 0
;
x < 90
;
90 ≤ x <157
; 157 ≤ x < 247 ; 247 ≤ x < 341 ;
x ≥ 341
; x < 247 ⎧ 0 ⎪ x − 247 ; 247 ≤ x < 341 μtinggi ( x ) = ⎨ ⎪ 94 1 ; x ≥ 341 ⎩
TRAINING 10 GLUN
HDL
; x < 70 ⎧ 1 ⎪ x −108 ; 70 ≤ x <108 μ rendah (x ) = ⎨ ⎪ − 38 ; x ≥108 ⎩ 0
; x < 37 ⎧ 1 ⎪ x − 61 μrendah (x ) = ⎨ ; 37 ≤ x < 61 ⎪ − 24 ; x ≥ 61 ⎩ 0
⎧ 0 ⎪ x − 70 ⎪ ⎪ 38 μ sedang (x ) = ⎨ 1 ⎪ x − 312 ⎪ ⎪ − 109 ⎩ 0
;
x < 70
;
70 ≤ x <108
; 108 ≤ x < 203 ; 203 ≤ x < 312 ;
x ≥ 312
⎧ 0 ⎪ x − 37 ⎪ ⎪ 24 μ sedang (x ) = ⎨ 1 ⎪ x −136 ⎪ ⎪ − 044 ⎩
; x < 203 ⎧ 0 ⎪ x − 203 μtinggi ( x ) = ⎨ ; 203 ≤ x < 312 ⎪ 109 ; x ≥ 312 ⎩ 1
μtinggi (x ) = ⎨
GPOST
TG
; x < 98 ⎧ 1 ⎪ x −153 μrendah (x ) = ⎨ ; 98 ≤ x <153 ⎪ − 55 ; x ≥153 ⎩ 0
μ rendah ( x ) = ⎨
⎧ 0 ⎪ x − 98 ⎪ ⎪ 55 μ sedang ( x ) = ⎨ 1 ⎪ x − 369 ⎪ ⎪ − 113 ⎩ 0
;
x < 98
;
98 ≤ x <153
; 153 ≤ x < 256 ; 256 ≤ x < 369 ;
x ≥ 369
; x < 256 ⎧ 0 ⎪ x − 256 μtinggi (x) = ⎨ ; 256≤ x < 369 ⎪ 113 ; x ≥ 369 ⎩ 1
;
x < 37
;
37 ≤ x < 61
;
61≤ x < 92
; 92 ≤ x <136 ;
x ≥136
x < 92 ; ⎧ 0 ⎪ x − 92 ; 92 ≤ x <136 ⎪ 44 ; x ≥136 ⎩ 1
; x < 93 ⎧ 1 ⎪ x −155 ; 93 ≤ x <155 ⎪ − 62 ; x ≥155 ⎩ 0
⎧ 0 ⎪ x − 93 ⎪ ⎪ 62 μ sedang (x ) = ⎨ 1 ⎪ x − 470 ⎪ ⎪ − 152 ⎩ 0
;
x < 93
;
93 ≤ x <155
; 155 ≤ x < 318 ; 318 ≤ x < 470 ;
x ≥ 470
; x < 318 ⎧ 0 ⎪ x − 318 ; 318 ≤ x < 470 ⎪ 152 x ≥ 470 ; ⎩ 1
μtinggi (x ) = ⎨
47
Lampiran 14 Fungsi keanggotaan untuk membentuk FDT a Atribut GLUN Atribut GLUN dibagi menjadi 4 kelompok yaitu rendah, sedang, tinggi, dan sangat tinggi. Fungsi keanggotaan untuk atribut GLUN yaitu: ⎧ 1 ⎪ x − 75 μ rendah (x ) = ⎨ ⎪ − 10 ⎩ 0
μ sedang
⎧ 0 ⎪ x − 65 ⎪ 10 (x ) = ⎪⎨ 1 ⎪ x − 115 ⎪ ⎪ − 10 ⎩ 0
x < 65
;
⎧ 0 ⎪ x − 105 ⎪ ⎪ 10 μ tinggi ( x ) = ⎨ 1 ⎪ x − 145 ⎪ ⎪ − 10 ⎩ 0
; 65 ≤ x < 75 x ≥ 75
;
x < 65
; ;
65 ≤ x < 75
;
75 ≤ x < 105
; 105 ≤ x < 115 ; 115 ≤ x < 135 ; 135 ≤ x < 145 x ≥ 145
;
; x < 135 ⎧ 0 ⎪ x − 135 ; 135 ≤ x < 145 μ sangatTinggi ( x ) = ⎨ ⎪ 10 ; x ≥ 145 ⎩ 1
; 105 ≤ x < 115 x ≥ 115
;
x < 105
;
Himpunan fuzzy menggunakan kurva dengan bentuk trapesium seperti gambar di bawah ini.
Derajat Keanggotaan
1
RendahSedangTinggi
Sangat Tinggi
0.8
0.6
0.4
0.2
0 100
0
200
300
400
500
600
b Atribut GPOST Atribut GPOST dibagi menjadi 4 kelompok yaitu rendah, sedang, tinggi, dan sangat tinggi. Fungsi keanggotaan untuk atribut GPOST yaitu: ; x < 95 ⎧ 1 ⎪ x − 105 μ rendah (x ) = ⎨ ; 95 ≤ x < 105 ⎪ − 10 ; x ≥ 105 ⎩ 0
μ sedang
⎧ 0 ⎪ x − 95 ⎪ 10 (x ) = ⎪⎨ 1 ⎪ x − 145 ⎪ ⎪ −010 ⎩
;
x < 95
;
95 ≤ x < 105
⎧ 0 ⎪ x − 135 ⎪ ⎪ 10 μ tinggi (x ) = ⎨ 1 ⎪ x − 205 ⎪ ⎪ −010 ⎩
; 105 ≤ x < 135
x < 135
; 135 ≤ x < 145 ; 145 ≤ x < 195 ; 195 ≤ x < 205 ;
x ≥ 205
x < 195 ; ⎧ 0 ⎪ x −195 ; 195 ≤ x < 205 ⎪ 10 ; x ≥ 205 ⎩ 1
μ sangatTinggi (x ) = ⎨
; 135 ≤ x < 145 x ≥ 145
;
;
Himpunan fuzzy menggunakan kurva dengan bentuk trapesium seperti gambar di bawah ini.
Derajat Keanggotaan
1
Rendah SedangTinggi
Sangat Tinggi
0.8 0.6 0.4 0.2 0 0
100
200
300
400
500
600
700
48
Lanjutan c
Atribut HDL Atribut HDL dibagi menjadi 3 kelompok yaitu rendah, sedang, dan tinggi. Fungsi keanggotaan untuk atribut HDL yaitu: ; x < 35 ⎧ 1 ⎪ x − 45 ; 35 ≤ x < 45 μ rendah ( x ) = ⎨ ⎪ − 10 x ≥ 45 ; ⎩ 0
μ sedang
⎧ 0 ⎪ x − 35 ⎪ 10 (x ) = ⎪⎨ 1 ⎪ x − 65 ⎪ ⎪ − 10 ⎩ 0
;
; x < 55 ⎧ 0 ⎪ x − 55 ; 55 ≤ x < 65 ⎪ 10 ; x ≥ 65 ⎩ 1
μ tinggi ( x ) = ⎨
x < 35
; 35 ≤ x < 45 ; 45 ≤ x < 55 ; 55 ≤ x < 65 ;
x ≥ 65
Himpunan fuzzy menggunakan kurva dengan bentuk trapesium seperti gambar di bawah ini. Rendah
1
Sedang
Tinggi
Derajat Keanggotaan
0.8 0.6 0.4 0.2 0 0
20
40
60
80
100
120
140
160
180
200
d Atribut TG Atribut TG dibagi menjadi 3 kelompok yaitu rendah, sedang, dan tinggi. Fungsi keanggotaan untuk atribut TG yaitu: ; x < 45 ⎧ 1 ⎪ x − 55 ; 45 ≤ x < 55 ⎪ − 10 ; x ≥ 55 ⎩ 0
; x < 145 ⎧ 0 ⎪ x −145 ; 145 ≤ x < 155 ⎪ 10 ; x ≥ 155 ⎩ 1
μ rendah ( x ) = ⎨
μ sedang
⎧ 0 ⎪ x − 45 ⎪ 10 (x ) = ⎪⎨ 1 ⎪ x − 155 ⎪ ⎪ −010 ⎩
;
x < 45
;
45 ≤ x < 55
;
55 ≤ x < 145
μ tinggi (x ) = ⎨
; 145 ≤ x < 155 ;
x ≥ 155
Himpunan fuzzy menggunakan kurva dengan bentuk trapesium seperti gambar di bawah ini.
Derajat Keanggotaan
Rendah Sedang 1
Tinggi
0.8 0.6 0.4 0.2 0 0
100
200
300
400
500
600
700