Upload
khoirul-hidayat
View
53
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Optimasi Cluster
Citation preview
TESIS
OPTIMASI PUSAT CLUSTER K-PROTOTYPE
DENGAN ALGORITMA GENETIKA
NI LUH GEDE PIVIN SUWIRMAYANTI
PROGRAM PASCASARJANA
UNIVERSITAS UDAYANA
DENPASAR
2014
TESIS
OPTIMASI PUSAT CLUSTER K-PROTOTYPE
DENGAN ALGORITMA GENETIKA
NI LUH GEDE PIVIN SUWIRMAYANTI
NIM 1191761014
PROGRAM MAGISTER
PROGRAM STUDI TEKNIK ELEKTRO
PROGRAM PASCASARJANA
UNIVERSITAS UDAYANA
DENPASAR
2014
ii
OPTIMASI PUSAT CLUSTER K-PROTOTYPE
DENGAN ALGORITMA GENETIKA
Tesis untuk Memperoleh Gelar Magister
pada Program Magister, Program Studi Teknik Elektro,
Program Pascasarjana Universitas Udayana
NI LUH GEDE PIVIN SUWIRMAYANTI
NIM 1191761014
PROGRAM MAGISTER
PROGRAM STUDI TEKNIK ELEKTRO
PROGRAM PASCASARJANA
UNIVERSITAS UDAYANA
DENPASAR
2014
iii
iv
Tesis Ini Telah Diuji pada
Tanggal 25 April 2014
Panitia Penguji Tesis Berdasarkan SK Rektor Universitas Udayana,
No.: 1201/UN14.4/HK/2014, Tanggal 24 April 2014
Ketua : Dr. I Ketut Gede Darma Putra, S.Kom,. MT
Anggota :
1. I Nyoman Satya Kumara, ST., M.Sc., PhD
2. Prof. Ir. Rukmi Sari Hartati, MT., PhD
3. Dr. Eng. Putu Agung Bayupati, ST., MT
4. Ni Made Ary Esta Dewi Wirastuti, ST,. MSc,.PhD
v
SURAT PERNYATAAN BEBAS PLAGIAT
Saya yang bertanda tangan dibawah ini :
Nama : Ni Luh Gede Pivin Suwirmayanti
NIM : 1191761014
Program Studi : Magister Teknik Elektro
Judul Tesis : Optimasi Pusat Cluster K-Prototype dengan Algortima
Genetika
Dengan ini menatakan bahwa karya ilmiah Tesis ini bebas plagiat.
Apabila di kemudian hari terbukti plagiat dalam karya ilmiah ini, maka saya
bersedia menerima sanksi sesuai peraturan Mendiknas RI No. 17 tahun 2010 dan
Peraturan Perundang-undangan yang berlaku
Denpasar, 20 Juni 2014
Yang membuat pernyataan,
Ni Luh Gede Pivin Suwirmayanti
vi
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas segala
berkah, semangat, kekuatan, dan karunia yang telah diberikan-Nya, sehingga
penulis dapat menyelesaikan penyusunan laporan tesis yang berjudul Optimasi
Pusat Cluster K-Prototype Dengan Algoritma Gnetika. Dalam penyusunan
laporan tesis ini penulis banyak sekali mendapatkan bantuan baik berupa
pengetahuan maupun moril dari berbagai pihak, sehingga akhirnya penulis dapat
menyelesaikan tesis ini. Mengingat hal tersebut, penulis ingin mengucapkan
terima kasih yang sebesar-besarnya kepada berbagai pihak, antara lain:
1. Ibu Prof. Dr. dr. A.A Raka Sudewi, Sp.S (K), sebagai Direktur Program Pasca Sarjana Univeristas Udayana.
2. Ibu Prof. Ir. Ida Ayu Dwi Giriantari, M.Eng.Sc.,Ph.D, sebagai Ketua Program Magister Program Studi Teknik Elektro Program Pasca Sarjana
Universitas Udayana.
3. Bapak Dr. IKG Darma Putra, S.Kom., MT, selaku pembimbing I yang telah banyak membantu dalam memberikan ilmu, bimbingan, saran dan
motivasi dalam menyelesaikan laporan tesis ini.
4. Bapak I Nyoman Satya Kumara, ST., M.Sc., PhD, selaku pembimbing II yang telah memberikan bimbingan, saran dan motivasi dalam
menyelesaikan tesis ini.
5. Bapak dan Ibu dosen Program Studi Teknik Elektro Program Pasca Sarjana Universitas Udayana beserta staff dan karyawan.
6. Bapak I Wayan Budi Sentana, ST., M.Kom, atas ide, waktu yang diluangkan untuk bimbingan dan motivasi yang telah diberikan sehingga
penulis dapat menyelesaikan tesis ini.
7. Bapak, Ibu dan Keluarga yang selalu memberikan doa, dukungan, materi dan motivasi sehingga penulis bisa menyelesaikan studi ini.
8. Teman-teman Dosen, Komang Budiarta, Kusuma Wardana, Bapak Adi Purwantara, Rosa, Melati, Ecik. yang senantiasa memberikan bantuan,
dukungan, dan motivasi untuk menyelesaikan studi ini
9. Seluruh pihak yang tidak dapat penulis sebutkan satu-persatu, atas partisipasi dan kontribusinya terhadap penyusunan laporan tesis ini.
Akhirnya penulis mohon maaf atas segala keterbatasan yang ada dalam
laporan tesis ini. Semoga tesis ini dapat memberikan kontribusi positif bagi semua
pihak.
Denpasar, Juni 2014
Penulis
vii
ABSTRAK
Teknik clustering saat ini telah banyak digunakan untuk mengatasi
permasalahan yang terkait dengan segementasi data. Implementasi clustering ini
dapat diterapkan pada berbagai bidang sebagai contoh dalam hal pemasaran,
clustering dapat digunakan sebagai metode untuk mengelompokkan data. Tujuan
utama dari metode cluster adalah pengelompokan sejumlah data atau obyek ke
dalam cluster(group) sehingga dalam setiap cluster akan berisi data yang semirip
mungkin.
Dalam proses clustering, secara umum tipe data yang diolah adalah tipe
data numerik, namun pada kenyataannya proses pengelompokan data tidak hanya
menggunakan tipe data numerik, terdapat juga tipe data kategorikal. Untuk itu
penulis menggunakan metode K-Prototype yang dioptimasi dengan Algortima
Genetika dimana data uji yang digunakan adalah Data German Credit yang
memiliki tipe data numerikal dan kategorikal. Dalam penelitian dilakukan
perbandingan kinerja antara metode K-Prototype dengan Algoritma Genetika,
dengan metode K-Prototype Tanpa Algortima Genetika, dan metode K-Means.
Dari beberapa hasil percobaan yang dilakukan metode K-Prototype dengan
Algoritma Genetika menghasilkan hasil yang terbaik dari metode K-Prototype
tanpa Algortima Genetika, dan metode K-Means.
Kata kunci: Clustering, Optimasi, K-Prototype, Algoritma Genetika.
viii
ABSTRACT
Nowadays the clustering technique has been used to overcome problems
connected with data segmentation. This clustering implementation can be applied
on many fields such as in marketing, clustering can be used as a method to
classify data. The main purpose of the clustering method is to classify a sum of
data or objects into cluster (group) so that in each cluster will contain similar
data.
Generally, the processed data in clustering process is the type of
numerical data. However, in reality, the classification process is not only using
numerical data, but also using categorical data. Therefore, the author used K-
Prototype which is optimized with Genetic Algorithm. The testing data were
Credit Germany Data which has both numerical and categorical data. In this
research, the performance between the K-Prototype method with the Genetic
Algorithm was compared to the K-Prototype method without the Genetic
Algorithm and K-Means method. According to the testing process, it is obtained
that the K-Prototype method with Genetic Algorithm is better than the K-
Prototype method without Generic Algorithm and K-Means method.
Keywords: Clustering, Optimization, K-Prototype, Genetic Algorithm.
ix
DAFTAR ISI
SAMPUL DALAM ................................................................................................. i PRASYARAT GELAR ......................................................................................... ii LEMBAR PERSETUJUAN ................................................................................ iii PENETAPAN PANITIA PENGUJI .................................................................. iiv
SURAT PERNYATAAN BEBAS PLAGIAT ..................................................... v KATA PENGANTAR .......................................................................................... vi
ABSTRAK ........................................................................................................... vii ABSTRACT ......................................................................................................... viii DAFTAR ISI ......................................................................................................... ix DAFTAR TABEL ................................................................................................ xi DAFTAR GAMBAR ........................................................................................... xii
DAFTAR ISTILAH ........................................................................................... xiv
BAB I PENDAHULUAN ............................................................................... 1 1.1 Latar Belakang ......................................................................................... 1 1.2 Rumusan Masalah .................................................................................... 6 1.3 Batasan Masalah ....................................................................................... 6
1.4 Tujuan Penelitian ...................................................................................... 7
1.5 Manfaat Penelitian .................................................................................... 7 1.6 Keaslian Penelitian ................................................................................... 7 1.7 Sistematika Penulisan ............................................................................... 8
BAB II KAJIAN PUSTAKA ......................................................................... 10 2.1 State of The Art ....................................................................................... 10
2.2 Algoritma Genetika ................................................................................ 13 2.2.1 Siklus Algoritma Genetika .............................................................. 20
2.2.2 Teknik Encoding/Decoding Gen dan Individu ............................... 24 2.2.3 Representasi Kromosom ................................................................. 27 2.2.4 Membangkitkan Populasi Awal ...................................................... 29
2.2.5 Nilai Fitness .................................................................................... 30 2.2.6 Elitisme ........................................................................................... 31 2.2.7 Seleksi ............................................................................................. 31
2.3 Operator Genetika .................................................................................. 37
2.3.1 Operator Reproduksi ....................................................................... 37 2.4 Clustering ............................................................................................... 48
2.4.1 Tipe Cluster .................................................................................... 54 2.5 Algoritma Clustering K-Prototype ......................................................... 57 2.6 Cost Function Criterion ......................................................................... 59
BAB III METODE PENELITIAN ................................................................. 63 3.1 Tempat dan Waktu Penelitian ................................................................ 63
3.2 Alur Analisis .......................................................................................... 63 3.3 Studi Pustaka .......................................................................................... 64 3.4 Pengumpulan Data ................................................................................ 65 3.5 Gambaran Umum Sistem ....................................................................... 66
x
3.5.1 Data Uji ........................................................................................... 67
3.5.2 Inputan Kategori ............................................................................. 70 3.5.3 Clustering K-Prototype dengan Algoritma Genetika...................... 71 3.5.4 Clustering K-Prototype Tanpa GA ................................................. 77 3.5.5 Clustering K-Means ........................................................................ 79 3.5.6 Pengujian Total Cost ....................................................................... 82
3.5.7 Hasil ................................................................................................ 83 3.5.8 Deskripsi ......................................................................................... 83
3.6 Instrumen Penelitian ............................................................................... 84
BAB IV HASIL DAN PENGUJIAN .............................................................. 85 4.1 Antarmuka Sistem .................................................................................. 85 4.2 Antarmuka Aplikasi Clustering ............................................................. 85
4.2.1 Input Dataset. .................................................................................. 86
4.2.2 Inputan Kategori ............................................................................. 88 4.2.3 Eksekusi Program ........................................................................... 89 4.2.4 Pengujian Total Cost ..................................................................... 104 4.2.5 Hasil Percobaan ............................................................................ 108
4.2.6 Antarmuka Aplikasi Deskripsi ...................................................... 112
BAB V KESIMPULAN DAN SARAN ....................................................... 120 5.1 Kesimpulan ........................................................................................... 120
5.2 Saran ..................................................................................................... 121
DAFTAR PUSTAKA ........................................................................................ 122
xi
DAFTAR TABEL
Tabel 2.1 Kromosom dan Nilai fitnessnya ............................................................ 34 Tabel 2.2 Kondisi kromosom sebelum dan sesudah di ranking ............................ 35
Tabel 3.1 Spesifikasi German Credit Dataset ....................................................... 69
xii
DAFTAR GAMBAR
Gambar 2.1 Visualisasi gen, allele, kromosom, individu, dan populasi pada ...... 19 Gambar 2.2 Siklus algoritma genetika yang diperkenalkan oleh David Goldberg 21 Gambar 2.3 Siklus algoritma genetika yang diperbaiki oleh Zbigniew
Michalewicz .......................................................................................................... 21 Gambar 2.4 Struktur Umum Algoritma Genetik .................................................. 22 Gambar 2.5 Contoh Kromosom Biner .................................................................. 27
Gambar 2.6 Contoh Kromosom Float .................................................................. 28 Gambar 2.7 Contoh Kromosom Nilai ................................................................... 28 Gambar 2.8 Contoh Kromosom Permutasi ........................................................... 29 Gambar 2.9 Grafik Lokal Optimim (T.Sutojo, Edy Mulyanto, Dr. Vincent
Suhartono, 2011) ................................................................................................... 32
Gambar 2.10 Contoh probabilitas kromosom pada roda roullete ......................... 34 Gambar 2.11 Seleksi dengan Roulette-Wheel ....................................................... 35 Gambar 2.12 Pertukaran secara langsung ............................................................. 39
Gambar 2.13 Pertukaran Secara Aritmatika ......................................................... 40 Gambar 2. 14 Proses one point crossover ............................................................. 41 Gambar 2. 15 Proses two point crossover............................................................. 42
Gambar 2.16 Proses n point crossover.................................................................. 42
Gambar 2.17 Proses uniform crossover ................................................................ 43 Gambar 2.18 Contoh proses mutasi ...................................................................... 46 Gambar 2.19 Clustering berdasarkan warna ......................................................... 51
Gambar 2.20 Clustering berdasarkan bentuk ........................................................ 51 Gambar 2.21 Clustering berdasarkan jarak........................................................... 52
Gambar 2.22 Merupakan ilustrasi prinsip Clustering. .......................................... 52 Gambar 2.23 Beberapa cara menentukan cluster bagi dataset yang sama ........... 53 Gambar 2.24 Algoritma Clustering ...................................................................... 53 Gambar 2.25 Tipe cluster Well-Separated. ........................................................... 54
Gambar 2.26 Tipe clusterPrototype-Based/Center-Based ................................... 55 Gambar 2.27 Tipe cluster Graph-Based ............................................................... 55
Gambar 2.28 Tipe Cluster Density-Based ............................................................ 56 Gambar 2.29 Tipe Cluster Shared-Property ......................................................... 56
Gambar 3.1 Alur Analisi Penelitian ...................................................................... 64 Gambar 3.2 Gambaran Umum Sistem .................................................................. 66 Gambar 3. 3 Contoh Data Uji ............................................................................... 68
Gambar 3.4 Clustering K-Prototype dengan GA .................................................. 72 Gambar 3.5 Contoh Kromosom ............................................................................ 73 Gambar 3.6 Inisialisasi awal ................................................................................. 74 Gambar 3.7 Flowchart K-Means Clustering ......................................................... 81
Gambar 4.1 Tampilan Aplikasi Clustering ........................................................... 85
Gambar 4.2 Tampilan Dataset .............................................................................. 86
Gambar 4.3 Pemilihan Data Uji. .......................................................................... 86
Gambar 4.4 Data telah diload ............................................................................... 87 Gambar 4.5 Tampilan Penetapan Variabel ........................................................... 88 Gambar 4.6 Tampilan K-Prototype Dengan GA .................................................. 90
xiii
Gambar 4. 7 Hasil Uji K-Protoype dengan GA .................................................... 90
Gambar 4.8 Inisialisasi kromosom awal ............................................................... 91 Gambar 4.9 Inisialisasi awal prototype (a) Nilai kategorikal dan numerik pada
kromosom (b) Nilai kategorikal pada kromosom (c) nilai numerik pada
kromosom ............................................................................................................. 93 Gambar 4.10 Hasil Nilai Fitness ........................................................................... 95
Gambar 4.11 Pengkopian Individu Terbaik .......................................................... 96 Gambar 4.12 Hasil Roulette-Wheel ....................................................................... 96
Gambar 4.13 Hasil pindah silang .......................................................................... 97 Gambar 4.14 Hasil Mutasi pada seluruh kromosom ............................................. 99 Gambar 4.15 Tampilan K-Prototype Tanpa GA ................................................. 100 Gambar 4.16 Hasil Uji K-Prototype Tanpa GA ................................................. 102 Gambar 4.17 Hasil Uji dengan K-Means. ........................................................... 103
Gambar 4.18 Total Cost K-Protoype dengan GA ............................................... 105 Gambar 4.19 Total Cost K-Protoype tanpa GA ................................................. 106 Gambar 4.20 Total Cost K-Means ...................................................................... 107 Gambar 4.21 Grafik Hasil ................................................................................... 109
Gambar 4.22 Tampilan Aplikasi Deskripsi......................................................... 112 Gambar 4.23 Load Data ...................................................................................... 113
Gambar 4.24 Hasil Load Data ............................................................................ 114
Gambar 4.25 Hasil Rekap Nilai Per Cluster ....................................................... 115
xiv
DAFTAR ISTILAH
Alelle : Nilai suatu gen.
Cluster : Obyek didalam grup yang memiliki kemiripan
satu dengan lainnya.
Clustering : Suatu teknik dalam data mining yang
digunakan untuk memasukkan data ke dalam
grup yang bersesuaian.
Clustering Criterion : Suatu metode pengukuran hasil clustering
Cost Function Criterion : Biaya yang dihabiskan untuk menempatkan
object pada cluster yang bersesuaian.
Crossover : Mempersiapkan individu baru pada masing-
masing populasi melalui proses pindah silang
Elitisme : Prosedur untuk meng-copy individu yang
mempunyai nilai fitness tertinggi
Encoding/Decoding : Mengkodekan nilai gen-gen pembentuk
individu
Evaluasi Fitness : Mengevaluasi nilai dari fungsi tujuan
Gen : Variabel dasar yang membentuk suatu
kromosom.
Generasi : Satu satuan siklus proses evolusi
German Credit Dataset : Dataset untuk penilaian kelayakan pemberian
kredit.
Individu : Kumpulan gen, bisa dikatakan sama dengan
kromosom.
Inisialisasi Populasi Awal : Menentukan sejumlah kromosom awal yang
akan digunakan untuk komputasi selanjutnya
K-Means : Metode Klasifikasi tak terawasi (unsupervised)
yang membagi data ke dalam satu atau lebih
cluster atau kelompok.
K-Prototype : Algoritma yang digunakan untuk melakukan
clustering pada data dengan tipe campuran
numerik dan kategorikal
Kromosom : Gabungan dari gen-gen yang membentuk arti
tertentu.
Mutasi : Proses mengubah nilai dari satu atau beberapa
gen dalam suatu kromosom
Nilai Fitness : Nilai dari fungsi tujuan
Populasi : Sekumpulan individu yang akan diproses
secara bersama-sama dalam satu siklus proses
evolusi.
Pre-Evaluasi : Mempersiapkan dataset yang akan diclustering
dan menyesuaikannya dengan model
kromosom yang ada
xv
Pusat Cluster : Centroid dan medoid. Centroid adalah rataan
semua titik dalam cluster, sedangkan medoid
adalah titik yang paling mewakili cluster
Roulette-Wheel : Metode seleksi dimana masing-masing
kromosom menempati potongan lingkaran
pada roda roulette secara proporsional sesuai
dengan nilai fitness-nya
Seleksi : Suatu urutan proses dalam algortima genetika
untuk mendapatkan calon induk yang baik.
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Analisa Cluster saat ini merupakan salah satu metode yang banyak
digunakan untuk melakukan pengelompokan data menjadi segmensegmen yang
lebih kecil. Analisa Cluster merupakan suatu teknik yang digunakan untuk
membagi sekumpulan obyek ke dalam k kelompok sehingga nilai dalam setiap
kelompok adalah homogen dengan mengacu kepada atribut tertentu berdasarkan
kriteria tertentu (Huang dkk, 2007). Kesamaan nilai (homogenity) dalam setiap
segmen yang diwakili oleh cluster mengGambarkan kesamaan pola perilaku
pelanggan (Huang dkk, 2007). Dengan analisa cluster ini, kesamaan pola prilaku
pelanggan dapat digali melalui cluster-cluster yang terbentuk. Semakin akurat
cluster yang terbentuk maka akan semakin jelas kesamaan pola prilaku dari
pelanggan. Sehingga dengan demikian, para pelaku bisnis dapat menentukan
strategi pemasaran dengan lebih akurat, berdasarkan pada pola prilaku pelanggan
yang didapatkan dari proses analisa cluster tersebut.
Teknik clustering saat ini juga telah banyak digunakan untuk mengatasi
permasalahan yang terkait dengan segementasi data. Implementasi clustering ini
dapat diterapkan pada berbagai bidang sebagai contoh dalam hal pemasaran,
clustering dapat digunakan sebagai metode untuk mengelompokkan pelanggan
yang memiliki kesamaan dalam perilaku belanja. Tujuan utama dari metode
2
cluster adalah pengelompokan sejumlah data atau obyek ke dalam cluster (group)
sehingga dalam setiap cluster akan berisi data yang semirip mungkin. Dalam
clustering, sistem berusaha menempatkan obyek yang mirip (memiliki jarak yang
dekat) dalam satu cluster dan membuat jarak antar cluster yang sejauh mungkin.
Ini berarti obyek dalam satu cluster sangat mirip satu sama lain dan berbeda
dengan obyek dalam cluster-cluster yang lain. Clustering adalah salah satu teknik
unsupervised learning dimana fase training tidak diperlukan untuk metode ini.
Berkembangnya penelitian tentang teknik clustering, telah ditemukan
berbagai algoritma yang bisa menghasilkan cluster dengan tingkat akurasi yang
semakin baik. Salah satu teknik yang diusulkan oleh Liu dkk, tahun 2008 adalah
menggunakan algoritma genetika yang dikombinasikan dengan metode K-Means
Clustering, untuk mendapatkan jumlah cluster yang optimal. Kombinasi Metode
GA dan K-Means juga dimanfaatkan oleh Kim dkk, tahun 2008 untuk
pengelompokan pelanggan dalam membuat recomender system pada online
shoping market. Dari hasil penelitian tersebut, bisa disimpulkan bahwa GA K-
Means mampu menghasilkan pengelompokan (clustering) yang lebih baik
dibandingkan dengan Self Organising Map (SOM) yang berbasis neural network.
(Min Feng, Zhenyan-wang, 2011) melakukan penelitian untuk mengoptimalkan
Algoritma K-Means dalam menentukan pusat awal cluster, dimana hasil
penelitian menunjukkan bahwa algoritma K-Means memiliki kelemahan tidak
hanya memiliki ketergantungan pada data awal, tetapi juga konvergensi yang
cepat dan kualitas clustering. Untuk memperoleh cluster yang efektif dan akurat,
3
maka Min Feng dan Zhenyan-wang mengoptimalkan Algoritma K-Means (PKM)
dengan Algoritma Genetika menjadi sebuah Algoritma Hibrid (PGKM).
Percobaan menunjukkan bahwa algoritma itu memiliki kualitas cluster dan
performance yang baik.
Publikasi penelitian Liu dkk, tahun 2008 menggunakan algoritma genetik
(Genetic Algorithm, GA) dan dikombinasikan dengan metode clustering yang
sangat populer, yaitu K-Means untuk menemukan variabel yang valid dan jumlah
cluster optimal secara simultan. Hasil penelitian menunjukkan, gabungan
algoritma genetik dan K-Means berhasil menghilangkan variabel yang tidak
relevan dan menghasilkan jumlah cluster secara otomatis, dan berhasil
meningkatkan hasil pengelompokan pelanggan secara signifikan. Menurut K.Arun
Prabha, R.Saranya tahun 2011 dengan penelitinanya yang memperbaiki K-Means
Clustering dengan menggunakan algoritma genetik, dimana disebutkan Clustering
K-Means adalah sebuah algoritma clustering yang populer berdasarkan hasil
partisi data. Untuk meningkatkan kualitas dari cluster K-Means menggunakan
algoritma genetika dan hasil penelitian menunjukkan bahwa algoritma yang
diajukan mencapai hasil yang lebih baik. Chittu.V,N.Sumathi tahun 2011 dalam
penelitiannya menyebutkan ada sebuah algoritma Clustering baru yang diusulkan
yaitu Modified Genetic Algorithm Initializing K-Means (MGAIK). MGAIK
diinspirasi oleh sebuah metode initialization algoritma genetik untuk K-Means
clustering tapi beberapa fitur perbaikan dari GAIK. Akhirnya, ketika
perbandingan yang dilakukan mendapatkan hasil bawha MGAIK lebih baik dari
yang sederhana algoritma genetika .
4
Keseluruhan penelitian tersebut di atas, belum ada penelitian yang
memperhatikan kemungkinan munculnya kesalahan pada data karena adanya
perbedaan tipe data dalam dataset yang digunakan. Misalnya dalam penelitian
yang dilakukan oleh Liu dkk, data uji yang digunakan memiliki tipe data
campuran yaitu data dengan tipe numerik dan kategorikal. Sementara itu
penelitian yang dilakukan oleh Huang tahun 1997 dan Huang tahun 1998
menunjukkan bahwa, penanganan data kategorikal dengan metode untuk data
numerik tidak selalu memberikan hasil yang berguna, karena tidak semua data
categorical di dunia nyata disajikan dalam bentuk terurut (ordered).
Penelitian Huang tahun 1997 tersebut diusulkan sebuah algoritma yang
disebut dengan K-Prototype, untuk menangani clustering pada data dengan tipe
campuran numerik dan kategorikal. Penelitian ini telah menyajikan Algoritma K-
Prototype untuk cluster data set yang besar yang ada di dunia nyata. K-Prototype
adalah salah satu metode clustering yang berbasis partitioning. Algoritma ini
adalah hasil pengembangan atau kombinasi antara K-Means dan K-Modes
Clustering untuk menangani clustering pada data dengan campuran atribut bertipe
numerik dan kategorikal. K-Protoype memiliki keunggulan karena algoritmanya
yang tidak terlalu kompleks dan mampu menangani data yang besar lebih baik
dibandingkan dengan algoritma yang berbasis hierarki (Huang,1998).
Hasil yang diperoleh dari optimal dengan metode Clustering K-Prototype
akan dioptimasi dengan Algoritma Genetika. Algoritma Genetika sangat tepat
digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar
5
diselesaikan dengan menggunakan metode konvensional. Algoritma Genetika
adalah suatu metode algoritma optimalisasi dan pencarian yang didasarkan pada
prinsip genetika dan seleksi natural (Haupt.2004). Algoritma Genetika sebenarnya
terinspirasi dari prinsip genetika dan seleksi alam (teori Darwin) yang ditemukan
di Universitas Michigan, Amerika Serikat oleh John Holland melalui sebuah
penelitian dan dipopulerkan oleh salah satu muridnya, David Goldberg. Algoritma
genetika merupakan algoritma yang berusaha menerapkan pemahaman mengenai
evolusi alamiah pada tugas-tugas pemecahan-masalah (problem solving).
Berdasarkan pada fakta-fakta yang didapatkan dari beberapa penelitian
sebelumnya maka penulis melalui penelitian ini mengusulkan metode K-Prototype
yang dioptimasi dengan Algoritma Genetika untuk melakukan optimasi pada
pusat cluster, untuk mendapatkan pusat cluster yang optimal, sehingga akurasi
dari cluster menjadi lebih baik dimana data uji yang aka digunakan adalah
German Credit Dataset. German Credit Dataset adalah dataset yang banyak
digunakan dalam permasalahan klasifikasi untuk penilaian kelayakan pemberian
kredit.
6
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas, maka dapat dirumuskan masalah dari
penelitian ini adalah sebagai berikut :
1. Bagaimana menggabungkan metode clustering K-Prototype dan Algoritma
Genetika, dengan tujuan menghasilkan pengelompokan data yang lebih
baik dan memiliki kesamaan ciri atau karakteristik didalam cluster yang
semakin erat.
2. Bagaimana unjuk kerja metode gabungan K-Prototype dan Algoritma
Genetika dalam pembentukan pusat cluster, jika dibandingkan dengan
metode K-Prototype tanpa Algoritma Genetika. Selanjutnya dibandingkan
dengan metode K-Means. Ketiga Metode tersebut akan diuji dengan
menggunakan tipe data uji campuran numerik dan kategorikal yang sama.
1.3 Batasan Masalah
Dengan luasnya cakupan yang dapat terkait dengan tesis ini dan untuk
keseragaman pemahaman dalam penelitian, maka terdapat batasan-batasan yang
perlu diberlakukan pada penelitian ini. Adapun batasan permasalahan yang
penulis angkat pada penelitian ini adalah:
1. Optimasi Pusat Cluster pada K-Prototype menggunakan Algoritma
Genetika dengan studi kasus Segmentasi Pasar dengan menggunakan data
uji : German Credit Dataset, dataset tersebut adalah dataset yang umum
digunakan untuk klasifikasi pemberian kredit, yang terdiri dari 1000
record dengan 20 variabel.
7
2. Pengujian hasil akan dibandingkan dengan Metode K-Prototype tanpa
Algoritma Genetika, dan Metode K-Means Clustering.
1.4 Tujuan Penelitian
Tujuan yang diharapkan setelah penulis melakukan penelitian adalah
Mengimplementasikan metode K-Prototype dan Genetic Algorithm (GA) untuk
melakukan optimasi pada pusat cluster, khususnya pada data set dengan tipe data
campuran numerik dan kategorikal, sehingga diharapkan dapat menghasilkan
pengelompokan (cluster) data yang lebih baik.
1.5 Manfaat Penelitian
Manfaat yang bisa didapatkan dari penelitian ini adalah penggabungan
metode clustering K-Prototype dan Algortima Genetika, dapat digunakan untuk
membentuk cluster-cluster yang memiliki kesamaan karakteristik yang semakin
kompak dan erat, sehingga nantinya dapat dimanfaatkan oleh para pelaku bisnis
untuk membuat strategi pemasaran yang lebih fokus kepada cluster-cluster yang
terbentuk, dengan melihat karakteristik yang ada pada setiap cluster.
1.6 Keaslian Penelitian
Penelitian terkait yang sejenis adalah penelitian yang dilakukan oleh Min
Feng, Zhenyan Wang-(2011), yang berjudul A Genetic K-Means Clustering
Algorithm Based on the Optimized Initial Centers, penelitian ini bertujuan
mengoptimalkan initial centers pada algoritma K-Means untuk mementukan pusat
8
awal cluster. Penelitian yang dilakukan oleh Chittu.V, N.Sumathi (2011) yang
berjudul A Modified Genetic Algorithm Initializing K-Means Clustering. Dalam
penelitian ini disebutkan ada sebuah algoritma Clustering baru yang diusulkan
yaitu Modified Genetic Algorithm Initializing K-Means (MGAIK). MGAIK
diinspirasi oleh sebuah metode initialization Algoritma Genetik untuk K-Means
Clustering tapi beberapa fitur perbaikan dari GAIK.
Berdasarkan pada beberapa hasil penelitian yang telah dilakukan
sebelumnya, maka penulis mengusulkan pendekatan baru yaitu algoritma K-
Prototype yang dioptimasi dengan Algoritma Genetika untuk menghasilkan pusat
cluster yang optimal. Penelitian terkait yang menggunakan metode berbeda
penulis rangkum pada state of the art yang ada pada Bab II.
1.7 Sistematika Penulisan
Sistematika penulisan penelitian adalah sebagai berikut.
BAB I : PENDAHULUAN
Bab ini memaparkan mengenai latar belakang, rumusan masalah, tujuan,
manfaat, ruang lingkup dan batasan masalah, keaslian penelitian serta sistematika
penulisan dalam menyusun laporan penelitian.
BAB II : TINJAUAN PUSTAKA
Bab ini terdiri dari state of the art yang berisi penelitian sebelumnya yang
akan dijadikan perbandingan untuk penelitian ini, serta teori penunjang yang
digunakan membantu memecahkan permasalahan penjadwalan.
BAB III : METODE PENELITIAN
9
Bab ini berisikan alur analisis dari penelitian, tempat dan waktu penelitian,
tipe data, bentuk data, sumber data serta metode perancangan pembuatan sistem
seperti pemodelan sistem.
BAB IV : PEMBAHASAN
Bab ini berisikan pembahasan mengenai analisis dari penelitian,
pengukuran kinerja metode yang digunakan pada penelitian dan implementasi
sistem dengan data dari perusahaan tempat studi kasus.
BAB V : KESIMPULAN
Bab ini berisikan kesimpulan dan saran dari hasil penelitian ini.
10
BAB II
KAJIAN PUSTAKA
2.1 State of The Art
Beberapa penelitian yang telah dilakukan sebelumnya terkait dengan judul
yang diangkat:
Kombinasi Metode GA dan K-Means juga dimanfaatkan oleh Kim dkk,
tahun 2008, untuk pengelompokan pelanggan dalam membuat recomender sistem
pada online shoping market. Dari hasil penelitian tersebut, bisa disimpulkan
bahwa GA K-Means mampu menghasilkan pengelompokan (Clustering) yang
lebih baik dibandingkan dengan Self Organising Map (SOM) yang berbasis neural
network.
Penelitian dengan judul A Genetic K-Means ClusteringAlgorithm Based
on the Optimized Initial Centers, oleh Min Feng, Zhenyan Wang pada tahun
2011. Dalam penelitian tersebut menjelaskan mengenai optimalkan initial centers
sebuah Algoritma K-Means untuk mementukan pusat awal cluster. Percobaan
menunjukkan bahwa alogaritma K-Means memiliki kelemahan tidak hanya
memiliki ketergantungan pada data awal, tapi juga konvergensi yang cepat dan
kualitas Clustering. Untuk memperoleh cluster yang efektif dan akurat, maka
dioptimalkannya Algoritma K-Means (PKM) yang digabunggkan dengan
Algoritma Genetik menjadi sebuah Algoritma Hibrid (PGKM). Percobaan
menunjukkan bahwa alogaritma itu memiliki kualitas cluster dan performance
yang baik.
11
Publikasi metode K-Means Clustering menggunakan Genetic Algorithm,
oleh K.Arun Prabha, R.Saranya tahun 2011 yang mengangkat penelitian yang
berjudul Refinement of K-Means Clustering Using Genetic Algorithma. Dimana
dalam penelitian tersebut menyajikan Clustering K-Means adalah sebuah
algoritma Clustering yang populer berdasarkan hasil partisi data. Ada beberapa
kekurangan itu, seperti menentukan jumlah cluster di pertama, sensitif untuk
menentukan kondisi awal, dan memungkinkan suatu cluster tidak memiliki
anggota. Untuk meningkatkan kualitas dari cluster K-Means menggunakan
algoritma genetik. Hasil penelitian menunjukkan bahwa algoritma yang diajukan
mencapai hasil yang lebih baik daripada yang konvensional dan kernel algoritma
K-Means bila diterapkan pada data riil set .
Bashar Al-Shboul, and Sung-Hyon Myaeng pada tahun 2009, melakukan
penelitian yang berjudul Initializing K-Means using Genetic Algorithms. K-Means
(KM). Dalam penelitiannya membahas mengenai salah satu algoritma utama yang
digunakan dalam Clustering. Masalah lain KM adalah konvergen menuju local
minima. Ketika membandingkan hasil eksperimen K-Means, GKA, GAIK dan
KIGA kita menemukan bahwa KIGA lebih baik daripada yang lain. Seperti yang
ditunjukkan oleh hasil pada semua dataset KIGA siap untuk mencapai akurasi
Clustering yang tinggi jika dibandingkan dengan algoritma lainnya. Dalam
penelitian ini, mengusulkan dua algoritma untuk memecahkan masalah
inisialisasi, KM menginisialisasi algoritma genetik (GAIK) dan KM
menginisialisasi genetik algoritma (KIGA).
12
Penelitian yang berjudul A Modified Genetic Algorithm Initializing K-
Means Clustering, oleh Chittu.V, N.Sumathi pada tahun 2011. Dalam penelitian
ini disebutkan ada Sebuah algoritma Clustering baru yang diusulkan yaitu
Modified Genetic Algorithm Initializing K-Means ( MGAIK). MGAIK diinspirasi
oleh sebagai sebuah metode initialization algoritma genetik untuk K-Means
Clustering tapi beberapa fitur perbaikan dari GAIK. Karya ini menyajikan yang
Modifikasi Genetic Algorithm (MGA) dengan beberapa parameter subpopulasi
dan dinamis. Untuk menunjukkan efektivitas dan efisiensi algoritma, sebuah
perbandingan tersebut dilakukan di antara K-Means, GAIK dan MGAIK.
Akhirnya, ketika membandingkan hasil percobaan K-Means, GAIK dan MGAIK
jelas bahwa MGAIK lebih baik dari yang sederhana algoritma genetik.
Zhexue Huang tahun 1998 mempubilkasikan penelitiannya yang berjudul
Extensions to the K-Means Algorithm for Clustering Large Data Sets with
Categorical Values. Dalam penelitian ini menyajikan dua algoritma yang
memperluas algoritma K-Means untuk domain kategorikal dan dengan campuran
nilai-nilai numerik dan kategori. Algoritma K-Prototype, mengintegrasikan K-
Means dan K-Modes algoritma untuk melakukan Clustering pada data campuran.
Menggunakan data set penyakit tanaman (soybean disease) untuk mengukur
kinerja algoritma yg digunakan. Dari penelitian tersebut didapatkan bahwa
algoritma tersebut sangat efisien untuk melakukan Clustering pada data set yang
berukuran besar.
13
Penelitian yang dipubilkasikan dengan judul Clustering Large Data Sets
With Mixed Numeric and Categorical Value oleh Zhexue Huang, Penelitian ini
membahas Algoritma K-Means yang menjanjikan untuk efisiensi mereka dalam
pengolahan kumpulan data besar. Namun, penggunaannya sering terbatas untuk
data numerik. Menyajikan algoritma K-Prototype yang didasarkan pada
paradigma K-Means tapi menghilangkan batasan data numerik untuk efisiensi.
Penelitian ini didorong oleh masalah dari berurusan dengan kumpulan data besar
campuran, yang umum dalam aplikasi data mining. Penelitian ini telah
menyajikan Algoritma K-Prototype untuk cluster data set yang besar yang ada di
dunia nyata. Telah menunjukkan efisien untuk Clustering data numerik dan data
kategorikal.
2.2 Algoritma Genetika
Algoritma Genetika pertama kali diperkenalkan oleh John Holland dalam
bukunya yang berjudul Adaption in natural and artificial systems, dan oleh De
Jong dalam bukunya Adaption of the behavior of a class of genetic adaptive
systems, yang keduanya diterbitkan pada tahun 1975, yang merupakan dasar dari
Algoritma Genetika (Davis, 1991).
Algoritma Genetik sebenarnya terinspirasi dari prinsip genetika dan
seleksi alam (teori Darwin) yang ditemukan di Universitas Michigan, Amerika
Serikat oleh John Holland melalui sebuah penelitian dan dipopulerkan oleh salah
satu muridnya, David Goldberg menghasilkan buku berjudul "Adaption in Natural
and Artificial Systems" pada tahun 1975. Konsep dasar algoritma genetika
14
sebenarnya dirancang untuk mensimulasikan proses-proses dalam sistem alam
yang diperlukan untuk evolusi, khusunya teori evolusi alam yang dicetuskan oleh
Charles Darwin, yaitu survival of the fittest. Menurut teori ini, di alam terjadi
persaingan antara individu-individu untuk memperebutkan sumber daya alam
yang langka sehingga makhluk yang kuat mendominasi makhluk yang lemah.
Algoritma genetika adalah suatu algoritma pencarian yang berbasis pada
mekanisme seleksi alam dan genetika. Algoritma genetika merupakan salah satu
algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi
kompleks, yang sulit dilakukan oleh metode konvensional (Desiani, 2006).
Algoritma Genetika banyak dipakai pada aplikasi bisnis, teknik maupun
pada bidang keilmuan lainnya. Algoritma ini dimulai dengan kumpulan solusi
yang disebut dengan populasi. Solusi-solusi dari sebuah populasi diambil dan
digunakan untuk membentuk populasi yang baru. Hal ini dimotivasi dengan
harapan bahwa populasi yang baru dibentuk tersebut akan lebih baik daripada
yang lama. Solusi-solusi yang dipilih untuk membentuk solusisolusi yang baru
dipilih sesuai dengan fitness mereka masing-masing (Juniawati, 2003).
Pertahanan yang tinggi dari individu memberikan kesempatan untuk
melakukan reproduksi melalui perkawinan silang dengan individu yang lain
dalam populasi tersebut. Individu baru yang dihasilkan dalam hal ini dinamakan
keturunan, yang membawa beberapa sifat induknya.Sedangkan individu dalam
populasi yang tidak terseleksi dalam reproduksi akan mati dengan sendirinya.
Dengan jalan ini, beberapa generasi dengan karakteristik yang bagus akan
bermunculan dalam populasi tersebut, untuk kemudian dicampur dan ditukar
15
dengan karakter lain. Dengan mengawinkan semakin banyak individu, maka akan
semakin banyak kemungkinan terbaik yang dapat diperoleh.
Sifat algoritma genetik mencari kemungkinan-kemungkinan dari kandidat
solusi untuk mendapatkan yang optimal untuk penyelesaian masalah. Ruang
cakupan dari semua solusi yang layak (feasible), yaitu objek-objek diantara solusi
yang sesuai, dinamakan ruang pencarian (search space). Tiap titik dalam ruang
pencarian merepresentasikan satu solusi yang layak. Tapi solusi yang layak dapat
ditandai dengan nilai fitness-nya bagi masalah.
Sebelum Algoritma Gentika dapat dijalankan, maka sebuah kode yang
sesuai(representatif) untuk persoalan harus dirancang. Untuk ini maka titik solusi
dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri
atas komponen genetik terkecil yaitu gen. Dengan teori evolusi dan teori genetika,
di dalam penerapan Algoritma Genetika akan melibatkan beberapa operator,
yaitu:
1. Operasi Evolusi yang melibatkan proses seleksi (selection) di dalamnya.
2. Operasi Genetika yang melibatkan operator pindah silang (crossover) dan
mutasi (mutation).
Algoritma genetika merupakan algoritma yang berusaha menerapkan
pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan-masalah
(problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan
menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu
kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu
kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi
16
ini akan merepresentasikan perbaikan-perbaikan pada populasi awalnya. Dengan
melakukan proses ini secara berulang, algoritma ini diharapkan dapat
mensimulasikan proses evolusioner. Pada akhirnya, akan didapatkan solusi-solusi
yang paling tepat bagi permasalahan yang dihadapi.
Algoritma genetika sangat tepat digunakan untuk penyelesaian masalah
optimasi yang kompleks dan sukar diselesaikan dengan menggunakan metode
konvensional. Sebagaimana halnya proses evolusi di alam, suatu algoritma
genetika yang sederhana umumnya terdiri dari tiga operasi yaitu: operasi
reproduksi, operasi persilangan (crossover), dan operasi mutasi.
Struktur umum dari suatu algoritma genetika dapat didefinisikan dengan
langkahlangkah sebagai berikut (Utami 2008):
1. Membangkitkan populasi awal secara random.
2. Membentuk generasi baru dengan menggunakan tiga operasi diatas secara
berulang-ulang sehingga diperoleh kromosom yang cukup untuk
membentuk generasi baru sebagai representasi dari solusi baru.
Evolusi solusi yang akan mengevaluasi setiap populasi dengan
menghitung nilai fitness setiap kromosom hingga kriteria berhenti terpenuhi. Bila
kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan
mengulangi langkah 2. beberapa kriteria berhenti yang sering digunakan antara
lain (Utami, 2008):
17
1. Berhenti pada generasi tertentu
2. Berhenti jika sudah ditemukan solusi, yaitu solusi yang sesuai dengan
kriteria
3. Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai
fitness tertinggi/terendah (tergantung persoalan) tidak berubah
(konvergen).
4. Kombinasi dari kriteria kriteria diatas.
Beberapa pengertian dasar yang perlu diketahui mengenai Algoritma Genetika :
1. Gen (Genotype) adalah variabel dasar yang membentuk suatu kromosom.
Dalam algoritma genetika, gen ini bisa bernilai biner, float, integer
maupun karakter.
2. Alelle adalah nilai suatu gen, bisa berupa biner, float, integer maupun
karakter.
a. Kromosom adalah gabungan dari gen-gen yang membentuk arti
tertentu. Ada beberapa macam bentuk kromosom.
b. Kromosom biner, adalah kromosom yang disusun dari gen-gen yang
bernilai biner. Kromosom ini mempunyai tingkat keberhasilan yang
tinggi. Jumlah gen pada kromosom biner menunjukkan tingkat
ketelitian yang diharapkan. Kromosom ini bagus bila digunakan untuk
permasalahan yang parameter dan range nilainya tertentu.
c. Kromosom Float adalah kromosom yang disusun dari gen-gen yang
bernilai pecahan, termasuk gen yang bernilai bulat. Kromosom ini
18
merupakan model dengan jumlah parameternya banyak. Tingkat
keberhasilan dari kromosom ini rendah dalam kecepatan (jumlah
generasi). Model cross-over dan mutasi pada kromosom ini sangat
berbeda dengan kromosom biner sehingga diperlukan strategi khusus
untuk melakukan cross-over dan mutasi. Nilai range (min max)
menjadi tidak penting.
d. Kromosom String, yaitu kromosom yang disusun dari gen-gen yang
bernilai string.
e. Kromosom Kombinasi, yaitu kromosom yang disusun dari gen-gen
yang dinilai berdasarkan urutannya.
3. Individu adalah kumpulan gen, bisa dikatakan sama dengan kromosom.
Individu menyatakan salah satu kemungkinan solusi dari suatu
permasalahan.
4. Populasi adalah sekumpulan individu yang akan diproses secara bersama-
sama dalam satu siklus proses evolusi.
5. Generasi menyatakan satu satuan siklus proses evolusi.
6. Nilai Fitness menyatakan seberapa baik nilai dari suatu individu atau
solusi yang didapatkan. Nilai inilah yang dijadikan acuan untuk mencapai
nilai optimal.
19
Gambar 2.1 Visualisasi gen, allele, kromosom, individu, dan populasi pada
Algoritma Genetika (T. Sutojo,S.Si dkk, 2011)
Ciri-ciri permasalahan yang dapat dikerjakan dengan menggunakan algoritma
genetika adalah (Basuki, 2003):
20
1. Mempunyai fungsi tujuan optimalisasi non linear dengan banyak kendala
yang juga non linear.
2. Mempunyai kemungkinan solusi yang jumlahnya tak berhingga.
3. Membutuhkan solusi real-time dalam arti solusi bisa didapatkan dengan
cepat sehingga dapat diimplementasikan untuk permasalahan yang
mempunyai perubahan yang cepat seperti optimasi pada pembebanan
kanal pada komunikasi seluller.
4. Mempunyai multi-objective dan multi-criteria, sehingga diperlukan solusi
yang dapat secara bijak diterima oleh semua pihak.
2.2.1 Siklus Algoritma Genetika
David Goldberg orang pertama kali memperkenalkan siklus algoritma
genetika yang di Gambarkan seperti Gambar 2. Siklus dimulai dari membuat
populasi awal secara acak, kemudian setiap individu dihitung nilai fitness nya.
Proses berikutnya adalah seleksi individu terbaik, kemudian dilakukan cross-over
dan dilanjutkan oleh proses mutasi sehingga terbentuk populasi baru. Selanjutnya
populasi baru ini mengalami siklus yang sama dengan populasi sebelumnya.
Proses ini berlangsung terus hingga generasi ke n.
21
Gambar 2.2 Siklus algoritma genetika yang diperkenalkan oleh David
Goldberg
Siklus ini kemudian diperbaiki oleh Zbigniew Michalewicz dengan
menambahkan satu proses elitisme dan membalik proses reproduksi terlebih
dahulu, kemudian proses seleksi seperti tampak pada Gambar.
Gambar 2.3 Siklus algoritma genetika yang diperbaiki oleh Zbigniew
Michalewicz
22
Algoritma genetik secara umum dapat diilustrasikan dalam diagram alir berikut
(Goldberg, 1989):
Gambar 2.4 Struktur Umum Algoritma Genetik
Keterangan singkat dari Gambar 2.4, Algoritma Genetika secara umum struktur
yang akan dimplementasikan adalah sebagai berikut (Thiang,dkk. 2001):
1. Bangkitkan Populasi awal
Proses ini merupakan proses yang digunakan untuk membangkitkan
populasi awal secara random sehingga didapatkan solusi awal. Populasi
awal ini dibangkitkan secara random sehingga diperoleh solusi awal.
Populasi ini sendiri terdiri atas sejumlah kromosom yang
mempresentasikan solusi yang diinginkan.
23
2. Evaluasi fitness
Proses ini merupakan proses untuk mengevaluasi setiap populasi dengan
menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai
terpenuhi kriteria berhenti. Suatu individu dievaluasi berdasarkan suatu
fungsi tertentu sebagai ukuran performansinya. Didalam evolusi alam,
individu yang bernilai fitness rendah akan mati. Pada masalah optimasi,
jika solusi yang dicari adalah memaksimalkan sebuah fungsi h (dikenal
sebagai masalah maksimasi), maka nilai fitness yang digunakan adalah
nilai dari fungsi h tersebut, yakni fitness f = h .
3. Seleksi
Proses seleksi merupakan proses untuk menentukan individu-individu
mana saja yang akan dipilih untuk dilakukan crossover. Ada beberapa
jenis metode seleksi yang biasa digunakan diantaranya yaitu : Metode
yang menirukan permainan roulette-wheel dimana masing-masing
kromosom menempati potongan lingkaran pada roda roulette secara
proporsional sesuai dengan nilai fitnessnya. Seleksi Rangking Proses
dimulai dengan merangking atau mengurutkan kromosom di dalam
populasi berdasarkan fitnessnya kemudian memberi nilai fitness baru
berdasarkan urutannya.
4. Crossover
Proses crossover ini merupakan proses untuk menambah keanekaragaman
string dalam satu populasi. Operator pindah silang mempunyai peran yang
paling penting dalam algoritma genetik karena didalamnya terdapat proses
24
perkawinan (persilangan) gen antara dua individu (parent) yang
menghasilkan dua individu baru (offspring) pada generasi berikutnya.
5. Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen
dalam suatu kromosom. Mutasi menciptakan individu baru dengan
melakukan modifikasi satu atau lebih gen dalam individu yang sama.
Mutasi berfungsi untuk menggantikan gen yang hilang dari populasi
selama proses seleksi serta menyediakan gen yang tidak ada dalam
populasi awal.
6. Kriteria berhenti
Kriteria berhenti merupakan kriteria yang digunakan untuk menghentikan
proses Algoritma Genetika yang merupakan tujuan yang ingin dicapai dari
proses tersebut.
7. Hasil
Hasil merupakan solusi optimum yang didapat dengan menggunakan
Algoritma Genetika.
2.2.2 Teknik Encoding/Decoding Gen dan Individu
Teknik Encoding/Decoding Gen dan Individu merupakan salah satu
komponen dari algoritma genetika, dimana Encoding (pengkodean) berguna untuk
mengkodekan nilai gen-gen pembentuk individu. Nilai-nilai gen ini diperoleh
secara acak. Ada 3 pengkodean yang paling umum digunakan, yaitu Pengkodean
bilangan real : nilai gen berada dalam interval [0 1 ]
25
Contoh :
3 variabel (x1,x2,x3) dikodekan ke dalam individu yang terdiri dari 3 gen
x1 x2 x3
0,2431 0,9846 0,5642
g1 g2 g3
Pengkodean diskrit desimal : nilai gen berupa bilangan bulat dalam interval [0 9]
Contoh :
3 Variabel (x1, x2, x3) dikodekan ke dalam individu yang terdiri dari 9 gen, tiap-
tiap variabel dikodekan ke dalam 3 gen.
Pengkodean Biner : nilai gen berupa bilangan biner 0 atau 1. 3 Variabel (x1, x2,
x3) dikodekan ke dalam individu yang terdiri dari 9 gen, tiap-tiap variabel
dikodekan ke dalam 3 gen.
26
Decoding (pengkodean) berguna untuk mengkodekan gen-gen pembentuk
individu agar nilainya tidak melebihi range yang telah ditentukan dan sekaligus
menjadi nilai variabel yang akan dicari sebagai solusi permasalahan. Jika nilai
variabel x yang telah dikodekan tersebut range-nya dirubah menjadi [ra rb], yaitu
rb=batas bawah, ra = batas atas, maka cara untuk mengubah nilai-nilai variabel di
atas hingga berada dalam range yang baru [rb ra], disebut Decoding
(pengkodean).
Pendekodean Bilangan real :
X = rb + (ra - rb) g
Pendekodean Diskrit Desimal :
X = rb + (ra - rb) (g1 x 10-1
+ g2 x 10-2
+.......+ gn x 10-n
)
Pendekodean Biner :
X = rb + (ra - rb) (g1 x 2-1
+ g2 x 2-2
+.......+ gn x 2-n
)
Dengan catatan bahwa N adalah jumlah gen dalam individu.
27
2.2.3 Representasi Kromosom
Representasi kromosom merupakan proses awal sebelum masuk proses
regenerasi. Cara merepresentasikan permasalahan dalam kromosom merupakan
suatu hal yang penting dalam algoritma genetika. Model representasi kromosom
yang dapat dipergunakan untuk menyelesaikan suatu masalah, antara lain :
2.2.3.1 Kromosom Biner
Kromosom biner merupakan kromosom yang disusun dari gen-gen yang
bernilai 0 dan 1. Kromosom ini adalah model standar dalam algoritma genetika.
Kromosom biner merupakan model yang sederhana dengan tingkat keberhasilan
yang tinggi. Permasalahan yang direpresentasikan dengan kromosom biner antara
lain, knapsack, TSP, Optimasi fungsi dll. Contoh representasi kromosom biner
seperti pada Gambar.
Kromosom A 1 0 1 1 0
Kromosom B 1 1 0 0 0
Gambar 2.5 Contoh Kromosom Biner
2.2.3.2 Kromosom Float
Kromosom float merupakan model yang jumlah parameternya banyak.
Tingkat keberhasilan dari bentuk kromosom ini rendah dalam kecepatan (jumlah
generasi).
28
Model crossover dan mutasi pada kromosom float ini sangat berbeda
dengan model crossover dan mutasi pada kromosom biner. Sehingga perlu
strategi khusus didalam menentukan model crossover dan mutasi. Contoh
representasi kromosom float seperti pada Gambar.
Kromosom A 1.2 3.4 1.6 2.2 4.1
Kromosom B 2.2 3.1 1.2 4.2 1.6
Gambar 2.6 Contoh Kromosom Float
2.2.3.3 Kromosom Nilai
Kromosom nilai tersusun dari gen gen bernilai string dari suatu nilai
(simbol). Nilai tersebut merupakan suatu hal yang berhubungan dengan masalah
yang akan diselesaikan. Permasalahan yang menggunakan kromosom ini
biasanya akan sulit dipecahkan jika menggunakan pengkodean biner (kromosom
biner). Contoh representasi kromosom nilai seperti pada Gambar .
Kromosom A 1,2 3,3 2,5 1,6 4,4 35
Kromosom B AHDKHSTFNSFKSL
Kromosom C (left) (right) (back)
Gambar 2.7 Contoh Kromosom Nilai
29
2.2.3.4 Kromosom Permutasi
Kromosom A 8 5 4 9 1 2 3 6 7
Kromosom B 9 1 2 4 3 8 5 7 6
Gambar 2.8 Contoh Kromosom Permutasi
Kromosom kombinatorial yaitu kromosom yang disusun dari gengen
yang dinilai berdasarkan urututannya. Kromosom ini biasanya digunakan untuk
menyelesaikan permasalahan pengurutan seperti Ordering task dan TSP. Contoh
representasi kromosom permutasi seperti pada Gambar 2.8.
2.2.4 Membangkitkan Populasi Awal
Pada awalnya solusi individual akan secara acak dibuat dalam bentuk
sebuah inisial populasi. Besar populasinya sangat tergantung pada keadaan
masalah itu sendiri, tapi biasanya populasi mengandung sekitar beberapa ratus
atau bahkan ribuan solusi yang mungkin. Secara sederhana, populasinya dibuat
secara acak, dengan mengcaver seluruh kemungkinkan solusi (search space).
Membangkitkan populasi awal adalah proses membangkitkan sejumlah
individu secara acak atau melalui prosedur tertentu. Sebelum membangkitkan
populasi awal, terlebih dahulu kita harus menentukan jumlah individu dalam
populasi tersebut. Misalnya jumlah individu tersebut N. Setelah itu, baru kita
membangkitkan populasi awal yang mempunyai N individu secara random.
30
Syarat-syarat yang harus dipenuhi untuk menunjukkan suatu solusi harus benar-
benar diperhatikan dalam pembangkitan setiap individunya.
2.2.5 Nilai Fitness
Nilai fitness menyatakan nilai dari fungsi tujuan. Tujuan dari algoritma
genetika adalah memaksimalkan nilai fitness. Jika yang dicari nilai maksimal,
maka nilai fitness adalah nilai dari fungsi itu sendiri. Tetapi jika yang dibutuhkan
adalah nilai minimal, maka nilai fitness merupakan invers dari nilai fungsi itu
sendiri. Proses invers dapat dilakukan dengan cara berikut.
Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran
performansinya. Didalam evolusi alam, individu yang bernilai fitness rendah akan
mati. Pada masalah optimasi, jika solusi yang dicari adalah memaksimalkan
sebuah fungsi h (dikenal sebagai masalah maksimasi), maka nilai fitness yang
digunakan adalah nilai dari fungsi h tersebut, yakni fitness f = h . Tetapi jika
masalahnya adalah meminimalkan fungsi h (masalah minimasi), maka fungsi h
tidak bisa digunakan secara langsung. Hal ini disebabkan adanya aturan bahwa
individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup pada
generasi berikutnya. Oleh karena itu nilai fitness yang bisa digunakan adalah f =
1/h , yang artinya semakin kecil nilai h , semakin besar nilai f (fitness). Tetapi hal
ini akan menjadi masalah jika h bisa bernilai 0, yang mengakibatkan f bisa
bernilai tak hingga. Untuk mengatasinya, h perlu ditambah sebuah bilangan yang
dianggap sangat kecil sehingga nilai fitnessnya menjadi :
31
f =
(2.1)
dimana a adalah bilangan yang dianggap sangat kecil dan bervariasi sesuai dengan
masalah yang akan diselesaikan.
2.2.6 Elitisme
Elitisme adalah prosedur untuk meng-copy individu yang mempunyai nilai
fitness tertinggi sebanyak satu (bila jumlah individu dalam suatu populasi adalah
ganjil) atau dua (bila jumlah individu dalam suatu populasi adalah genap). Hal ini
dilakukan agar individu ini tidak mengalami kerusakan (nilai fitness-nya
menurun) selama proses pindah silang maupun mutasi. Misalnya pada contoh
sebelumnya, maka individu ke-4 dibuat copy-nya sebanyak satu, kemudian
disimpan dalam variabel temporer_individu.
Contoh : temporer_individu =111, 111;
2.2.7 Seleksi
Kadang kala suatu fungsi tertentu dapat menyebabkan setiap individu
mempunyai nilai fitness hampir sama. Hal ini bisa berakibat buruk pada saat
dilakukan proses seleksi untuk memilih orangtua karena dapat menyebabkan
optimum lokal. Gambar menggambarkan bagaimana terjadinya optimum lokal.
Pada Gambar 2.9 untuk sebelah kiri, semua individu berada sangat jauh
dari titik optimal sesungguhnya. Kebetulan ada satu individu P yang nilai fitness-
nya tertinggi dibanding individu lainnya. Akibatnya individu P akan
32
memproduksi banyak anak. Pada generasi tertentu individu P dan anak-anaknya,
melalui proses pindah silang dan mutasi, akan menghasilkan individu-individu
yang mendekati lokal optimum (gambar sebelah kanan), sehingga terjadilah
konvergensi prematur, di mana populasi konvergen pada suatu solusi optimal
lokal. Permasalahan inilah yang sering muncul pada algoritma genetika.
Gambar 2.9 Grafik Lokal Optimim (T.Sutojo, Edy Mulyanto, Dr. Vincent
Suhartono, 2011)
Pada Gambar sebelah kiri, individu P mempunyai nilai fitness tertinggi
dibanding individu lainnya. Pada gambar sebelah kanan, populasi konvergen pada
suatu optimum lokal dekat individu P. Tidak ada individu yang mencapai nilal
optimal sebenarnya. Untuk menghindari hal ini, dibuatlah suatu mekanisme yang
disebut dengan Linier Fitness Rangking (LFR). Tujuan dan mekanisme mi
sebenarnya adalah untuk melakukan penskalaan nilai-nilai fitness dengan
menggunakan persamaan berikut.
33
LFR(i) =fmax (fmax - fmin)(
) (2.2)
Dengan catatan bahwa:
LFR(i) = nilai LFR individu ke-i
N = jumlah individu dalam populasi
R(i) = rangking individu ke-i setelah diurutkan dan nilai fitness terbesar hingga
terkecil
fmax = nilai fitness tertinggi
fmin = nilai fitness terendah
Seleksi dilakukan untuk mendapatkan calon induk yang baik. Induk yang
baik akan menghasilkan keturunan yang baik. Semakin tinggi nilai fitness suatu
individu semakin besar kemungkinannya untuk terpilih. Seleksi dapat dilakukan
dengan menggunakan dua macam teknik, yaitu
Metode ini menirukan permainan roulette-wheel di mana masing-masing
kromosom menempati potongan lingkaran pada roda roulette secara proporsional
sesuai dengan nilai fitness-nya. Kromosom yang memiliki nilai fitness lebih besar
menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom
bernilai fitness rendah. Berikut ini mengilustrasikan sebuah contoh penggunaan
metode Roulette-Wheel.
34
Tabel 2.1 Kromosom dan Nilai fitnessnya
Kromosom Nilai
Fitness
A 1
B 2
C 0,5
D 0,5
Jumlah 4
Tabel 2.1 menunjukkan suatu populasi dengan 5 kromosom dan telah
dihitung masing-masing nilai fitnessnya. Masing-masing kromosom memiliki
fitness yang berbeda
Gambar 2.10 Contoh probabilitas kromosom pada roda roullete
Gambar diatas merupakan representasi nilai fitness masing-masing
kromosom pada roda roulette.
37.5%
12.5%
25%
12.5%
12.5%
Roda Roulette
A
B
C
D
E
35
Gambar 2.11 Seleksi dengan Roulette-Wheel
2.2.7.1 Seleksi Rangking (Rank Selection)
Tabel 2.2 Kondisi kromosom sebelum dan sesudah di ranking
Sebelum Sesudah
Kromosom Fitness Kromoso
m Fitness
Fitness
baru
A 15 B 5 1
B 5 D 5 2
C 10 E 5 3
D 5 C 10 4
E 5 A 15 5
Pada metode seleksi roda roulette akan bermasalah saat terdapat
perbedaan fitness yang jauh. Sebagai contoh, jika fitness kromosom yang terbaik
36
adalah 90% dari semua roda roulette dapat menyebabakan kromosom lain
memiliki kesempatan yang kecil untuk dapat terpilih.
Proses dimulai dengan merangking atau mengurutkan kromosom di dalam
populasi berdasarkan fitnessnya kemudian memberi nilai fitness baru berdasarkan
urutannya. Kromosom dengan nilai terburuk akan memiliki fitness baru nilai 1,
terburuk kedua bernilai 2 dan begitu seterusnya, sehingga kromosom yang
memiliki fitness terbaik akan memiliki nilai fitness N, dimana N adalah jumlah
kromosom di dalam populasi. Seperti dapat dilihat pada tabel 2.
Setelah adanya proses seleksi tersebut, maka saat ini seluruh kromosom
mempunyai kesempatan untuk dipilih. Kelemahan metode ini terletak pada
kecepatan pencapaiannya. Hal ini dikarenakan kromosom yang lebih baik tidak
bisa menjadi petunjuk bagi populasi untuk mendapatkan solusi terbaik secara
mudah, sehingga untuk mencapai solusi yang baik memerlukan waktu yang lebih
lama.
2.2.7.2 Seleksi Turnamen (Turnamen Selection)
Metode ini merupakan kombinasi dari seleksi roda roulette dan seleksi
rangking. Sejumlah k kromosom tertentu dari populasi beranggota n kromosom (k
n) dipilih secara acak dengan probabilitas yang sama. Dari k kromosom yang
terpilih kemudian akan dipilih satu kromosom dangan fitness terbaik, yang
diperoleh dari hasil pengurutan rangking fitness semua kromosom terpilih.
37
Perbedaan dengan seleksi roda roulette adalah pemilihan kromosom yang akan
digunakan untuk berkembangbiak tidak berdasarkan skala fitness dari populasi.
Partikel data merupakan partisi dari sebuah kelas yang antara sembarang
pasangan anggotanya memiliki jarak kurang dari radius tertentu. Cara termudah
untuk membuat partikel data ialah memperlakukan setiap anggota data pelatihan
sebagai partikel data tunggal. Cara ini akan menghasilkan perhitungan gravitasi
data yang sangat akurat. Namun cara ini akan mengakibatkan proses klasifikasi
tidak efisien dari segi waktu komputasi.
2.3 Operator Genetika
Operator genetik dipergunakan untuk mengkombinasi (modifikasi) individu
dalam aliran populasi guna mencetak individu pada generasi berikutnya
2.3.1 Operator Reproduksi
Untuk setiap solusi baru yang dibentuk, sebuah pasangan "parent" atau
orang tua solusi dipilih dari kumpulan populasi sebelumnya. Dengan membuat
sebuah "child" atau anak solusi menggunakan metode diatas, yaitu persilangan
dan mutasi, sebuah solusi baru telah dibuat, dimana pada umumnya anak akan
mewarisi bagian-bagian dari orang tuanya. Orang tua baru dipilih lagi dan
membuat suatu anak solusi lagi, dan berlanjut sampai suatu populasi solusi baru
dengan ukuran yang cukup terbentuk
38
2.3.1.1 Operator Pindah Silang (Crossover)
Operator pindah silang mempunyai peran yang paling penting dalam
algoritma genetik karena didalamnya terdapat proses perkawinan (persilangan)
gen antara dua individu (parent) yang menghasilkan dua individu baru (offspring)
pada generasi berikutnya.
Crossover (Pindah Silang) merupakan salah satu operator dalam algoritma
genetika yang melibatkan dua induk untuk menghasilkan keturunan yang baru.
Crossover dilakukan dengan melakukan pertukaran gen dari dua induk secara
acak. Macam-macam Crossover yang banyak digunakan antara lain: pertukaran
gen secara langsung dan pertukaran gen secara aritmatika. Proses crossover
dilakukan pada setiap individu dengan probabilitas crossoveryang ditentukan.
Sebuah individu yang mengarah pada solusi optimal bisa diperoleh
melalui proses pindah silang, dengan catatan bahwa pindah silang hanya bisa
dilakukan jika sebuah bilangan random r dalam interval [0 1] yang dibangkitkan
nilainya lebih kecil dari probabilitas tertentu prob, dengan kata lain : r < prob.
Biasanya nilai prob diset mendekati 1. Cara yang paling sederhana untuk
melakukan pindah silang adalah pindah silang satu titik potong. Posisi titik
potong dilakukan secara random.
Penentuan individu yang berhak melakukan operasi crossover tergantung
pada probabilitas crossover (Pc) yang telah ditentukan. Langkah- langkah untuk
melakukan operasi crossover sebagai berikut :
39
1. Tentukan probabilitas crossover (Pc).
2. Lakukan proses seleksi untuk memilih individu yang akan mengalami
crossover
3. Lakukan crossover. Crossover : Pertukaran secara langsung, dengan
ditentukan probabilitas crossover= 0,9, seperti pada Gambar 2.12
Gambar 2.12 Pertukaran secara langsung
Cross Over : Pertukaran Secara Aritmatika
40
Gambar 2.13 Pertukaran Secara Aritmatika
Beberapa teknik atau metode crossover yaitu (Utami, 2008) :
1. Pindah Silang Satu Titik (One Point Crossover)
Pada pindah silang satu titik (one-point crossover), satu titik sepanjang
kromosom dipilih secara random. Segmen dari induk dari titik point ke kiri atau
kekanan ditukar untuk menghasilkan individu baru. Mekanisme one point
crossover diilustrasikan pada gambar berikut.
41
Gambar 2.14 Proses one point crossover
2. Pindah Silang Dua Titik (Two Point Crossover)
Pada pindah silang dua titik, dua titik sepanjang kromosom dipilih secara
random. Segmen induk diantara kedua titik potong dipertukarkan untuk
menghasilkan individu baru. Mekanisme two point crossover diilustrasikan pada
gambar berikut :
42
Gambar 2.15 Proses two point crossover
3. Pindah Silang Banyak Titik (N-point Crossover)
Gambar 2.16 Proses n point crossover
43
Pada pindah silang banyak titik, sejumlah N titik sepanjang kromosom
dipilih secara random, dimana titik potong tidak boleh sama. Mekanisme n point
crossover diilustrasikan pada gambar dibawah ini.
4. Pindah Silang Seragam (Uniform Crossover)
Pada uniform crossover, sejumlah N titik ditentukan secara random baik
itu jumlah maupun letaknya. Segmen yang dipertukarkan sesuai dengan jumlah
titik potong yang didapatkan secara random tersebut. Uniform crossover hampir
sama dengan N point crossover. Untuk uniform crossover, jumlah titik ditentukan
secara random sedangkan N point jumlah titik sudah ditentukan. Uniform
crossover juga akan sama dengan two point crossover jika titik potong yang
dihasilkan dua titik.
Gambar 2.17 Proses uniform crossover
44
5. Pindah Silang Aritmatik (Aritmathic Crossover)
Pada pindah silang ini digunakan operator aritmatik untuk menghasilkan
kromosom baru.
Contoh :
Induk 1 : 1 1 0 0 1 0 1 1 1 0 0 0
Induk 2 : 1 0 0 1 1 1 0 0 1 1 0 1
Anak (OR) : 1 1 0 1 1 1 1 1 1 1 0 1
6. Pindah Silang untuk Pengkodean Permutasi
Pindah silang dengan permutasi (Permutation Crossover) ini biasa
menggunakan teknik pindah silang satu titik karena prosesnya yang sederhana dan
agar tetap menjaga konsistensi urutan nilai pada kromosom.
Dalam proses penyilang ini, pertama kali ditentukan posisi titik pindah
silang. Kemudian dari gen pertama sampai dengan titik perkawinan silang disalin
dari induk pertama, sedangkan sisanya didapatkan dengan cara melihat satu
persatu nilai pada orang tua kedua, jika belum ada pada kromosom keturunan,
maka nilai tersebut ditambahkan. Berikut contoh :
Induk 1 : 1 2 3 4 5 6 7 8 9
Induk 2 : 4 5 3 6 8 9 7 2 1
Anak 1 : 1 2 3 4 5 6 8 7 9
Anak 2 : 4 5 3 6 8 1 2 7 9
45
2.3.1.2 Operator Mutasi
Mutasi menciptakan individu baru dengan melakukan modifikasi satu atau
lebih gen dalam individu yang sama. Mutasi berfungsi untuk menggantikan gen
yang hilang dari populasi selama proses seleksi serta menyediakan gen yang tidak
ada dalam populasi awal. Sehingga mutasi akan meningkatkan variasi populasi.
Individu yang terpilih untuk proses mutasi dapat dilakukan dengan
membandingkan nilai probabilitas mutasinya dengan probabilitas mutasi yang
telah ditentukan atau dapat dipilih secara acak (random).
Mutasi Gen merupakan operator yang menukar nilai gen dengan nilai
inversinya, mialnya gennya bernilai 0 menjadi 1.Setiap individu mengalami
mutasi gen dengan probabilitas mutasi yang ditentukan. Mutasi dilakukan dengan
memberikan nilai inversi atau menggeser nilai gen pada gen yang terpilih untuk
dimutasikan
Mutasi dilakukan untuk semua gen yang terdapat pada individu, jika
bilangan random yang dibangkitkan lebih kecil dan probabilitas mutasi p yang
ditentukan. Biasanya p diset = 1/N, di mana N adalah jumlah gen dalam individu.
Untuk kode biner, mutasi dilakukan dengan cara membalik nilai bit 0 menjadi bit
1, sebaliknya bit 1 diubah menjadi bit 0.
46
Gambar 2.18 Contoh proses mutasi
Representasi kromosom yang berbeda akan membedakan jenis mutasi
yang digunakan. Metode mutasi yang biasanya digunakan yaitu :
1. Inversi
Mutasi ini dilakukan dengan mengubah nilai 1 menjadi 0 atau sebaliknya.
Mutasi ini biasanya terapkan pada kromosom biner.
1)()( kaka
C : 1 0 0 1 1 0 1
C : 1 0 0 1 0 1 1
47
2. Random
Mutasi ini dilakukan dengan mengganti gen yang termutasi dengan nilai
random.
randomka )(
C : 1 2 3 4 5 6 7
C : 1 2 9 4 5 6 7
Shift, mutasi ini dilakukan dengan menggeser nilai gen termutasi sebesar
, dimana adalah nilai bilangan kecil yang ditentukan.
)()( kaka
3. Swap
Mutasi ini dilakukan dengan menukar urutan gen yang terdapat pada satu
kromosom, sehingga konsistensi urutan gen tetap terjaga. Contoh untuk
pengkodean permutasi :
Induk : 1 2 3 4 5 6 7
Anak : 1 4 3 2 5 6 7
Probabilitas mutasi yang baik berada pada kisaran 0 sampai dengan 0.3.
Probabilitas mutasi yang terlalu kecil menyebabkan terjebak dalam optimum
lokal, dan probabilitas mutasi yang terlalu besar menyebabkan konvergensi sulit
didapatkan
48
2.4 Clustering
Data Clustering merupakan salah satu metode Data Mining yang bersifat
tanpa arahan (unsupervised). Ada dua jenis data Clustering yang sering
dipergunakan dalam proses pengelompokan data yaitu hierarchical (hirarki) data
Clustering dan non-hierarchical (non hirarki) data Clustering. Metode ini
mempartisi data ke dalam cluster/kelompok sehingga data yang memiliki
karakteristik yang sama dikelompokkan ke dalam satu cluster yang sama dan data
yang mempunyai karakteristik yang berbeda dikelompokkan ke dalam kelompok
yang lain. Adapun tujuan dari data Clustering ini adalah untuk
meminimalisasikan objective function yang diset dalam proses Clustering, yang
pada umumnya berusaha meminimalisasikan variasi di dalam suatu cluster dan
memaksimalisasikan variasi antar cluster.
Clustering adalah suatu teknik dalam data mining yang digunakan untuk
memasukkan data ke dalam grup yang bersesuaian tanpa pengetahuan yang
mendalam tentang grup tersebut (Santosa, 2007). Clustering digunakan untuk
menganalisis pengelompokkan berbeda terhadap data, menyerupai klasifikasi,
namun pengelompokkan belum didefinisikan sebelum dijalankannya tool data
mining. Biasanya menggunakan metode neural networkatau statistik. Clustering
membagi item menjadi kelompok-kelompok berdasarkan yang ditemukan tool
data mining. Prinsip dari Clustering adalah memaksimalkan kesamaan antar
anggota satu kelas dan meminimumkan kesamaan antar cluster. Clustering dapat
dilakukan pada data yang memiliki beberapa atribut yang dipetakan sebagai ruang
multidimensi.
49
Pada algoritma Clustering, data akan dikelompokkan menjadi cluster-
cluster berdasarkan kemiripan satu data dengan yang lain. Prinsip dari Clustering
adalah memaksimalkan kesamaan antar anggota satu cluster dan meminimumkan
kesamaan antar anggota cluster yang berbeda.
Analisa Cluster merupakan proses deskriptif yang mengidentifikasi
kelompok obyek yang memiliki karakteristik homogen berdasarkan nilai dari
setiap atribut pada object tersebut. Clustering merupakan proses
mengelompokkan obyek ke dalam beberapa kelas atau kluster sehingga data-data
didalam cluster yang sama memiliki kesamaan lebih dibandingkan dengan data-
data pada cluster yang berbeda yang mana pada sebuah kluster, setiap obyek
memiliki karakteristik yang sama, tetapi memiliki ketidakmiripan dengan obyek
pada kluster yang lain (Han et al 2001).
Kriteria utama yang harus dipenuhi oleh algoritma Clustering yaitu:
1.Dimensionalitas tinggi
Algoritma Clustering yang baik seharusnya dapat bekerja di ruang dengan
dimensi rendah dan tidak mengalami penurunan drastis ketika digunakan pada
ruang berdimensi tinggi.
50
2.Skalabilitas
Algoritma Clustering seharusnya dapat menangani himpunan data baik dalam
jumlah kecil maupun besar.
3. Akurasi
Solusi Clustering yang baik seharusnya memiliki kemiripan inter-cluster tinggi
dan kemiripan intra-cluster rendah.
Analisis cluster membagi data ke dalam grup (cluster) yang bermakna,
berguna, atau keduanya. Jika tujuannya mencari grup yang memiliki makna, maka
cluster seharusnya menangkap struktur alami dari data, disebut juga Clustering
for understanding. Analisis cluster akan mengelompokkan obyek-obyek data
hanya berdasarkan pada informasi yang terdapat pada data, yang menjelaskan
obyek dan relasinya. Tujuan analisis cluster adalah agar obyek-obyek di dalam
grup adalah mirip (berhubungan) satu dengan lainnya, dan berbeda (atau tidak
berhubungan) dengan obyek dalam grup lainnya. Semakin besar tingkat
kemiripan/similarity (homogenitas) di dalam satu grup dan semakin besar tingkat
perbedaan diantara grup, maka semakin baik (lebih berbeda) Clustering tersebut.
Clustering (pengelompokkan) berdasarkan kesamaan warna, maka
pengelompokkannya seperti yang terlihat pada gambar berikut :
51
Gambar 2.19 Clustering berdasarkan warna
Untuk Clustering (pengelompokkan) berdasarkan kesamaan bentuk, maka
pengelompokannya dapat dilihat seperti gambar berikut :
Gambar 2.20 Clustering berdasarkan bentuk
Jika Clustering (pengelompokkan) dilihat dari jarak yang terdekat, dapat
dilihat pada gambar berikut :
52
Gambar 2.21 Clustering berdasarkan jarak
Semakin besar tingkat kemiripan/similarity (homogenitas) di dalam satu
grup dan semakin besar tingkat perbedaan diantara grup, maka semakin baik
(lebih berbeda) Clustering tersebut.
Gambar 2.22 Merupakan ilustrasi prinsip Clustering.
53
Gambar dibawah ini merupakan ilustrasi bagaimana definisi cluster tidak
presisi dan definisi terbaik tergantung dari kondisi data serta hasil yang
diinginkan.
Gambar 2.23 Beberapa cara menentukan cluster bagi dataset yang sama
Gambar 2.24 Algoritma Clustering
(a) Original point (b) Two clusters.
(c) Four clusters (d) Six clusters.
54
Telah banyak algoritma Clustering yang dikembangkan, Gambar diatas
menyajikan beberapa algoritma Clustering dan hubungan diantara algoritma-
algoritma tersebut.
2.4.1 Tipe Cluster
Clustering bertujuan mencari kelompok obyek (cluster) yang bermanfaat,
sedangkan tingkat manfaat ditentukan oleh tujuan analisis data yang ditetapkan.
Oleh karena itu, terdapat beberapa jenis cluster, yaitu:
Well-Separate cluster merupakan himpunan titik sehingga sembarang titik
dalam cluster lebih dekat (atau lebih mirip) dengan setiap titik dalam cluster
dibandingkan dengan sembarang titik yang tidak di dalam cluster. gambar
merupakan ilustrasi Well-Separated Cluster.
Gambar 2.25 Tipe cluster Well-Separated.
Prototype-Based/Center-Basedcluster merupakan himpunan obyek,
sehingga sebuah obyek dalam cluster lebih dekat (lebih mirip) dengan pusat
cluster, daripada dengan pusat cluster lainnya. Yang sering dijadikan pusat
cluster adalah centroid dan medoid. Centroid adalah rataan semua titik dalam
55
cluster, sedangkan Medoid adalah titik yang paling mewakili cluster. Center-
based cluster di-ilustrasikan pada gambar
Gambar 2.26 Tipe cluster Prototype-Based/Center-Based
Graph-Based Jika data direpresentasikan sebagai graph, dimana obyek
menjadi node dan link menyatakan koneksi diantara obyek, maka cluster dapat
didefinisikan sebagai connected component; yaitu grup obyek yang terkoneksi
satu sama lain, tetapi tidak memiliki koneksi dengan obyek di luar grup. Contoh
penting dari graph-based cluster adalah contiguity-based cluster, dimana dua
obyek terkoneksi hanya jika keduanya berada dalam jarak tertentu satu sama lain.
Contoh contiguity-based cluster dapat dilihat pada gambar
Gambar 2.27 Tipe cluster Graph-Based
Density-Based Sebuah cluster adalah wilayah yang padat obyek
dikelilingi oleh wilayah dengan kepadatan rendah. Cluster tipe ini berguna untuk
membentuk cluster dengan bentuk tak-teratur (irregular) atau terpilih
(intertwined), dan juga jika terdapat noise dan outlier. Gambar merupakan contoh
Density-Based Clustering.
56
Gambar 2.28 Tipe Cluster Density-Based
Shared-Property (Conceptual Cluster). Mencari cluster dengan beberapa
sifat yang sama, atau menyatakan konsep tertentu. Gambar berikut merupakan
cluster yang mempunyai sifat lingkaran
Gambar 2.29 Tipe Cluster Shared-Property
Misalkan X = {X1,X2,,Xn} dinotasikan sebagai sekumpulan n object
dan Xi=[xi1,xi2,,xim] adalah object yang direpresentasikan dengan m nilai
atribut. Kemudian dimisalkan juga k adalah sebuah bilangan integer positif.
Tujuan utama dari Clustering X adalah ingin menemukan sebuah partisi yang
membagi object didalam X menjadi k cluster disjoint. Untuk sejumlah n, jumlah
partisi yang dimungkinkan adalah terbatas, tetapi ukurannya bisa menghasilkan
variasi yang sangat banyak. Sangatlah tidak praktikal jika dilakukan penelusuran
setiap kemungkinan partisi dengan tujuan untuk mencari partisi yang paling bagus
diantara kemungkinan yang ada (Huang, 1997). Solusi umum yang digunakan
57
untuk menentukan apakah bagus atau tidaknya suatu partisi adalah dengan
menggunakan ClusteringCriterion.
2.5 Algoritma Clustering K-Prototype
Clustering adalah teknik yang cukup dikenal luas dan banyak dipakai dalam
data mining. Tujuan utama dari metode cluster adalah pengelompokan sejumlah
data atau obyek ke dalam cluster (group) sehingga dalam setiap cluster akan
berisi data yang semirip mungkin. Dalam Clustering, sistem berusaha
menempatkan obyek yang mirip (memiliki jarak yang dekat) dalam satu cluster
dan membuat jarak antar cluster yang sejauh mungkin. Ini berarti obyek dalam
satu cluster sangat mirip satu sama lain dan berbeda dengan obyek dalam cluster-
cluster yang lain. Clustering adalah salah satu teknik unsupervised learning
dimana fase training tidak diperlukan untuk metode ini. Metode-metode yang
masuk ke dalam unsupervised learning adalah metode yang tidak memerlukan
label ataupun keluaran dari setiap data yang akan diinvestigasi.
Secara umum terdapat dua pendekatan dalam Clustering, yaitu partisioning
dan hirarki. Dalam partisioning obyek xi, x2, ., xn dikelompokkkan ke dalam k
cluster. Hal ini bisa dilakukan dengan menentukan pusat cluster awal, lalu
dilakukan realokasi obyek berdasarkan kriteria tertentu sampai dicapai
pengelompokan yang optimum. Dalam cluster hirarki, metode dimulai dengan
membuat m cluster dimana setiap cluster beranggotakan satu obyek dan berakhir
dengan satu cluster dimana anggotanya adalah m obyek. Pada setiap tahap dalam
prosedurnya, satu cluster digabung dengan satu cluster yang lain. Jumlah
58
clusterbisa dipilih sesuai keinginan pengguna dengan menentukan cut-off pada
tingkat tertentu (Santosa, 2007).
Algoritma Clustering yang diangkat dalam penelitian ini adalah mengenai
K-Prototype yang melakukan Clustering pada data dengan tipe campuran numerik
dan kategorikal. Algoritma ini dipilih karena sangat sederhana dari sisi
kompleksitas algoritma dan mampu menangani data dengan ukuran yang sangat
besar. K-Prototype adalah salah satu metode Clustering yang berbasis
partitioning. Algoritma ini adalah hasil pengembangan atau kombinasi antara K-
Means dan K-Modes Clustering untuk menangani Clustering pada data dengan
campuran atribut bertipe numerik dan kategorikal