optimasi pusat cluster k-prototype dengan algoritma genetika

advertisement
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
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
ii
iii
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
iv
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
v
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
vi
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.
vii
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 KPrototype 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 KPrototype method without Generic Algorithm and K-Means method.
Keywords: Clustering, Optimization, K-Prototype, Genetic Algorithm.
viii
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
ix
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
x
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
xi
DAFTAR GAMBAR
Gambar 2.1 Visualisasi gen, allele, kromosom, individu, dan populasi pada ...... 19
Gambar 2.2 Siklus algoritma genetika yang diperkenalkan oleh David Goldberg21
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
xii
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
xiii
DAFTAR ISTILAH
Alelle
Cluster
Clustering
Clustering Criterion
Cost Function Criterion
Crossover
Elitisme
Encoding/Decoding
Evaluasi Fitness
Gen
Generasi
German Credit Dataset
Individu
Inisialisasi Populasi Awal
K-Means
K-Prototype
Kromosom
Mutasi
Nilai Fitness
Populasi
Pre-Evaluasi
: Nilai suatu gen.
: Obyek didalam grup yang memiliki kemiripan
satu dengan lainnya.
: Suatu teknik dalam data mining yang
digunakan untuk memasukkan data ke dalam
grup yang bersesuaian.
: Suatu metode pengukuran hasil clustering
: Biaya yang dihabiskan untuk menempatkan
object pada cluster yang bersesuaian.
: Mempersiapkan individu baru pada masingmasing populasi melalui proses pindah silang
: Prosedur untuk meng-copy individu yang
mempunyai nilai fitness tertinggi
: Mengkodekan nilai gen-gen pembentuk
individu
: Mengevaluasi nilai dari fungsi tujuan
: Variabel dasar yang membentuk suatu
kromosom.
: Satu satuan siklus proses evolusi
: Dataset untuk penilaian kelayakan pemberian
kredit.
: Kumpulan gen, bisa dikatakan sama dengan
kromosom.
: Menentukan sejumlah kromosom awal yang
akan digunakan untuk komputasi selanjutnya
: Metode Klasifikasi tak terawasi (unsupervised)
yang membagi data ke dalam satu atau lebih
cluster atau kelompok.
: Algoritma yang digunakan untuk melakukan
clustering pada data dengan tipe campuran
numerik dan kategorikal
: Gabungan dari gen-gen yang membentuk arti
tertentu.
: Proses mengubah nilai dari satu atau beberapa
gen dalam suatu kromosom
: Nilai dari fungsi tujuan
: Sekumpulan individu yang akan diproses
secara bersama-sama dalam satu siklus proses
evolusi.
: Mempersiapkan dataset yang akan diclustering
dan
menyesuaikannya
dengan
model
kromosom yang ada
xiv
Pusat Cluster
Roulette-Wheel
Seleksi
: Centroid dan medoid. Centroid adalah rataan
semua titik dalam cluster, sedangkan medoid
adalah titik yang paling mewakili cluster
: Metode seleksi dimana masing-masing
kromosom menempati potongan lingkaran
pada roda roulette secara proporsional sesuai
dengan nilai fitness-nya
: Suatu urutan proses dalam algortima genetika
untuk mendapatkan calon induk yang baik.
xv
BAB I
PENDAHULUAN
1.1
Latar Belakang
Analisa Cluster saat ini merupakan salah satu metode yang banyak
digunakan untuk melakukan pengelompokan data menjadi segmen–segmen 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
1
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 KMeans 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 KPrototype 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 KPrototype 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.
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.
10
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
menginisialisasi genetik algoritma (KIGA).
genetik
(GAIK)
dan
KM
12
Penelitian yang berjudul A Modified Genetic Algorithm Initializing KMeans 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 KMeans 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
langkah–langkah 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 bersamasama 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
mempresentasikan solusi yang diinginkan.
sejumlah
kromosom
yang
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
0,2431
x2
0,9846
g1
g2
x3
0,5642
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, tiaptiap 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
854912367
Kromosom B
912438576
Gambar 2.8 Contoh Kromosom Permutasi
Kromosom kombinatorial yaitu kromosom yang disusun dari gen–gen
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 benarbenar 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 fitnessnya 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
R(i)
= jumlah individu dalam populasi
= rangking individu ke-i setelah diurutkan dan nilai fitness terbesar hingga
terkecil
fmax
fmin
= nilai fitness tertinggi
= 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
Roda Roulette
12.5%
A
B
12.5%
37.5%
C
D
25%
E
12.5%
Gambar 2.10 Contoh probabilitas kromosom pada roda roullete
Gambar diatas merupakan representasi nilai fitness masing-masing
kromosom pada roda roulette.
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 :
6.
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
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
:123456789
Induk 2
:453689721
Anak 1
:123456879
Anak 2
:453681279
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.
a( k )  a( k )  1
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.
a(k )  random
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.
a( k )  a( k )  
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 clustercluster 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 datadata 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.
(a) Original point
(b) Two clusters.
(c) Four clusters
(d) Six clusters.
Gambar 2.23 Beberapa cara menentukan cluster bagi dataset yang sama
Gambar 2.24 Algoritma Clustering
54
Telah banyak algoritma Clustering yang dikembangkan, Gambar diatas
menyajikan beberapa algoritma Clustering dan hubungan diantara algoritmaalgoritma 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. Centerbased 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 clustercluster 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 KMeans dan K-Modes Clustering untuk menangani Clustering pada data dengan
campuran atribut bertipe numerik dan kategorikal (Huang,1998).
K-Prototype adalah salah satu metode Clustering yang berbasis partitioning.
Algoritma ini adalah hasil pengembangan atau kombinasi antara K-Means dan KModesClustering (Huang,1998) untuk menangani Clustering pada data dengan
campuran atribut bertipe numerik dan kategorikal. Perubahan yang mendasar
terdapat pada pengukuran kesamaan (similarity measure) antara object dengan
centroid (prototype)-nya. Pada proses Clustering dengan K-Prototype disini
dilakukan beberapa proses utama yaitu :
1. Inisialiasi awal prototype
Pada proses ini akan dilakukan pemilihan sejumlah K-Prototype dari
dataset X sesuai dengan jumlah cluster yang ditentukan. Pemilihan ini biasanya
59
dilakukan secara acak. Proses ini akan menghasilkan matrik prototype berukuran
k x panjang atribut X.
2. Alokasi object di dalam X ke Cluster dengan prototype terdekat
Pada proses ini akan dilakukan pengalokasian semua object di dalam
daset X ke cluster yang memiliki jarak prototype terdekat dengan object yang
diukur. Untuk setiap kali object X selesai dialokasikan, maka selanjutnya akan
dilakukan penghitungan (update) terhadap prototype cluster yang berkaitan.
3. Realokasi object Jika terjadi perubahan prototype
Setelah semua object
dalam X selesai dialokasikan, selanjutnya akan
dilakukan pengukuran ulang jarak antara semua object di dalam X terhadap
semua prototype yang ada. Jika ditemukan adanya object yang ternyata lebih
dekat ke prototype yang lain, maka akan dilakukan pemindahan keanggotaan dan
kemudian akan dilakukan update terhadap prototype cluster lama dan prototype
cluster baru. Proses ini akan terus dilakukan sampai tidak ada lagi perubahan
prototype.
2.6
Cost Function Criterion
Metode pengukuran hasil Clustering sering disebut dengan Clustering
Criterion. Clustering Criterion inilah yang akan dijadikan nilai fitness dari setiap
kromosom yang telah dievaluasi. Semakin tinggi nilai fitness, maka semakin
bagus kromosom yang dievaluasi tersebut. Clustering criterion yang digunakan
adalah cost function, atau biaya yang dihabiskan untuk menempatkan object pada
60
cluster yang bersesuaian. Solusi umum yang digunakan untuk menentukan apakah
bagus atau tidaknya suatu partisi adalah dengan menggunakan Clustering
Criterion. Dalam hal ini, Clustering criterion yang digunakan adalah dengan
mencari cost function seperti yang diGambarkan seperti dibawah ini.
Cost function yang dipergunakan secara luas adalah penelusuran terhadap
matriks dispersi dalam cluster(within cluster dispersion matrix). Salah satu cara
untuk mendefinisikan cost function ini adalah dengan formula berikut.
k
n
E   yil d ( X i , Ql )
(2.3)
l 1 i 1
Disini, Ql=[ql1,ql2, ... ,qlm] adalah vector representatif atau sering disebut
dengan prototype untuk cluster, dan yil adalah sebuah elemen dari matrik partisi
Ynxl. d adalah pengukuran kesamaan (similarity measure) yang pada umumnya
menggunakan jarak Euclidean.
Y memiliki dua ciri berikut, (1) 0yil1 dan (2)
k
y
l 1
il
 1 . Y disebut hard partition
jika yil {0,1}, dan disebut dengan fuzzy partition jika sebaliknya. Dalam hard
partition, yil = 1 mengindikasikan bahwa object Xi ditempatkan pada cluster l oleh
Y. Dalam penelitian ini, jenis partisi yang digunakan adalah hard partition.
n
Terminologi di dalam
 y d(X ,Q )
