Anda di halaman 1dari 83

i

OPTIMASI DECISION TREE PADA ALGORITMA C4.5

MENGGUNAKAN ALGORITMA GENETIKA

TESIS

Oleh

IRFAN SUDAHRI DAMANIK


127038075

PROGRAM MAGISTER S2 TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
i

OPTIMASI DECISION TREE PADA ALGORITMA C4.5

MENGGUNAKAN ALGORITMA GENETIKA

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah


Magister Teknik Informatika

IRFAN SUDAHRI DAMANIK


127038075

PROGRAM MAGISTER S2 TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
ii

PERSETUJUAN

Judul : OPTIMASI DECISION TREE PADA


ALGORITMA C4.5 MENGGUNAKAN
ALGORITMA GENETIKA
Kategori : Tesis
Nama : Irfan Sudahri Damanik
Nomor Induk Mahasiwa : 127038075
Program Studi : Magister S2 Teknik Informatika
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA
UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Rahmat W. Sembiring, M.Sc.IT.,P.hD Prof. Dr. Saib Suwilo, M.Sc

Diketahui/disetujui oleh
Program Studi Magister Teknik Informatika
Ketua,

Prof. Dr. Muhammad Zarlis


NIP. 195707011986011003
iii

PERNYATAAN

OPTIMASI DECISION TREE PADA ALGORITMA C4.5


MENGGUNAKAN ALGORITMA GENETIKA

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 01 Agustus 2016

Irfan Sudahri Damanik


NIM.127038075
iv

PERNYATAAN PERSETUJUAN PUBLIKASI


KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di
bawah ini:

Nama : Irfan Sudahri Damanik

NIM : 127038075

Program Studi : Magister S2 Teknik Informatika

Jenis Karya Ilmiah : Tesis

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada


Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty
Free Right) atas tesis saya yang berjudul:

OPTIMASI DECISION TREE PADA ALGORITMA C4.5


MENGGUNAKAN ALGORITMA GENETIKA

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.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, 01 Agustus 2016

Irfan Sudahri Damanik


NIM.127038075
v

Telah diuji pada

Tanggal: 01 Agustus 2016

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Saib Suwilo, M.Sc

Anggota : 1. Rahmat W. Sembiring, M.Sc.IT., Ph.D


2. Prof. Dr. Muhammad Zarlis, M.Sc
3. Prof. Dr. Opim Salim Sitompul, M.Sc
4. Prof. Dr. Tulus, M.Si
vi

RIWAYAT HIDUP

DATA PRIBADI

Nama lengkap berikut gelar : Irfan Sudahri Damanik, S.Kom.

Tempat dan Tanggal Lahir : Sarimatodang, 18 Agustus 1986

Alamat Rumah : Jl. Mangga No. 44 Kec. Sidamanik,


Kabupaten Simalungun

Telepon/HP : 082304323995

e-mail : irfansudahri@gmail.com

Instansi Tempat Bekerja : AMIK dan STIKOM Tunas Bangsa

Alamat Kantor : Jl. Jend. Sudirman Blok A,B No. 1,2,3


Telepon : 0622-22431

DATA PENDIDIKAN

SD : SD NEGERI 091441 Sidamanik Tamat : 1998


SLTP : SMP NEGERI 1 Sidamanik Tamat : 2001
SMA : SMA NEGERI 1 Sidamanik Tamat : 2004
Diploma 3 : AMIK TUNAS BANGSA Tamat : 2007
Strata-1 : STMIK TIME MEDAN Tamat : 2010
Strata-2 : Magister Teknik Informatika USU
vii

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

kalian baik berupa moril maupun materil hingga selesainya perkuliahan


peneliti, budi baik ini tidak bisa dibalas penulis, semoga Allah SWT menerima
sebagai amal shaleh.
8. Terima kasih juga kami sampaikan kepada Ketua Yayasan AMIK dan
STIKOM Tunas Bangsa Pematangsiantar, Bapak H.M. Ahmad
Ridwansyahputra, Ketua STIKOM Tunas Bangsa Bapak Dedy Hartama, S.T.,
M.Kom yang tidak pernah putus asa dalam memberikan serta Direktur AMIK
Tunas Bangsa Bapak Rahmat W. Sembiring, M.Sc.IT, P.hD yang telah
memberikan ijin kepada penulis untuk melanjutkan studi, serta teman-teman
Dosen, Staff di AMIK dan STIKOM Tunas Bangsa yang banyak mendukung
dan memberikan dorongan mulai dari kuliah awal sampai selesainya studi ini,
hal yang sama juga saya ucapkan kepada seluruh teman-teman mahasiswa di
Program Studi Magister Teknik Informatika FASILKOM-TI USU atas kerja
samanya selama ini.
9. Seluruh pegawai dan staf administrasi pada Program Studi Magister (S2)
Teknik Informatika pada Fasilkom TI USU Medan yang telah memberikan
bantuan dan pelayanan terbaik kepada peneliti selama mengikuti perkuliahan
hingga selesai.
10. Teristimewa Buat seseorang yang selalu memberikan motivasi, dukungan dan
doa yang tiada pernah putus buat penulis, Citra Dewi Situmorang. Termikasih
Untuk semuanya
11. Teman seperjuangan Edrian Hadinata, M.Kom, Edy budi Harjono S, M.Kom,
Indra Gunawan, M.Kom, Heru Satria Tambunan, M.Kom, Sumarno, M.Kom,
Herry Siagian, M.Kom, Eva Desiana, M.Kom, Eka Irawan, M.Kom dan
Semua pihak yang tidak dapat peneliti sebutkan namanya satu persatu

Dengan segala kekurangan dan kerendahan hati semoga kiranya Tuhan Yang
Maha Esa membalas segala bantuan dan kebaikan yang telah diberikan kepada
penulis.

Medan, Agustus 2016

Irfan Sudahri Damanik


NIM.127038075
ix

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.

Kata kunci : decision tree, optimasi algoritma c4.5, algoritma genetika.


x

OPTIMIZATION OF C4.5 DECISION TREE ALGORITHM


USING GENETIC ALGORITHM

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.

Keywords decision tree, optimation c4.5 algorithm, genetic algorithm.


xi

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

2.6.3 Kontribusi yang diberikan ............................................................... 20


BAB 3 METODOLOGI PENELITIAN ................................................................... 21
3.1 Pendahuluan .............................................................................................. 21
3.2 Tahapan Penelitian .................................................................................... 21
3.2.1 Penelitian Awal ............................................................................... 22
3.2.2 Preprocesing dan Pengumpulan Data .............................................. 22
3.2.3 Perbandingan Metode ...................................................................... 22
3.2.4 Perbaikan Metode dan Evaluasi ...................................................... 23
3.2.5 Diagram Kerja ................................................................................. 23
3.2.6 Rancangan Penelitian ...................................................................... 24
3.2.7 Rancangan Modifikasi C4.5 denga Algoritma Genetika ................. 25
3.2.8 Dataset Dan Ujicoba ........................................................................ 25
BAB 4 HASIL DAN PEMBAHASAN .................................................................... 27
4.1 Pendahuluan .............................................................................................. 27
4.2 Kinerja Algoritma C4.5 ............................................................................. 27
4.3 Preprosesing dan Diskritisasi Data ............................................................ 28
4.4 Perbandingan Metode ................................................................................ 29
4.4.1 Training pada algoritma C4.5 .......................................................... 30
4.5 Perbaikan Metode ...................................................................................... 38
4.5.1 Modifikasi algoritma C4.5 denga Algoritma Genetika ................... 38
4.5.2 Binarisasi Aturan Keputusan (rules) ............................................... 38
4.5.3 Pembetukan Fungsi Fitnes............................................................... 44
4.5.4 Seleksi Kromosom .......................................................................... 49
4.5.5 Persilangan dan Mutasi aturan Keputusan ...................................... 54
4.6 Pembuatan Algoritma ................................................................................ 62
4.7 Evaluasi ..................................................................................................... 63
BAB 5 KESIMPULAN DAN SARAN .................................................................... 64
5.1 Kesimpulan ................................................................................................ 64
5.2 Saran .......................................................................................................... 64
BAB 5 DAFTAR PUSTAKA ................................................................................... 65
xiii

DAFTAR GAMBAR

Halaman

Gambar 2.1 Siklus Algoritma Genetika .................................................................... 7


Gambar 2.2 Metode Stochastic Universal Sampling ................................................ 12
Gambar 3.1 Metodologi Penelitian ........................................................................... 23
Gambar 3.2 Rancangan Penelitian ............................................................................ 24
Gambar 3.3 Rancangan Algoritma Genetika membentuk aturan Keputusan ........... 25
Gambar 4.1 Pohon Keputusan Node 1 Light ............................................................ 34
Gambar 4.2 Pohon Keputusan Node 1.1 CO2 .......................................................... 36
Gambar 4.3 Pohon Keputusan Ocupancy Detection ................................................. 36
Gambar 4.4 Pembuatan Kromosom .......................................................................... 40
Gambar 4.5 Konversi Aturan pohon Keputusan dalam pembentukan kromosom ... 42
Gambar 4.6 Atribut yang terkena mutasi .................................................................. 57
xiv

DAFTAR TABEL

Halaman

Tabel 2.1 Teknik Permutasi Encoding ......................................................................... 10

Tabel 2.2 One Point crossover ..................................................................................... 13

Tabel 2.3 Two Point crossover .................................................................................... 14

Tabel 2.4 Uniform Persilangan ................................................................................... 14

Tabel 2.5 Single Arithmetic Persilangan ..................................................................... 15

Tabel 2.6 Simple Arithmetic Persilangan .................................................................... 15

Tabel 2.7 Whole Arithmetic Persilangan ..................................................................... 16

