TESIS
Oleh
TESIS
PERSETUJUAN
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Diketahui/disetujui oleh
Program Studi Magister Teknik Informatika
Ketua,
PERNYATAAN
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di
bawah ini:
NIM : 127038075
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-
Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media,
memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis
saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai
penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta.
RIWAYAT HIDUP
DATA PRIBADI
Telepon/HP : 082304323995
e-mail : irfansudahri@gmail.com
DATA PENDIDIKAN
KATA PENGANTAR
Pertama-tama kami panjatkan puji syukur kepada Allah SWT atas segala
limpahan rahmat dan karunia-Nya sehingga tesis ini dapat diselesaikan. Juga tak lupa
kami kirimkan shalawat beserta salam kepada junjungan kami Rasulullah Muhammad
SAW yang telah membawa cahaya kebenaran dalam hidup di dunia ini.
Dalam menyelesaikan Tesis ini, peneliti telah mendapat banyak bantuan serta
masukan dari berbagai pihak. Oleh karena itu, melalui kesempatan yang berbahagia,
peneliti ingin berterima kasih kepada:
1. Bapak Prof. Dr. Runtung Sitepu, SH., M.Hum selaku Rektor Universitas
Sumatera Utara atas kesempatan yang telah diberikan kepada peneliti sehingga
bisa mengikuti dan menyelesaikan pendidikan Program Magister (S2) Teknik
Informatika.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu
Komputer Dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Prof. Dr. Muhammad Zarlis, M.Sc selaku Ketua Program Studi
Magister (S2) Teknik Informatika.
4. Bapak M. Andri Budiman, S.T., M.CompSc, M.EM selaku Sekretaris Program
Studi Magister (S2) Teknik Informatika.
5. Terima kasih yang terhingga serta penghargaan setinggi-tingginya kepada
Bapak Prof. Dr. Saib Suwilo, M.Sc selaku Pembimbing Utama, dan Bapak
Rahmat W. Sembiring, M.Sc.IT, P.hD selaku Pembimbing Anggota yang telah
membimbing dan menuntun peneliti dengan penuh kesabaran hingga
selesainya tesis ini.
6. Terima kasih yang terhingga serta penghargaan setinggi-tingginya kepada
Bapak Prof. Dr. Muhammad Zarlis, M.Sc, Bapak Prof. Dr. Opim Salim
Sitompul, M.Sc dan Bapak Prof. Dr. Tulus, M.Si selaku pembanding yang
telah memberikan masukan dan arahan yang baik demi selesainya tesis ini.
7. Teristimewa untuk ayahanda Alm R. Damanik dan ibunda Almh N. Br Purba
beserta Abang Syaiful Bachri Damanik, Aminuddin Damanik, Kakak
Ramayati Damanik, Rama Irawani Damanik, Rama Widiyanti Damanik dan
seluruh keluarga, kami mengucapkan terima kasih atas segala pengorbanan
viii
Dengan segala kekurangan dan kerendahan hati semoga kiranya Tuhan Yang
Maha Esa membalas segala bantuan dan kebaikan yang telah diberikan kepada
penulis.
ABSTRAK
Pentingnya pengefisiensian ruang pencarian rules pada decision tree dengan algoritma
C4.5 menjadi fokus oleh banyak peneliti. Oleh sebab itu pengembangan perlu
dilakukan agar dapat terbentuk sebuah metode baru yang lebih efisien namun tidak
lepas pada akurasi yang dianalisis dari hasil algoritma itu sendiri. Untuk itu dengan
menggunakan algoritma genetika (AG) diharapkan dapat mengoptimasi ruang
pencarian rules dan menyederhanakan kombinasi rules yang lebih kompleks.
Pengunaan C4.5 dengan Hybrid algoritma genetika dalam pencarian rules yang lebih
efektif membutuhkan pemahaman yang lebih dan waktu yang lama. Tetapi
pemanfaatan kedua algoritma ini akan sangat efektif jika kasus yang dihadapi sangat
kompleks dengan kondisi percabangan yang lebih banyak dengan akurasi yang tinggi.
ABSTRACT
The importance of efficiency in the space of search rules C4.5 decision tree algorithm
has been the focus of a lot of researchers. Therefore, the development needs to be
conducted to form a new, more efficient method but it can not be separated from
the accuracy of the analysis as the results of the algorithm itself. For that purpose, by
using a genetic algorithm (GA), it is expected to optimize and simplify the search
rules of more complex combinations. The use of C4.5 with Hybrid genetic algorithm
in search of a more effective rules requires a better understanding and a long time. But
the use of the two algorithms will be mostly effective if the cases faced are very
complex, having more branching condition and highly accurate.
DAFTAR ISI
Halaman
PERSETUJUAN ....................................................................................................... ii
PERNYATAAN ....................................................................................................... iii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPERLUAN AKADEMIS .................................................................................... iv
RIWAYAT HIDUP ................................................................................................. vi
KATA PENGANTAR ............................................................................................. vii
ABSTRAK ............................................................................................................... viii
ABSTRACT ............................................................................................................. ix
DAFTAR ISI ............................................................................................................. x
DAFTAR GAMBAR ............................................................................................... xii
DAFTAR TABEL ..................................................................................................... xiv
BAB 1 PENDAHULUAN ....................................................................................... 1
1.1 Latar Belakang........................................................................................... 1
1.2 Rumusan Masalah ..................................................................................... 3
1.3 Batasan Masalah ........................................................................................ 4
1.4 Tujuan Penelitian ....................................................................................... 4
1.5 Manfaat Penelitian ..................................................................................... 4
BAB 2 TINJAUAN PUSTAKA ............................................................................... 5
2.1 Decision Tree ............................................................................................. 5
2.2 Algoritma C4.5 .......................................................................................... 5
2.3 Algoritma Genetika ................................................................................... 6
2.4 Teknik Encoding ....................................................................................... 10
2.5 Operator Genetik ....................................................................................... 10
2.5.1 Proses Seleksi .................................................................................. 11
2.5.2 Pindah Silang (Persilangan) ........................................................... 12
2.5.3 Proses Mutasi .................................................................................. 16
2.5 Parameter Genetik ..................................................................................... 18
2.6 Penelitian-Penelitian Terkait ..................................................................... 18
2.6.1 Penelitian Terdahulu........................................................................ 18
2.6.2 Perbedaan Penelitian ....................................................................... 19
xii
DAFTAR GAMBAR
Halaman
DAFTAR TABEL
Halaman
Tabel 3.1 Dataset UCI Learning Machine Accurate Occupancy detection ................. 26
Tabel 4.6 Hasil perhitungan Entropi data filter Node 1.1 ............................................ 35
Tabel 4.7 Analisis Perhitungan Entropi Dan Gain Node 1.1. ...................................... 35
PENDAHULUAN
Pohon keputusan merupakan metode klasifikasi dan prediksi yang sangat kuat dan
terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon
keputusan yang merepresentasikan aturan. Aturan dapat dengan mudah dipahami
dengan bahasa alami. Manfaat utama dari penggunaan pohon keputusan adalah
kemampuannya untuk mem-break down proses pengambilan keputusan yang
kompleks menjadi lebih sederhana sehingga pengambilan keputusan akan lebih
menginterpretasikan solusi permasalahan dengan mengubah bentuk data (tabel)
menjadi model pohon keputusan, mengubah model pohon keputusan menjadi aturan.
Pohon keputusan juga berguna untuk mengeksplorasi data, yaitu menemukan
hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel
target.
Beberapa metode yang dapat di gunakan untuk proses pohon keputusan antara
lain dengan metode ID3, C4.5, C5, cart, Sprint, SLIQ Public, ClS, naive bayes,
Random Forest, Random Tree, id3+, Oci dan Clouds. Dari sekian algoritma tersebut,
yang nantinya akan penulis kembangkan dan gunakan adalah C4.5
Quinlan dalam bukunya yang berjudul C4.5 : “Program for Machine
Learning” menyatakan bahwa dalam mengkonstruksi pohon, C4.5 memuat seluruh
kasus ke dalam memori sehingga dibatasi oleh ketersediaan memori dan skalabilitas
C4.5 dinilai kurang baik. Hal ini akan membuat Performance dari algoritma tersebut
kurang maksimal.
Algoritma Decision tree pada C4.5 memiliki aturan ruang pencarian yang
besar sehingga performance sebagai parameter untuk menemukan optimasi dalam
penerapan algoritma belum optimal hal ini karena dalam mengkonstruksi pohon, C4.5
memuat seluruh kasus ke dalam memori sehingga dibatasi oleh ketersediaan memori
dan skalabilitas C4.5 dinilai kurang baik. Algoritma genetika merupakan sebuah
algoritma yang sering digunakan untuk memecahkan sebuah pencarian nilai dalam
sebuah optimasi. Aturan ruang pencarian yang terdapat dalam algoritma C4.5 dapat
dilakukan menggunakan algoritma genetika untuk menghasilkan ruang pencarian yang
lebih sedikit.
4
1. Data yang akan digunakan adalah data sets yang diperoleh dari UC Irvine
Machine learning Repository (UCI Machine Learning Repository), dataset
yang diambil menggabarkan data kelayakan sebuah ruangan berdasarkan intesitas
cahaya, kelembapan, kadar C02 dan Temperatur.
2. Metode Algoritma genetik dengan menggunakan persilangan dan Mutasi
Operation.
3. Hasil pengujian optimasi berupa untuk penilaian nilai maksimum untuk
menemukan rules yang optimal pada algoritma native C4.5 dengan
membandingkan Algoritma C4.5 dengan modifikasi dengan algoritma genetika.
Adapun tujuan penelitian ini adalah untuk membentuk rules yang optimum pada
pohon keputusan algoritma C4.5 menggunakan algoritma genetika dengan
menerapkan metode persilangan dan mutasi operation.
Manfaat yang diharapkan dari hasil penelitian ini adalah sebagai berikut:
1. Dapat mengetahui lebih dalam tentang algoritma pohon keputusan pada data
mining.
2. Mengetahui rules yang optimum menggunakan algoritma genetika dengan
menerapkan operasi persilangan (pindah silang) dan mutasi.
3. Mengetahui lebih mendalam pengaruh metode persilangan dan mutasi dalam
mendapatkan hasil yang optimal pada pohom keputusan.
4. Hasil penelitian dapat menjadi rujukan para pembaca dalam memahami
performance algoritma klasifikasi, terutama aspek performace.
5
BAB 2
TINJAUAN PUSTAKA
Pohon keputusan merupakan metode klasifikasi dan prediksi yang sangat kuat
dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi
pohon keputusan yang merepresentasikan aturan. Aturan dapat dengan mudah
dipahami dengan bahasa alami. Dan mereka juga dapat diekspresikan dalam bentuk
bahasa basis data seperti Structured Query Language untuk mencari record pada
6
Sebuah model pohon keputusan terdiri dari sekumpulan aturan untuk membagi
sejumlah populasi yang heterogen menjadi lebih kecil, lebih homogen dengan
memperhatikan pada variabel tujuannya. Sebuah pohon keputusan mungkin dibangun
dengan seksama secara manual atau dapat tumbuh secara otomatis dengan
menerapkan salah satu atau beberapa algoritma pohon keputusan untuk memodelkan
himpunan data yang belum terklasifikasi.
Variabel dan parameter yang digunakan pada algoritma genetik adalah: (Kuhn et
al., 2013) :
5. Mutasi rate yang menentukan sejumlah gen yang dillibatkan dalam proses
mutasi.
5. Proses Mutasi
Menentukan nilai mutasi rate, dan kemudian berdasarkan nilai bilangan
random yang dibangkitkan akan dapat ditentukan gen-gen yang terlibat di
dalam proses mutasi tersebut.
6. Menjadikan Kromosom Anak hasil dari Proses Persilangan dan Mutasi
sebagai Populasi Baru.
Kromosom (rules) 1 2 3 4 5 6 7 8 9
Gen (Light, C02, 0 1 1 0 0 0 0 1 1
Kelembapan,Temperature)
diperoleh adalah hasil local optima. Operator pada algoritma genetika terdiri atas
sejumlah parameter kontrol yang terdiri-dari: (Taiwo et al., 2013)
Dalam proses seleksi parent, ada banyak metode yang dapat diterapkan. Dua
metode umum yang sering digunakan yaitu (Chipperfield. et.al, 2005):
2) Uniform Persilangan
Pada uniform persilangan, sebuah vektor bit acak yang berukuran sama dengan
kromosom yang digunakan. Di dalam proses untuk menghasilkan kromosom
14
offspring, akan dipilih bit-bit dalam mask vektor bit acak. Jika yang terpilih adalah bit
0, berarti kromosom offspring diperoleh dari parent 1 dan jika yang terpilih adalah
bit 1 berarti kromosom offspring diperoleh dari parent 2 (Andrade, 2008).
Illustrasi dari proses uniform persilangan dapat dilihat pada Tabel 2.4.
3) Arithmetic Persilangan
Ket:
Kromosom Parent 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Kromosom Parent 2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3
15
Bilangan Acak 8
α 0.5
Kromosom Offspring 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.5 0.9
Kromosom Offspring 2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.5 0.3
Pada simple arithmetic persilangan, tentukan bilangan random sebagai titik potong
antara 0 sampai sepanjang kromosom pada masing-masing parent. Untuk gen pada
kromosom offspring untuk batas sebelum titik potong disalin dari gen pada kromosom
parent. Untuk gen setelah titik potong, gen yang ada dibentuk dari operasi aritmatika
pada gen dari kromosom parent dengan persamaan seperti pada persamaan 2.3 (Picek,
2013). Illustrasi dari proses simple arithmetic persilangan dapat dilihat pada Tabel 2.9.
Kromosom Parent 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Kromosom Parent 2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3
Bilangan Acak 6
α 0.5
Kromosom Offspring 1 0.1 0.2 0.3 0.4 0.5 0.6 0.5 0.5 0.6
Kromosom Offspring 2 0.3 0.2 0.3 0.2 0.3 0.2 0.5 0.5 0.6
Pada whole arithmetic persilangan, gen pada kromosom offspring diperoleh dari hasil
operasi aritmatika gen pada kromosom parent, di mana proses aritmatika yang
dilakukan sesuai dengan persamaan 2.3 (Eiben, 2014). Illustrasi dari proses whole
arithmetic persilangan dapat dilihat pada Tabel 2.7.
16
Kromosom Parent 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Kromosom Parent 2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3
α 0.5
Kromosom Offspring 1 0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6
Kromosom Offspring 2 0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6
2.5.3. Mutasi
Mutasi adalah proses untuk mengubah gen di dalam sebuah kromosom. Mutasi
dilakukan setelah proses persilangan dilakukan. Mutasi mengubah offspring baru
dengan mengubah 1 menjadi 0 atau 0 menjadi 1. Mutasi dapat terjadi pada setiap
posisi di dalam string dengan beberapa probabilitas yang umumnya sangat kecil.
Mutasi adalah dimaksudkan untuk mencegah hasil pencarian mengarah pada keadaan
local optima di dalam sebuah area pencarian (Shaikh, 2012).
Perbedaan penelitian yang pernah dilakukan dengan penelitian yang dilakukan oleh
peneliti dapat dilihat pada Tabel 2.10.
Melalui penelitian ini diharapkan dapat diperoleh hasil bahwa penggunaan algoritma
genetika mampu mengoptimasi ruang pencarian rules dan menyederhanakan
kombinasi rules yang lebih kompleks.
BAB 3
METODOLOGI PENELITIAN
3.1 Pendahuluan
Saat ini cukup banyak peneliti yang telah memperkenalkan beragam metode untuk
mengembangkan maupun mengefisiensikan sebuah algoritma. Sebagian peneliti juga
meneliti tentang klasifikasi yang paling tepat yang akan di gunakan untuk proses
estimasi data.
Begitu juga didalam hal ini, Semua proses yang dilakukan iyalah untuk
membangun proses segmentasi klasifikasi yang lebih efisien dari sebelumnya. Proses
segmentasi algoritma C4.5 melakukan prediksi terhadap data yang akan menjadi
keputusan. Proses klasifikasi dalam algoritma ini menghasilkan cabang-cabang
sementara daunnya adalah kelas-kelas atau segmen-segmennya. Sementara proses
pemilihan rules yang terjadi memiliki search space yang besar. Metodologi penelitian
ini menyertakan algoritma genetika yang menjadi penentu dalam pengoptimalan
pencarian dan mengurangi ruang pencarian untuk itu disertakan rincian rencana serta
dasar-dasar metode yang digunakan. Untuk menggambarkan proses yang dilakukan
dan batasan-batasan dalam metode penelitian disertakan tahapan-tahapan penelitian
dan diagram kerja.
Dalam tahapan kerja dan penelitian ini dilakukan beberapa tahapan sebagai berikut :
1. Penelitian awal
2. Preprocessing dan pengumpulan data
3. Perbandingan metode
4. Perbaikan metode dan evaluasi
5. Kesimpulan
22
Pada tahapan ini dilakukan pengumpulan bahan dari berbagai sumber pustaka, buku,
prosiding, jurnal cetak maupun online, artikel dan sumber-sumber lain yang relevan,
yaitu:
1. Mengidentifikasi serta melakukan proses evaluasi tahap demi tahap dari data
set yang digunakan. Dataset yang dipilih adalah Occupancy Detection dari
UCI Dataset yang dikumpulkan oleh Candanedo,L et al(2015). Dataset ini
berisi tentang deteksi kelayakan sebuah ruangan kantor berdasarkan intensitas
cahaya, temperature ruangan, kelembapan dan kadar CO2.
2. Melakukan preprosessing data, yaitu melakukan proses diskretisasi data yang
terdapat pada dataset.
Proses ini dilakukan untuk membandingkan metode dalam algoritma C4.5 native
dengan algoritma C4.5 yang menggunakan proses optimasi dengan algoritma
genetika. Hal ini dilakukan untuk mendapatkan kinerja algoritma yang terbaik dengan
metodologi yang dibentuk.
23
Untuk tahapan perbaikan metode dan evaluasi, proses yang dilakukan meliputi
beberapa hal, yaitu :
Model yang terdapat pada rancangan ini diharapkan dapat menghasilkan model pada
skala penelitian. Pengambilan nilai perbandingan ruang pencarian rules antara native
algoritma C4.5 dengan algoritma C4.5 yang telah dioptimasi oleh algoritma genetika
sebagai tolak ukur pada penelitian yang diharapkan mampu mengembangkan metode
yang diuji secara experimental.
Sebagai pengujian dan proses training digunakan dataset yang diperoleh dari UCI
Learning Machine Repository yang telah di donasikan oleh Candanedo,L et al(2015)
tentang Accurate occupancy detection. Dataset ini berisi tentang deteksi kelayakan
sebuah ruangan kantor berdasarkan intensitas cahaya, temperature ruangan,
26
kelembapan dan kadar CO2. Jumlah dataset terdiri dari 8 atribut, satu buah atribut
tidak disertakan dalam tabel 3.1, yaitu number of data. Baris pada dataset berjumlah
8143 baris. Artinya matrik pada dataset berukuran 8 x 8143.
No Label Content
date time year-month-day
1 hour:minute:second
2 Temperature in Celsius
3 Relative Humidity %
4 Light Lux
5 CO2 in ppm
Humidity Ratio, Derived quantity kgwater-vapor/kg-air
6 from temperature and relative
humidity
7 Occupancy {1=yes,0=no}
BAB 4
4.1 Pendahuluan
Dalam bab ini penulis akan memaparkan hasil dan pembahasan dari pengoptimasian
pembuatan decision rules pada algoritma C4.5 dengan menggunakan algoritma
genetika. Selain itu perbandingan antara ruang pencarian native C4.5 dengan C4.5
yang telah di optimasi dengan algoritma genetika akan di paparkan secara bertahap
berikut juga hasil pengujian antara dua buah algoritma tersebut.
Proses didalam algoritma C4.5 yang pertama adalah menentukan atribut yang menjadi
objek akhir dalam keputusan. Ini disebabkan oleh output yang dihasilkan nantinya
pada C4.5 adalah decision tree dan proses yang dilakukan oleh algoritma ini
menggunakan probabilitas dari total kasus yang menjadi objek akhir tersebut.
Proses selanjutnya adalah proses memfilter data sesuai root yang terdapat pada
node yang dipilih. Kemudian lakukan secara recursive perhitungan entropi, hitung
gain dan filter kembali data sesuai segmentasi dari node yang terpilih.
28
Untuk data yang numerik namun kontinu proses dalam algoritma C4.5
mengharuskan peneliti melakukan proses diskritisasi data sehingga data tersebut lebih
mudah dioperasionalkan.
Dataset yang terdapat pada penelitian seperti yang telah disebutkan sebelumnya
merupakan data Occupancy Detection dari UCI Dataset yang dikumpulkan oleh
Candanedo. Data yang akan diproses merupakan data kontinu dan untuk memudahkan
pengoperasionalan algoritma C4.5 maka akan dilakukan preprosesing data. Proses
preprosesing pada dataset ini adalah seleksi atribut dan diskritisasi data.
Atribut yang terdapat pada dataset adalah date yang merupakan tanggal dan
waktu kapan pengambilan data dilakukan namun data tanggal tidak disertakan dalam
penelitian, temperatur ruangan diukur dan dicatat dalam satuan derajat Celsius,
relative humidity atau kelembaban relatif ruangan dicatat dalam hitungan persen(%),
Light atau cahaya diukur dalam satuan Lux, kadar CO2 didalam ruangan juga diukur
dalam ppm, humidity ratio atau perbandingan kelembaban di ukur dalam kgwater-
vapor/kg-air dan terakhir adalah occupancy atau kelayakan huni yang ditandai dengan
angka biner {1=yes,0=no}.
time year-month-day
1 date No -
hour:minute:second
Temperature temp>21.09;
2 in Celsius Yes
temp<=21.09
Relative Humidity hum>27.93125;
3 % Yes
hum<=27.93125
Light<200;
200<=Light<618.53;
4 Light Lux Yes
618.53<=Light<927.8;
Light>=927.8
CO2<405.7;
405.7<=CO2<811.4;
5 CO2 in ppm Yes 811.4<=CO2<1217.1;
1217.1<=CO2<1622.8;
CO2>=1622.8
Humidity Ratio,
Derived quantity
6 kgwater-vapor/kg-air No -
from temperature and
relative humidity
Tidak semua atribut diproses didalam algoritma C4.5, seperti date, number of
data dan Humidity Ratio dikarenakan pada penelitian ini proses keputusan tidak
melibatkan unsur waktu dan urutan baris pada dataset sementara Humidity Ratio
adalah hasil perbandingan temperature dan relative humidity.
Perbandingan akan dilakukan untuk melihat kinerja dan optimalitas antara algoritma
C4.5 native terhadap versi modifikasi C4.5 yang telah dioptimasi dengan algoritma
genetika. Untuk itu setiap proses dalam algoritma C4.5 akan diuraikan dengan
melakukan training menggunakan dataset yang tersedia dan pengujian mengunakan
output yang dihasilkan.
30
Proses training dilakukan dengan menggunakan dataset yang telah tersedia. Parameter
yang digunakan untuk proses training menggunakan native algoritma C4.5 ataupun
algoritma C4.5 yang dioptimasi oleh algoritma genetika menggunakan dataset dan
atribut yang sama.
( ) ( ( ) ( )) ( ( ) ( ))
( )
( ) ( ( ) ( )) ( ( ) ( ))
( )
( ) ( ( ) ( )) ( ( ) ( ))
( )
( ) (( ) ( ) )
( )
Kemudian lakukan perhitungan entropi untuk semua segmen, dengan cara yang
sama maka hitunglah ( ), ( ) dan yang terakhir ( ).
Hasilnya bisa dilihat pada tabel 4.4 dibawah ini.
33
Jumlah
Jml
Node Attribut Nilai Entropi Gain
Nilai Not
Occupied
Occupied
1 Temperature temp<21.09 5481 5172 309 0.3128901
temp>=21.09 2662 1242 1420 0.9967723
8143 6414 1729 0.209457
Humidity Hum<27.93125 5719 4617 1102 0.7070671
Hum>=27.93125 2424 1797 627 0.8247227
8143 6414 1729 0.003822
Light Light<200 6048 6048 0 0
200<=Light<618.53 2075 360 1715 0.6656354
618.53<=Light<927.8 18 4 14 0.7642045
Light>=927.8 2 2 0 0
8143 6414 1729 0.574606
CO2<405.7 0 0 0 0
CO2 405.7<=CO2<811.4 6644 6147 497 0.383602
811.4<=CO2<1217.1 1030 190 840 0.6897502
1217.1<=CO2<1622.8 268 58 210 0.7535726
CO2>=1622.8 201 19 182 0.4514037
8143 6414 1729 0.309736
Dari hasil perhitungan seperti pada tabel 4.4 diketahui bahwa gain terbesar
adalah ( ) maka atribut Light akan menjadi Node pertama dan menjadi
akar(root). Kemudian pada atribut light < 200 dan Light l 927.8 memiliki 6048 kasus
dan 2 kasus, dan semuanya memiliki jawaban Not Occupied. Maka:
Dengan demikian Light < 200 dan Light l 927.8 menjadi daun atau leaf dalam
decision tree sementara segmen lainnya seperti 200mLight<618.53 dan segmen
618.53mLight<927.8 akan menjadi akar. Seperti yang tertera pada gambar 4.1.
34
Kemudian setelah itu berdasarkan pembentukan pohon keputusan node 1 light maka
node 1.1 akan dianalisis lebih lanjut, agar memudahkan pemrosesan data selanjutnya
pada algoritma ini, maka akan dilakukan filterisasi data pada 200mLight<618.53.
Seleksi data dilakukan dan menghasilkan. Seperti tabel 4.5 dibawah ini.
Humidity
Temperature Humidity Light CO2 Occupancy
Ratio
20.7 22.4175 426 460.25 0.0033788 0
20.7 22.5 423.667 465.3333 0.0033913 0
20.7 22.463333 423.667 472.6667 0.0033858 0
21.29 23.89 422.5 650.5 0.0037359 0
22.1 26.633333 459 1044 0.0043809 0
22.1 26.6 459 1036.5 0.0043753 0
22.05 26.575 469 1039 0.0043578 0
22.05 26.55 469 1039 0.0043537 0
22.7 26.89 531.25 1120 0.004589 0
23.18 27.272 426 721.25 0.004793 1
23.15 27.2675 429.5 714 0.0047834 1
23.15 27.245 426 713.5 0.0047795 1
23.15 27.2 426 708.25 0.0047715 1
23.1 27.2 426 704.5 0.004757 1
Kemudian data pada tabel 4.5 dianalisis dan dihitung lagi entropi, total kasus,
total kasus yang memiliki nilai 1 dan total kasus yang memiliki nilai 0, sehingga
hasilnya seperti terlihat pada tabel 4.6 dibawah ini.
35
Untuk pencarian entropi masing masing segmen pada setiap atribut dihitung
kembali seperti perhitungan sebelumnya begitu juga dengan gain dihitung untuk
menentukan node selanjutnya. Setelah dihitung maka menghasilkan nilai seperti pada
tabel 4.7 dibawah ini.
Jumlah
Jml
Node Attribut Nilai Not Entropi Gain
Nilai Occupied
Occupied
1 Temperature temp<21.09 391 82 309 0.7409446
temp>=21.09 1684 278 1406 0.6463325
2075 360 1715 0.0014748
Humidity Hum<27.93125 1404 316 1088 0.7693199
Hum>=27.93125 671 44 627 0.3491844
2075 360 1715 0.0321762
CO2<405.7 0 0 0 0
CO2 405.7<=CO2<811.4 810 313 497 0.9624502
811.4<=CO2<1217.1 873 47 826 0.3024793
1217.1<=CO2<1622.8 210 0 210 0
CO2>=1622.8 182 0 182 0
2075 360 1715 0.162672
Dari perhitungan seperti pada tabel 4.7 diatas terlihat bahwa gain terbesar adalah
atribut CO2 dengan nilai 0.162672. Atribut C02 memiliki dua daun ini ditunjukkan
bahwa kolom Not Occupied bernilai 0 dan kolom Occupied bernilai 210 pada segmen
1217.1mC02<1622.8 begitu juga segmen C02l1622 kolom Not Occupied bernilai 0
dan kolom Occupied bernilai 182. Untuk segmen yang lain akan menjadi akar namun
pada segmen CO2<405.7 memiliki 0 jumlah atau tidak memiliki anggota bagian pada
segmen maka dari itu segmen tersebut akan dihilangkan atau tidak dianggap sebagai
root maupun daun. Hasil perhitungan tersebut akan membentuk pohon keputusan
lanjutan dari pohon sebelumnya. Ini terlihat pada gambar 4.2 dibawah ini.
36
Setelah selesai membuat pohon keputusan untuk node 1.1 CO2 maka langkah
selanjutnya adalah menganalisis apakah masih terdapat nilai 0 pada kolom not
occupied atau pun occupied walaupun dari atribut yang berbeda. Jika tidak maka
lanjutkan perhitungan ke node selanjutnya. Lakukanlah pembuatan akar dan daun
seperti cara sebelumnya hingga nilai keseluruhan dari setiap atribut tidak ada yang
bernilai 0. Hasilnya seperti yang terdapat pada gambar 4.3 dibawah ini.
Rules yang dihasilkan dari pohon keputusan yang telah dibuat adalah, sebagai berikut:
Seperti yang telah disebutkan sebelumnya bahwa untuk meningkatkan akurasi dan
kesederhanaan rules yang didapat modifikasi algoritma C4.5 dapat dilakukan dengan
menyisipkan algorima genetika untuk memberikan nilai optimum pada algoritma
C4.5. Penyederhanaan rules yang diperoleh akan mempersempit ruang pencarian rules
pada proses testing.
Setiap pohon keputusan pada dasarnya selalu tidak dapat memberikan rules yang lebih
optimal dan penggunaan algoritma genetika dalam hal ini selalu digunakan sebagai
alat untuk mengoptimalkan algoritma tersebut.
Ide yang dipaparkan didalam tesis ini adalah, bahwa penggunaan algoritma C4.5
pertama kali akan digunakan untuk membangkitkan setiap rules yang ada pada
dataset. Oleh karena itu atribut dari rules nantinya akan menghasilkan parameter
seperti akurasi, kesederhanaan, dan gain rasio, dari hal-hal tersebut pembentukan
fungsi fitnes didalam algoritma genetika dibentuk. Hasil maksimum pada fungsi fitnes
diharapkan akan menghasilkan rules yang paling optimal.
(untuk atribut yang bersifat kontinu harus didiskritisasi terlebih dahulu) jadi setiap
individual disebar keseluruh nilai didalam sebuah atribut, selain itu setiap bit memiliki
arti tertentu terhadap kondisi yang terjadi pada sebuah atribut. Misalkan, ketika
bernilai 0 maka individual tidak akan mengambil atribut tersebut sedangkan jika
bernilai 1 maka sebaliknya. Penggunaan kode binari sederhana yang biasa digunakan
dalam pengoperasian algoritma genetika tidak digunakan dikarenakan kompleksitas
keadaan atribut itu sendiri.
Proses kompetisi setiap kromosom akan dilakukan tetapi dengan cara yang
berbeda. Setiap atribut merupakan rules klasifikasi hingga n atribut, jadi setiap
kromosom dibagi hingga n gen. Gen ke-i berhubungan dengan atribut ke-i. Setiap
individu mewakili sebuah aturan klasifikasi dan setiap gen diwakili sisi kiri dan sisi
kanan aturan klasifikasi. Untuk keseluruhan kromosom merupakan perwakilan dari
aturan keputusan IF-THEN. Pada bagian kiri rules dibentuk oleh gen yang
berhubungan dengan atribut karakteristik sementara gen yang berada dibagian kanan
merupakan gen kelasifikasi yang dibentuk dari kelas atribut. Selama gen berevolusi
gen yang berisi karakteristik atribut ini ikut dalam proses evolosi tetapi gen yang
berhubungan dengan kelas gen tidak disertakan dalam proses. Didalam satu buah
atribut berisikan empat bagian, yaitu : {bobot, operator, nilai, gain ratio}
1. Bobot
2. Operator
Maksud dari operator adalah operator aritmatika yang menjadi kode pembanding
antara dua nilai yang disertakan dalam rules IF-THEN. Untuk nilai diskrit “=” atau
sama dengan, kebalikannya “≠” atau tidak sama dengan. Sedangkan untuk nilai
kontinu berisi nilai “≥” atau lebih besar sama dengan dan sebaliknya “<” atau
lebih kecil.
3. Nilai
Nilai yang dimaksud adalah atribut yang menjadi segmen didalam proses
pencarian node pada pembuatan pohon keputusan dan segmen tersebut dijadikan
nilai pada aturan keputusan(rules).
4. Gain Ratio
Gain ratio adalah informasi gain yang diperoleh pada waktu perhitungan pencarian
node dengan menggunakan algoritma C4.5. Setiap informasi gain tersebut
disimpan dan direpresentasikan dengan bilangan biner.
Perancangan kromosom yang dibentuk dari rules yang telah dihasilkan oleh
algoritma C4.5 ditampilkan pada gambar 4.4 dibawah ini.
Atribut karakteristik berisi bobot, operator, nilai segmen dan gain ratio
sementara atribut kelasifikasi berisi kode kelasifikasi yang telah dikonversi ke
bilangan biner.
Untuk membuat nilai biner pada atribut karateristik, dilakukan proses coding
dengan merubah atau mengkonversi jenis segmen kedalam angka biner. Misal
41
Temperature temp<21.09 01
temp>=21.09 10
Humidity Hum<27.93125 01
Hum>=27.93125 10
CO2<405.7 001
CO2 405.7<=CO2<811.4 010
811.4<=CO2<1217.1 011
1217.1<=CO2<1622.8 100
CO2>=1622.8 101
Dengan menggunakan metode ini maka aturan keputusan atau rules menjadi
lebih sederhana. Berikut tampilannya pada gambar 4.5
42
Seperti yang ditampilkan pada gambar 4.5 yang mengubah aturan keputusan
menjadi lebih sederhana dan dapat disesuaikan dengan penggunaan algoritma genetika
untuk dapat dioptimasi. Jika terdapat aturan keputusan atau rules IF
Light>=927.8 THEN Occupancy=No, maka aturan keputusan tersebut dapat di
kodekan kedalam bentuk biner menjadi “1=100010=000000=000000=0000000”.
Sehingga untuk keseluruhan rules pada algoritma 4.1 jika dikodekan kedalam bentuk
biner menjadi, sebagai berikut:
Pada tabel 4.9 variabel light bernilai 0, nilai 0 pada variabel light berkisar pada
segmen ke-1 sehingga konversi nya menjadi 01, untuk CO2 konversi ada pada segmen
ke 2 sehingga nilai binernya menjadi 010. Nilai humidity 24.445 ada pada segmen
pertama maka konversinya 01 dan temperature juga pada segmen pertama menjadi 01.
Untuk lebih detail lihat Tabel 4.8 Konversi Segmen ke Biner.
Penentuan nilai parameter ditentukan pada tahap awal iterasi sebagai harga awal
yang menjadi ketentuan-ketentuan pemrosesan dalam algoritma genetika. Antara lain
adalah, terlihat pada tabel 4.10 dibawah ini.
Parameter Nilai
Probabilitas Persilangan 0.85
Probabilitas Mutasi 0.09
Maksimum Iterasi 500
Koefisien Pembobotan a = 0.1, b=0.1, c=0.1, d= 0.7
Didalam algoritma genetik fungsi fitness adalah tolak ukur untuk mengevaluasi baik
atau tidaknya sebuah individu. Penentuan tolak ukur terbagi menjadi beberapa bagian
yaitu akurasi, ketersediaan dan kesederhanaan. Ketiga tolak ukur inilah yang
membentuk nilai fitness pada akhir perhitungan.
B_B : Benar dan Benar, simbol ini menyatakan bahwa rules atau aturan keputusan
yang terdapat pada data prediksi nama variabelnya bernilai sama dengan nama
variabel yang terdapat pada rules, maka bernilai Benar dan bernilai Benar jika
nilai (jenis segmen) yang terdapat pada variabel data prediksi sama dengan yang
ada pada rules.
B_S : Benar dan Salah, simbol ini menyatakan bahwa rules atau aturan keputusan
yang terdapat pada data prediksi nama variabelnya bernilai sama dengan nama
variabel yang terdapat pada rules, maka bernilai Benar dan bernilai Salah jika
nilai (jenis segmen) yang terdapat pada variabel data prediksi tidak sama dengan
yang ada pada rules.
45
S_B : Salah dan Benar, simbol ini menyatakan bahwa rules atau aturan keputusan
yang terdapat pada data prediksi nama variabelnya bernilai berbeda dengan
nama variabel yang terdapat pada rules, maka bernilai Salah dan bernilai Benar
jika nilai (jenis segmen) yang terdapat pada variabel data prediksi sama dengan
yang ada pada rules.
S_S : Salah dan Salah, simbol ini menyatakan bahwa rules atau aturan keputusan yang
terdapat pada data prediksi nama variabelnya bernilai berbeda dengan nama
variabel yang terdapat pada rules, maka bernilai Salah dan bernilai Salah jika
nilai (jenis segmen) yang terdapat pada variabel data prediksi tidak sama dengan
yang ada pada rules.
B : Benar, menyatakan bahwa rules atau aturan keputusan yang terdapat pada data
prediksi nama variabelnya bernilai sama dengan nama variabel yang terdapat
pada rules, maka bernilai Benar.
S : Salah, menyatakan bahwa rules atau aturan keputusan yang terdapat pada data
prediksi nama variabelnya bernilai berbeda dengan nama variabel yang terdapat
pada rules, maka bernilai Salah.
Untuk menghitung nilai akurasi yang merupakan bagian dari fungsi fitness
didalam algoritma genetika adalah.
Hasil dari perhitungan akurasi adalah derajat keakuratan pada saat testing. Nilai
akurasi yang tertinggi menyatakan tingkat/derajat kebenaran pada proses klasifikasi.
Proses yang lain selain akurasi adalah ketersediaan. Perhitungan rumusnya adalah :
Nilai yang terbesar dari ketersediaan menyatakan rules sudah memiliki proporsi
yang baik di ruang pencarian dengan kata lain bahwa rules memiliki tingkat signifikan
yang lebih baik. Variabel yang ketiga adalah kesederhanaan. Dihitung dengan cara:
( ) ( )
( )
46
Untuk proses yang terakhir ialah mencari maksimum fungsi fitnes tetapi
sebelumnya bahwa algoritma genetik digunakan untuk menghasilkan pohon
keputusan. Untuk itu penggunaan gain ratio akan sangat berpengaruh terhadap
keakuratan nilai fitness, maka dari itu perhitungan nilai maksimum fitnes, adalah
sebagai berikut :
Dimana a, b, c dan d adalah variabel bobot antara [1,0] dan total a+b+c+d = 1.
Proses pencocokan kromosom yang diambil dari rules dan data testing (terdapat
pada tabel 4.9) dilakukan dengan cara menjumlahkan jumlah kromosom yang sesuai
dan setiap atribut yang sesuai tersebut tulis angka 1 jika tidak sesuai tulis angka 0,
kemudian jumlahkan. Misalkan, dari tabel 4.9 atribut yang sesuai dalam satu buah
rules nilai dan variabelnya yaitu Light dan Humidity maka tulis 1 dan pada light dan
tulis 1 pada humidity, jika dijumlahkan 2 dan lakukan untuk 14 rules yang lainnya.
Dari data testing dan rules maka diperoleh jumlah nilai kebenaran sebagai berikut.
Kromosom 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Light 0 1 0 0 0 0 0 0 0 0 0 0 0 0
CO2 0 0 0 0 0 1 1 1 0 1
Humidity 0 0 0 0 1
Temperature 0 1 0 1 1
Total 0 1 0 0 0 0 1 1 1 2 0 1 1 1
47
Kromosom 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Light 1 0 1 1 1 1 1 1 1 1 1 1 1 1
CO2 1 1 1 1 1 0 0 0 1 0
Humidity 1 1 1 1 0
Temperature 1 0 1 0 0
Total 1 0 2 2 3 3 2 2 3 2 2 1 1 1
Kromosom 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Light 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CO2 0 0 0 0 0 0 0 0 0 0
Humidity 0 0 0 0 0
Temperature 0 0 0 0 0
Total 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Kromosom 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Light 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CO2 0 0 0 0 0 0 0 0 0 0
Humidity 0 0 0 0 0
Temperature 0 0 0 0 0
Total 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Perhitungan pada tabel 4.13 dan 4.14 semua nilai bernilai 0 ini dikarenakan
variabel yang terdapat pada atribut rules sama dengan atribut yang terdapat pada data
testing. Sedangkan atribut value walaupun terdapat data yang salah, namun dalam
kondisi S_S atau salah-salah antara variabel dan atribut mengharuskan kedua sisi
bernilai salah secara bersamaan maka hasilnya akan benar.
Kromosom ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Jumlah Atribut 1 1 2 2 3 3 3 3 4 4 2 2 2 2
Kesederhanaan 0.75 0.75 0.5 0.5 0.25 0.25 0.25 0.25 0 0 0.5 0.5 0.5 0.5
Max Fitnes 0.08 0.68 0.05 0.05 0.03 0.03 0.09 0.21 0.16 0.21 0.05 0.26 0.15 0.15
Dari tabel 4.15 terlihat bahwa nilai terbesar maksimum fitnes adalah bernilai
0.68 diperoleh dari perhitungan pada kromosom yang ke 2. Selanjutnya jika
maksimum fitness masih terlalu kecil maka proses Persilangan dan mutasi akan terus
dilakukan hingga memperoleh akurasi rata-rata mencapai 75% atau selisih rata-rata
maksimum fitness lebih kecil dari error yang ditentukan atau avgi – avgi-1 < ε, dengan
ε = 0.05 atau iterasi mencapai 500. Pada tahap awal. Berikut nilai tiga rules tertinggi,
adalah sebagai berikut:
IF Light<200 THEN
2 100% 0.677223933
Occupancy = No
IF Light<618.53 AND
Light >= 200 AND
CO2>=405.7 AND CO2<811.4
10 50% 0.21387042
AND Humidity < 27.93235
AND Temperature < 21.09
THEN Occupancy=Yes
49
P1 = 0.075/2.191038947 = 0.034230336
P2 = 0.677223933/2.191038947 = 0.30908804
P3 = 0.05/2.191038947 = 0.022820224
P4 = 0.05/2.191038947 = 0.022820224
P5 = 0.025/2.191038947 = 0.011410112
P6 = 0.025/2.191038947 = 0.011410112
P7 = 0.091666667/2.191038947 = 0.041837078
P8 = 0.205537087/2.191038947 = 0.093808048
P9 = 0.16387042/2.191038947 = 0.074791195
Pada proses seleksi metode yang digunakan adalah roulette wheel, untuk itu
proses pencarian nilai komulatif probabilitasnya harus dilakukan terlebih dahulu.
Perhitungannya adalah, sebagai berikut:
C1 = 0.034230336 = 0.034230336
Proses roulette wheel yang pertama adalah bangkitkan bilangan acak R dengan
Range [0,1]. Jika R[k] < C[i] maka pilih kromosom ke-i sebagai induk. Selain itu pilih
52
kromosom ke-k sebagai induk dengan syarat Ck-1<Rk<Ck, kemudian putar roulette
sebanyak 14 kali sesuai dengan jumlah kromosomnya. Bangkitkan bilangan random
R, pilih satu kromosom pada setiap putaran untuk populasi yang baru.
R1 = 0.51997 R8 = 0.23978
R2 = 0.60843 R9 = 0.86262
R3 = 0.55756 R10 = 0.15431
R4 = 0.68566 R11 = 0.88645
R5 = 0.48584 R12 = 0.14913
R6 = 0.59323 R13 = 0.95478
R7 = 0.61066 R14 = 0.50484
Terlihat bahwa angka acak pertama R1 lebih besar dari C1, C2, C3, C4, C5, C6 dan
C7 tetapi lebih keci dari C8, maka pilih kromosom ke 8 sebagai kromosom pada
populasi baru, kemudian lakukan proses seleksi tersebut untuk menentukan
keseluruhan kromosom yang baru. Dari proses tersebut maka populasi yang baru
adalah, sebagai berikut:
Populasi
Kromosom
baru
Kromosom 1 Kromosom 8
Kromosom 2 Kromosom 9
Kromosom 3 Kromosom 9
Kromosom 4 Kromosom 10
Kromosom 5 Kromosom 8
Kromosom 6 Kromosom 9
Kromosom 7 Kromosom 9
Kromosom 8 Kromosom 2
Kromosom 9 Kromosom 12
Kromosom 10 Kromosom 2
Kromosom 11 Kromosom 13
Kromosom 12 Kromosom 2
Kromosom 13 Kromosom 14
Kromosom 14 Kromosom 8
53
Proses seleksi telah dilakukan, hasil tersebut terlihat pada Tabel 4.17. Langkah
selanjutnya adalah melakukan persilangan dan mutasi aturan keputusan. Untuk rules
hasil proses seleksi ditampilkan pada Tabel 4.18
ID
Kromosom
Rules
ID
Kromosom
Biner
Didalam algoritma genetic metode persilangan yang sering digunakan adalah one cut
point. Metode ini memilih secara acak satu posisi dalam kromosom induk kemudian
kromosom ini saling menukar gen. Jumlah kromosom yang mengalami persilangan
dipengaruhi oleh crossover rate(ρc).
Berdasarkan parameter awal yang telah kita tentukan pada Tabel 4.10 konstanta
optimasi algoritma genetika, persilangan probability yang dipilih adalah 85% berarti
ρc adalah sebesar 0.15 diharapkan terdapat lebih dari 3 kromosom dari satu generasi
yang mengalami persilangan. Proses pertama adalah bangkitkan bilangan acak R
sebanyak berapa jumlah populasi yang ada.
R1 = 0.73076 R8 = 0.19581
R2 = 0.78464 R9 = 0.43419
R3 = 0.34834 R10 = 0.58643
R4 = 0.06507 R11 = 0.28729
R5 = 0.9752 R12 = 0.00081
R6 = 0.59095 R13 = 0.00945
R7 = 0.34147 R14 = 0.51033
55
Kromosom akan dipilih jika Rk < ρc, bandingkan nilai R dengan ρc, maka dari
hasil perbandingan diatas yang dijadikan induk adalah.
Setelah di random diperoleh posisi cut point menggunakan bilangan random [1,3]:
C1 = 1; C2 = 3; C3 = 1
Persilangan dengan
Menjadi
Persilangan dengan
Menjadi
Persilangan dengan
Menjadi
ID
Kromosom
Biner
Setelah proses Persilangan dilakukan maka proses selanjutnya adalah proses mutasi.
57
Proses mutasi dilakukan dengan memberikan nilai pada mutasi rate(ρm) terlebih
dahulu. Mutasi rate adalah penentu jumlah kromosom yang mengalami mutasi dalam
satu popolasi. Prosesnya adalah yang pertama, hitung panjang total gen yang ada
dalam satu populasi. Dalam hal ini pembobotan, nilai dan operator dalam suatu atribut
akan dilakukan mutasi jika terpilih secara acak kecuali gain ratio dan kelas. Gambar
4.6 dibawah ini menampilkan bagian yang dimutasi ditandai dengan kotak berwarna
kuning.
Hitunglah panjang total gen dimutasi yang terdapat pada satu populasi. Panjang
total gen adalah:
= 12 x 14 = 168
Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan cara
membangkitkan nilai random atara 1 sampai total gen atau [1,168]. Jika bilangan
random lebih kecil dari mutasi rate dalam hal ini mutasi rate sudah ditentukan pada
tahap awal perhitungan dengan besar 9% ini berarti hanya yang lebih kecil dari 0.09
lah yang dipilih menjadi sub kromosom. Jumlah mutasi dihitung, sebagai berikut:
= 15.12 = 15
Jadi jumlah gen yang dimutasi diharapkan sebesar 15 gen dari total gen yang
ada. Setelah dilakukan pengacakan ke 168 bilangan R maka terpilihlah 14 angka yang
lebih kecil dari jumlah mutasi rate atau ρm 0.09. adalah sebagai berikut.
58
Atribut W Op V W Op V W Op V W Op V
ID 1 2 3 4 5 6 7 8 9 10 11 12
1 0.925 0.944 0.471 0.635 0.379 0.675 0.341 0.498 0.202 0.94 0.191 0.493
2 0.634 0.354 0.892 0.159 0.097 0.252 0.172 0.969 0.153 0.869 0.763 0.909
3 0.781 0.808 0.665 0.292 0.988 0.109 0.959 0.413 0.508 0.266 0.908 0.665
4 0.857 0.273 0.655 0.689 0.492 0.248 0.689 0.848 0.041 0.004 0.919 0.35
5 0.909 0.882 0.197 0.672 0.151 0.64 0.281 0.121 0.697 0.477 0.243 0.882
6 0.1 0.41 0.112 0.023 0.011 0.066 0.562 0.974 0.563 0.564 0.66 0.511
7 0.939 0.435 0.896 0.962 0.55 0.106 0.979 0.697 0.922 0.687 0.022 0.853
8 0.664 0.758 0.797 0.293 0.709 0.722 0.388 0.4 0.627 0.523 0.843 0.922
9 0.106 0.3 0.078 0.832 0.125 0.398 0.618 0.508 0.718 0.971 0.61 0.686
10 0.632 0.351 0.118 0.576 0.745 0.491 0.015 0.694 0.231 0.021 0.67 0.733
11 0.612 0.797 0.172 0.31 0.477 0.644 0.013 0.643 0.161 0.972 0.784 0.885
12 0.631 0.496 0.716 0.488 0.434 0.468 0.828 0.674 0.747 0.114 0.972 0.003
13 0.788 0.572 0.034 0.036 0.768 0.552 0.593 0.842 0.145 0.312 0.805 0.566
14 0.731 0.021 0.421 0.319 0.302 0.795 0.351 0.959 0.621 0.494 0.344 0.613
Dimana kolom W adalah bobot, Op adalah operator dan V adalah nilai. Setelah
kita memilih secara random gen yang akan dimutasi, maka diperoleh 14 gen yang
akan dimutasi, yaitu Kromosom 4 nilai ke 3 serta pembobotan ke 4 untuk nilai yang
lainnya bisa dilihat pada tabel 4.21. Untuk proses mutasi, sebagai berikut:
Kromosom 4 :
Dimutasi menjadi
Kromosom 6:
Dimutasi menjadi
Untuk kromosom yang lain dilakukan proses yang sama, sehingga hasilnya menjadi
59
ID
Kromosom
Biner
Setelah proses mutasi berhasil maka kita telah menyelesaikan proses satu
generasi. Pada konversi kromosom kerules seperti disebutkan sebelumnya bahwa
terdapat tiga bentuk yang dikonversi, yaitu bobot, operator dan nilai.
ID
Kromosom
Rules
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Akurasi 0.33 0.25 0.25 0.67 0.33 0.25 0.5 1 0.5 0.33 0.5 0.25 0 0.67
Jumlah Atribut 3 4 4 3 3 4 4 1 2 3 2 4 1 3
Ketersediaan 0.33 0.25 0.25 0.67 0.33 0.25 0.5 1 0.5 0.33 0.5 0.25 0 0.67
Kesederhanaan 0.25 0 0 0.25 0.25 0 0 0.75 0.5 0.25 0.5 0 0.75 0.25
Gain 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.57 0.16 0.57 0.08 0.16 0.08 0.57
Max Fitnes 0.15 0.1 0.1 0.21 0.15 0.1 0.15 0.68 0.26 0.49 0.2 0.16 0.13 0.56
62
Dari perhitungan yang tetera pada tabel 4.24 maksimum fitness terlihat bahwa
pada generasi pertama perhitungan nilai maksimum masih sama dengan sebelumnya
sebesar 0.68 tetapi untuk total maksimum fitness mengalami peningkatan dari
sebelumnya sebesar 2.191 menjadi 3.47, artinya nilai maksimum fitness untuk
kromosom yang lainnya semakin membaik selain itu beberapa kromosom memiliki
nilai akurasi yang semakin baik.
Lakukan proses regenerasi hingga avgi-avgi-1< ε atau hingga 500 generasi atau
akurasi lebih dari 75%. Setelah dilakukan regenerasi ulang ke 20 maka diperoleh nilai
maksimum fitness, sebagai berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Akurasi 1 0.25 0.75 0.75 0.33 0.75 0.5 1 1 0.67 0.5 0.25 1 0.67
Jumlah Atribut 3 4 4 4 3 4 4 2 2 3 2 4 1 3
Ketersediaan 1 0.5 0.5 0.75 0.67 0.25 0.5 1 0.5 0.67 1 0.5 1 0.67
Kesederhanaan 0.25 0 0 0 0.25 0 0 0.5 0.5 0.25 0.5 0 0.75 0.25
Gain 0.08 0.08 0.65 0.67 0.08 0.08 0.08 0.57 0.16 0.57 0.08 0.16 0.57 0.57
Max Fitnes 0.28 0.13 0.58 0.62 0.18 0.15 0.15 0.65 0.31 0.56 0.25 0.19 0.68 0.56
Setelah melakukan regenerasi dan mendapatkan gen yang terbaik maka langkah
selanjutnya adalah mengevaluasi dan mengkonversi rules dari hasil mutasi terakhir.
4.7 Evaluasi
Rules Akurasi
IF Light<200 THEN No 100%
IF Light<618.53 AND Light>=200 AND
75%
Hum<27.93125 THEN No
IF Light<618.53 AND Light >= 200 AND
CO2>=405.7 AND CO2<811.4 AND Humidity 75%
> 27.93235 THEN Occupancy=No
Hasil evaluasi proses algoritma genetika dan C4.5 mendapatkan hasil rules yang
lebih simple dan lebih tinggi nilai akurasinya. Pengunaan C4.5 dengan Hybrid
algoritma genetika dalam pencarian rules yang lebih efektif membutuhkan
pemahaman yang lebih dan waktu yang lama. Tetapi pemanfaatan kedua algoritma ini
akan sangat efektif jika kasus yang dihadapi sangat kompleks dengan kondisi
percabangan yang lebih banyak dengan akurasi yang tinggi.
BAB 5
5.1 Kesimpulan
Pentingnya pengefisiensian ruang pencarian rules menjadi fokus banyak peneliti. Oleh
sebab itu pengembangan dilakukan agar terbentuk sebuah metode baru yang lebih
efisien dan tidak lepas pada akurasi yang dianalisis dari hasil algoritma itu sendiri.
5.2 Saran
Pengunaan C4.5 dengan Hybrid algoritma genetika dalam pencarian rules yang lebih
efektif membutuhkan pemahaman yang lebih dan waktu yang lama. Tetapi
pemanfaatan kedua algoritma ini akan sangat efektif jika kasus yang dihadapi sangat
kompleks dengan kondisi percabangan yang lebih banyak dengan akurasi yang tinggi.
Untuk itu pada penelitian selanjutnya pemanfaatan algoritma genetika dalam
mengoptimasi rules hasil algoritma C4.5 diharapkan menggunakan dataset yang lebih
kompleks.
DAFTAR PUSTAKA
Agrawal, Gaurav L., Hitesh Gupta, 2013, Optimization of C4.5 Decision Tree
Algorithm for Data Mining Application , IJETAE (3):34-346
Andrade, Alessandro Vivas, Errico, Luciano de, Aquino, Andre L. L., Assis, Luciana
Pereira de and Barbosa, Carlos H.N.R. 2008, Analysis of Selection and
Crossover Methods Used by Genetic Algorithm-Based Heuristic to Solve the
LSP Allocation Problem in MPLS Networks under Capacity Contraints.
International Conference on Engineering Optimization, pp. 1-9
Bhargavi P, Jyothi B, Jyothi S and Sekar K, 2008, Knowledge Extraction Using Rule
Based Decision Tree Apprroach, IJCSNS International Journal of Computer
Science and Network Security, Vol. 8, pp.296-301.
Brin, S., & Page, L.,1999. Dynamic Data Mining: Exploring Large Rule Spaces by
Sampling., Departement Computer Science Stanford University, pp. 261.
Chipperfield, A., Fleming, P., Pohlheim, H., dan Fonseca, C. 2005. Genetic
Algorithm TOOLBOX For Use with MATLAB. User’s Guide
Ver.1.2. Department of Automatic Control and Systems Engineering,
University of Sheffield.
Eiben, A.E. & Smith, J.E. 2007. Introduction to Evolutionary Computing Genetic
Algorithms. Springer: New York
Galathiya, A.S., Ganatra, A.P. & Bhensdadia, C.K. 2012. Classification with an
Improved Decision Tree Algorithm. International Journal of Computer
Applications 46(23): 1-6.
66
Kuhn, Matthias, Thomas Severin and Horst Salzwedel. 2013. Variable Mutation Rate
at Genetic Algorithms: Introduction of Chromosome Fitness in Connection
with Multi-Chromosome Representation. International Journal of Computer
Application (IJCA)72(1): 31-38
Kumar, Rakesh and Jyotishree. 2012. Blending Roulette Wheel Selection & Rank
Selection in Genetic Algorithms, International Journal of Machine
Learning and Computing2(4): 365-370
Picek, Stjepan, Jakobovic, Domagoj and Gloub, Marin. 2013. On the Recombination
Operator in The Real-Code Genetic Algorithms, 2013 IEEE Congress on
Evolutionary Computation, pp. 3103-3110
Porreca, A. E., Leporati, A., Mauri, G., & Zandron, C. 2009. Introducing a space
complexity measure for P systems, pp. 1-11.
67
Quinlan, J.R., C4.5: “Programs for Machine Learning”, Morgan Kaufmann Pub.,
USA, 1993.
Rabunal, Juan R. and Dorado, Julian. 2006. Artificial Neural Networks in Real-Life
Applications, Ideal Group Publishing: Hershey, United States of America
Reeves, Colin R and Rowe, Jonathan E. 2003. Genetic Algorithms : Principles and
Perpectives - A Guide to GA Theory. Kluwer Academic Publishers: New York
Shaikh, Misba and Panchal, Mahesh. 2012. Solving Asymmetric Traveling Salesman
Problem Using Memetic Algorithm, International Journal of Emerging
Technology and Advanced Engineering 2(11): 634-639
Taiwo, Oloruntoyin Sefiu, Olukehinde Olutosin Mayowa and Kolapo Bukola Ruka.
2013. Application of Genetic Algorithm to Solve Traveling Salesman
Problem. International Journal of Advance Research (IJOAR)1(4): 27-46
Wei Dai, Wei Ji, A MapReduce Implementation of C4.5 Decision Tree Algorithm,
International Journal of Database Theory and Application Vol.7, No.1 (2014),
pp.49-60