i 1
il
i
l
pada persamaan (2.3) adalah total
biaya (total cost) untuk menempatkan X ke dalam cluster, seperti halnya dispersi
total dari object di dalam cluster terhadap prototype Ql-nya. El diminimalkan jika
61
qlj 
1
nl
n
y x
i 1
il ij
untuk j = 1, …., m
(2.4)
n
dimana nl   yil adalah jumlah object di dalam cluster.
i 1
Ketika X memiliki atribut bertipe categorikal , maka diperkenalkan pengukuran
kesamaan (similarity measure) sebagai berikut :
mr
mc
j 1
j 1
d ( X i , Ql )   ( xijr  qljr ) 2  l   ( xijc , qljc )
(2.5)
dimana (p,q) = 0 untuk p = q(p,q) = 1 untuk pq. Untuk nilai p mewakili nilai
dari xijc dimana merupakan atribut kategorikal untuk object ke i sedangkan q
mewakili nilai dari qljc yang merupakan prototype kategorikal dari cluster ke l.
Sedangkan xijr dan qljr adalah nilai atribut numerik. mr dan mc adalah jumlah
atribut numerik dan kategorikal. l adalah bobot untuk atribut kategorikal pada
cluster ke l.
Sehingga cost function El bisa dituliskan ulang menjadi
n
mr
n
mc
i 1
j 1
i 1
j 1
El   yil  ( xijr  qljr ) r   l  yil   ( xijc , qljc )
El  Elr  Elc
(2.6)
62
dimana Elr adalah biaya total untuk semua atribut numerik dari object dalam
clusterl. Elr diminimalkan jika qljr dihitung dengan persamaan (2.4).
Misalkan Cj adalah sekumpulan nilai unik yang terdapat dalam atribut
kategorikal j dan p(cj Cj|l) adalah probabilitas dari kemunculan nilai cj di dalam
clusterl. maka Elc dalam persamaan (2.6) bisa ditulis ulang dengan
mc
Elc   l  nl (1  p(qljc  C j | l ))
(2.7)
j 1
dimana nladalah jumlah object di dalam cluster. Solusi untuk meminimalisasi
Elc dijelaskan dengan Lemma 1 berikut.
Lemma 1: untuk sebuah cluster khusus l, Elc diminimalisasi jika dan hanya jika
p(qljc  C j | l )  p(c j  C j | l ) untuk qljc  c j untuk semua atribut kategorikal.
Akhirnya E bisa dituliskan ulang dengan
k
k
k
l 1
l 1
l
E   ( Elr  Elc )   Elr   Elc  E r  E c
(2.8)
Persamaan (2.8) adalah cost function untuk Clustering dataset dengan
atribut bernilai numerik dan kategorikal. Karena Er dan Ec adalah non-negatif,
minimalisasi E bisa dilakukan dengan meminimalkan Er dan Ec, total cost dari
atribut numerik dan kategorikal untuk semua cluster.
63
BAB III
METODE PENELITIAN
3.1
Tempat dan Waktu Penelitian
Penelitian ini mengusulkan metode Clustering K-Prototype yang
dioptimasi dengan Algoritma Genetika untuk melakukan optimasi pada pusat
cluster, untuk mendapatkan pusat cluster yang optimal, sehingga memperoleh
akurasi dari cluster yang lebih baik. Pelaksanaan penelitian ini dilakukan di
Program Magister Jurusan Teknik Elektro Fakultas Teknik, Universitas Udayana.
Dimana data uji yang aka digunakan adalah German Credit Data Set. German
Credit Dataset adalah dataset yang banyak digunakan dalam permasalahan
klasifikasi untuk penilaian kelayakan pemberian kredit.
3.2
Alur Analisis
Penelitian merupakan investigasi yang sistematis, terkontrol, empiris dan
kritis dari suatu proposal hipotesis mengenai hubungan tertentu antar fenomena.
Penelitian disini bertujuan untuk memberikan kontribusi terhadap ilmu
pengetahuan dalam memecahkan masalah dengan menggunakan metode-metode
yang sesuai. Alur analisis usulan penelitian dilakukan berdasarkan permasalahan
yang ditangani sistem. Pembahasan alur analisi dari metode penelitian yang akan
dilakukan penulis untuk pembuatan penelitian ini, diantaranya sebagai berikut :
63
64
Gambar 3.1 Alur Analisi Penelitian
3.3
Studi Pustaka
Studi pustaka merupakan pengumpulan data ataupun pengumpulan referensi
mengenai teori yang nantinya dijadikan sebagai pedoman-pedoman sesuai dengan
penelitian yang diangkat. Manfaat dari studi literatur adalah dapat memberikan
Gambaran menyeluruh mengenai sejauh mana perkembangan penelitianpenelitian yang terkait dengan penelitian yang akan diambil. Dalam penelitian ini,
referensi diperoleh dari jurnal, artikel laporan penelitian, dan buku yang
berhubungan mengenai penelitian yang berjudul Optimasi Pusat Cluster pada KPrototype menggunakan Algoritma Genetika.
65
3.4
Pengumpulan Data
Berdasarkan sumbernya, data penelitian dapat dikelompokkan menjadi dua
jenis yaitu data primer dan data sekunder. Pemahaman terhadap kedua jenis data
tersebut diperlukan sebagai landasan dalam menentukan teknik serta langkahlangkah pengumpulan data penelitian.
1. Data Primer adalah data yang diperoleh atau dikumpulkan oleh peneliti
secara langsung dari sumber datanya. Data primer disebut juga sebagai
data asli atau data baru yang memiliki sifat up to date. Untuk mendapatkan
data primer, peneliti harus mengumpulkannya secara langsung. Teknik
yang dapat digunakan peneliti untuk mengumpulkan data primer antara
lain observasi, wawancara, diskusi terfokus (focus grup discussion – FGD)
dan penyebaran kuesioner.
2. Data Sekunder adalah data yang diperoleh atau dikumpulkan peneliti dari
berbagai sumber yang telah ada (peneliti sebagai tangan kedua). Data
sekunder dapat diperoleh dari berbagai sumber seperti Biro Pusat Statistik
(BPS), buku, laporan, jurnal, dan lain-lain.
66
3.5
Gambaran Umum Sistem
Input Data
Input Kategori
Jumlah
Populasi
Generasi
Max
Eksekusi Program
K-Protoype
dengan GA
K-Prototpye
tanpa GA
K-Means
Pengujian Total Cost
Pengujian Total Cost
Pengujian Total Cost
Hasil
Hasil
Hasil
Simpan Hasil
Deskripsi
Gambar 3.2 Gambaran Umum Sistem
Jumlah
Cluster
67
3.5.1
Data Uji
Penelitian ini nantinya akan menggunakan data uji yang banyak dipakai
dalam permasalahan klasifikasi untuk penilaian kelayakan pemberian kredit yang
disebut German Credit Dataset, data set ini didonasikan oleh Prof. Hofman dari
Hamburg University, Jerman. Dataset ini terdiri dari 1000 record dan 20 variabel
ditambah dengan sebuah variabel target atau variabel response, dimana 13
variabel diantaranya bertipe kategori dan sisanya sebanyak 7 variabel bertipe
numerik.
German Credit Dataset ini dapat diunduh di UCI Machine Learning
Repository.
Studi kasus yang diangkat dalam penelitian ini adalah mengenai
segmentasi pasar. Pendefinisian pemasaran memberikan definisi yang lebih terinci
dengan mengatakan bahwa segmentasi pasar adalah proses membagi-bagi pasar
yang semula berperilaku heterogen menjadi beberapa kelompok pasar yang
sekarang berperilaku lebih seragam (Teguh,1993:52). Menurut Warren (1995),
penentuan segmentasi pasar berdasarkan pada beberapa kriteria diantaranya:
Segmentasi demografis didasarkan pada karakteristik populasi yang dapat diukur
dari umur, jenis kelamin, pendapatan, pendidikan, dan pekerjaan. Segmentasi
Psikografis adalah proses pengelompokkan orang dalam arti sikap, nilai-nilai yang
dianut, dan gaya hidup. Segmentasi tingkah laku memfokuskan pada apakah
orang akan membeli dan menggunakan suatu produk atau tidak, disamping
seberapa sering dan berapa banyak yang dipakainya. Konsumen dapat
dikategorikan menurut tingkat penggunaan, misalnya, pengguna berat, sedang,
68
ringan, dan bukan pengguna. Segmentasi manfaat (Benefit Segmentation),
memfokuskan pada nilai persamaan (value equation). Pendekatan ini dapat
memberikan hasil yang memuaskan karena pemahaman pemasar yang luar biasa
terhadap masalah yang dapat diselesaikan oleh suatu produk atau manfaat yang
ditawarkannya, tanpa mempedulikan wilayah geografisnya. Menurut Teguh
(1993), segmentasi juga didasarkan pada kebiasaan (membeli, mengkonsumsi,
dsb.) berikut contoh data dari German Credit Dataset:
Gambar 3.3 Contoh Data Uji
69
Dengan spesifikasi data sebagai berikut:
Tabel 3.1 Spesifikasi German Credit Dataset
No
1
Nama Variabel
Status of existing checking
Tipe
Categorical
variabel
account
2
3
Duration in month
Credit history
Numeric
Categorical
4
Purpose
Categorical
5
6
Credit amount
Savings account/bonds
Numeric
Categorical
7
Present employment since
Categorical
8
9
Installment rate in percentage
Personal status and sex
of disposable income
Numeric
Categorical
10
Other debtors / guarantors
Categorical
11
12
Present residence since
Property
Numeric
Categorical
13
14
Age in years
Other installment plans
Numeric
Categorical
15
Housing
Categorical
Nilai
A11
A12
A13
A14
Keterangan Nilai
... < 0 DM
0 <= ... < 200 DM
... >= 200 DM
no checking account
A30
A31
A32
A33
A34
no credits taken/ all credits paid back
all credits at this bank paid back duly
duly
existing
credits paid back duly till now
delay in paying off in the past
critical account/ other credits existing
A40
A41
A42
A43
A44
A45
A46
A47
A48
A49
A410
(not at this bank)
car (new)
car (used)
furniture/equipment
radio/television
domestic appliances
Repairs
Education
Vacation
Retraining
Business
Others
A61
A62
A63
A64
A65
A71
A72
A73
A74
A75
... < 100 DM
100 <= ... < 500 DM
500 <= ... < 1000 DM
..>= 1000 DM
unknown/ no savings account
Unemployed
... < 1 year
1 <= ... < 4 years
4 <= ... < 7 years
..>= 7 years
A91
A92
A93
A94
A95
A101
A102
A103
male:divorced/separated
female: divorced/separated/married
male : single
male : married/widowed
female : single
None
co-applicant
Guarantor
A121
A122
A123
A124
real estate
if not A121 : building society savings
if not A121/A122 : car or other, not in
agreement/
attribute 6
unknown
/ no property
life insurance
A141
A142
A143
A151
Bank
Stores
None
Rent
70
16
17
Number of existing credits at
Job
this bank
Numeric
Categorical
18
19
Number of people being
Telephone
liable to provide maintenance
Numeric
Categorical
20
foreign worker
for
Categorical
A152
A153
Own
for free
A171
A172
A173
A174
unemployed/ unskilled - non-resident
unskilled – resident
skilled employee / official
management/ self-employed/
highly qualified employee/ officer
3.5.2
A191
A192
A201
A202
None
yes, registered under the customers
Yes
name
No
Inputan Kategori
3.5.2.1 Jumlah Populasi
Jika jumlah kromosom yang digunakan terlalu sedikit, maka individu
yang dapat digunakan untuk proses crossover dan mutasi akan sangat terbatas,
sehingga menyia-nyiakan proses yang ada. Tetapi jika jumlah kromosom yang
digunakan terlalu banyak, akan memperlambat proses algoritma genetika yang
dilakukan. Populasi semakin banyak dalam satu generasi, maka akan
menghasilkan solusi yang lebih baik.
3.5.2.2 Generasi Max
Mempengaruhi jumlah komputasi yang dilakukan pada saat pengolahan
data, dimana 1 generasi dapat mewakili jumlah populasi yang telah ditentukan.
jika terdapat 10 generasi dan jumlah populasi 50 maka komputasi yang dilakukan
akan sebanyak 500 kali sehingga menghasilkan kromosom yang lebih variatif
dalam proses fitness. Kromosom menjadi variatif dikarenakan pada saat pencarian
nilai fitness terbaik pada generasi pertama telah selesai, maka selanjutnya
71
dilakukan proses pindah silang dari populasi yang ada, sehingga pada generasi
selanjutnya akan menghasilkan populasi yang baru.
3.5.2.3 Jumlah Cluster
Untuk menggelompokkan data yang diolah sesuai dengan jumlah cluster
yang diinginkan, dan sebagai perbandingan dari hasil yang diperoleh pada saat
jumlah cluster yang berbeda.
3.5.3
Clustering K-Prototype dengan Algoritma Genetika
Metode yang digunakan dalam penelitian ini adalah gabungan dari metode
Clustering K-Prototype dengan Genetic Algorithm(GA) atau Algoritma Genetika.
Penelitian ini akan mencoba melakukan optimasi pusat cluster dari algoritma
Clustering K-Prototype dengan menggunakan Algoritma Genetika. Penelitin ini
diharapkan memperoleh pusat cluster yang lebih optimal sehingga nantinya akan
membantu proses terbentuknya cluster-cluster yang lebih akurat dan untuk
mencapai tingkat komputasi lebih baik dengan tipe dataset campuran.
Desain dari optimasi yang dilakukan pada K-Prototype terletak pada pusat
cluster. Jadi ketika pusat cluster di optimasi dengan Algoritma Genetik
diharapkan K-Prototype mempunyai awalan prototype yang bagus, sehingga
untuk proses selanjutnya dapat memperoleh cluster lebih yang lebih akurat dan
cepat.
72
Mulai
Data
Normal
Inisialisasi populasi Awal
Clustering menggunakan
K-Prototype
Evaluasi Fitness
Apakah
Optimasi
tercapai
Pusat
Cluster
Optimal
Selesai
Seleksi
Pindah Silang
Populasi Individu
Baru
Gambar 3.4 Clustering K-Prototype dengan GA
3.5.3.1 Inisialisasi Populasi Awal
Fase inisialisasi populasi ini digunakan untuk menentukan sejumlah
kromosom awal yang akan digunakan untuk komputasi selanjutnya. Panjang gen
ini adalah sama dengan jumlah K (jumlah cluster) dari proses Clustering. Dimana
masing-masing nilai yang ada pada gen akan mewakili no record data pada proses
Clustering. Berdasarkan penelitian sebelumnya yang dilakukan oleh Liu dengan
73
menggunakan data uji yang sama yaitu segmentasi pasar dengan pemberian data
kredit.
Nilai yang terkandung dalam gen berupa integer yang dibangkitkan secara
acak dengan nilai 0-1000 sesuai jumlah record data. Maka bentuk kromosom yang
akan digunakan:
243
543
743
854
....
...
...
...
...
...
...
....
126
478
967
543
Sesuai
Dengan
Jumlah
Populasi.
Gambar 3.5 Contoh Kromosom
3.5.3.2 Clustering menggunakan K-Prototype
Tahap ini dilakukan setelah populasi awal terbentuk. Setiap kromosom
yang terbentuk pada fase inisialiasi populasi akan melewati proses Clustering.
Jumlah cluster akan ditentukan oleh nilai gen terakhir yang ada pada setiap
kromosom. Algoritma yang digunakan untuk melakukan Clustering pada data
dengan tipe campuran numerik dan kategorikal ini adalah K-Prototype. Algoritma
ini dipilih karena sangat sederhana dari sisi kompleksitas algoritma dan mampu
menangani data dengan ukuran yang sangat besar dan dengan tipe data campuran.
74
Pada proses Clustering dengan K-Prototype disini dilakukan beberapa
proses penting yaitu :
1.
Inisialiasi awal prototype
Pada proses ini akan dilakukan pemilihan sejumlah k prototype
dari datasetX sesuai dengan jumlah cluster yang ditentukan. Dimana
dalam tahap ini menentukan atribut dari kategorikal dan numerik. Nilai
dari prototype numerik adalah rerata atau mean dari setiap nilai numerik
pada setiap atribut numerik di setiap cluster yang terbentuk. Sedangkan
prototype kategorikal berisi modus dari setiap nilai kategorikal pada setiap
atribut kategorikal di setiap cluster yang terbentuk.
Pada inisialisasi awal prototype menggunakan urutan data record
yang sesuai dengan nilai yang ada pada gen di masing-masing kromosom.
Misalnya:
Gambar 3.6 Inisialisasi awal
75
2.
Ukur Jarak Objek ke semua prototype dan tempatkan objek pada cluster
terdekat.
Alokasi objek di dalam X ke Cluster dengan prototype terdekat.
Tahap ini algoritma K-Prototype mengalokasikan semua object didalam
dataset ke cluster dimana prototype dari cluster tersebut memiliki jarak
yang paling dekat ke object data. Pengalokasian semua object di dalam
daset X ke cluster yang memiliki jarak prototype terdekat dengan object
yang diukur. Untuk setiap kali object X selesai dialokasikan, maka
selanjutnya akan dilakukan penghitungan (update) terhadap prototype
cluster yang berkaitan.
3.
Realokasi object jika terjadi perubahan prototype
Setelah semua object dalam X selesai dialokasikan, selanjutnya
akan dilakukan pengukuran ulang jarak antara semua object di dalam X
terhadap semua prototype yang ada. Proses ini akan terus dilakukan
sampai tidak ada lagi perubahan prototype.
3.5.3.3 Evaluasi Fitness Menggunakan Cost Function Criterion
Dalam penelitian ini, Clustering criterion yang digunakan adalah cost
function, atau biaya yang dihabiskan untuk menempatkan object pada cluster
yang bersesuaian. Semakin kecil biaya (cost) yang dikeluarkan, maka semakin
bagus hasil Clustering yang diperoleh.Hal ini berbanding terbalik dengan fungsi
fitness yang diharapkan, dimana fungsi fitness mengharapkan nilai yang semakin
76
besar dari hasil evaluasi kromosom.Permasalahan ini dalam model algoritma
genetika sering disebut dengan minimalisasi.
3.5.3.4 Seleksi
Langkah selanjutnya dalam iterasi reproduksi ini adalah mempersiapkan
individu baru pada masing-masing populasi melalui proses pindah silang
(crossover) dan mutasi (mutation). Individu-individu baru yang dihasilkan pada
tahap ini akan dijadikan sebagai populasi baru di generasi berikutnya. Ada
beberapa langkah penting dalam proses persiapan individu baru ini, yaitu proses
seleksi, pindah silang (crossover), dan mutasi (mutation).
Proses seleksi bertujuan untuk memilih individu-individu yang akan
dipindahsilangkan atau dikenal dengan istilah parent pada proses pindah silang
(crossover), dan juga akan dimutasikan. Seleksi dilakukan untuk mendapatkan
calon induk yang baik. Istilahnya Induk yang baik akan menghasilkan keturunan
yang baik. Semakin tinggi nilai fitness suatu individu semakin besar
kemungkinannya untuk terpilih. Seleksi disini menggunakan seleksi dengan
teknik Roulette-Wheel, dimana dengan rumus :
Pr(hi) = Fitness (hi) / Σj = 1p Fitness (hj)
(3.1)
3.5.3.5 Pindah Silang
Operator pindah silang mempunyai peran penting dalam algoritma
genetika karena didalamnya terdapat proses perkawinan (persilangan) gen antara
dua individu (parent) yang menghasilkan dua individu baru (offspring) pada
77
generasi berikutnya. Penentuan individu yang berhak melakukan operasi
crossover tergantung pada probabilitas crossover (Pc) yang telah ditentukan.
Operator pindah silang yang digunakan dalam penelitian ini menggunakan
satu titik potong, Pada pindah silang satu titik (one-point crossover), satu titik
sepanjang kromosom dipilih secara random. Segmen induk dari titik point ke kiri
atau kekanan ditukar untuk menghasilkan individu baru. sehingga nantinya setiap
anaknya akan terdiri dari sebagian pasangan parentnya.
3.5.3.6 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. 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).
3.5.4
Clustering K-Prototype Tanpa GA
K-Prototype adalah salah satu metode Clustering yang berbasis
partitioning. Algoritma ini menangani Clustering pada data dengan campuran
atribut bertipe numerik dan kategorikal.
Pada proses Clustering dengan K-Prototype disini dilakukan beberapa
proses yaitu :
78
Mulai
Inisialisasi Prototype
Ukur Jarak Object ke Semua Prototype,
Tempatkan Object pada Cluster Terdekat
Hitung Ulang Prototype
Ya
Terjadi Perubahan
Prototype
Tidak
Selesai
Gambar 3.7 Alur Cluster K-Prototype
1.
Inisialiasi awal prototype
Pada proses ini akan dilakukan pemilihan sejumlah K-Prototype dari
dataset X sesuai dengan jumlah cluster yang ditentukan.
2.
Ukur Jarak Objek ke semua prototype dan tempatkan objek pada cluster
terdekat.
Pada proses ini akan dilakukan pengalokasian semua object di dalam
dataset X ke cluster yang memiliki jarak prototype terdekat dengan object
yang diukur.
79
3.
Hitung ulang prototype.
Realokasi object Jika terjadi perubahan prototype. Setelah semua object
dalam X selesai dialokasikan, selanjutnya akan dilakukan pengukuran
ulang jarak antara semua object di dalam X terhadap semua prototype
yang ada. Jika terjadi perubahan, maka proses akan diulang ke proses
sebelumnya yaitu mulai dari Ukur Jarak Objek ke semua prototype dan
tempatkan objek pada cluster terdekat.
4.
Jika tidak terjadi perubahan maka proses selesai.
3.5.5
Clustering K-Means
K-Means Clustering merupakan
sebuah
algoritma
untuk
mengelompokkan data berdasarkan atribut-atribut ke dalam K kelompok. KMeans juga merupakan bilangan positif dan pengelompokan dilakukan dengan
meminimalisasi jumlah jarak setiap data ke-cluster-nya. Menurut J. Macqueen
(1967), J.A. Hartigan dan M.A. Wong (1975), K-Means Clustering adalah
sebuah algoritma untuk mengelompokkan data, berdasarkan pada atribut–
atribut atau feature–feature ke dalam K kelompok (grup). Prinsip utama dari
teknik ini adalah menyusun K buah prototype atau pusat massa (centroid) atau
rata-rata (mean) dari sekumpulan data berdimensi N. Teknik ini mensyaratkan
nilai K sudah diketahui sebelumnya. Algoritma K-Means dimulai dengan
pembentukan prototype cluster di
awal
kemudian secara iteratif prototype
cluster ini diperbaiki hingga konvergen (tidak terjadi perubahan yang signifikan
pada prototype cluster).
80
K-Means merupakan metode pengklasteran secara partitioning yang
memisahkan data kedalam kelompok yang berbeda dimana cluster (K) merupakan
konstanta jumlah cluster yangdiinginkan maka K harus ditentukan sebelumnya
(contoh: K = 5 cluster). Sedangkan means berarti nilai suatu rata-rata dari suatu
grup data yang dalam hal ini didefinisikan sebagai cluster. Sehingga dapat
disimpulkan bahwa algoritma ini menggunakan K nilai rata-rata yangsetiap nilai
rata-ratanya dihitung dari suatu cluster. Kalau ada 5 cluster, maka akan ada 5 ratarata yang dipakai oleh algoritma ini.
Algoritma K-Means clustering merupakan algortima iteratif dengan
meminimalkan jumlah kuadrat error antara vektor objek dengan pusat kluster
terdekatnya, yaitu:
(3.2)
mj adalah pusat cluster (mean vector ) dalam kluster ke j. Proses dimulai
dengan memilih secara random k buah data sebagai pusat cluster awal.Pada tahap
awal, algoritma K-Means memilih secara acak k buah data sebagai centroid.
Kemudian, jarak antara data dan centroid dihitung menggunakan Euclidian
distance. Data ditempatkan dalam cluster yang terdekat, dihitung dari titik tengah
cluster. Centroid baru akan ditentukan bila semua data telah ditempatkan dalam
cluster terdekat. Proses penentuan centroid dan penempatan data dalam cluster
diulangi sampai nilai centroid konvergen(centroid dari semua cluster tidak
81
berubah lagi). Data clustering menggunakan metode K-Means ini secara umum
dilakukan dengan algoritma dasar sebagai berikut:
Mulai
Tentukan
Jumlah
Cluster K
Tentukan Asumsi
Centroid
Hitung Jarak Obyek
ke Cluster
Ya
Apakah Obyek
Berpindah?
Tidak
Selesai
Kelompokkan
Obyek berdasarkan
jarak minimum
Gambar 3.8 Flowchart K-Means Clustering
Keterangan:
1.
Algoritma menerima jumlah cluster untuk mengelompokkan data ke
dalamnya, dan dataset yang akan dicluster sebagai nilai input.
2.
Menentukan jumlah cluster. Sebagai contoh, jika terdapat 10.000 baris
data di dalam dataset dan 3 cluster perlu dibentuk, maka K=3 cluster awal
82
pertama akan dibuat dengan mengambil 3 record secara random dari
dataset, sebagai cluster permulaan.
3.
Setiap cluster yang terbentuk akan dihitung nilai rata-ratanya. Rata-rata
dari suatu cluster adalah rata-rata dari semua record yang terdapat di
dalam cluster tersebut.
4.
Alokasikan data ke dalam cluster secara random.
5.
Hitung centroid /rata-rata dari data yang ada di masing-masing cluster
6.
Alokasikan masing-masing data ke centroid /rata-rata terdekat
7.
Ulangi langkah-langkah sebelumnya sampai terbentuk cluster-cluster
stabil dan prosedur K-Means selesai. Cluster stabil terbentuk ketika iterasi
atau perulangan dari K-Means tidak membuat cluster baru sebagai pusat
cluster atau nilai rata-rata aritmatika dari semua cluster baru sama dengan
cluster lama. Terdapat beberapa teknik untuk menentukan kapan suatu
cluster stabil terbentuk atau kapan algoritma K-Means berakhir.
3.5.6
Pengujian Total Cost
Total cost adalah biaya yang dihabiskan untuk menempatkan setiap object
ke dalam cluster terdekat. Total biaya ini adalah setara dengan total jarak dari
setiap object ke cluster tempat dia berada. Semakin kecil biaya yang dihasilkan
berarti jarak antara semua obyek dengan clusternya semakin dekat. Sehingga bisa
dikatakan bahwa cluster yang terbentuk semakin kompak. Clustering sendiri
bertujuan tuntuk memperoleh kesamaan ciri-ciri dari setiap object pada cluster
tertentu, jika ukuran cluster semakin lebar maka kesamaan ciri-ciri yang ada pada
83
sekumpulan object juga akan semakin rendah, sehingga bisa dikatakan bahwa
hasil cluster tersebut kurang bagus.
Pada tahap pengujian ini, total jarak yang diukur tidak hanya dari hasil
penggabungan K-Prototype dengan Algortima Genetika, tetapi dapat dibandingan
dengan metode yang lainnya yaitu total jarak K-Prototype, dibandingkan juga
dengan total jarak K-Means.
3.5.7
Hasil
Hasil dari pengujian yang dilakukan pada masing-masing algoritma akan
disajikan dalam bentuk tabel untuk pusat clusterdan grafik 3D untuk
menggambarkan posisi pusat cluster, serta menampilkan total jarak yang
dihasilkan pada proses pengujian tersebut.
3.5.8
Deskripsi
Pada tahapan deskripsi, akan digunakan untuk memunculkan nilai-nilai
dominan yang akan menjadi ciri-ciri dari masing-masing kelompok atau segment.
Sehingga informasi ini nantinya akan dapat ditindaklanjuti sebagai bahan
pertimbangan untuk pengambilan keputusan dan juga memungkinkan untuk
melakukan pendekatan marketing yang sesuai dengan ciri-ciri dominan dari
kelompok-kelompok yang terbentuk.
84
3.6
Instrumen Penelitian
Instrumen penelitian yang akan digunakan dalam penelitian ini untuk
mengumpulkan, mengolah, menganalisa dan menyajikan data-data diantanya:
1.
Perangkat Lunak (Software)
a. Sistem Operasi Windows 7
b. Matlab dan beberapa toolbox bantuan.
2.
Perangkat Keras (Hardware)
a. Processor 2,3 GHz
b. 2048 MB RAM
c. Hardisk 40 GB
d. VGA 64 MB
BAB IV
HASIL DAN PENGUJIAN
4.1
Antarmuka Sistem
Antarmuka sistem ini dipersiapkan untuk mempermudah penggunaan
aplikasi ini. Ada dua bagian atau antarmuka yang disiapkan, yaitu : antarmuka
untuk aplikasi clustering, dan antarmuka deskripsi yang dipergunakan untuk
menampilkan hasil cluster yang telah dilakukan.
4.2
Antarmuka Aplikasi Clustering
Gambar 4.1 Tampilan Aplikasi Clustering
Aplikasi clustering data ini adalah antarmuka utama dari penelitian ini,
seperti terlihat pada Gambar 4.1.
85
86
4.2.1
Input Dataset.
Pada panel dataset digunakan untuk memanggil data yang akan diolah,
kemudian ditampilkan dalam bentuk Grid, serta menampilkan posisi dari variabel
kategorikal.
Gambar 4.2 Tampilan Dataset
Cara Penggunaan dalam pemanggilan data yang akan diolah dengan
memilih tombol Load
Dataset. Kemudian akan muncul jendela baru untuk
memilih data yang diolah dengan format .mat.
Gambar 4.3 Pemilihan Data Uji.
87
Setelah data dipilih kemudian pilih tombol Open, maka data yang dipilih
secara otomatis akan ditampilkan pada Grid seperti yang ditampilkan pada
Gambar 4.4.
Gambar 4.4 Data telah di-load
Dataset yang banyak dipakai dalam permasalahan clustering untuk
penilaian kelayakan pemberian kredit yang disebut German Credit Dataset,
Dataset yang ditampilkan berupa grid terdiri dari 1000 record data dan 20
variabel, dimana 13 variabel diantaranya bertipe kategori dan sisanya sebanyak 7
variabel bertipe numerik. Posisi variabel kategorikal sudah bisa ditentukan pada
saat melakukan proses pre processing, dimana letak variabel kategorikal terletak
pada kolom 1,3,4,5,7,9,10,12,14,15,17,19,20. Letak variabel numerik pada kolom
2,6,8,11,13,16,18.
88
4.2.2
Inputan Kategori
Gambar 4.5 Tampilan Penetapan Variabel
Pada saat melakukan input kategori hal pertama yang dilakukan adalah
melakukan penentuan atribut dengan memilih 3 buah atribut bebas dari 20 jumlah
atribut yang ada. Misalkan atribut pertama diisi dengan angka 8, atribut kedua
diisi dengan angka 9 dan atribut ketiga diisi dengan angka 18. Setelah ditentukan
maka pilih tombol tampilkan, sehingga akan muncul hasil seperti pada Gambar
4.5.
Tahap kedua dilakukan pengisian textbox pada Total Populasi yang dapat
diisi bebas dengan angka, misal diisi 30. Total Populasi dapat mempengaruhi hasil
dan waktu yang dibutuhkan untuk melakukan proses. Apabila Total Populasi yang
digunakan semakin banyak dalam satu generasi, maka akan menghasilkan solusi
yang lebih baik, dan jika jumlah kromosom yang digunakan terlalu sedikit, maka
individu yang dapat digunakan untuk proses crossover dan mutasi akan sedikit.
Tahap ketiga, dilakukan pengisian textbox pada Generai Max yang dapat
diisi bebas dengan angka misal 5. Dimana 1 generasi dapat mewakili jumlah
89
populasi yang telah ditentukan pada tahap pengisian Total Populasi, sehingga
menghasilkan kromosom yang lebih variatif dalam proses fitness, pada generasi
selanjutnya akan menghasilkan populasi yang baru.
Tahap
Keempat
melakukan
penentuan
jumlah
menggelompokkan data yang diolah sesuai dengan
cluster
untuk
jumlah cluster yang
diinginkan. Fungsi ini diberikan agar user dapat mencoba dengan berbagai jumlah
cluster, dan untuk mengetahui hasil yang diberikan oleh algoritma jika dicobakan
pada jumlah cluster yang berbeda.
4.2.3
Eksekusi Program
Eksekusi program utama bertujuan untuk mendapatkan pusat cluster yang
optimal
dari Dataset yang diujikan dalam penelitian ini, yaitu German Credit
Dataset. Hasil eksekusi akan menghasilkan pusat cluster yang disajikan dalam
bentuk grid, dan grafik dalam setiap percobaan. Eksekusi program ini
menggunakan tiga perbandingan metode yaitu: Gabungan metode K-Prototype
dengan Algortima Genetika, metode K-Prototype tanpa Algoritma Genetika,
Metode K-Means Clustering.
4.2.3.1 Hasil K-Prototype dengan GA
Pada
tampilan
Gambar
4.6.
ini
merupakan
eksekusi
program
menggunakan K-Prototype dengan Algoritma Genetika. Setelah proses penentuan
atribut, maka atribut yang dipilih akan ditampilkan dalam bentuk grafik 3D.
90
Gambar 4.6 Tampilan K-Prototype Dengan GA
Eksekusi Program yang pertama dapat dilakukan dengan memilih tombol
"RUN GA", dan hasil eksekusi program dapat dilihat pada Gambar 4.7.
Gambar 4.7 Hasil Uji K-Protoype dengan GA
91
Dari hasil pengujian K-Protoype dengan GA dapat dilihat bahwa total cost
yang diperlukan adalah 2623,25. Dengan posisi masing-masing pusat cluster
dapat dilihat pada Grid, dan digambarkan pada grafik serta waktu yang
dibutuhkan dalam melakukan pengujian sebesar 288,8089 detik. Untuk
memperoleh hasil seperti diatas, maka dilakukan beberapa fase yang merupakan
penggabungan Algoritma Genetika dan Algortima K-Prototype. Beberapa fase
yang dilewati pada saat Eksekusi Program yaitu:
1)
Fase Inisialisai
Fase inisialisasi populasi digunakan untuk menentukan kromosom awal
dimana kromosom awal yang ditentukan pada saat percobaan input kategori
sebanyak 30 kromosom yang dipilih secara acak seperti Gambar 4.8. dengan
jumlah cluster sebanyak 4. Nilai yang ada disetiap kolom menggambarkan urutan
penempatan dari pusat cluster untuk pertama kali dalam proses clustering.
Gambar 4.8 Inisialisasi kromosom awal
92
2)
Fase Clustering menggunakan K-Prototype
Setiap Kromosom yang terbentuk pada fase Inisialisasi akan melewati
proses clustering. Algoritma yang digunakan untuk melakukan clustering pada
data dengan tipe numerik dan kategorikal adalah K-Prototype. Algoritma ini
dipilih karena sangat sederhana dari sisi kompleksitas algoritma dan mampu
menangani data dengan ukuran yang sangat besar. Ada beberapa tahapan yang
dilakukan pada saat Clustering dimana Tahap pertama merupakan tahap
inisialisasi awal prototype. Tahap Inisialisasi awal prototype menggunakan urutan
data record yang ada pada masing-masing kromosom sesuai dengan nilai yang
dimiliki. Kromosom yang digunakan akan dipisahkan sehingga membentuk dua
buah protoype. Prototype yang pertama merupakan prototype numerik dimana
merupakan rerata atau mean dari setiap nilai numerik pada setiap atribut numerik
di setiap cluster yang terbentuk dan prototype yang kedua prototype kategorikal
berisi modus dari setiap nilai kategorikal pada setiap atribut kategorikal di setiap
cluster yang terbentuk. Proses inisialisasi awal prototype terhadap sebuah
kromosom dapat dilihat pada Gambar 4.9.
93
(a)
(b)
(c)
Gambar 4.9 (a) Nilai kategorikal dan numerik pada kromosom (b) Nilai
kategorikal pada kromosom (c) nilai numerik pada kromosom
Tahap Kedua merupakan tahapan pengukuran jarak object ke semua
prototype dan menempatkan objek pada cluster terdekat.
Tahap Ketiga
merupakan tahapan pengukuran ulang jarak antara semua object terhadap semua
prototype yang ada. Jika ditemukan adanya object yang ternyata lebih dekat ke
prototype yang lain, maka akan dilakukan pemindahan keanggotaan dan
kemudian akan dilakukan update terhadap prototype cluster lama dan prototype
cluster baru sampai akhirnya tidak ada perubahan.
94
3)
Fase Evaluasi Fitness
Nilai Fitness digunakan untuk mencari nilai terbaik dari pengolahan
clustering yang dilakukan. Setelah dilakukan clustering terhadap dataset dengan
model kromosom yang bersesuaian, maka proses selanjutnya adalah melakukan
penilaian terhadap hasil clustering tersebut. Metode pengukuran hasil clustering
sering disebut dengan Clustering Criterion. Clustering Criterion inilah yang akan
dijadikan nilai fitness dari setiap kromosom yang telah dievaluasi.
Dalam penelitian ini, clustering criterion yang digunakan adalah cost
function, atau biaya yang dihabiskan untuk menempatkan object pada clusteryang
bersesuaian. Semakin kecil biaya (cost) yang dikeluarkan, maka semakin bagus
hasil clustering yang diperoleh. Hal ini berbanding terbalik dengan fungsi fitness
yang diharapkan, dimana fungsi fitness mengharapkan nilai yang semakin besar
dari hasil evaluasi kromosom. Beberapa nilai Fitness yang dihasilkan tiap
kromosom yaitu:
95
Gambar 4.10 Hasil Nilai Fitness
Nilai Fitness Terbaik dapat dilihat pada Gambar 4.10, dimana terletak
pada baris ke 29 yang disebut sebagai individu terbaik dengan nilai Fitness
3.8060e-04. Nilai Fitness yang telah didapat akan dilakukan proses pengecekan
apakah Nilai Fitness tersebut yang terbaik dengan sebelumnya.
96
4)
Seleksi
Sebelum seleksi melakukan fase Elitisme dilakukan proses pengkopian
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. Proses pengkopian individu terbaik dapat digambarkan sebagai
berikut :
Gambar 4.11 Pengkopian Individu Terbaik
Populasi terbaik yang telah dikopi, akan dilanjutkan dengan proses seleksi.
Proses seleksi menggunakan algoritma roulette-wheel dimana proses tersebut
dilakukan dengan mengambil 2 buah kromosom sehingga menghasilkan nilai
Parent 1 (IP1) dan Parent 2 (IP2) yang nantinya akan digunakan pada proses
Pindah Silang. Hasil roulette-wheel pada kromosom 3 dan 4 dapat dilihat pada
Gambar 4.12. Nilai 29 untuk IP 1 dan nilai 13 untuk IP2, menggambarkan
kromosom ke-29 dan ke-13 pada populasi.
Gambar 4.12 Hasil Roulette-Wheel
97
5)
Pindah Silang
Setelah melewati fase seleksi, selanjutnya melakukan proses pindah silang,
dimana didalamnya terdapat proses perkawinan (persilangan) gen antara dua
individu (parent) yang menghasilkan dua individu baru (offspring) pada generasi
berikutnya.
Dengan membuat sebuah "child" atau anak, 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.
Operator pindah silang yang digunakan dalam penelitian ini menggunakan
satu titik potong, satu titik sepanjang kromosom dipilih secara random. Segmen
induk dari titik point ke kiri atau kekanan ditukar untuk menghasilkan individu
baru. Sehingga nantinya setiap anaknya akan terdiri dari sebagian pasangan
parentnya.
Hasil dari proses pindah silang berdasarkan parent 1 dan parent 2 yang
didapat pada proses roulette-wheel dapat dilihat pada Gambar 4.13.
Gambar 4.13 Hasil pindah silang
98
6)
Mutasi
Operator berikutnya pada algortima genetika adalah mutasi gen. Operator
ini berperan untuk menggantikan gen yang hilang dari populasi akibat proses
seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada
inisialisasi populasi awal. Mutasi berfungsi untuk menggantikan gen yang hilang
dari populasi selama proses seleksi. Sehingga mutasi akan meningkatkan variasi
populasi.
Peluang mutasi mengendalikan banyaknya gen baru yang akan
dimunculkan untuk dievaluasi. Jika peluang mutasi terlalu kecil, banyak gen yang
mungkin berguna tidak pernah dievaluasi. Tetapi bila peluang mutasi ini terlalu
besar, maka akan terlalu banyak gangguan acak, sehingga anak akan kehilangan
kemiripan dan induknya. Kromosom anak dimutasi dengan menambahkan nilai
random yang sangat kecil (ukuran langkah mutasi), dengan probabilitas yang
rendah. Peluang mutasi (Pm) didefiinisikan sebagai persentasi dan jumlah total
gen pada populasi yang mengalami mutasi.
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). Nilai yang diperoleh dari
proses mutasi dapat ditampilkan pada Gambar 4.14, dimana jumlah hasil mutasi
sesuai dengan jumlah populasi yang ditunjukkan yaitu sebanyak 30 kromosom,
dengan jumlah cluster 4.
99
Gambar 4.14 Hasil Mutasi pada seluruh kromosom
4.2.3.2 Hasil K-Prototype tanpa GA
Tampilan Gambar dibawah ini merupakan pengujian menggunakan KPrototype tanpa Algoritma Genetika. Pada grafik dapat dilihat letak tiap atribut
yang dimilki oleh data.
100
Gambar 4.15 Tampilan K-Prototype Tanpa GA
Untuk menjalankan proses pengujian K-Prototype tanpa Algoritma
Genetika, dapat memilih tombol RUN GA.
Algoritma yang digunakan untuk melakukan clustering pada data dengan
tipe campuran numerik dan kategorikal ini adalah k-prototype. Algoritma ini
dipilih karena sangat sederhana dari sisi kompleksitas algoritma dan mampu
menangani data dengan ukuran yang sangat besar. Algoritma K-Prototype secara
umum dibagi menjadi tiga bagian yaitu :
a.
Pemilihan prototype awal secara acak
Istilah prototype digunakan untuk mewakili pusat cluster yang
nantinya akan berisi mean dan modus dari setiap cluster yang ada.
Prototypeakan berbentuk matrik dengan ukuran k x m, dimana k adalah
101
jumlah cluster dan m adalah jumlah variabel atau atribut. Nilai dari
prototype numerik adalah rerata atau mean dari setiap nilai numerik
pada setiap atribut numerik di setiap cluster yang terbentuk. Sedangkan
prototype kategorikal berisi modus dari setiap nilai kategorikal pada
setiap atribut kategorikal di setiap cluster yang terbentuk. Untuk
pertama kali, prototype akan diinisialisasi dengan memilih object
(record) data secara acak sejumlah k, dimana nilai k akan diambil dari
gen terakhir pada setiap kromosom yang terbentuk.
b.
Alokasi setiap object data ke dalam cluster
Tahap kedua dari algoritma K-Prototype adalah mengalokasikan
semua object didalam dataset ke cluster dimana prototype dari cluster
tersebut memiliki jarak yang paling dekat ke object data. Pengukuran
jarak antara object data dengan prototype ini dapat terlihat seperti pada
persamaan (2.4). Setiap kali selesai dilakukan alokasi object data ke
dalam cluster, maka prototype dari cluster yang bersesuaian akan
diupdate.
c.
Re-alokasi object data ke cluster baru
Setelah semua object teralokasi ke sebuah cluster, maka dalam
tahap ketiga ini akan dilakukan pengukuran ulang jarak antara setiap
object dengan semua prototype yang ada. Jika ditemukan ada object
yang memiliki jarak lebih dekat dengan prototype lain diluar clusternya, maka akan dilakukan re-alokasi object tersebut ke prototype yang
terdekat. Setelah proses re-alokasi ini selesai, maka prototypecluster
102
yang baru dan prototype cluster yang lama harus diupdate. Pengukuran
ulang ini dilakukan terhadap semua object di dalam dataset dan
dilakukan berulang sampai tidak ada lagi perubahan prototype.
Terlihat bahwa algoritma pada fase ini hampir sama dengan dengan fase
atau tahap alokasi object ke dalam cluster sebelumnya. Bedanya pada fase ini
akan dilakukan update terhadap prototype dari cluster lama dan cluster baru
setelah proses re-alokasi.
Gambar 4.16 Hasil Uji K-Prototype Tanpa GA
Dari hasil pengujian K-Protoype tanpa GA dapat dilihat bahwa
total cost yang diperlukan adalah 2657,74 serta waktu yang dibutuhkan
dalam melakukan pengujian sebesar 10,8297 detik. Dengan posisi masing-
103
masing pusat cluster dapat dilihat pada Grid, dan digambarkan pada
grafik.
4.2.3.3 Hasil K-Means
Untuk membandingkan hasil dengan metode yang disusulkan, maka dalam
penelitian ini selain menggunkan K-Prototype tanpa Algoritma Genetika juga
membandingkan dengan metode clustering K-Means. Dimana tampilan yang
diperoleh seperti pada Gambar 4.17 berikut:
Gambar 4.17 Hasil Uji dengan K-Means.
Dari hasil pengujian K-Means dapat dilihat bahwa total cost yang
diperlukan jauh lebih besar adalah 11049,9 serta waktu yang dibutuhkan dalam
melakukan pengujian sebesar 8,3772 detik. Dengan posisi masing-masing pusat
cluster dapat dilihat pada Grid, dan digambarkan pada grafik.
104
Ada beberapa fase yang dilalui pada tahapan K-Means Clustering,
diantara:
1.
Algoritma menerima jumlah cluster untuk mengelompokkan data ke
dalamnya, dan dataset yang akan dicluster sebagai nilai input.
Menentukan jumlah cluster.
2.
Setiap cluster yang terbentuk akan dihitung nilai rata-ratanya. Rata-rata
dari suatu cluster adalah rata-rata dari semua record yang terdapat di
dalam cluster tersebut.
3.
Alokasikan data ke dalam cluster secara random. Hitung centroid /ratarata dari data yang ada di masing-masing cluster.
4.
Alokasikan masing-masing data ke centroid/rata-rata terdekat. Uangi
langkah-langkah sebelumnya sampai terbentuk cluster-cluster stabil dan
prosedur K-Means selesai.
5.
Cluster stabil terbentuk ketika iterasi atau perulangan dari K-Means tidak
membuat cluster baru sebagai pusat cluster.
4.2.4
Pengujian Total Cost
Metode pengukuran hasil Clustering sering disebut dengan Clustering
Criterion. Clustering Criterion inilah yang akan dijadikan nilai fitness dari setiap
kromosom yang telah dievaluasi. Semakin tinggi nilai fitness, maka semakin
bagus kromosom yang dievaluasi tersebut. Clustering criterion yang digunakan
adalah cost function, atau biaya yang dihabiskan untuk menempatkan object pada
cluster yang bersesuaian. Solusi umum yang digunakan untuk menentukan apakah
105
bagus atau tidaknya suatu partisi adalah dengan menggunakan Clustering
Criterion.
4.2.4.1 Total Cost Algoritma K-Prototype dengan Algoritma Genetika
Gambar 4.18 Total Cost K-Protoype dengan GA
Dari hasil pengujian K-Protoype dengan GA dapat dilihat bahwa total cost
yang diperlukan adalah 2623,25. Jadi total jarak yang dihasilkan sebesar 2623,25
pada cluster yang terbentuk. Dengan posisi masing-masing pusat cluster dapat
dilihat pada Grid, dan digambarkan dalam bentuk grafik pada Gambar 4.18.
106
4.2.4.2 Total Cost Algoritma K-Prototype tanpa Algoritma Genetika
Gambar 4.19 Total Cost K-Protoype tanpa GA
Dari hasil pengujian K-Protoype tanpa GA dapat dilihat bahwa total cost
yang diperlukan adalah 2680.75. Jadi total jarak yang dihasilkan sebesar 2680.75
pada cluster yang terbentuk. Dengan posisi masing-masing pusat cluster dapat
dilihat pada Grid, dan digambarkan pada Gambar 4.19.
107
4.2.4.3 Total Cost Algoritma K-Means
Gambar 4.20 Total Cost K-Means
Dari hasil pengujian K-Means dapat dilihat bahwa total cost yang
diperlukan adalah 9579,46. Jadi total jarak yang dihasilkan sebesar 9579,46 pada
cluster yang terbentuk. Posisi masing-masing pusat cluster dapat dilihat pada
Grid, dan digambarkan pada Gambar 4.20.
108
4.2.5
Hasil Percobaan
Hasil pengujian untuk Optimasi K-Prototype dengan GA, K-Protoype
Tanpa GA,
dan K-Means ditunjukkan seperti pada Tabel 4.1. Beberapa
percobaan dilakukan untuk melihat perbedaan total cost untuk tiap-tiap metode.
Berdasarkan hasil yang ditunjukkan pada Tabel 4.1, diperoleh keterangan bahwa
K-Prototype dengan GA menghasilkan total cost terkecil dari pada metode
lainnya. Hasil ini dipengaruhi oleh penentuan total populasi dan maksimum
generasi. Dalam hal ini, total populasi dan generasi maksimum masing-masing
sebesar tigapuluh dan lima.
Tabel 4.1 Tabel Percobaan untuk Perhitungan Total Cost
K-Prototype dengan Ga
Percobaan
Jumlah
Pusat
Cluster
1
Hasil Total
Cost
K-Prototype
Tanpa GA
Hasil Total
Cost
K-Means
Total
Populasi
Generasi
Max
Hasil
Total
Cost
4
30
5
2640.16
2643.02
9579.46
2
4
30
5
2632.84
2683.59
9579.46
3
4
30
5
2632.84
2645.61
10551.5
4
4
30
5
2623.25
2655.65
9579.46
5
4
30
5
2623.25
2683.59
9579.46
Hasil yang diperoleh pada Tabel 4.1 dapat ditabulasikan dalam bentuk
diagram batang, seperti yang terlihat pada Gambar 4.21. Untuk keperluan
perbandingan, visualisasi dalam bentuk diagram batang dapat memperlihatkan
perbedaan yang lebih jelas.
109
Hasil Percobaan Cluster
K-PROTOTYPE DENGAN GA
9579.46
1
K-Prototype Tanpa GA
9579.46
2
10551.5
3
K-Means
9579.46
4
9579.46
5
Gambar 4.21 Grafik Hasil Perhitungan Total Cost
Hasil pengujian selanjutnya untuk Optimasi K-Prototype dengan GA, KProtoype Tanpa GA, dan K-Means ditunjukkan seperti pada Tabel 4.2. Sebanyak
lima percobaan dilakukan untuk melihat perbedaan total cost untuk tiap-tiap
metode. Berdasarkan hasil yang ditunjukkan pada Tabel 4.2, diperoleh keterangan
bahwa K-Prototype dengan GA menghasilkan total cost terkecil dari pada metode
lainnya. Hasil ini dipengaruhi oleh penentuan total populasi dan maksimum
generasi. Dalam hal ini, total populasi dan generasi maksimum masing-masing
sebesar tigapuluh dan sepuluh.
110
Tabel 4.2 Tabel Percobaan untuk Perhitungan Total Cost
K-Prototype dengan Ga
Hasil
Total
Cost
Hasil Total
Cost
K-Prototype
Tanpa GA
Hasil Total
Cost
K-Means
Percobaan
Jumlah
Pusat
Cluster
1
5
30
10
2532.5
2606.21
8994.7
2
5
30
10
2518.12
2572.09
8994.7
3
5
30
10
2526.86
2580.32
8946.52
4
5
30
10
2543.01
2590.78
8946.52
5
5
30
10
2538.4
2597.53
8946.52
Total
Generasi
Populasi
Max
Hasil yang diperoleh pada Tabel 4.2 dapat ditabulasikan dalam bentuk
diagram batang, seperti yang terlihat pada Gambar 4.22. Untuk keperluan
perbandingan, visualisasi dalam bentuk diagram batang dapat memperlihatkan
perbedaan yang lebih jelas.
Hasil Percobaan Cluster
K-PROTOTYPE DENGAN GA
8994.7
1
8994.7
2
K-Prototype Tanpa GA
K-Means
8946.52
8946.52
8946.52
3
4
5
Gambar 4.22 Grafik Hasil Perhitungan Total Cost
111
Berdasarkan data pada Tabel 4.3, diperoleh keterangan bahwa kenaikan
jumlah total populasi dan generasi maksimum akan meningkatkan perbedaan hasil
total cost untuk k-prototype dengan GA. Perbedaan ini terlihat jelas ketika data
pada Tabel 4.2 dan Tabel 4.3 dibandingkan satu sama lain. Pada Tabel 4.3,
perbandingan total cost antara k-prototype dengan GA, k-prototype tanpa GA dan
k-means terpaut lebih besar ketika total populasi dan generasi maksimum
ditingkatkan.
Tabel 4.3 Tabel Percobaan untuk Perhitungan Total Cost
K-Prototype dengan Ga
Percobaan
Jumlah
Pusat
Cluster
1
Hasil Total
Cost
K-Prototype
Tanpa GA
Hasil Total
Cost
K-Means
Total
Populasi
Generasi
Max
Hasil
Total
Cost
4
80
40
2621.53
2706.39
9579.46
2
4
80
40
2621.53
2664.31
9579.46
3
4
80
40
2621.53
2683.59
9579.46
4
4
80
40
2621.53
2683.59
9579.46
Hasil yang diperoleh pada Tabel 4.3 dapat ditabulasikan dalam bentuk
diagram batang, seperti yang terlihat pada Gambar 4.23. Untuk keperluan
perbandingan, visualisasi dalam bentuk diagram batang dapat memperlihatkan
perbedaan yang lebih jelas. Perbedaan ini terlihat jelas ketika Gambar 4.22 dan
Gambar 4.23 dibandingkan.
112
Hasil Percobaan Cluster
K-PROTOTYPE DENGAN GA
9579.46
1
K-Prototype Tanpa GA
9579.46
2
K-Means
9579.46
3
9579.46
4
Gambar 4.23 Hasil Grafik Perhitungan Total Cost
4.2.6
Antarmuka Aplikasi Deskripsi
Gambar 4.24 Tampilan Aplikasi Deskripsi
113
Tampilan aplikasi deskripsi pada Gambar 4.24 merupakan tahapan
lanjutan dari tampilan aplikasi clustering, yang akan digunakan untuk
menampilkan rekap nilai per cluster yang ada. Adapun penjabaran dari Gambar
4.24 yaitu:
1. Load Hasil Segmentasi
Proses untuk memanggil data hasil segmentasi yang sudah disimpan
sebelumnya pada tahapan clustering dalam format *.mat. Pemanggilan data
yang diload dapat dilihat pada Gambar 4.25.
Gambar 4.25 Load Data
Data yang telah dipilih akan ditampilkan dalam bentuk grid, dimana data yang
dipilih terdiri dari attribut data, hasil cluster. Hasil load data dapat ditampilkan
pada Gambar 4.25.
114
Gambar 4.26 Hasil Load Data
1. Threshold Rekap
Digunakan untuk mengisi nilai threshold minimal yang akan dimunculkan
pada pada Rekap Nilai Per Cluster. Nilai yang bisa diisikan pada threshold
rekap mulai dari 0 sampai 1.
2. Rekap Nilai Per Cluster.
Proses rekap nilai per cluster akan muncul jika sudah menentukan “Threshold
Rekap” dan memilih tombol “Proses Rekap”, maka akan muncul hasil seperti
pada Gambar 4.24. Pada hasil yang ditampilkan pada rekap nilai terdapat 5
kolom yaitu :
a) Kolom Cluster ke-
: Menunjukkan cluster mana saja yang dipilih.
b) Kolom Total Element : Jumlah data yang ada per cluster
c) Kolom Variabel ke-
: Variabel keberapa yang muncul sebagai nilai
dominan.
d) Kolom Nilai
: Nilai yang dominan atau sering muncul pada
masing-masing variabel.
e)
Kolom Jumlah
: Jumlah kemunculan nilai per variabel per cluster.
115
3. Simpan Rekap
Langkah terakhir pilih simpan rekap untuk menyimpan hasil rekap nilai per
cluster, dengan bentuk data *.mat.
Gambar 4.27 Hasil Rekap Nilai Per Cluster
Pada Gambar 4.27 terlihat 4 cluster yang terbentuk dengan threshold 0,5.
Dengan data uji menggunakan German Credit Dataset, untuk penjelasan masingmasing cluster yang terbentuk yaitu:
1. Cluster ke-2: cluster yang dipilih adalah cluster 2 dengan total elemen
sebanyak 223, dengan variabel ke-3 yang muncul sebagai nilai dominan.
Pada varibel ke-3 tersebut, nilai dominan yang muncul adalah 3 dengan
total kemunculan sebanyak 138.
Artinya, pada cluster ke-2 memiliki ciri-ciri: 138 customer masih memiliki
kredit yang sedang dibayar.
116
2. Cluster ke-3: cluster yang dipilih adalah cluster 3, dengan total elemen
sebanyak 307, dengan variabel ke-1 yang muncul sebagai nilai dominan.
Pada varibel ke-1 itu, nilai dominan yang muncul adalah 2 dengan total
kemunculan sebanyak 160.
Artinya, pada cluster ke-2 memiliki ciri-ciri: 160 Status rekening giro yang
ada adalah 0 <= ... < 200 DM (Deutsche Mark)
3. Cluster ke-3: cluster yang dipilih adalah cluster 3, dengan total elemen
sebanyak 307, dengan variabel ke-3 yang muncul sebagai nilai dominan.
Pada variabel ke-3 nilai dominan yang muncul adalah 3 dengan total
kemunculan sebanyak 215.
Artinya, pada cluster ke-2 memiliki ciri-ciri: 215 customer
masih
memiliki kredit yang sedang dibayar.
4. Cluster Ke-4: cluster yang dipilih adalah cluster 4, dengan total elemen
sebanyak 144, dengan variabel ke-3 yang muncul sebagai nilai dominan.
Pada varibel ke-3 nilai dominan yang muncul adalah 3 dengan total
kemunculan sebanyak 93.
Artinya, pada cluster ke-2 memiliki ciri-ciri: 93 customer masih memiliki
kredit yang sedang dibayar.
117
Pada tahapan dekripsi digunakan untuk memunculkan nilai-nilai dominan
yang akan menjadi ciri-ciri dari masing-masing kelompok atau segment, sehingga
informasi ini nantinya akan dapat digunakan dalam pengambilan keputusan.
Tampilan aplikasi deskripsi pada Gambar 4.28 menggunakan jumlah cluster
sebanyak 5.
Gambar 4.28 Hasil Rekap Nilai Per Cluster
Pada Gambar 4.28, menampilkan load hasil segmentasi yang diolah pada
proses sebelumnya, kemudian dilanjutkan ke threshold rekap untuk menampilan
batas minimal nilai yang dominan, dan proses terakhir adalah proses rekap yang
akan menampiklan cluster mana yang dominan sesuai dengan nilai threshold.
Rekapitulasi hasil cluster threshold 0.5 memperlihatkan ciri atau
karakteristik yang ada pada setiap cluster, memberikan ciri-ciri setiap kelompok
sebagai berikut:
118
1. Cluster ke-3: cluster yang dipilih adalah cluster 3 dengan total elemen
sebanyak 271, dengan variabel ke-3 yang muncul sebagai nilai
dominan. Pada varibel ke-3 tersebut, nilai dominan yang muncul
adalah 5 dengan total kemunculan sebanyak 164.
Artinya, pada cluster ke-3 memiliki ciri-ciri: 164 critical account/
memiliki kredit lain namun bukan di bank tersebut.
2. Cluster ke-4: cluster yang dipilih adalah cluster 4 dengan total elemen
sebanyak 158, dengan variabel ke-1 yang muncul sebagai nilai
dominan. Pada varibel ke-1 tersebut, nilai dominan yang muncul
adalah 1 dengan total kemunculan sebanyak 86.
Artinya, pada cluster ke-4 memiliki ciri-ciri: 86 Status rekening giro
yang ada adalah ..< 0 DM (Deutsche Mark)
3. Cluster ke-4: cluster yang dipilih adalah cluster 4 dengan total elemen
sebanyak 158, dengan variabel ke-3 yang muncul sebagai nilai
dominan. Pada varibel ke-3 tersebut, nilai dominan yang muncul
adalah 3 dengan total kemunculan sebanyak 92.
Artinya, pada cluster ke-4 memiliki ciri-ciri: 92 customer
masih
memiliki kredit yang sedang dibayar.
4. Cluster ke-5: cluster yang dipilih adalah cluster 5 dengan total elemen
sebanyak 236, dengan variabel ke-1 yang muncul sebagai nilai
dominan. Pada varibel ke-1 tersebut, nilai dominan yang muncul
adalah 2 dengan total kemunculan sebanyak 146.
119
Artinya, pada cluster ke-5 memiliki ciri-ciri: 146 Status rekening giro
yang ada adalah 0 <= ... < 200 DM (Deutsche Mark).
5. Cluster ke-5: cluster yang dipilih adalah cluster 5 dengan total elemen
sebanyak 236, dengan variabel ke-3 yang muncul sebagai nilai
dominan. Pada varibel ke-3 tersebut, nilai dominan yang muncul
adalah 3 dengan total kemunculan sebanyak 146.
Artinya, pada cluster ke-5 memiliki ciri-ciri: 146 customer
memiliki kredit yang sedang dibayar.
masih
BAB V
KESIMPULAN DAN SARAN
5.1
Kesimpulan
Berdasarkan hasil uji coba yang telah dilakukan dapat diambil beberapa
kesimpulan sebagai berikut:
1.
Pada penelitian ini, penggabungan metode Clutering K-Prototype dengan
Algoritma Genetika dilakukan sebelum fase Evaluasi Fitness. Hal ini
berbeda dengan proses Algoritma Genetika pada umumnya, karena setelah
proses inisialisasi awal akan langsung dilanjutkan ke fase evaluasi fitness
tanpa melalui proses clustering. Proses penggabungan metode ini untuk
menghasilkan pengelompokan data yang lebih baik dan memiliki
kesamaan ciri atau karakteristik didalam suatu cluster.
2.
Metode gabungan K-Prototype dengan Algortima Genetika yang
diusulkan dalam penelitian ini menghasilkan optimasi pusat cluster dengan
hasil yang lebih baik daripada K-Prototype tanpa GA, ataupun K-Means.
Hal ini terlihat dari hasil percobaan yang telah dilakukan, dimana pada
saat dilakukan pengujian menggunakan total cost atau total jarak metode
K-Prototype dengan GA menghasilkan nilai total cost terendah yaitu
sebesar 2621,53 kemudian metode K-Prototype tanpa GA menghasilkan
nilai total cost sebesar 2706,39 dan Metode K-Means menghasilkan nilai
total cost sebesar 9579,46. Oleh karena itu, K-Prototype dengan GA
memiliki tingkat kesamaan ciri atau karakteristik dari setiap kelompok
yang terbentuk lebih baik.
120
121
5.2
Saran
Penelitian ini memanfaatkan metode k-prototype dengan GA sebagai
metode utama dalam proses clustering. Perlu dilakukan uji coba
menggunakan
metode
lainnya
sebagai
pembanding
sehingga
memungkinkan mendapatkan tingkat optimasi yang lebih baik. Untuk
penelitian selanjutnya, penulis menyarankan penggunaan metode optimasi
yang berbeda dan metode clustering yang berbeda.
DAFTAR PUSTAKA
Bashar Al-Shboul, and Sung-Hyon Myaeng. (2009), Initializing K-Means using
Genetic Algorithms, World Academy of Science, Engineering and Technology 54
Chittu.V,N.Sumathi. (2011), A Modified Genetic Algorithm Initializing K-Means
Clustering, Global Journal of Computer Science and Technology Volume 11.
Duc-Truong Pham, Maria M. Suarez-Alvarez and Yuriy I. Prostov, (2011).
Random search with K-Prototype Algorithm for clustering mixed datasets,
Proceedings Thes Royal Of Society.
Gen, M. and Cheng, R., (2000). Genetic Algorithms and Engineering
Optimization, John Wiley & Sons, New York.
H., Rahila, Raghuwanshi, M. dan Jaisawal, N.
Genetic Algorithm Based
Clustering. International Journal of Information System. 16 Juli 2008.
H.S Behera, Rosly Boy Lingdoh, Diptendra Kodamasingh. (2011), An Improved
Hybridized K-Means Clustering Algorithm (IHKMCA) for Highdimensional
Dasaset & It’s Performance Analysis, International Journal on Computer Science
and Engineering (IJCSE), ISSN: 0975-3397, Vol.3, No.3.
Hwei-JenLin, Fu-WenYang and Yang-TaKao. (2005), An Efficient GA based
Clustering Technique, Tamkang Journal of Science and Engineering, Vol.8, No2,
pp.113-122
K.Arun Prabha, R.Saranya. (2011), Refinement of K-Means Clustering Using
Genetic Algorithm, Journal of Computer Applications (JCA), Volume IV, Issue 2.
K.KrishnaandM.NarasimhaMurty, (1999). Genetic K-Means Algorithm, IEEE
Transaction System, Man, and Cybernetics-Partb: Cybernetics, Vol.29, No.3.
122
123
Kohei Arai and Ali Ridho Barakbah, (2007). Hierarchical K-means: an algorithm
for centroids initialization for K-means, Reports of the Faculty of Science and
Engineering, Saga University, Vol. 36, No.1.
Kyoung-jae Kim, Hyunchul Ahn. (2008). A recommender system using GA Kmeans clustering in an online shopping market. Expert Systems with Applications
34. 1200–1209.
M. V. Jagannatha Reddy and B. Kavitha, (2012). Clustering the Mixed Numerical
and Categorical Dataset using Similarity Weight and Filter Method, International
Journal of Database Theory and Application Vol. 5, No. 1.
Min Feng , Zhenyan Wang. (2011), A Genetic K-means Clustering Algorithm
Based on the Optimized Initial Centers, Computer and Information Science, Vol.
4, No. 3.
Ming-Yi Shih, Jar-Wen Jheng and Lien-Fu Lai. (2010), A Two-Step Method for
Clustering Mixed Categroical and Numeric Data, Tamkang Journal of Science
and Engineering, Vol.13, No.1, pp.11-19
Zhexue Huang. (1998), Extensions to the K-Means Algorithm for Clustering
Large Data Sets with Categorical Values, Data Mining and Knowledge Discovery
2, 283–304.
Zhexue Huang. Clustering Large Data Sets With Mixed Numeric and Categorical,
CSIRO Mathematical and Information Sciences.
Download