Tabel 2.8 Contoh Mutasi pada pengkodean Biner ....................................................... 17

Tabel 2.9 Contoh Mutasi pada pengkodean Permutasi ................................................ 17

Tabel 2.10 Perbedaan Penelitian .................................................................................. 19

Tabel 3.1 Dataset UCI Learning Machine Accurate Occupancy detection ................. 26

Tabel 4.1 Segmentasi data kontinu .............................................................................. 29

Tabel 4.2 Sample Dataset Occupancy Detection Matrik 8x15.................................... 30

Tabel 4.3 Hasil Perhitungan Entropy keleluruha dataset ............................................ 31

Tabel 4.4 Analisis Perhitungan Entropi Dan Gain Node 1 .......................................... 33

Tabel 4.5 Sampel data filter Node 1.1 ......................................................................... 34

Tabel 4.6 Hasil perhitungan Entropi data filter Node 1.1 ............................................ 35

Tabel 4.7 Analisis Perhitungan Entropi Dan Gain Node 1.1. ...................................... 35

Tabel 4.8 Konversi Segmen Ke Biner ......................................................................... 41

Tabel 4.9 Konversi data Testing .................................................................................. 43

Tabel 4.10 Konstanta Optimasi Algoritma Genetika ................................................... 44

Tabel 4.11 Nilai Benar-Benar ...................................................................................... 46

Tabel 4.12 Nilai Benar Salah ....................................................................................... 47


xv

Tabel 4.13 Nilai Salah Benar ....................................................................................... 47

Tabel 4.14 Nilai Salah Salah ........................................................................................ 47

Tabel 4.15 Nilai Perhitungan Maksimum Fitnes ......................................................... 48

Tabel 4.16 Akurasi Rules pada Data Training ............................................................. 48

Tabel 4.17 Kromosom dengan Populasi baru .............................................................. 52

Tabel 4.18 Rules Hasil Proses Seleksi ......................................................................... 53

Tabel 4.19 Kromosom ................................................................................................. 54

Tabel 4.20 Perubahan Kromosom Setelah Persilangan .............................................. 56

Tabel 4.21 Nilai Random Mutasi ................................................................................. 58

Tabel 4.22 Hasil Mutasi ............................................................................................... 59

Tabel 4.23 Hasil Konversi Kromosom ke Rules ......................................................... 61

Tabel 4.24 Maksimum fitnes Generasi Pertama .......................................................... 61

Tabel 4.25 Hasil Maksimum Fitness Generasi 20 ....................................................... 62

Tabel 4.26 Rules Terakhir Hasil Mutasi ...................................................................... 63


BAB 1

PENDAHULUAN

1.1 Latar Belakang

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.

Galathiya, et al. (2012) melakukan penelitian dengan melakukan


pengembangan pada algoritma pohon keputusan C4.5 dan melakukan
perbandingan terhadap algoritma Naive Bayes, Sequential Minimal Optimization
2

(SMO), dan multilayer perceptron dengan menggunakan sejumlah data sets


dan pengujian akurasi berdasarkan kepada Correctly Classified Instances dan
Relative Absolute Error. Hasilnya, algoritma pohon keputusan C4.5 yang
dikembangkan memiliki tingkat akurasi sekitar 1-3% lebih baik pada 7 data sets dari
total 9 data sets.

Othman & Yau (2007) melakukan penelitian berjudul “Comparison of


Different Classification Techniques using WEKA for Breast Cancer”. Metode
pengujian yang digunakan berupa percentage split sebesar 75%, artinya 75% data
digunakan sebagai data training dan 25% sisanya sebagai data testing. Pengujian
akurasi berdasarkan kepada Correctly Classified Instances, Incorrectly Classified
Instances,danTime Taken. Hasilnya, algoritma Naive Bayes memiliki tingkat akurasi
tertinggi dan waktu pembangunan model tercepat dibandingkan dengan Radial Basis
Function, Decision Tree and Pruning, Single Conjunctive Rules Learner, dan
Nearest Neighbors Algorithm.

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. Untuk mengatasi kekurangan dari algoritma tersebut, penulis
mencoba untuk mengurangi penggunaan memori dengan mencari kasus yang
memiliki probabilitas tertinggi dalam membentuk pohon keputusan sehingga lebih
efisien namun tidak lepas pada akurasi yang dianalisis dari hasil algoritma itu sendiri

John Holland, dalam bukunya yang berjudul “Adaption in Natural and


Artificial Systems”, mengemukakan komputasi berbasis evolusi. Tujuannya membuat
komputer dapat melakukan apa yang terdapat di alam. Sebagai seorang pakar
komputer, Holland memfokuskan diri memanipulasi string dalam bentuk binary bit.
Holland mengemukakan algoritma tersebut sebagai suatu konsep abstrak dari evolusi
alam. Tahapan algoritma genetika yang dikemukakan oleh Holland dapat
direpresentasikan sebagai suatu tahapan berurutan sebagai suatu bentuk populasi dari
kromosom buatan menjadi sebuah populasi baru (Negnevitsky, 2005).

Dalam algoritma genetika ada sejumlah operasi yang mendukung keberhasilan


algoritma genetika seperti pembangkitan populasi awal, perhitungan fitness tiap
3

kromosom, seleksi kromosom, persilangan, dan mutasi kromosom. Proses


persilangan merupakan proses pembentukan kromosom anak (offspring). Persilangan
bertujuan menambah keanekaragaman string dalam satu populasi dengan penyilangan
antar string yang diperoleh dari reproduksi sebelumnya. Terdapat beberapa jenis
persilangan di antaranya adalah persilangan 1 titik (single point crossover), 2 titik
(two point crossover), dan arithmetic persilangan (Konar, 2005). Metode arithmetic
persilangan dapat dibagi menjadi 3 jenis, yaitu single arithmetic persilangan, simple
arithmetic persilangan, dan whole arithmetic persilangan (Picek et al., 2013).
Perbedaan metode persilangan ini dalam menghasilkan kromosom terbaik akan
mempengaruhi kinerja algoritma genetika. Algoritma genetika akan berhenti jika
sejumlah generasi maksimum tercapai atau level fitness yang ditentukan telah
terpenuhi
Berdasarkan latar belakang tersebut di atas, penulis mencoba melakukan
penelitian untuk melakukan optimasi dari pohon keputusan C4.5 dengan
menggunakan Algoritma Genetik (AG). Adapun sumber data sets adalah 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. Atas dasar inilah, penulis tertarik untuk
mengambil judul: OPTIMASI DECISION TREE PADA ALGORITMA C4.5
DENGAN MENGGUNAKAN ALGORITMA GENETIKA.

1.2. Perumusan Masalah

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.3. Batasan Masalah

Rumusan masalah di atas, dibatasi dengan beberapa hal sebagai berikut:

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.

1.4. Tujuan Penelitian

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.

1.5. Manfaat Penelitian

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

2.1 Decision Tree


Decision tree merupakan metode klasifikasi yang paling popular digunakan, selain
karena pembangunannya relatif cepat, hasil dari model yang dibangun mudah untuk
dipahami.
Pada decision tree terdapat 3 jenis node, yaitu :
a. Root Node, merupakan node paling atas, pada node ini tidak ada input dan
bisa tidak mempunyai output atau mempunyai output atau mempunyai output
lebih dari satu.
b. Internal Node, merupakan node percabangan, pada node ini hanya terdapat
satu input dan mempunyai output minimal dua.
c. Leaf node atau terminal node, merupakan node akhir, pada node ini hanya
terdapat satu input dan tidak mempunyai output.

2.2. Algoritma C 4.5


Algoritma C 4.5 adalah salah satu metode untuk membuat decision tree berdasarkan
training data yang telah disediakan. Algoritma C 4.5 merupakan pengembangan dari
ID3. Beberapa pengembangan yang dilakukan pada C 4.5 adalah sebagai antara lain
bisa mengatasi missing value, bisa mengatasi continue data, dan pruning. Dengan
keunggulan ini maka penulis menggunakan algoritma ini dalam membuat pohon
keputusan.

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

kategori tertentu. Pohon keputusan juga berguna untuk mengeksplorasi data,


menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan
sebuah variabel target.

Karena pohon keputusan memadukan antara eksplorasi data dan pemodelan,


pohon keputusan sangat bagus sebagai langkah awal dalam proses pemodelan bahkan
ketika dijadikan sebagai model akhir dari beberapa teknik lain. Sebuah pohon
keputusan adalah sebuah struktur yang dapat digunakan untuk membagi kumpulan
data yang besar menjadi himpunan-himpunan record yang lebih kecil dengan
menerapkan serangkaian aturan keputusan. Dengan masing-masing rangkaian
pembagian, anggota himpunan hasil menjadi mirip satu dengan yang lain.

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 tujuan biasanya dikelompokkan dengan pasti dan model pohon


keputusan lebih mengarah pada perhitungan probability dari tiap-tiap record terhadap
kategori-kategori tersebut atau untuk mengklasifikasi record dengan
mengelompokkannya dalam satu kelas. Pohon keputusan juga dapat digunakan untuk
mengestimasi nilai dari variabel continue meskipun ada beberapa teknik yang lebih
sesuai untuk kasus ini.

2.3 Algoritma Genetika


Algoritma genetika adalah suatu algoritma stokastik yang memodelkan proses evolusi
dari spesies biologi melalui seleksi alam (Konar, 2005). Secara umum, populasi
ini dibangkitkan secara random dan solusi yang adalah dibangkitkan sesudah tahapan
konsekutif dari proses persilangan dan mutasi. Setiap individu dari populasi memiliki
nilai yang diasosiasikan ke dalam suatu nilai fitness, di dalam kaitannya untuk
menyelesaikan suatu permasalahan (Rabunal, 2006).
7

Algoritma genetika yang dikemukakan oleh John Holland menggunakan


konsep kromosom yang digunakan untuk menyatakan alternatif solusi dari suatu
permasalahan. Tiap kromosom terdiri dari deretan bit string yang berupa bit 0 atau 1
yang disebut sebagai gen. Setiap kromosom dapat mengalami pertukaran materi
genetis antara kromosom. Sedangkan proses mutasi akan mengganti secara acak nilai
gen di beberapa lokasi pada kromosom. Selain itu dikenal pula istilah invertion yang
akan membalikkan urutan beberapa gen yang berurutan di dalam kromosom. (Mitchel,
1999).

Adapun proses dari algroritma genetika secara umum dapat dilihat


pada Gambar 2.1.

Gambar 2.1. Siklus Algoritma Genetika (Konar, 2005)

Fase awal dari algoritma genetika adalah inisialisasi populasi yang


menyatakan alternatif solusi. Elemen dari populasi adalah dideskripsikan dalam
bentuk deretan bit string yang berisi bit 0 atau 1 yang disebut sebagai kromosom.
Kemudian langkah selanjutnya adalah menghitung nilai fitness berdasarkan gen yang
ada pada kromosom dalam tiap populasi. Berdasarkan nilai fitness dari tiap
koromosom, maka tahapan selanjutnya adalah tahapan seleksi yang berfungsi untuk
8

memilih kromosom yang terpilih sebagai parent yang akan menjalani


persilangan.

Proses persilangan yang berjalan dengan beberapa variasi operator persilangan


berperan penting dalam membentuk kromosom anak (offspring) yang juga berperan
penting untuk menambah keanekaragaman string di dalam suatu populasi.
Kromosom selanjutnya akan masuk ke dalam tahap mutasi yang berfungsi untuk
memastikan bahwa keanekaragaman (diversity) dari kromosom dalam suatu populasi
tetap terjaga, untuk menghindari terjadinya konvergensi prematur yang berujung
pada terjadinya solusi yang local optima.

Goldberg (1989) mengemukakan bahwa algoritma genetik mempunyai


karakteristik-karakteristik yang perlu diketahui sehingga dapat dibedakan dari
prosedur pencarian atau optimasi yang lain, yaitu:

1. Algoritma genetika dengan pengkodean dari himpunan solusi permasalahan


berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri.
2. Algoritma genetika mencari solusi dari sejumlah individu-individu yang
merupakan solusi permasalahan, bukan hanya dari satu individu.
3. Algoritma genetika berpatokan pada objektif (fitness), sebagai cara untuk
mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari
suatu fungsi.
4. Algoritma genetik menggunakan aturan-aturan transisi peluang, bukan
aturan- aturan deterministik.

Variabel dan parameter yang digunakan pada algoritma genetik adalah: (Kuhn et
al., 2013) :

1. Inisialisasi populasi yang digunakan. Pada bagian ini ditentukan jumlah


individu (kromosom) dan gen yang dilibatkan pada setiap generasi.
2. Evaluasi nilai fitness dari setiap individu.
3. Seleksi kromosom yang akan dijadikan kromosom parent untuk dilibatkan di
dalam proses persilangan berdasarkan nilai fitness.
4. Penentuan nilai PC (Probability Persilangan) yang menentukan
peluang terjadinya persilangan pada setiap individu.
9

5. Mutasi rate yang menentukan sejumlah gen yang dillibatkan dalam proses
mutasi.

Secara umum struktur dari suatu algoritma genetika dapat didefenisikan


dengan langkah-langkah sebagai berikut: (Negnevitsky, 2005)

1. Membangkitkan populasi awal


Populasi awal dibangkitkan secara acak sehingga didapatkan solusi awal.
Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan
solusi yang diinginkan.
2. Menghitung Fitness dari Tiap Generasi.
Pada tiap generasi, kromosom akan melalui proses evaluasi dengan
menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu
kromosom menggambarkan kualitas kromosom dalam populasi tersebut.
Nilai fitness ditentukan oleh nilai fungsi objektif. Fungsi objektif tersebut
menunjukkan hasil penjumlahan jarak pada tiap kromosom. Semakin tinggi
nilai fitness akan semakin besar kemungkinan kromosom tersebut terpilih ke
generasi berikutnya. Jadi nilai fungsi objektif berbanding terbalik dengan
nilai fitness, semakin kecil nilai fungsi objektif semakin besar nilai fitness-
nya.
3. Evaluasi Solusi.
Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness
setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti.
Bila kriteria berhenti belum terpenuhi maka akan dilanjutkan dengan proses
perkawinan. Beberapa kriteria berhenti sering digunakan antara lain: berhenti
pada generasi tertentu, berhenti setelah beberapa generasi berturut-turut
didapatkan nilai fitness tertinggi tidak berubah, berhenti pada n generasi yang
tidak didapatkan nilai fitness yang lebih tinggi.
4. Proses Persilangan
Menentukan nilai PC (Probability Persilangan) dan kemudian menentukan
pasangan kromosom yang akan terlibat di dalam proses persilangan
berdasarkan nilai PC yang dibangkitkan tersebut dengan menggunakan salah
satu metode persilangan.
10

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.

2.4. Teknik Encoding


Proses encoding adalah salah satu proses yang sulit di dalam algoritma genetika. Hal
ini disebabkan karena proses encoding untuk setiap permasalahan berbeda karena
tidak semua teknik encoding cocok untuk tiap permasalahan. Proses encoding
menghasilkan string yang kemudian disebut kromosom. String terdiri dari sekumpulan
bit yang dikenal sebagai gen. Jadi satu kromosom terdiri dari sejumlah gen
(Coley,1999).

Ada bermacam-macam teknik encoding yang dapat dilakukan dalam algoritma


genetika. Beberapa teknik encoding itu antara lain adalah binary encoding,
permutasi encoding, value encoding, dan tree encoding . Pada Permutasi Encoding,
kromosom-kromosom adalah kumpulan angka yang mewakili posisi di dalam sebuah
rangkaian. Dalam permutatiom encoding, setiap kromosom adalah sebuah string dari
nomor-nomor seperti diilustrasikan pada tabel 2.1

Tabel 2.1. Teknik Permutasi Encoding

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)

2.5. Operator Genetik


Algoritma genetik merupakan proses pencarian yang heuristik dan acak sehingga
penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan
algoritma genetik dalam menemukan solusi optimum suatu masalah yang diberikan.
Hal yang harus diperhatikan adalah menghindari terjadinya konvergensi prematur,
yaitu mencapai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang
11

diperoleh adalah hasil local optima. Operator pada algoritma genetika terdiri atas
sejumlah parameter kontrol yang terdiri-dari: (Taiwo et al., 2013)

1. Ukuran populasi: mendefinisikan berapa banyak kromosom dan berapa


banyak gen di dalam satu kromosom yang terlibat selama proses pencarian.
2. Probabilitas persilangan: menspesifikasikan probabilitas persilangan di antara
dua kromosom.
3. Probabilitas mutasi: menspesifikasikan probabilitas dari dilakukannya mutasi
bit-wise.
4. Kriteria terminasi: menspesifikasikan kondisi berakhirnya pencarian
solusi pada algoritma genetika.

2.5.1. Proses Seleksi


Proses seleksi berhubungan erat dengan nilai fitness yang diperoleh oleh setiap
individu. (Reeves, 2003). Individu yang dibentuk yang memiliki fungsi objektif yang
paling kecil akan memiliki nilai probabilitas yang tinggi untuk kemungkinan terpilih.

Dalam proses seleksi parent, ada banyak metode yang dapat diterapkan. Dua
metode umum yang sering digunakan yaitu (Chipperfield. et.al, 2005):

1. Seleksi Roda Roulette (Roulette Wheel Selection)


Roulette wheel selection adalah metode seleksi yang paling sederhana. Pada
metode ini semua kromosom (individu) di dalam suatu populasi adalah
ditempatkan pada roulette wheel sesuai dengan nilai fitness mereka. Besarnya
ukuran tiap segmen di dalam roulette adalah sebanding dengan nilai fitness
dari tiap individu. Semakin besar nilai fitness maka semakin besar pula
ukuran segmen di dalam roulette wheel, kemudian roulette wheel diputar.
Individu yang sesuai dengan segmen pada roulette wheel ketika berhenti
yang akan dipilih. (Kumar, 2012).

2. Stochastic Universal Sampling


Karakteristik metode ini adalah memiliki nilai bias nol dan penyebaran yang
minimum. Individu-individu dipetakan dalam suatu segmen garis secara
berurutan sedemikian hingga tiap-tiap segmen individu memiliki ukuran
12

yang sama dengan ukuran fitness-nya. Kemudian diberikan sejumlah pointer


sebanyak individu yang ingin diseleksi pada garis tersebut (Pencheva et.al,
2009). Misal N adalah jumlah individu yang akan diseleksi, maka jarak antar
pointer adalah 1/N dan posisi pointer pertama diberikan secara acak pada
range [1 , 1/N]. Metode stochastic universal sampling dapat dilihat pada
Gambar 2.2.

Gambar 2.2 Metode Stochastic Universal Sampling (Pencheva, 2009)

2.5.2. Pindah Silang (Persilangan)


Operator persilangan memainkan peran penting di dalam menghasilkan generasi baru.
Operator persilangan adalah operator genetika yang mengombinasikan dua kromosom
parents untuk menghasilkan kromosom offspring. Tujuan utama dari adanya
persilangan adalah menghasilkan kromosom baru yang lebih baik daripada kedua
parent karena mengambil karakteristik terbaik dari tiap parent. Proses persilangan
yang terjadi selama proses evolusi sesuai dengan nilai persilangan probability yang
didefinisikan oleh pengguna (Abuiziah, 2013).

Kromosom yang terpilih untuk mengalami persilangan ditentukan melalui nilai


probability persilangan (Pc). Suatu kromosom terpilih untuk mengalami persilangan
jika nilai random kromosom (Rc) < Pc. Besarnya nilai Pc adalah diantara 0.4 sampai
dengan 0.9 (Coley, 1999). Persilangan bertujuan menambah keanekaragaman string
dalam satu populasi dengan penyilangan antara gen-gen dari induk (Robandi, 2006).
Beberapa jenis persilangan sebagai berikut:
13

1) Persilangan Pengkodean Biner

Ada beberapa metode persilangan dengan pengkodean biner, yaitu sebagai


berikut:

a. One Point crossover


Pada one point crossover, sebuah bilangan acak mendefinisikan segmen yang
membagi kromosom ke dalam dua bagian. Kromosom offspring dihasilkan
melalui kombinasi kromosom yang dihasilkan pada segmen point
berdasarkan bilangan acak tersebut. Bagian pertama adalah sebelum segmen
point mengambil kromosom parent yang pertama dan bagian kedua setelah
bilangan random adalah mengambil kromosom parent yang kedua. (Andrade,
2008). Illustasi dari proses one point crossover dapat dilihat pada Tabel 2.2.

Tabel 2.2. One Point crossover

Kromosom Parent 1 11001011


Kromosom Parent 2 11011111
Offspring 11001111

b. Two Point crossover


Two point crossover hampir sama dengan one point crossover. Perbedaannya
adalah bahwa pada two point persilangan, cut point yang digunakan
adalah sebanyak 2, dan dibangkitkan secara acak (Mendes, 2013). Illustrasi
dari proes two point crossover dapat dilihat pada Tabel 2.3.

Tabel 2.3. Two Point crossover

Kromosom Parent 1 11001011


Kromosom Parent 2 11011111
Offspring 11011111

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.

Tabel 2.4. Uniform Persilangan

Kromosom Parent 1 11001011


Kromosom Parent 2 11011111
Mask 01010101
Offspring 11011111

3) Arithmetic Persilangan

Kromosom offspring diperoleh dengan melakukan operasi aritmatika terhadap parent


(induk). Terdapat 3 jenis arithmetic persilangan, yaitu sebagai berikut. (Picek et
al.,2013).

1. Single Arithmetic Persilangan


Pada single arithmetic persilangan, pindah silang terjadi pada salah satu gen
yang posisinya ditentukan dengan cara membangkitkan suatu bilangan
acak. Pada posisi gen yang ditentukan, nilai gen akan ditentukan melalui
operasi aritmatika terhadap nilai gen dari parent menurut persamaan 2.2
(Eiben, 2014). Adapun operasi aritmatika pada single arithmetic persilangan
dapat dilihat pada Persamaan 2.1 dan Tabel 2.5.

Child= x1 , ..., xk ,   yk  (1   )  xk , ..., xn ...............(Persamaan 2.1)

Ket:

α = Variabel pengali yang nilainya berkisar dari 0-1

Tabel 2.5. Single Arithmetic Persilangan

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

2. Simple Arithmetic Persilangan

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.

Child= x , ..., x ,   y  (1   )  x , ...,   y  (1   )  x ......(Persamaan 2.2)


1 k k 1 k 1 n n

Tabel 2.6. Simple Arithmetic Persilangan

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

3. Whole Arithmetic Persilangan

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

Child= a.x  (1   )  y ......................................................................................(2.3)

α = Variabel pengali yang nilainya berkisar dari 0-1

Tabel 2.7. Whole Arithmetic Persilangan

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).

Operator mutasi merupakan operasi yang menyangkut satu kromosom tertentu.


Beberapa cara operasi mutasi diterapkan dalam algoritma genetik menurut jenis
pengkodean terhadap phenotype, antara lain:

1. Mutasi dalam Pengkodean Biner


Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana.
Proses yang dilakukan adalah menginversi nilai pada posisi tertentu yang
terpilih secara acak (atau menggunakan skema tertentu) pada kromosom, yang
disebut inverse.
17

Tabel 2.8. Contoh Mutasi pada Pengkodean Biner

Kromosom sebelum mutasi 10010111


Kromosom setelah mutasi 10010011

2. Mutasi dalam Pengkodean Permutasi


Proses mutasi yang dilakukan dalam pengkodean biner dengan mengubah
langsung - pada kromosom tidak dapat dilakukan pada pengkodean permutasi
karena konsistensi urutan permutasi haru diperhatikan. Salah satu cara yang
dapat dilakukan adalah dengan memilih dua posisi (locus) dari kromosom
dan kemudian nilainya saling dipertukarkan.

Tabel 2.9. Contoh Mutasi pada Pengkodean Permutasi

Kromosom sebelum mutasi 10010111


Kromosom setelah mutasi 10010011

3. Mutasi dalam Pengkodean Nilai


Mutasi pada pengkodean nilai hampir sama dengan yang dilakukan pada
pengkodean biner, tetapi yang dilakukan bukan menginversi nilai .
Penerapannya bergantung pada jenis nilai yang digunakan. Sebagai contoh
untuk nilai riil, proses mutasi dapat dilakukan seperti yang dilakukan pada
pengkodean permutasi, dengan saling mempertukarkan nilai dua gen pada
kromosom.

4. Mutasi dalam Pengkodean Pohon


Mutasi dalam pengkodean pohon dapat dilakukan antara lain dengan cara
mengubah operator (+, -, *, /) atau nilai yang terkandung pada suatu verteks
pohon yang dipilih. Atau, dapat juga dilakukan dengan memilih dua verteks
dari pohon dan saling mempertukarkan operator atau nilainya.
18

2.6. Parameter Genetik


Pengoperasian algoritma genetik dibutuhkan 4 parameter (Juniawati, 2003)yaitu:

1. Probabilitas Persilangan (Persilangan Probability)


Menunjukkan kemungkinan persilangan terjadi antara 2 kromosom. Jika tidak
terjadi persilangan maka keturunannya akan sama persis dengan
kromosom orangtua, tetapi tidak berarti generasi yang baru akan sama persis
dengan generasi yang lama. Jika probabilitas persilangan 100% maka semua
keturunannya dihasilkan dari persilangan. Persilangan dilakukan dengan
harapan bahwa kromosom yang baru akan lebih baik.
2. Probabilitas Mutasi (Mutasi Probability)
Menunjukkan kemungkinan mutasi terjadi pada gen-gen yang menyusun
sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang dihasilkan
setelah persilangan tidak berubah. Jika terjadi mutasi bagian kromosom akan
berubah. Jika probabilitas 100%, semua kromosom dimutasi. Jika
probabilitasnya 0%, tidak ada yang mengalami mutasi.
3. Jumlah Individu
Menunjukkan jumlah kromosom yang terdapat dalam populasi (dalam satu
generasi). Jika hanya sedikit kromosom dalam populasi maka algoritma
genetika akan mempunyai sedikit variasi kemungkinan untuk melakukan
persilangan antara orang tua karena hanya sebagian kecil dari search space
yang dipakai. Sebaliknya jika terlalu banyak maka algoritma genetika akan
berjalan lambat.
4. Jumlah Populasi
Menetukan jumlah populasi atau banyaknya generasi yang dihasilkan,
digunakan sebagai batas akhir proses seleksi, persilangan, dan mutasi.

2.7. Penelitian-Penelitian Terkait

2.7.1. Penelitian Terdahulu

Agrawal et al.,(2013) meningkatkan kinerja algoritma yang ada dalam hal


penghematan waktu dengan menggunakan aturan L'dan serta meningkatkan efisiensi
dari pohon keputusan, tetapi juga lebih baik dalam hal Informasi yang dihasilkan.
19

Laksmi, (2013) dalam penelitian nya melakukan pembahasan dengan


membandingkan kinerja ID3, C4.5 dan CART algoritma. Sebuah studi yang dilakukan
dengan data kualitatif siswa untuk mengetahui pengaruh data kualitatif dalam
keputusan kinerja menggunakan decision tree dari data siswa. Hasil eksperimen
menunjukkan bahwa algoritma CART yang memiliki akurasi yang terbaik dalam
klasifikasi saat dibandingkan dengan ID3 dan C4.5. Eksperimen ini signifikansi juga
menyimpulkan bahwa kinerja siswa dalam ujian dan kegiatan lain yang berpengaruh
oleh faktor kualitatif. Di masa depan, yang paling mempengaruhi faktor kualitatif
kinerja siswa dapat diidentifikasi menggunakan algoritma genetika.

2.7.2. Perbedaan Penelitian

Perbedaan penelitian yang pernah dilakukan dengan penelitian yang dilakukan oleh
peneliti dapat dilihat pada Tabel 2.10.

Tabel 2.10. Perbedaan Penelitian

No Nama Peneliti Persamaan Perbedaan


1 Lakshmi. M., Dalam pembahasan meliputi Melakukan riset perbandingan algoritma
A.Martin, Performance Algoritma C4.5 c4.5 dengan kinerja ID3, C4.5 dan CART
R.Mumtaj dalam mengoalah data kualitatif algoritma. Pembahasan Performance dan
Begum, akurasi hasil analisis beberapa algoritma
V.Prasanna
menggunanakan data kualitatif siswa.
Venkatesan
(2013)

2 Gaurav L. Sama-sama melakukan Melakukan pengembangan algoritma


Agrawal, membahasan untuk menemukan decision tree serta meningkatkan kinerja
Hitesh Gupta optimasi dalam algoritma C4.5 algoritma C4.5 serta dalam hal penghematan
(2013) waktu dengan menggunakan aturan L'dan.
serta menggabungkan dengan
algoritma yang lain

3 Wei Dai , Melakukan pembahasan mengenai Dalam pembahasan peneliti mengusulkan


Wei Ji algoritma decision tree dengan implementasi MapReduce dalam algoritma
(2014) dalam Algoritma C4.5. C4.5. dengan landasan bahwa dengan
perkembangan komputasi awan yang
semakin besar dan data besar, algoritma
sekuensial pohon keputusan tidak bisa masuk
lagi. Pembahasan dilakukan lebih kepada
data yang berukuran sangat besar mengingat
performance algoritma yang ada tidak akan
optimal.
20

2.7.3. Kontribusi yang Diberikan

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.

3.2 Tahapan Penelitian

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

3.2.1 Penelitian Awal

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. Melakukan studi tentang masalah yang terjadi seputar algoritma C4.5


kelebihan dan kekurangan algoritma tersebut dan perkembangan teknik dalam
proses efisiensi serta optimasi algoritma menggunakan algoritma genetika.
2. Melakukan proses identifikasi dan evaluasi tahap demi tahap rumusan yang
terdapat pada algoritma C4.5 dan proses optimasi dengan algoritma genetika.
3. Melakukan Evaluasi dan pengidentifikasian langkah-langkah penting dalam
setiap proses optimasi dalam algoritma C4.5.

3.2.2 Preprocessing dan Pengumpulan Data

Tahapan dalam preprosesing data dilakukan beberapa proses, 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.

3.2.3 Perbandingan Metode

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

3.2.4 Perbaikan Metode dan Evaluasi

Untuk tahapan perbaikan metode dan evaluasi, proses yang dilakukan meliputi
beberapa hal, yaitu :

1. Merancang dan mengembangkan gabungan(hybrid) algoritma dalam


membangun penggunaan algoritma C4.5 dengan ruang pencarian yang lebih
optimal.
2. Mengevaluasi tingkat akurasi yang dihasilkan dari gabungan algoritma yang
ada dengan pengujian dan perbandingan.

3.2.5 Diagram Kerja

Berdasarkan tahapan penelitian yang telah dijelaskan sebelumnya, pembuatan diagram


kerja dibuat untuk memudahkan pemahaman-pemahaman setiap langkah kerja yang
harus dilakukan.

Gambar 3.1 Metodologi Penelitian


24

3.2.6 Rancangan penelitian

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.

Gambar 3.2 Rancangan Penelitian


25

3.2.7 Rancangan Modifikasi C4.5 dengan Algoritma Genetika

Untuk rancangan modifikasi C4.5 dengan algoritma genetika diharapkan dapat


meningkatkan akurasi dalam pembuatan aturan keputusan adalah sebagai berikut:

Gambar 3.3 Rancangan Algoritma Genetika dalam Pembentukan Aturan Keputusan

3.2.8 Dataset dan Uji coba

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.

Tabel 3.1 Dataset UCI Learning Machine Accurate occupancy detection.

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

HASIL DAN PEMBAHASAN

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.

4.2 Kinerja Algoritma C4.5

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.

Perhitungan selanjutnya adalah algoritma C4.5 menggunakan pembobotan yang


diperoleh dari perhitungan entropi yaitu logaritma 2 terhadap nilai probabilitas dari
total kasus dengan jumlah entiti setiap atributnya.

Langkah selanjutnya adalah melakukan analisis setiap atribut, menghitung


banyaknya kejadian nilai, perhitungan entropi dan gain. Proses perhitungan gain
digunakan untuk menentukan node dari pohon keputusan. Nilai gain terbesar akan
menjadi node dan segmentasi atau kelas-kelasnya akan menjadi akar(root) sedangkan
yang memiliki nilai entiti 0 akan menjadi daunnya.

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

Beberapa algoritma masih mengutamakan algoritma C4.5 dalam menghasilkan


klasifikasi di beberapa jurnal proses C4.5 masih lebih sensitif dibandingkan klasifikasi
bayes dan masih lebih mudah di pahami prosesnya dibandingkan dengan Neural
Network dan lebih baik untuk data bertipe string. Namun demikian algoritma C4.5
termasuk algoritma yang menghasilkan pohon keputusan atau decision tree sebagai
proses akhirnya dan setiap algoritma tersebut memiliki kekurangan dalam ruang
pencarian rules base dan perlu dioptimalkan lagi.

Untuk data yang numerik namun kontinu proses dalam algoritma C4.5
mengharuskan peneliti melakukan proses diskritisasi data sehingga data tersebut lebih
mudah dioperasionalkan.

4.3 Preprosesing dan Diskritisasi Data

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}.

Proses diskritisasi dan segmentasi data atribut temperatur berkisar antara 19


hingga 23.18 dan memiliki selisih sebesar 4.18 Celcius, oleh karena itu selisih dibagi
dua sehingga memiliki batas temp>21.09; temp<=21.09. Begitu juga dengan Relative
Humidity dilakukan proses yang sama. Untuk Light data dibagi 4 quartil menjadi
Light<200; 200<=Light<618.53; 618.53<=Light<927.8; Light>=927.8, sedangkan
CO2 dibagi 5. Seperti tertera pada tabel 4.1 dibawah ini.
29

Tabel 4.1 Segmentasi data kontinu

No Label Content Seleksi Segmentasi

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

7 Occupancy {1=yes,0=no} Yes Keputusan akhir

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.

4.4 Perbandingan Metode

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

4.4.1 Training pada Algoritma C4.5

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.

Dataset Occupancy Detection dari UCI Learning Machine memiliki matrik


sebanyak 8 x 8143 baris dan kolom. Sample dataset ditunjukkan pada tabel 4.2
dibawah ini.

Tabel 4.2 Sampel dataset Occupancy Detection berukuran matrik 8 x 15

Number Temper Humidity Occupan


Date Humidity Light CO2
of Data ature Ratio cy
04/02/2015
1 17:51 23.18 27.272 426 721.25 0.004793 1
04/02/2015
2 17:51 23.15 27.2675 429.5 714 0.004783 1
04/02/2015
3 17:53 23.15 27.245 426 713.5 0.004779 1
04/02/2015
4 17:54 23.15 27.2 426 708.25 0.004772 1
04/02/2015
5 17:55 23.1 27.2 426 704.5 0.004757 1
04/02/2015
6 17:55 23.1 27.2 419 701 0.004757 1
04/02/2015 701.66
7 17:57 23.1 27.2 419 67 0.004757 1
04/02/2015
8 17:57 23.1 27.2 419 699 0.004757 1
04/02/2015 689.33
9 17:58 23.1 27.2 419 33 0.004757 1
04/02/2015
10 18:00 23.075 27.175 419 688 0.004745 1
04/02/2015
11 18:01 23.075 27.15 419 690.25 0.004741 1
04/02/2015
12 18:02 23.1 27.1 419 691 0.004739 1
04/02/2015
13 18:03 23.1 27.166667 419 683.5 0.004751 1
04/02/2015
14 18:04 23.05 27.15 419 687.5 0.004734 1
04/02/2015
15 18:04 23 27.125 419 686 0.004715 1
31

Proses selanjutnya adalah menentukan atribut yang menjadi keputusan akhir,


dalam penelitian ini atribut occupancy yang berisikan 1=yes atau no=0 yang menjadi
keputusan akhir dalam proses training. Setelah atribut keputusan dipilih proses
selanjutnya dalam algoritma C4.5 adalah proses preprosesing data seperti yang telah
dibahas sebelumnya. Kemudian data tersebut dianalisis, pada data yang tertera
memiliki 8143 total kasus yang terdiri dari 1729 kasus berisikan 1 atau “yes” dan
sisanya 6414 kasus yang berisikan 0 atau “no” pada atribut Occupancy.

Perhitungan selanjutnya adalah mencari nilai entropy dari keseluruhan dataset


yang dipilih, proses perhitungan entropy menggunakan probabilitas antara jumlah
total kasus yang berisikan 1 dengan total kasus keseluruhan. Selanjutnya dikali dengan
Log(probabilitas,total jenis kasus atribut Occupancy). Perhitungan seperti tertera
dibawah ini.

( ) ( ( ) ( )) ( ( ) ( ))

( )

Berikut ini adalah tabel hasil perhitungan entropy menggunakan dataset


Occupancy Detection.

Tabel 4.3 Hasil perhitungan entropy keseluruhan dataset

Total Total Total


Entropy(S)
Kasus "1" "0"
8143 1729 6414 0.74591

Setelah mendapatkan entropy dari keseluruhan kasus selanjutnya, lakukan


analisis untuk setiap atribut. Hitung jumlah kasus yang merupakan himpunan bagian
dari atribut temperature yang lebih kecil dari 21,09 Celcius atau temp<21,09, dan
hitung jumlah kasus not occupied dan jumlah kasus yang occupied. Selanjutnya
sebaliknya hitung juga temperature yang lebih besar sama dengan 21,09 atau temp
l21,09. Kemudian hitunglah entropy setiap segmennya. Perhitungan jumlah kasus
pada setiap segmen untuk atribut temperature akan digunakan untuk menghitung
probabilitas dan selanjutnya akan di gunakan juga untuk menghitung entropi setiap
segmen. Perhitungannya adalah sebagai berikut.
32

( ) ( ( ) ( )) ( ( ) ( ))

( )

Perhitungan entropi nantinya digunakan untuk menentukan pembobotan pada


setiap segmen dalam perhitungan gain. Kemudian hitung entropi pada segmen
temp>=21.09.

( ) ( ( ) ( )) ( ( ) ( ))

( )

Setelah dihitung diperoleh nilai . Setelah entropi setiap segmen pada


atribut temperature dihitung maka langkah penting selanjutnya adalah menghitung
gain pada setiap atribut. Perhitungannya, sebagai berikut.

( ) (( ) ( ) )

( )

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

Tabel 4.4 Analisis Perhitungan Entropi dan Gain Node 1

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

Gambar 4.1 Pohon keputusan Node 1 Light

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.

Tabel 4.5 Sampel data filter node 1.1

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

Tabel 4.6 Hasil perhitungan entropi data filter node 1.1

Total Total Total


Entropy
Kasus "1" "0"
2075 1715 360 0.6656354421352

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.

Tabel 4.7 Analisis Perhitungan Entropi dan Gain Node 1.1

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

Gambar 4.2 Pohon keputusan node 1.1 CO2

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.

Gambar 4.3 Keseluruhan Pohon keputusan pada Occupancy Detection


37

Rules yang dihasilkan dari pohon keputusan yang telah dibuat adalah, sebagai berikut:

IF Light>=927.8 THEN Occupancy = No


IF Light<200 THEN Occupancy = No
IF Light<618.53 AND Light >= 200 AND CO2>=1622.0 THEN
Occupancy=Yes
IF Light<618.53 AND Light >= 200 AND CO2>=1217.1 AND
CO2<1622.8 THEN Occupancy=Yes
IF Light<618.53 AND Light >= 200 AND CO2>=811.4 AND
CO2<1217.1 AND Humidity >= 27.93235 THEN Occupancy=Yes
IF Light<618.53 AND Light >= 200 AND CO2>=811.4 AND
CO2<1217.1 AND Temperature >= 21.09 THEN Occupancy=Yes
IF Light<618.53 AND Light >= 200 AND CO2>=811.4 AND
CO2<1217.1 AND Temperature < 21.09 THEN Occupancy=No
IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND
CO2<811.4 AND Humidity >= 27.93235 THEN Occupancy=No
IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND
CO2<811.4 AND Humidity < 27.93235 AND Temperature >=
21.09 THEN Occupancy=No
IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND
CO2<811.4 AND Humidity < 27.93235 AND Temperature < 21.09
THEN Occupancy=Yes
IF Light<927.8 AND Light >= 618.53 AND CO2>=811.4 AND
CO2<1217.1 THEN Occupancy = Yes
IF Light<927.8 AND Light >= 618.53 AND CO2>=405.7 AND
CO2<811.4 THEN Occupancy = No
IF Light<927.8 AND Light >= 618.53 AND Humidity<27.931
THEN Occupancy = Yes
IF Light<927.8 AND Light >= 618.53 AND Temperature<21.09
THEN Occupancy = No

Algoritma 4.1 Rules C4.5 dari Occupancy Detection


38

4.5 Perbaikan Metode

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.

Penggunaan algorima genetika akan disesuaikan dengan proses yang terjadi


pada C4.5 tanpa mengurangi proses dalam algoritma C4.5 itu sendiri.

4.5.1 Modifikasi Algoritma C4.5 dengan Algoritma Genetika

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.

Penggunaan persilangan dan operasi mutasi diharapkan dapat meningkatkan


fungsi fitness sehingga nilai fitness yang akan diperoleh memberikan nilai yang
maksimal dan memperoleh rules yang teroptimisasi dengan baik. Hal ini seperti yang
telah ditunjukkan pada gambar 3.3 pada bab sebelumnya.

4.5.2 Binarisasi Aturan Keputusan (rules)

Algoritma genetika mengadopsi bilangan biner untuk merefrensikan sebuah individu.


Simbol yang biasa digunakan adalah {1,0} semua atribut di konversikan kedalam
bilangan tersebut. Atribut merupakan rules atau aturan keputusan yang diperoleh dari
pemrosesan klasifikasi dari algoritma C4.5. Setiap kode biner yang ada mewakili
kondisi atribut yang terjadi. Misalkan sebuah atribut memiliki beberapa nilai tertentu
39

(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.

Setiap kromosom merupakan pembentuk sebuah rules untuk proses klasifikasi.


Nantinya beberapa kromosom akan menjadi solusi dalam pemecahan masalah ini.
Kelompok aturan keputusan atau rules akan diurutkan berdasarkan kualitasnya. Rules
yang paling baik akan diletakkan dan dicocokkan pertama kali. Jika rules tidak cocok
dengan kondisi yang ada maka akan dimasukkan kedalam klasifikasi dengan
ketentuan umum.

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

Pembobotan dilakukan untuk melihat keadaan gen yang bersesuaian dengan


atribut yang muncul pada saat proses pencarian. Bobot hanya bernilai{1,0} atau
merupakan variabel biner bertipe boolean. Jika pembobotan bernilai 1 artinya
atribut ada pada rules, tetapi jika sebaliknya atau bernilai 0 maka atribut yang
diinginkan tidak terdapat pada rules.
40

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.

Gambar 4.4 Pembuatan kromosom

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

temp<21.09 yang merupakan segmen pertama pada kolom temperature menjadi 01


sementara temp≥21.09 menjadi dua atau 10 jika didalam kode biner. Untuk humidity
hum<27.93 menjadi 01 sementara hum≥27.93 menjadi dua atau 10 begitu seterusnya
untuk segmen-segmen selanjutnya. Konversi kode biner untuk Occupancy “yes”
diganti dengan 01 sementara untuk Occupancy “No” diganti dengan kode 00.

Tabel 4.8 Konversi Segmen ke Biner

Atribut Nilai Biner

Temperature temp<21.09 01
temp>=21.09 10

Humidity Hum<27.93125 01
Hum>=27.93125 10

Light Light<200 001


200<=Light<618.53 010
618.53<=Light<927.8 011
Light>927.8 100

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

Gambar 4.5 Contoh sederhana konversi aturan keputusan didalam pembentukan


kromosom

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:

1 = 100 01 0 = 000 00 0 = 000 00 0 = 000 00 00

1 = 001 01 0 = 000 00 0 = 000 00 0 = 000 00 00

1 = 010 01 1 = 101 01 0 = 000 00 0 = 000 00 01

1 = 010 01 1 = 100 01 0 = 000 00 0 = 000 00 01

1 = 010 01 1 = 011 01 1 = 010 01 0 = 000 00 01

1 = 010 01 1 = 011 01 1 = 010 01 0 = 000 00 01

1 = 010 01 1 = 011 01 1 = 001 01 0 = 000 00 00


43

1 = 010 01 1 = 010 01 1 = 010 01 0 = 000 00 00

1 = 010 01 1 = 010 01 1 = 010 01 1 = 010 01 00

1 = 010 01 1 = 010 01 1 = 010 01 1 = 001 01 01

1 = 011 01 1 = 011 01 0 = 000 00 0 = 000 00 01

1 = 011 01 1 = 010 01 0 = 000 00 0 = 000 00 00

1 = 011 01 1 = 001 01 0 = 000 00 0 = 000 00 01

1 = 011 01 1 = 001 01 0 = 000 00 0 = 000 00 00

Gambar 4.6 Pengkodean Aturan Keputusan

Langkah selanjutnya dalam proses ini adalah testing dengan memodifikasi


algoritma agar dapat mengurangi ruang pencarian dan memaksimalkan hasil. Tetapi
sebelumnya konversikan terlebih dahulu data testing menjadi kode biner.

Tabel 4.9 Konversi Data Testing

Light CO2 Humidity Temperature


0 445 24.445 21
01 010 01 01

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.

Setelah data testing di konversi ke bentuk biner maka langkah selanjutnya


adalah membangkitkan kromosom yang memungkinkan berdasarkan rules yang telah
dibentuk. Untuk iterasi pertama pembentukan kromosom berdasarkan gambar 4.6
Pengkodean aturan keputusan.
44

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.

Tabel 4.10 Konstanta Optimasi Algoritma Genetika

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

Setelah konstanta ditentukan maka langlah selanjutnya adalah menghitung nilai


fitness untuk melihat seberapa akurat nilai kromosom yang telah dibangkitkan.

4.5.3 Pembentukan Fungsi Fitnes

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.

Pada pembagian kelas untuk menentukan maksimum fitness, kelas dibagi


menjadi empat bagian, antara lain:

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

Dimana N(atribut) adalah jumlah keseluruhan atribut pada dataset yang


diikutkan dalam proses pembentukan pohon keputusan dan n(atribut aturan
keputusan) adalah jumlah atribut yang terdapat pada rules yang ada.

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.

Seperti yang telah disinggung pada pembahasan sebelumnya bahwa pada


penelitian ini menggunakan parameter a = 0.1, b = 0.1, c = 0.1 dan d=0.7. Maka
langkah selanjutnya adalah cocokkan nilai dan variabel yang terdapat pada atribut
rules dengan data testing yang telah ditentukan.

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.

Tabel 4.11 Nilai Benar-Benar

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

Tabel 4.12 Nilai Benar-Salah

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

Tabel 4.13 Nilai Salah-Benar

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

Tabel 4.14 Nilai Salah-Salah

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.

Untuk perhitungan akurasi, ketersediaan, Kesederhanaan dan maksimum fitness


(avg) dihitung berdasarkan ketentuan seperti yang telah diutarakan pada pembahasan
sebelumnya.
48

Tabel 4.15 Nilai Perhitungan Maksimum Fitnes

Kromosom ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Akurasi 0 1 0 0 0 0 0.33 0.33 0.25 0.5 0 0.5 0.5 0.5

Jumlah Atribut 1 1 2 2 3 3 3 3 4 4 2 2 2 2

Ketersediaan 0 1 0 0 0 0 0.33 0.33 0.25 0.5 0 0.5 0.5 0.5

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

Gain 0 0.57 0 0 0 0 0 0.16 0.16 0.16 0 0.16 0 0

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:

Tabel 4.16 Akurasi Rules pada Data Training

Kromosom Training Set


Rules Fitnes
ID Accuracy

IF Light<200 THEN
2 100% 0.677223933
Occupancy = No

IF Light<927.8 AND Light


>= 618.53 AND CO2>=405.7
12 50% 0.26387042
AND CO2<811.4 THEN
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

4.5.4 Seleksi Kromosom

Setelah keseluruhan fitness di hitung maka langkah selanjutnya adalah melakukan


proses seleksi kromosom. Beberapa langkah akan dilakukan sebelum melakukan
penyeleksian kromosom, yang pertama adalah menghitung total fitness keseluruhan
dari 14 rules yang ada.

Total Fitnes = 0.075 + 0.677223933 + 0.05 + 0.05 + 0.025 +


0.025 + 0.091666667 + 0.205537087 + 0.16387042 +
0.21387042 + 0.05 + 0.26387042 + 0.15 + 0.15

Total Fitnes = 2.191038947

Perhitungan selanjutnya adalah mencari probabilitas fitness pada setiap rules


nya. Perhitungannya, sebagai berikut:

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

P10 = 0.21387042/2.191038947 = 0.097611419

P11 = 0.05/2.191038947 = 0.022820224

P12 = 0.26387042/2.191038947 = 0.120431643

P13 = 0.15/2.191038947 = 0.068460673


50

P14 = 0.15/2.191038947 = 0.068460673

Dari perhitungan probabilitas diatas bahwa didapat nilai kromosom ke-2


memiliki nilai fitness yang paling besar, maka kromosom tersebut memiliki nilai
probabilitas untuk terpilih pada generasi selanjutnya.

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

C2 = 0.034230336 + 0.30908804 = 0.343318376

C3 = 0.034230336 + 0.30908804 + 0.022820224 =


0.3661386

C4 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 = 0.388958824

C5 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 = 0.400368936

C6 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 + 0.011410112 =
0.411779049

C7 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 + 0.011410112 +
0.041837078 = 0.453616126

C8 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 + 0.011410112 +
0.041837078 + 0.093808048 = 0.547424174

C9 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 + 0.011410112 +
51

0.041837078 + 0.074791195 + 0.097611419 =


0.622215369

C10 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 + 0.011410112 +
0.041837078 + 0.093808048 + 0.074791195 +
0.097611419 = 0.719826788

C11 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 + 0.011410112 +
0.041837078 + 0.093808048 + 0.074791195 +
0.097611419 + 0.022820224 = 0.742647012

C12 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 + 0.011410112 +
0.041837078 + 0.093808048 + 0.074791195 +
0.097611419 + 0.022820224 + 0.120431643 =
0.863078655

C13 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 + 0.011410112 +
0.041837078 + 0.093808048 + 0.074791195 +
0.097611419 + 0.022820224 + 0.120431643 +
0.068460673 = 0.931539327

C14 = 0.034230336 + 0.30908804 + 0.022820224 +


0.022820224 + 0.011410112 + 0.011410112 +
0.041837078 + 0.093808048 + 0.074791195 +
0.097611419 + 0.022820224 + 0.120431643 +
0.068460673 + 0.068460673 = 1

Setelah proses perhitungan nilai komulatif probabilitas maka proses seleksi


menggunakan roulette wheel dapat dilakukan. Proses roulette wheel dilakukan dengan
membangkitkan bilangan random R dalam range [0,1].

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.

Setelah dilakukan putaran diperoleh nilai sebagai berikut:

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:

Tabel 4.17 Kromosom dengan populasi baru

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

Tabel 4.18 Rules Hasil Proses Seleksi

ID
Kromosom
Rules

IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND


1
CO2<811.4 AND Humidity >= 27.93235 THEN Occupancy=No
IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND
2 CO2<811.4 AND Humidity < 27.93235 AND Temperature >= 21.09
THEN Occupancy=No
IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND
3 CO2<811.4 AND Humidity < 27.93235 AND Temperature >= 21.09
THEN Occupancy=No
IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND
4 CO2<811.4 AND Humidity < 27.93235 AND Temperature < 21.09
THEN Occupancy=Yes
IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND
5
CO2<811.4 AND Humidity >= 27.93235 THEN Occupancy=No
IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND
6 CO2<811.4 AND Humidity < 27.93235 AND Temperature >= 21.09
THEN Occupancy=No
IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND
7 CO2<811.4 AND Humidity < 27.93235 AND Temperature >= 21.09
THEN Occupancy=No
8 IF Light<200 THEN Occupancy = No

IF Light<927.8 AND Light >= 618.53 AND CO2>=405.7 AND


9
CO2<811.4 THEN Occupancy = No

10 IF Light<200 THEN Occupancy = No

IF Light<927.8 AND Light >= 618.53 AND Humidity<27.931


11
THEN Occupancy = Yes

12 IF Light<200 THEN Occupancy = No

IF Light<927.8 AND Light >= 618.53 AND Temperature<21.09


13
THEN Occupancy = No

IF Light<618.53 AND Light >= 200 AND CO2>=405.7 AND


14
CO2<811.4 AND Humidity >= 27.93235 THEN Occupancy=No

Konversi kromosom ke binary menjadi, sebagai berikut:


54

Tabel 4.19 Kromosom

ID
Kromosom
Biner

1 0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00


2 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
3 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
4 0 = 010 01 1 = 010 01 0 = 010 01 1 = 001 01 01
5 0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00
6 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
7 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
8 1 = 001 01 0 = 000 00 0 = 000 00 0 = 000 00 00
9 0 = 011 01 1 = 010 01 0 = 000 00 0 = 000 00 00
10 1 = 001 01 0 = 000 00 0 = 000 00 0 = 000 00 00
11 0 = 011 01 0 = 000 00 1 = 001 01 0 = 000 00 01
12 1 = 001 01 0 = 000 00 0 = 000 00 0 = 000 00 00
13 0 = 011 01 0 = 000 00 0 = 000 00 1 = 001 01 00
14 0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00

4.5.5 Persilangan dan Mutasi Aturan Keputusan

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.

Kromosom 4, Kromosom 12, Kromosom 13

Setelah melakukan pemilihan induk, proses berikutnya yaitu bagaimana


menentukan posisi persilangan. Proses ini dilakukan dengan membangkitkan bilangan
Random 1 sampai panjang kromosom. Dalam hal ini bilangan acak yang dibangkitkan
adalah 1 sampai 3. Maka kromosom tersebut akan di lakukan proses pemotongan
mulai dari gen ke 1 kemudian potongannya saling tukar.

Kromosom 4 >< Kromosom 13

Kromosom 12 >< Kromosom 4

Kromosom 13 >< Kromosom 12

Setelah di random diperoleh posisi cut point menggunakan bilangan random [1,3]:

C1 = 1; C2 = 3; C3 = 1

Offspring[4] = Kromosom 4 >< Kromosom 13

0 = 010 01 1 = 010 01 0 = 010 01 1 = 001 01 01

Persilangan dengan

0 = 011 01 0 = 000 00 0 = 000 00 1 = 001 01 00

Menjadi

0 = 010 01 0 = 000 00 0 = 000 00 1 = 001 01 00

Offspring[12] = Kromosom 12 >< Kromosom 4

1 = 001 01 0 = 000 00 0 = 000 00 0 = 000 00 00

Persilangan dengan

0 = 010 01 1 = 010 01 0 = 010 01 1 = 001 01 01


56

Menjadi

0 = 010 01 1 = 010 01 0 = 000 01 1 = 001 01 01

Offspring[13] = Kromosom 13 >< Kromosom 12

0 = 011 01 0 = 000 00 0 = 000 00 1 = 001 01 00

Persilangan dengan

1 = 001 01 0 = 000 00 0 = 000 00 0 = 000 00 00

Menjadi

1 = 011 01 0 = 000 00 0 = 000 00 0 = 000 00 00

Dengan demikian maka populasi kromosom setelah mengalami proses


persilangan menjadi, sebagai berikut:

Tabel 4.20 Perubahan Kromosom setelah Persilangan

ID
Kromosom
Biner

1 0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00


2 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
3 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
4 0 = 010 01 0 = 000 00 0 = 000 00 1 = 001 01 00
5 0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00
6 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
7 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
8 1 = 001 01 0 = 000 00 0 = 000 00 0 = 000 00 00
9 0 = 011 01 1 = 010 01 0 = 000 00 0 = 000 00 00
10 1 = 001 01 0 = 000 00 0 = 000 00 0 = 000 00 00
11 0 = 011 01 0 = 000 00 1 = 001 01 0 = 000 00 01
12 0 = 010 01 1 = 010 01 0 = 000 01 1 = 001 01 01
13 1 = 011 01 0 = 000 00 0 = 000 00 0 = 000 00 00
14 0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00

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.

Gambar 4.6 Atribut yang terkena mutasi

Hitunglah panjang total gen dimutasi yang terdapat pada satu populasi. Panjang
total gen adalah:

Total gen = Jumlah gen dimutasi dalam kromosom x Jumlah populasi

= 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:

Jumlah gen dimutasi = 0.09 x 168

= 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

Tabel 4.21 Nilai Random mutasi

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 :

0 = 010 01 0 = 000 00 0 = 000 00 1 = 001 01 00

Dimutasi menjadi

0 = 010 01 0 = 000 00 0 = 001 00 0 = 001 01 00

Kromosom 6:

0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00

Dimutasi menjadi

0 = 010 01 0 ≠ 001 01 0 = 010 01 0 = 010 01 00

Untuk kromosom yang lain dilakukan proses yang sama, sehingga hasilnya menjadi
59

Tabel 4.22 Hasil mutasi

ID
Kromosom
Biner

1 0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00


2 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
3 0 = 010 01 1 = 010 01 0 = 010 01 0 = 010 01 00
4 0 = 010 01 0 = 000 00 0 = 001 00 0 = 001 01 00
5 0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00
6 0 = 010 01 0 ≠ 001 01 0 = 010 01 0 = 010 01 00
7 0 = 010 01 1 = 010 01 0 = 010 01 0 ≠ 010 01 00
8 1 = 001 01 0 = 000 00 0 = 000 00 0 = 000 00 00
9 0 = 010 01 1 = 010 01 0 = 000 00 0 = 000 00 00
10 1 = 001 01 0 = 000 00 1 = 000 00 1 = 000 00 00
11 0 = 011 01 0 = 000 00 0 = 001 01 0 = 000 00 01
12 0 = 010 01 1 = 010 01 0 = 000 01 1 = 000 01 01
13 1 = 010 01 1 = 000 00 0 = 000 00 0 = 000 00 00
14 0 = 001 01 1 = 010 01 0 = 010 01 0 = 000 00 00

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.

1. Mutasi dan konversi bobot


Mutasi bobot jika bobot bernilai “1” maka diubah menjadi “0” tetapi jika bobot
bernilai “0” mutasi ke nilai “1”. Ketika bobot dimutasi ke “1” artinya terdapat
hubungan antara rules dengan data testing begitu juga sebaliknya ketika
dikonversi ke ”0” maka berubah menjadi tidak berhubungan. Misal:
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
CO2>=405.7 AND Hum>=27.93125 THEN No
Bentuk kromosomnya adalah :
0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00
Setelah di konversi
0 = 010 01 0 = 010 01 0 = 010 01 0 = 000 00 00
Menjadi
IF Light<618.53 AND Light>=200 AND Hum>=27.93125 THEN No
60

2. Mutasi dan konversi operator


Dalam mutasi operator atribut diskrit “=” diubah manjadi “≠” sedangkan atribut
kontinu dari “≥” diubah menjadi “<”. Jika atribut telah diubah menjadi “≠”,
contoh:
0 = 010 01 1 = 010 01 0 = 010 01 0 ≠ 010 01 00
Maka kode tersebut diartikan :
0 = 010 01 1 = 010 01 0 = 010 01 0 = 001 01 00
Karena hanya terdapat dua segmen didalam temperature 010 dan 001, namun
jika terdapat lebih dari dua segmen, maka prosesnya dirandom selama tidak
sama dengan nilai sebelumnya.
3. Mutasi dan konversi nilai
Untuk mutasi nilai humidity jika “001” maka dimutasi menjadi “010” karena
humidity hanya memiliki dua segmen. Tetapi jika lebih dari dua maka proses
nya dirandom selama nilai yang dihasilkan tidak sama dengan nilai sebelumnya
dan masih dalam segmen yang ada. Contoh:
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
CO2>=405.7 AND Hum>=27.93125 THEN No
Kromosomnya adalah :
0 = 010 01 1 = 010 01 0 = 010 01 0 = 000 00 00
Dimutasi menjadi :
0 = 010 01 1 = 010 01 0 = 001 01 0 = 000 00 00
Ketika di konversi kebentuk rules, maka hasilnya:
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
CO2>=405.7 AND Hum<27.93125 THEN No

Proses selanjutnya adalah menghitung maksimum fitness untuk mengecek nilai


kebenaran pada proses yang terjadi. Konversi hasil mutasi ke bentuk rules ditunjukkan
pada tabel 4.23 dibawah ini.
61

Tabel 4.23 Hasil Konversi Kromosom ke Rules

ID
Kromosom
Rules

IF Light<618.53 AND Light>=200 AND CO2<811.4 AND


1
CO2>=405.7 AND Hum>=27.93125 THEN No
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
2
CO2>=405.7 AND Hum>=27.93125 AND temp>=21.09 THEN No
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
3
CO2>=405.7 AND Hum>=27.93125 AND temp>=21.09 THEN No
IF Light<618.53 AND Light>=200 AND Hum<27.93125 AND
4
temp<21.09 THEN No
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
5
CO2>=405.7 AND Hum>=27.93125 THEN No
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
6
CO2>=405.7 AND Hum>=27.93125 AND temp>=21.09 THEN No
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
7
CO2>=405.7 AND Hum>=27.93125 AND temp<21.09 THEN No
8 IF Light<200 THEN No
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
9
CO2>=405.7 THEN No
10 IF Light<200 THEN No
11 IF Light<618.53 AND Light>=200 AND Hum<27.93125 THEN Yes
IF Light<618.53 AND Light>=200 AND CO2<811.4 AND
12
CO2>=405.7 THEN Yes
13 IF Light<618.53 AND Light>=200 THEN No
IF Light<200 AND 405.7<=CO2<811.4 AND Hum>=27.93125 THEN
14
No

Proses perhitungan maksimum fitness dilakukan dan akurasi dengan


mencocokan secara ulang nilai pencarian terhadap kromosom yang ada seperti
perhitungan maksimum fitness sebelumnya. Maka setelah proses perhitungan
dilakukan dihasilkan seperti tabel 4.24 dibawah ini.

Tabel 4.24 Maksimum fitness Generasi pertama

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:

Tabel 4.25 Hasil maksimum fitness generasi 20

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.6 Pembuatan Algoritma

Setelah melakukan beberapa tahapan hybrid algoritma genetika dalam


mengoptimalkan algoritma C4.5 telah menghasilkan beberapa aturan baru, sebagai
berikut:

Step 1. Masukkan ruleset, datatesting, gain;

Step 2. Inisialisasi ρc=0.85, ρm=0.09, maks_generasi=500, a=0.1, b=0.1, c=0.1,


d=0.7, ε=0.05, mean_akurasi=0.75, avg0=0,i=0, populasi=encode(ruleset);

Step 3. Lakukan proses seleksi, populasi=seleksi(populasi,max_fitness);

Step 4. Bangkitkan bilangan acak Rn, n=count(ruleset), datacross=(Ri<ρc);


63

Step 5. Lakukan persilangan, populasi=persilangan(populasidatacross);

Step 6. Bangkitkan bilangan acak Rnxm, m=column(datatesting)x3,

datamutmn=(Rnxm < ρm);

Step 7. Lakukan mutasi, populasi=mutasi(populasidatamut);

Step 8. Hubungkan datatesting dengan ruleset, hitung maks_fitnes, avgt,


rata_akurasi, t=t+1;

Step 9. Lakukanlah Step 3, jika avgt-avgt-1>ε, t≠maks_generasi atau


rata_akurasi≠mean_akurasi;

Step 10. Ubah populasi menjadi ruleset, ruleset=decode(populasi);

Step 11. Hasilkan ruleset;

4.7 Evaluasi

Berdasarkan hasil perhitungan terakhir diperoleh rules sebagai berikut:

Tabel 2.26 Rules terakhir hasil mutasi

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

KESIMPULAN DAN SARAN

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.

Dalam pembahasan sebelumnya telah dilakukan proses pembuatan decision


rules pada algoritma C4.5 dengan menggunakan algoritma genetika. Dengan
menggunakan Occupancy Detection pada UCI Learning Machine Dataset hasil
penelitian menyebutkan bahwa :

1. Algoritma Genetika mampu mengoptimalkan ruang pencarian rules dengan


jumlah generasi ke 20
2. Dengan Algoritma genetika pada Algoritma C4.5 mampu menambah jumlah
kromosom sehingga hasil akhir memiliki akurasi yang baik diatas 75%
3. Penggunaan algoritma genetika mampu mengoptimasi ruang pencarian rules
dan menyederhanakan kombinasi rules yang lebih kompleks.

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

Abuiziah, I & N. Shakarneh. 2013. A Review of Genetic Algorithm Optimization:


Operations and Applications to Water Pipeline Systems. Internation Journal of
mathematical, Computational, Physical and Quantum Engineering7(12): 1289-
1295

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.

Candanedo, V. R. Dehkordi, and P. Lopez, 2015, A control-oriented simplified


building modelling strategy, 13th Conf. Intl. Building Perf. Simulation

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.

Coley, David A. 1999. An Introduction to Genetic Algorithms for Scientists


and Engineers. World Scientific: London

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

Goldberg, David E. 1989. Genetic Algorithms. Pearson Education: London

Konar, Amit. 2005. Computational Intelligence Principles, Techniques, and


Applications. Springer: Calcutta, India

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

Laksmi, M, Begum, R.M, Venkatesan,VP., 2013, An Analysis on Performance of


Decision Tree Algorithms using Student's Qualitative Data, International
Journal of Modern Education and Computer Science 5: 5-18

Larose, D.T. 2005. Discovering Knowledge in Data: An Introduction to Data Mining.


Wiley: USA

Mendes, Jorge Magalhaes. 2013. A Comparative Study of Crossover Operators for


Genetic Algorithms to Solve the Job Shop Scheduling Problem. Journal of
School of Engineering-Polytechnic of Porto7(7): 164-173

Mitchel, Mielanie. 1999. An Introduction to Genetic Algorithm. MIT Press:


Massachusets

Negnevitsky, Michael. 2005. Artificial Intteligence-A Guide to Intelligent Systems.


Addison Wesley: Edinburg

Othman, M.F. & Yau, T.M.S. 2007. Comparison of Different Classification


Techniques using WEKA for Breast Cancer. Ibrahim, F., Abu Osman, N.A.,
Usman, J. & Kadri, N.A. (Eds.). IFMBE Proceedings 15, pp. 520-523.

Pencheva, Tania, Atanassov, Krassimir and Shannon, Anthony. 2009. Modelling of a


Stochastic Universal Sampling Selection Operator in Genetic Algorithms
Using Generalized Nets. Prosiding Tenth International Workshop on
Generalized Nets 2009, pp. 1-7

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

Sembiring S, Embong A, Mohammad, M. A, Furqan M, “Improving Student


Academic Performance by An Application of Data Mining Techniques”,
Proceeding The 5th IMT-GT International Conference on Mathematics,
Statistics, and Their Application (ICMSA 2009), ISBN 978-602-95343-0-6,
page 390-394.

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

Anda mungkin juga menyukai