Optimasi Cluster

140
TESIS OPTIMASI PUSAT CLUSTER K-PROTOTYPE DENGAN ALGORITMA GENETIKA NI LUH GEDE PIVIN SUWIRMAYANTI PROGRAM PASCASARJANA UNIVERSITAS UDAYANA DENPASAR 2014

description

Optimasi Cluster

Transcript of Optimasi Cluster

  • TESIS

    OPTIMASI PUSAT CLUSTER K-PROTOTYPE

    DENGAN ALGORITMA GENETIKA

    NI LUH GEDE PIVIN SUWIRMAYANTI

    PROGRAM PASCASARJANA

    UNIVERSITAS UDAYANA

    DENPASAR

    2014

  • TESIS

    OPTIMASI PUSAT CLUSTER K-PROTOTYPE

    DENGAN ALGORITMA GENETIKA

    NI LUH GEDE PIVIN SUWIRMAYANTI

    NIM 1191761014

    PROGRAM MAGISTER

    PROGRAM STUDI TEKNIK ELEKTRO

    PROGRAM PASCASARJANA

    UNIVERSITAS UDAYANA

    DENPASAR

    2014

  • ii

    OPTIMASI PUSAT CLUSTER K-PROTOTYPE

    DENGAN ALGORITMA GENETIKA

    Tesis untuk Memperoleh Gelar Magister

    pada Program Magister, Program Studi Teknik Elektro,

    Program Pascasarjana Universitas Udayana

    NI LUH GEDE PIVIN SUWIRMAYANTI

    NIM 1191761014

    PROGRAM MAGISTER

    PROGRAM STUDI TEKNIK ELEKTRO

    PROGRAM PASCASARJANA

    UNIVERSITAS UDAYANA

    DENPASAR

    2014

  • iii

  • iv

    Tesis Ini Telah Diuji pada

    Tanggal 25 April 2014

    Panitia Penguji Tesis Berdasarkan SK Rektor Universitas Udayana,

    No.: 1201/UN14.4/HK/2014, Tanggal 24 April 2014

    Ketua : Dr. I Ketut Gede Darma Putra, S.Kom,. MT

    Anggota :

    1. I Nyoman Satya Kumara, ST., M.Sc., PhD

    2. Prof. Ir. Rukmi Sari Hartati, MT., PhD

    3. Dr. Eng. Putu Agung Bayupati, ST., MT

    4. Ni Made Ary Esta Dewi Wirastuti, ST,. MSc,.PhD

  • v

    SURAT PERNYATAAN BEBAS PLAGIAT

    Saya yang bertanda tangan dibawah ini :

    Nama : Ni Luh Gede Pivin Suwirmayanti

    NIM : 1191761014

    Program Studi : Magister Teknik Elektro

    Judul Tesis : Optimasi Pusat Cluster K-Prototype dengan Algortima

    Genetika

    Dengan ini menatakan bahwa karya ilmiah Tesis ini bebas plagiat.

    Apabila di kemudian hari terbukti plagiat dalam karya ilmiah ini, maka saya

    bersedia menerima sanksi sesuai peraturan Mendiknas RI No. 17 tahun 2010 dan

    Peraturan Perundang-undangan yang berlaku

    Denpasar, 20 Juni 2014

    Yang membuat pernyataan,

    Ni Luh Gede Pivin Suwirmayanti

  • vi

    KATA PENGANTAR

    Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas segala

    berkah, semangat, kekuatan, dan karunia yang telah diberikan-Nya, sehingga

    penulis dapat menyelesaikan penyusunan laporan tesis yang berjudul Optimasi

    Pusat Cluster K-Prototype Dengan Algoritma Gnetika. Dalam penyusunan

    laporan tesis ini penulis banyak sekali mendapatkan bantuan baik berupa

    pengetahuan maupun moril dari berbagai pihak, sehingga akhirnya penulis dapat

    menyelesaikan tesis ini. Mengingat hal tersebut, penulis ingin mengucapkan

    terima kasih yang sebesar-besarnya kepada berbagai pihak, antara lain:

    1. Ibu Prof. Dr. dr. A.A Raka Sudewi, Sp.S (K), sebagai Direktur Program Pasca Sarjana Univeristas Udayana.

    2. Ibu Prof. Ir. Ida Ayu Dwi Giriantari, M.Eng.Sc.,Ph.D, sebagai Ketua Program Magister Program Studi Teknik Elektro Program Pasca Sarjana

    Universitas Udayana.

    3. Bapak Dr. IKG Darma Putra, S.Kom., MT, selaku pembimbing I yang telah banyak membantu dalam memberikan ilmu, bimbingan, saran dan

    motivasi dalam menyelesaikan laporan tesis ini.

    4. Bapak I Nyoman Satya Kumara, ST., M.Sc., PhD, selaku pembimbing II yang telah memberikan bimbingan, saran dan motivasi dalam

    menyelesaikan tesis ini.

    5. Bapak dan Ibu dosen Program Studi Teknik Elektro Program Pasca Sarjana Universitas Udayana beserta staff dan karyawan.

    6. Bapak I Wayan Budi Sentana, ST., M.Kom, atas ide, waktu yang diluangkan untuk bimbingan dan motivasi yang telah diberikan sehingga

    penulis dapat menyelesaikan tesis ini.

    7. Bapak, Ibu dan Keluarga yang selalu memberikan doa, dukungan, materi dan motivasi sehingga penulis bisa menyelesaikan studi ini.

    8. Teman-teman Dosen, Komang Budiarta, Kusuma Wardana, Bapak Adi Purwantara, Rosa, Melati, Ecik. yang senantiasa memberikan bantuan,

    dukungan, dan motivasi untuk menyelesaikan studi ini

    9. Seluruh pihak yang tidak dapat penulis sebutkan satu-persatu, atas partisipasi dan kontribusinya terhadap penyusunan laporan tesis ini.

    Akhirnya penulis mohon maaf atas segala keterbatasan yang ada dalam

    laporan tesis ini. Semoga tesis ini dapat memberikan kontribusi positif bagi semua

    pihak.

    Denpasar, Juni 2014

    Penulis

  • vii

    ABSTRAK

    Teknik clustering saat ini telah banyak digunakan untuk mengatasi

    permasalahan yang terkait dengan segementasi data. Implementasi clustering ini

    dapat diterapkan pada berbagai bidang sebagai contoh dalam hal pemasaran,

    clustering dapat digunakan sebagai metode untuk mengelompokkan data. Tujuan

    utama dari metode cluster adalah pengelompokan sejumlah data atau obyek ke

    dalam cluster(group) sehingga dalam setiap cluster akan berisi data yang semirip

    mungkin.

    Dalam proses clustering, secara umum tipe data yang diolah adalah tipe

    data numerik, namun pada kenyataannya proses pengelompokan data tidak hanya

    menggunakan tipe data numerik, terdapat juga tipe data kategorikal. Untuk itu

    penulis menggunakan metode K-Prototype yang dioptimasi dengan Algortima

    Genetika dimana data uji yang digunakan adalah Data German Credit yang

    memiliki tipe data numerikal dan kategorikal. Dalam penelitian dilakukan

    perbandingan kinerja antara metode K-Prototype dengan Algoritma Genetika,

    dengan metode K-Prototype Tanpa Algortima Genetika, dan metode K-Means.

    Dari beberapa hasil percobaan yang dilakukan metode K-Prototype dengan

    Algoritma Genetika menghasilkan hasil yang terbaik dari metode K-Prototype

    tanpa Algortima Genetika, dan metode K-Means.

    Kata kunci: Clustering, Optimasi, K-Prototype, Algoritma Genetika.

  • viii

    ABSTRACT

    Nowadays the clustering technique has been used to overcome problems

    connected with data segmentation. This clustering implementation can be applied

    on many fields such as in marketing, clustering can be used as a method to

    classify data. The main purpose of the clustering method is to classify a sum of

    data or objects into cluster (group) so that in each cluster will contain similar

    data.

    Generally, the processed data in clustering process is the type of

    numerical data. However, in reality, the classification process is not only using

    numerical data, but also using categorical data. Therefore, the author used K-

    Prototype which is optimized with Genetic Algorithm. The testing data were

    Credit Germany Data which has both numerical and categorical data. In this

    research, the performance between the K-Prototype method with the Genetic

    Algorithm was compared to the K-Prototype method without the Genetic

    Algorithm and K-Means method. According to the testing process, it is obtained

    that the K-Prototype method with Genetic Algorithm is better than the K-

    Prototype method without Generic Algorithm and K-Means method.

    Keywords: Clustering, Optimization, K-Prototype, Genetic Algorithm.

  • ix

    DAFTAR ISI

    SAMPUL DALAM ................................................................................................. i PRASYARAT GELAR ......................................................................................... ii LEMBAR PERSETUJUAN ................................................................................ iii PENETAPAN PANITIA PENGUJI .................................................................. iiv

    SURAT PERNYATAAN BEBAS PLAGIAT ..................................................... v KATA PENGANTAR .......................................................................................... vi

    ABSTRAK ........................................................................................................... vii ABSTRACT ......................................................................................................... viii DAFTAR ISI ......................................................................................................... ix DAFTAR TABEL ................................................................................................ xi DAFTAR GAMBAR ........................................................................................... xii

    DAFTAR ISTILAH ........................................................................................... xiv

    BAB I PENDAHULUAN ............................................................................... 1 1.1 Latar Belakang ......................................................................................... 1 1.2 Rumusan Masalah .................................................................................... 6 1.3 Batasan Masalah ....................................................................................... 6

    1.4 Tujuan Penelitian ...................................................................................... 7

    1.5 Manfaat Penelitian .................................................................................... 7 1.6 Keaslian Penelitian ................................................................................... 7 1.7 Sistematika Penulisan ............................................................................... 8

    BAB II KAJIAN PUSTAKA ......................................................................... 10 2.1 State of The Art ....................................................................................... 10

    2.2 Algoritma Genetika ................................................................................ 13 2.2.1 Siklus Algoritma Genetika .............................................................. 20

    2.2.2 Teknik Encoding/Decoding Gen dan Individu ............................... 24 2.2.3 Representasi Kromosom ................................................................. 27 2.2.4 Membangkitkan Populasi Awal ...................................................... 29

    2.2.5 Nilai Fitness .................................................................................... 30 2.2.6 Elitisme ........................................................................................... 31 2.2.7 Seleksi ............................................................................................. 31

    2.3 Operator Genetika .................................................................................. 37

    2.3.1 Operator Reproduksi ....................................................................... 37 2.4 Clustering ............................................................................................... 48

    2.4.1 Tipe Cluster .................................................................................... 54 2.5 Algoritma Clustering K-Prototype ......................................................... 57 2.6 Cost Function Criterion ......................................................................... 59

    BAB III METODE PENELITIAN ................................................................. 63 3.1 Tempat dan Waktu Penelitian ................................................................ 63

    3.2 Alur Analisis .......................................................................................... 63 3.3 Studi Pustaka .......................................................................................... 64 3.4 Pengumpulan Data ................................................................................ 65 3.5 Gambaran Umum Sistem ....................................................................... 66

  • x

    3.5.1 Data Uji ........................................................................................... 67

    3.5.2 Inputan Kategori ............................................................................. 70 3.5.3 Clustering K-Prototype dengan Algoritma Genetika...................... 71 3.5.4 Clustering K-Prototype Tanpa GA ................................................. 77 3.5.5 Clustering K-Means ........................................................................ 79 3.5.6 Pengujian Total Cost ....................................................................... 82

    3.5.7 Hasil ................................................................................................ 83 3.5.8 Deskripsi ......................................................................................... 83

    3.6 Instrumen Penelitian ............................................................................... 84

    BAB IV HASIL DAN PENGUJIAN .............................................................. 85 4.1 Antarmuka Sistem .................................................................................. 85 4.2 Antarmuka Aplikasi Clustering ............................................................. 85

    4.2.1 Input Dataset. .................................................................................. 86

    4.2.2 Inputan Kategori ............................................................................. 88 4.2.3 Eksekusi Program ........................................................................... 89 4.2.4 Pengujian Total Cost ..................................................................... 104 4.2.5 Hasil Percobaan ............................................................................ 108

    4.2.6 Antarmuka Aplikasi Deskripsi ...................................................... 112

    BAB V KESIMPULAN DAN SARAN ....................................................... 120 5.1 Kesimpulan ........................................................................................... 120

    5.2 Saran ..................................................................................................... 121

    DAFTAR PUSTAKA ........................................................................................ 122

  • xi

    DAFTAR TABEL

    Tabel 2.1 Kromosom dan Nilai fitnessnya ............................................................ 34 Tabel 2.2 Kondisi kromosom sebelum dan sesudah di ranking ............................ 35

    Tabel 3.1 Spesifikasi German Credit Dataset ....................................................... 69

  • xii

    DAFTAR GAMBAR

    Gambar 2.1 Visualisasi gen, allele, kromosom, individu, dan populasi pada ...... 19 Gambar 2.2 Siklus algoritma genetika yang diperkenalkan oleh David Goldberg 21 Gambar 2.3 Siklus algoritma genetika yang diperbaiki oleh Zbigniew

    Michalewicz .......................................................................................................... 21 Gambar 2.4 Struktur Umum Algoritma Genetik .................................................. 22 Gambar 2.5 Contoh Kromosom Biner .................................................................. 27

    Gambar 2.6 Contoh Kromosom Float .................................................................. 28 Gambar 2.7 Contoh Kromosom Nilai ................................................................... 28 Gambar 2.8 Contoh Kromosom Permutasi ........................................................... 29 Gambar 2.9 Grafik Lokal Optimim (T.Sutojo, Edy Mulyanto, Dr. Vincent

    Suhartono, 2011) ................................................................................................... 32

    Gambar 2.10 Contoh probabilitas kromosom pada roda roullete ......................... 34 Gambar 2.11 Seleksi dengan Roulette-Wheel ....................................................... 35 Gambar 2.12 Pertukaran secara langsung ............................................................. 39

    Gambar 2.13 Pertukaran Secara Aritmatika ......................................................... 40 Gambar 2. 14 Proses one point crossover ............................................................. 41 Gambar 2. 15 Proses two point crossover............................................................. 42

    Gambar 2.16 Proses n point crossover.................................................................. 42

    Gambar 2.17 Proses uniform crossover ................................................................ 43 Gambar 2.18 Contoh proses mutasi ...................................................................... 46 Gambar 2.19 Clustering berdasarkan warna ......................................................... 51

    Gambar 2.20 Clustering berdasarkan bentuk ........................................................ 51 Gambar 2.21 Clustering berdasarkan jarak........................................................... 52

    Gambar 2.22 Merupakan ilustrasi prinsip Clustering. .......................................... 52 Gambar 2.23 Beberapa cara menentukan cluster bagi dataset yang sama ........... 53 Gambar 2.24 Algoritma Clustering ...................................................................... 53 Gambar 2.25 Tipe cluster Well-Separated. ........................................................... 54

    Gambar 2.26 Tipe clusterPrototype-Based/Center-Based ................................... 55 Gambar 2.27 Tipe cluster Graph-Based ............................................................... 55

    Gambar 2.28 Tipe Cluster Density-Based ............................................................ 56 Gambar 2.29 Tipe Cluster Shared-Property ......................................................... 56

    Gambar 3.1 Alur Analisi Penelitian ...................................................................... 64 Gambar 3.2 Gambaran Umum Sistem .................................................................. 66 Gambar 3. 3 Contoh Data Uji ............................................................................... 68

    Gambar 3.4 Clustering K-Prototype dengan GA .................................................. 72 Gambar 3.5 Contoh Kromosom ............................................................................ 73 Gambar 3.6 Inisialisasi awal ................................................................................. 74 Gambar 3.7 Flowchart K-Means Clustering ......................................................... 81

    Gambar 4.1 Tampilan Aplikasi Clustering ........................................................... 85

    Gambar 4.2 Tampilan Dataset .............................................................................. 86

    Gambar 4.3 Pemilihan Data Uji. .......................................................................... 86

    Gambar 4.4 Data telah diload ............................................................................... 87 Gambar 4.5 Tampilan Penetapan Variabel ........................................................... 88 Gambar 4.6 Tampilan K-Prototype Dengan GA .................................................. 90

  • xiii

    Gambar 4. 7 Hasil Uji K-Protoype dengan GA .................................................... 90

    Gambar 4.8 Inisialisasi kromosom awal ............................................................... 91 Gambar 4.9 Inisialisasi awal prototype (a) Nilai kategorikal dan numerik pada

    kromosom (b) Nilai kategorikal pada kromosom (c) nilai numerik pada

    kromosom ............................................................................................................. 93 Gambar 4.10 Hasil Nilai Fitness ........................................................................... 95

    Gambar 4.11 Pengkopian Individu Terbaik .......................................................... 96 Gambar 4.12 Hasil Roulette-Wheel ....................................................................... 96

    Gambar 4.13 Hasil pindah silang .......................................................................... 97 Gambar 4.14 Hasil Mutasi pada seluruh kromosom ............................................. 99 Gambar 4.15 Tampilan K-Prototype Tanpa GA ................................................. 100 Gambar 4.16 Hasil Uji K-Prototype Tanpa GA ................................................. 102 Gambar 4.17 Hasil Uji dengan K-Means. ........................................................... 103

    Gambar 4.18 Total Cost K-Protoype dengan GA ............................................... 105 Gambar 4.19 Total Cost K-Protoype tanpa GA ................................................. 106 Gambar 4.20 Total Cost K-Means ...................................................................... 107 Gambar 4.21 Grafik Hasil ................................................................................... 109

    Gambar 4.22 Tampilan Aplikasi Deskripsi......................................................... 112 Gambar 4.23 Load Data ...................................................................................... 113

    Gambar 4.24 Hasil Load Data ............................................................................ 114

    Gambar 4.25 Hasil Rekap Nilai Per Cluster ....................................................... 115

  • xiv

    DAFTAR ISTILAH

    Alelle : Nilai suatu gen.

    Cluster : Obyek didalam grup yang memiliki kemiripan

    satu dengan lainnya.

    Clustering : Suatu teknik dalam data mining yang

    digunakan untuk memasukkan data ke dalam

    grup yang bersesuaian.

    Clustering Criterion : Suatu metode pengukuran hasil clustering

    Cost Function Criterion : Biaya yang dihabiskan untuk menempatkan

    object pada cluster yang bersesuaian.

    Crossover : Mempersiapkan individu baru pada masing-

    masing populasi melalui proses pindah silang

    Elitisme : Prosedur untuk meng-copy individu yang

    mempunyai nilai fitness tertinggi

    Encoding/Decoding : Mengkodekan nilai gen-gen pembentuk

    individu

    Evaluasi Fitness : Mengevaluasi nilai dari fungsi tujuan

    Gen : Variabel dasar yang membentuk suatu

    kromosom.

    Generasi : Satu satuan siklus proses evolusi

    German Credit Dataset : Dataset untuk penilaian kelayakan pemberian

    kredit.

    Individu : Kumpulan gen, bisa dikatakan sama dengan

    kromosom.

    Inisialisasi Populasi Awal : Menentukan sejumlah kromosom awal yang

    akan digunakan untuk komputasi selanjutnya

    K-Means : Metode Klasifikasi tak terawasi (unsupervised)

    yang membagi data ke dalam satu atau lebih

    cluster atau kelompok.

    K-Prototype : Algoritma yang digunakan untuk melakukan

    clustering pada data dengan tipe campuran

    numerik dan kategorikal

    Kromosom : Gabungan dari gen-gen yang membentuk arti

    tertentu.

    Mutasi : Proses mengubah nilai dari satu atau beberapa

    gen dalam suatu kromosom

    Nilai Fitness : Nilai dari fungsi tujuan

    Populasi : Sekumpulan individu yang akan diproses

    secara bersama-sama dalam satu siklus proses

    evolusi.

    Pre-Evaluasi : Mempersiapkan dataset yang akan diclustering

    dan menyesuaikannya dengan model

    kromosom yang ada

  • xv

    Pusat Cluster : Centroid dan medoid. Centroid adalah rataan

    semua titik dalam cluster, sedangkan medoid

    adalah titik yang paling mewakili cluster

    Roulette-Wheel : Metode seleksi dimana masing-masing

    kromosom menempati potongan lingkaran

    pada roda roulette secara proporsional sesuai

    dengan nilai fitness-nya

    Seleksi : Suatu urutan proses dalam algortima genetika

    untuk mendapatkan calon induk yang baik.

  • 1

    BAB I

    PENDAHULUAN

    1.1 Latar Belakang

    Analisa Cluster saat ini merupakan salah satu metode yang banyak

    digunakan untuk melakukan pengelompokan data menjadi segmensegmen yang

    lebih kecil. Analisa Cluster merupakan suatu teknik yang digunakan untuk

    membagi sekumpulan obyek ke dalam k kelompok sehingga nilai dalam setiap

    kelompok adalah homogen dengan mengacu kepada atribut tertentu berdasarkan

    kriteria tertentu (Huang dkk, 2007). Kesamaan nilai (homogenity) dalam setiap

    segmen yang diwakili oleh cluster mengGambarkan kesamaan pola perilaku

    pelanggan (Huang dkk, 2007). Dengan analisa cluster ini, kesamaan pola prilaku

    pelanggan dapat digali melalui cluster-cluster yang terbentuk. Semakin akurat

    cluster yang terbentuk maka akan semakin jelas kesamaan pola prilaku dari

    pelanggan. Sehingga dengan demikian, para pelaku bisnis dapat menentukan

    strategi pemasaran dengan lebih akurat, berdasarkan pada pola prilaku pelanggan

    yang didapatkan dari proses analisa cluster tersebut.

    Teknik clustering saat ini juga telah banyak digunakan untuk mengatasi

    permasalahan yang terkait dengan segementasi data. Implementasi clustering ini

    dapat diterapkan pada berbagai bidang sebagai contoh dalam hal pemasaran,

    clustering dapat digunakan sebagai metode untuk mengelompokkan pelanggan

    yang memiliki kesamaan dalam perilaku belanja. Tujuan utama dari metode

  • 2

    cluster adalah pengelompokan sejumlah data atau obyek ke dalam cluster (group)

    sehingga dalam setiap cluster akan berisi data yang semirip mungkin. Dalam

    clustering, sistem berusaha menempatkan obyek yang mirip (memiliki jarak yang

    dekat) dalam satu cluster dan membuat jarak antar cluster yang sejauh mungkin.

    Ini berarti obyek dalam satu cluster sangat mirip satu sama lain dan berbeda

    dengan obyek dalam cluster-cluster yang lain. Clustering adalah salah satu teknik

    unsupervised learning dimana fase training tidak diperlukan untuk metode ini.

    Berkembangnya penelitian tentang teknik clustering, telah ditemukan

    berbagai algoritma yang bisa menghasilkan cluster dengan tingkat akurasi yang

    semakin baik. Salah satu teknik yang diusulkan oleh Liu dkk, tahun 2008 adalah

    menggunakan algoritma genetika yang dikombinasikan dengan metode K-Means

    Clustering, untuk mendapatkan jumlah cluster yang optimal. Kombinasi Metode

    GA dan K-Means juga dimanfaatkan oleh Kim dkk, tahun 2008 untuk

    pengelompokan pelanggan dalam membuat recomender system pada online

    shoping market. Dari hasil penelitian tersebut, bisa disimpulkan bahwa GA K-

    Means mampu menghasilkan pengelompokan (clustering) yang lebih baik

    dibandingkan dengan Self Organising Map (SOM) yang berbasis neural network.

    (Min Feng, Zhenyan-wang, 2011) melakukan penelitian untuk mengoptimalkan

    Algoritma K-Means dalam menentukan pusat awal cluster, dimana hasil

    penelitian menunjukkan bahwa algoritma K-Means memiliki kelemahan tidak

    hanya memiliki ketergantungan pada data awal, tetapi juga konvergensi yang

    cepat dan kualitas clustering. Untuk memperoleh cluster yang efektif dan akurat,

  • 3

    maka Min Feng dan Zhenyan-wang mengoptimalkan Algoritma K-Means (PKM)

    dengan Algoritma Genetika menjadi sebuah Algoritma Hibrid (PGKM).

    Percobaan menunjukkan bahwa algoritma itu memiliki kualitas cluster dan

    performance yang baik.

    Publikasi penelitian Liu dkk, tahun 2008 menggunakan algoritma genetik

    (Genetic Algorithm, GA) dan dikombinasikan dengan metode clustering yang

    sangat populer, yaitu K-Means untuk menemukan variabel yang valid dan jumlah

    cluster optimal secara simultan. Hasil penelitian menunjukkan, gabungan

    algoritma genetik dan K-Means berhasil menghilangkan variabel yang tidak

    relevan dan menghasilkan jumlah cluster secara otomatis, dan berhasil

    meningkatkan hasil pengelompokan pelanggan secara signifikan. Menurut K.Arun

    Prabha, R.Saranya tahun 2011 dengan penelitinanya yang memperbaiki K-Means

    Clustering dengan menggunakan algoritma genetik, dimana disebutkan Clustering

    K-Means adalah sebuah algoritma clustering yang populer berdasarkan hasil

    partisi data. Untuk meningkatkan kualitas dari cluster K-Means menggunakan

    algoritma genetika dan hasil penelitian menunjukkan bahwa algoritma yang

    diajukan mencapai hasil yang lebih baik. Chittu.V,N.Sumathi tahun 2011 dalam

    penelitiannya menyebutkan ada sebuah algoritma Clustering baru yang diusulkan

    yaitu Modified Genetic Algorithm Initializing K-Means (MGAIK). MGAIK

    diinspirasi oleh sebuah metode initialization algoritma genetik untuk K-Means

    clustering tapi beberapa fitur perbaikan dari GAIK. Akhirnya, ketika

    perbandingan yang dilakukan mendapatkan hasil bawha MGAIK lebih baik dari

    yang sederhana algoritma genetika .

  • 4

    Keseluruhan penelitian tersebut di atas, belum ada penelitian yang

    memperhatikan kemungkinan munculnya kesalahan pada data karena adanya

    perbedaan tipe data dalam dataset yang digunakan. Misalnya dalam penelitian

    yang dilakukan oleh Liu dkk, data uji yang digunakan memiliki tipe data

    campuran yaitu data dengan tipe numerik dan kategorikal. Sementara itu

    penelitian yang dilakukan oleh Huang tahun 1997 dan Huang tahun 1998

    menunjukkan bahwa, penanganan data kategorikal dengan metode untuk data

    numerik tidak selalu memberikan hasil yang berguna, karena tidak semua data

    categorical di dunia nyata disajikan dalam bentuk terurut (ordered).

    Penelitian Huang tahun 1997 tersebut diusulkan sebuah algoritma yang

    disebut dengan K-Prototype, untuk menangani clustering pada data dengan tipe

    campuran numerik dan kategorikal. Penelitian ini telah menyajikan Algoritma K-

    Prototype untuk cluster data set yang besar yang ada di dunia nyata. K-Prototype

    adalah salah satu metode clustering yang berbasis partitioning. Algoritma ini

    adalah hasil pengembangan atau kombinasi antara K-Means dan K-Modes

    Clustering untuk menangani clustering pada data dengan campuran atribut bertipe

    numerik dan kategorikal. K-Protoype memiliki keunggulan karena algoritmanya

    yang tidak terlalu kompleks dan mampu menangani data yang besar lebih baik

    dibandingkan dengan algoritma yang berbasis hierarki (Huang,1998).

    Hasil yang diperoleh dari optimal dengan metode Clustering K-Prototype

    akan dioptimasi dengan Algoritma Genetika. Algoritma Genetika sangat tepat

    digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar

  • 5

    diselesaikan dengan menggunakan metode konvensional. Algoritma Genetika

    adalah suatu metode algoritma optimalisasi dan pencarian yang didasarkan pada

    prinsip genetika dan seleksi natural (Haupt.2004). Algoritma Genetika sebenarnya

    terinspirasi dari prinsip genetika dan seleksi alam (teori Darwin) yang ditemukan

    di Universitas Michigan, Amerika Serikat oleh John Holland melalui sebuah

    penelitian dan dipopulerkan oleh salah satu muridnya, David Goldberg. Algoritma

    genetika merupakan algoritma yang berusaha menerapkan pemahaman mengenai

    evolusi alamiah pada tugas-tugas pemecahan-masalah (problem solving).

    Berdasarkan pada fakta-fakta yang didapatkan dari beberapa penelitian

    sebelumnya maka penulis melalui penelitian ini mengusulkan metode K-Prototype

    yang dioptimasi dengan Algoritma Genetika untuk melakukan optimasi pada

    pusat cluster, untuk mendapatkan pusat cluster yang optimal, sehingga akurasi

    dari cluster menjadi lebih baik dimana data uji yang aka digunakan adalah

    German Credit Dataset. German Credit Dataset adalah dataset yang banyak

    digunakan dalam permasalahan klasifikasi untuk penilaian kelayakan pemberian

    kredit.

  • 6

    1.2 Rumusan Masalah

    Berdasarkan latar belakang di atas, maka dapat dirumuskan masalah dari

    penelitian ini adalah sebagai berikut :

    1. Bagaimana menggabungkan metode clustering K-Prototype dan Algoritma

    Genetika, dengan tujuan menghasilkan pengelompokan data yang lebih

    baik dan memiliki kesamaan ciri atau karakteristik didalam cluster yang

    semakin erat.

    2. Bagaimana unjuk kerja metode gabungan K-Prototype dan Algoritma

    Genetika dalam pembentukan pusat cluster, jika dibandingkan dengan

    metode K-Prototype tanpa Algoritma Genetika. Selanjutnya dibandingkan

    dengan metode K-Means. Ketiga Metode tersebut akan diuji dengan

    menggunakan tipe data uji campuran numerik dan kategorikal yang sama.

    1.3 Batasan Masalah

    Dengan luasnya cakupan yang dapat terkait dengan tesis ini dan untuk

    keseragaman pemahaman dalam penelitian, maka terdapat batasan-batasan yang

    perlu diberlakukan pada penelitian ini. Adapun batasan permasalahan yang

    penulis angkat pada penelitian ini adalah:

    1. Optimasi Pusat Cluster pada K-Prototype menggunakan Algoritma

    Genetika dengan studi kasus Segmentasi Pasar dengan menggunakan data

    uji : German Credit Dataset, dataset tersebut adalah dataset yang umum

    digunakan untuk klasifikasi pemberian kredit, yang terdiri dari 1000

    record dengan 20 variabel.

  • 7

    2. Pengujian hasil akan dibandingkan dengan Metode K-Prototype tanpa

    Algoritma Genetika, dan Metode K-Means Clustering.

    1.4 Tujuan Penelitian

    Tujuan yang diharapkan setelah penulis melakukan penelitian adalah

    Mengimplementasikan metode K-Prototype dan Genetic Algorithm (GA) untuk

    melakukan optimasi pada pusat cluster, khususnya pada data set dengan tipe data

    campuran numerik dan kategorikal, sehingga diharapkan dapat menghasilkan

    pengelompokan (cluster) data yang lebih baik.

    1.5 Manfaat Penelitian

    Manfaat yang bisa didapatkan dari penelitian ini adalah penggabungan

    metode clustering K-Prototype dan Algortima Genetika, dapat digunakan untuk

    membentuk cluster-cluster yang memiliki kesamaan karakteristik yang semakin

    kompak dan erat, sehingga nantinya dapat dimanfaatkan oleh para pelaku bisnis

    untuk membuat strategi pemasaran yang lebih fokus kepada cluster-cluster yang

    terbentuk, dengan melihat karakteristik yang ada pada setiap cluster.

    1.6 Keaslian Penelitian

    Penelitian terkait yang sejenis adalah penelitian yang dilakukan oleh Min

    Feng, Zhenyan Wang-(2011), yang berjudul A Genetic K-Means Clustering

    Algorithm Based on the Optimized Initial Centers, penelitian ini bertujuan

    mengoptimalkan initial centers pada algoritma K-Means untuk mementukan pusat

  • 8

    awal cluster. Penelitian yang dilakukan oleh Chittu.V, N.Sumathi (2011) yang

    berjudul A Modified Genetic Algorithm Initializing K-Means Clustering. Dalam

    penelitian ini disebutkan ada sebuah algoritma Clustering baru yang diusulkan

    yaitu Modified Genetic Algorithm Initializing K-Means (MGAIK). MGAIK

    diinspirasi oleh sebuah metode initialization Algoritma Genetik untuk K-Means

    Clustering tapi beberapa fitur perbaikan dari GAIK.

    Berdasarkan pada beberapa hasil penelitian yang telah dilakukan

    sebelumnya, maka penulis mengusulkan pendekatan baru yaitu algoritma K-

    Prototype yang dioptimasi dengan Algoritma Genetika untuk menghasilkan pusat

    cluster yang optimal. Penelitian terkait yang menggunakan metode berbeda

    penulis rangkum pada state of the art yang ada pada Bab II.

    1.7 Sistematika Penulisan

    Sistematika penulisan penelitian adalah sebagai berikut.

    BAB I : PENDAHULUAN

    Bab ini memaparkan mengenai latar belakang, rumusan masalah, tujuan,

    manfaat, ruang lingkup dan batasan masalah, keaslian penelitian serta sistematika

    penulisan dalam menyusun laporan penelitian.

    BAB II : TINJAUAN PUSTAKA

    Bab ini terdiri dari state of the art yang berisi penelitian sebelumnya yang

    akan dijadikan perbandingan untuk penelitian ini, serta teori penunjang yang

    digunakan membantu memecahkan permasalahan penjadwalan.

    BAB III : METODE PENELITIAN

  • 9

    Bab ini berisikan alur analisis dari penelitian, tempat dan waktu penelitian,

    tipe data, bentuk data, sumber data serta metode perancangan pembuatan sistem

    seperti pemodelan sistem.

    BAB IV : PEMBAHASAN

    Bab ini berisikan pembahasan mengenai analisis dari penelitian,

    pengukuran kinerja metode yang digunakan pada penelitian dan implementasi

    sistem dengan data dari perusahaan tempat studi kasus.

    BAB V : KESIMPULAN

    Bab ini berisikan kesimpulan dan saran dari hasil penelitian ini.

  • 10

    BAB II

    KAJIAN PUSTAKA

    2.1 State of The Art

    Beberapa penelitian yang telah dilakukan sebelumnya terkait dengan judul

    yang diangkat:

    Kombinasi Metode GA dan K-Means juga dimanfaatkan oleh Kim dkk,

    tahun 2008, untuk pengelompokan pelanggan dalam membuat recomender sistem

    pada online shoping market. Dari hasil penelitian tersebut, bisa disimpulkan

    bahwa GA K-Means mampu menghasilkan pengelompokan (Clustering) yang

    lebih baik dibandingkan dengan Self Organising Map (SOM) yang berbasis neural

    network.

    Penelitian dengan judul A Genetic K-Means ClusteringAlgorithm Based

    on the Optimized Initial Centers, oleh Min Feng, Zhenyan Wang pada tahun

    2011. Dalam penelitian tersebut menjelaskan mengenai optimalkan initial centers

    sebuah Algoritma K-Means untuk mementukan pusat awal cluster. Percobaan

    menunjukkan bahwa alogaritma K-Means memiliki kelemahan tidak hanya

    memiliki ketergantungan pada data awal, tapi juga konvergensi yang cepat dan

    kualitas Clustering. Untuk memperoleh cluster yang efektif dan akurat, maka

    dioptimalkannya Algoritma K-Means (PKM) yang digabunggkan dengan

    Algoritma Genetik menjadi sebuah Algoritma Hibrid (PGKM). Percobaan

    menunjukkan bahwa alogaritma itu memiliki kualitas cluster dan performance

    yang baik.

  • 11

    Publikasi metode K-Means Clustering menggunakan Genetic Algorithm,

    oleh K.Arun Prabha, R.Saranya tahun 2011 yang mengangkat penelitian yang

    berjudul Refinement of K-Means Clustering Using Genetic Algorithma. Dimana

    dalam penelitian tersebut menyajikan Clustering K-Means adalah sebuah

    algoritma Clustering yang populer berdasarkan hasil partisi data. Ada beberapa

    kekurangan itu, seperti menentukan jumlah cluster di pertama, sensitif untuk

    menentukan kondisi awal, dan memungkinkan suatu cluster tidak memiliki

    anggota. Untuk meningkatkan kualitas dari cluster K-Means menggunakan

    algoritma genetik. Hasil penelitian menunjukkan bahwa algoritma yang diajukan

    mencapai hasil yang lebih baik daripada yang konvensional dan kernel algoritma

    K-Means bila diterapkan pada data riil set .

    Bashar Al-Shboul, and Sung-Hyon Myaeng pada tahun 2009, melakukan

    penelitian yang berjudul Initializing K-Means using Genetic Algorithms. K-Means

    (KM). Dalam penelitiannya membahas mengenai salah satu algoritma utama yang

    digunakan dalam Clustering. Masalah lain KM adalah konvergen menuju local

    minima. Ketika membandingkan hasil eksperimen K-Means, GKA, GAIK dan

    KIGA kita menemukan bahwa KIGA lebih baik daripada yang lain. Seperti yang

    ditunjukkan oleh hasil pada semua dataset KIGA siap untuk mencapai akurasi

    Clustering yang tinggi jika dibandingkan dengan algoritma lainnya. Dalam

    penelitian ini, mengusulkan dua algoritma untuk memecahkan masalah

    inisialisasi, KM menginisialisasi algoritma genetik (GAIK) dan KM

    menginisialisasi genetik algoritma (KIGA).

  • 12

    Penelitian yang berjudul A Modified Genetic Algorithm Initializing K-

    Means Clustering, oleh Chittu.V, N.Sumathi pada tahun 2011. Dalam penelitian

    ini disebutkan ada Sebuah algoritma Clustering baru yang diusulkan yaitu

    Modified Genetic Algorithm Initializing K-Means ( MGAIK). MGAIK diinspirasi

    oleh sebagai sebuah metode initialization algoritma genetik untuk K-Means

    Clustering tapi beberapa fitur perbaikan dari GAIK. Karya ini menyajikan yang

    Modifikasi Genetic Algorithm (MGA) dengan beberapa parameter subpopulasi

    dan dinamis. Untuk menunjukkan efektivitas dan efisiensi algoritma, sebuah

    perbandingan tersebut dilakukan di antara K-Means, GAIK dan MGAIK.

    Akhirnya, ketika membandingkan hasil percobaan K-Means, GAIK dan MGAIK

    jelas bahwa MGAIK lebih baik dari yang sederhana algoritma genetik.

    Zhexue Huang tahun 1998 mempubilkasikan penelitiannya yang berjudul

    Extensions to the K-Means Algorithm for Clustering Large Data Sets with

    Categorical Values. Dalam penelitian ini menyajikan dua algoritma yang

    memperluas algoritma K-Means untuk domain kategorikal dan dengan campuran

    nilai-nilai numerik dan kategori. Algoritma K-Prototype, mengintegrasikan K-

    Means dan K-Modes algoritma untuk melakukan Clustering pada data campuran.

    Menggunakan data set penyakit tanaman (soybean disease) untuk mengukur

    kinerja algoritma yg digunakan. Dari penelitian tersebut didapatkan bahwa

    algoritma tersebut sangat efisien untuk melakukan Clustering pada data set yang

    berukuran besar.

  • 13

    Penelitian yang dipubilkasikan dengan judul Clustering Large Data Sets

    With Mixed Numeric and Categorical Value oleh Zhexue Huang, Penelitian ini

    membahas Algoritma K-Means yang menjanjikan untuk efisiensi mereka dalam

    pengolahan kumpulan data besar. Namun, penggunaannya sering terbatas untuk

    data numerik. Menyajikan algoritma K-Prototype yang didasarkan pada

    paradigma K-Means tapi menghilangkan batasan data numerik untuk efisiensi.

    Penelitian ini didorong oleh masalah dari berurusan dengan kumpulan data besar

    campuran, yang umum dalam aplikasi data mining. Penelitian ini telah

    menyajikan Algoritma K-Prototype untuk cluster data set yang besar yang ada di

    dunia nyata. Telah menunjukkan efisien untuk Clustering data numerik dan data

    kategorikal.

    2.2 Algoritma Genetika

    Algoritma Genetika pertama kali diperkenalkan oleh John Holland dalam

    bukunya yang berjudul Adaption in natural and artificial systems, dan oleh De

    Jong dalam bukunya Adaption of the behavior of a class of genetic adaptive

    systems, yang keduanya diterbitkan pada tahun 1975, yang merupakan dasar dari

    Algoritma Genetika (Davis, 1991).

    Algoritma Genetik sebenarnya terinspirasi dari prinsip genetika dan

    seleksi alam (teori Darwin) yang ditemukan di Universitas Michigan, Amerika

    Serikat oleh John Holland melalui sebuah penelitian dan dipopulerkan oleh salah

    satu muridnya, David Goldberg menghasilkan buku berjudul "Adaption in Natural

    and Artificial Systems" pada tahun 1975. Konsep dasar algoritma genetika

  • 14

    sebenarnya dirancang untuk mensimulasikan proses-proses dalam sistem alam

    yang diperlukan untuk evolusi, khusunya teori evolusi alam yang dicetuskan oleh

    Charles Darwin, yaitu survival of the fittest. Menurut teori ini, di alam terjadi

    persaingan antara individu-individu untuk memperebutkan sumber daya alam

    yang langka sehingga makhluk yang kuat mendominasi makhluk yang lemah.

    Algoritma genetika adalah suatu algoritma pencarian yang berbasis pada

    mekanisme seleksi alam dan genetika. Algoritma genetika merupakan salah satu

    algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi

    kompleks, yang sulit dilakukan oleh metode konvensional (Desiani, 2006).

    Algoritma Genetika banyak dipakai pada aplikasi bisnis, teknik maupun

    pada bidang keilmuan lainnya. Algoritma ini dimulai dengan kumpulan solusi

    yang disebut dengan populasi. Solusi-solusi dari sebuah populasi diambil dan

    digunakan untuk membentuk populasi yang baru. Hal ini dimotivasi dengan

    harapan bahwa populasi yang baru dibentuk tersebut akan lebih baik daripada

    yang lama. Solusi-solusi yang dipilih untuk membentuk solusisolusi yang baru

    dipilih sesuai dengan fitness mereka masing-masing (Juniawati, 2003).

    Pertahanan yang tinggi dari individu memberikan kesempatan untuk

    melakukan reproduksi melalui perkawinan silang dengan individu yang lain

    dalam populasi tersebut. Individu baru yang dihasilkan dalam hal ini dinamakan

    keturunan, yang membawa beberapa sifat induknya.Sedangkan individu dalam

    populasi yang tidak terseleksi dalam reproduksi akan mati dengan sendirinya.

    Dengan jalan ini, beberapa generasi dengan karakteristik yang bagus akan

    bermunculan dalam populasi tersebut, untuk kemudian dicampur dan ditukar

  • 15

    dengan karakter lain. Dengan mengawinkan semakin banyak individu, maka akan

    semakin banyak kemungkinan terbaik yang dapat diperoleh.

    Sifat algoritma genetik mencari kemungkinan-kemungkinan dari kandidat

    solusi untuk mendapatkan yang optimal untuk penyelesaian masalah. Ruang

    cakupan dari semua solusi yang layak (feasible), yaitu objek-objek diantara solusi

    yang sesuai, dinamakan ruang pencarian (search space). Tiap titik dalam ruang

    pencarian merepresentasikan satu solusi yang layak. Tapi solusi yang layak dapat

    ditandai dengan nilai fitness-nya bagi masalah.

    Sebelum Algoritma Gentika dapat dijalankan, maka sebuah kode yang

    sesuai(representatif) untuk persoalan harus dirancang. Untuk ini maka titik solusi

    dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri

    atas komponen genetik terkecil yaitu gen. Dengan teori evolusi dan teori genetika,

    di dalam penerapan Algoritma Genetika akan melibatkan beberapa operator,

    yaitu:

    1. Operasi Evolusi yang melibatkan proses seleksi (selection) di dalamnya.

    2. Operasi Genetika yang melibatkan operator pindah silang (crossover) dan

    mutasi (mutation).

    Algoritma genetika merupakan algoritma yang berusaha menerapkan

    pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan-masalah

    (problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan

    menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu

    kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu

    kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi

  • 16

    ini akan merepresentasikan perbaikan-perbaikan pada populasi awalnya. Dengan

    melakukan proses ini secara berulang, algoritma ini diharapkan dapat

    mensimulasikan proses evolusioner. Pada akhirnya, akan didapatkan solusi-solusi

    yang paling tepat bagi permasalahan yang dihadapi.

    Algoritma genetika sangat tepat digunakan untuk penyelesaian masalah

    optimasi yang kompleks dan sukar diselesaikan dengan menggunakan metode

    konvensional. Sebagaimana halnya proses evolusi di alam, suatu algoritma

    genetika yang sederhana umumnya terdiri dari tiga operasi yaitu: operasi

    reproduksi, operasi persilangan (crossover), dan operasi mutasi.

    Struktur umum dari suatu algoritma genetika dapat didefinisikan dengan

    langkahlangkah sebagai berikut (Utami 2008):

    1. Membangkitkan populasi awal secara random.

    2. Membentuk generasi baru dengan menggunakan tiga operasi diatas secara

    berulang-ulang sehingga diperoleh kromosom yang cukup untuk

    membentuk generasi baru sebagai representasi dari solusi baru.

    Evolusi solusi yang akan mengevaluasi setiap populasi dengan

    menghitung nilai fitness setiap kromosom hingga kriteria berhenti terpenuhi. Bila

    kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan

    mengulangi langkah 2. beberapa kriteria berhenti yang sering digunakan antara

    lain (Utami, 2008):

  • 17

    1. Berhenti pada generasi tertentu

    2. Berhenti jika sudah ditemukan solusi, yaitu solusi yang sesuai dengan

    kriteria

    3. Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai

    fitness tertinggi/terendah (tergantung persoalan) tidak berubah

    (konvergen).

    4. Kombinasi dari kriteria kriteria diatas.

    Beberapa pengertian dasar yang perlu diketahui mengenai Algoritma Genetika :

    1. Gen (Genotype) adalah variabel dasar yang membentuk suatu kromosom.

    Dalam algoritma genetika, gen ini bisa bernilai biner, float, integer

    maupun karakter.

    2. Alelle adalah nilai suatu gen, bisa berupa biner, float, integer maupun

    karakter.

    a. Kromosom adalah gabungan dari gen-gen yang membentuk arti

    tertentu. Ada beberapa macam bentuk kromosom.

    b. Kromosom biner, adalah kromosom yang disusun dari gen-gen yang

    bernilai biner. Kromosom ini mempunyai tingkat keberhasilan yang

    tinggi. Jumlah gen pada kromosom biner menunjukkan tingkat

    ketelitian yang diharapkan. Kromosom ini bagus bila digunakan untuk

    permasalahan yang parameter dan range nilainya tertentu.

    c. Kromosom Float adalah kromosom yang disusun dari gen-gen yang

    bernilai pecahan, termasuk gen yang bernilai bulat. Kromosom ini

  • 18

    merupakan model dengan jumlah parameternya banyak. Tingkat

    keberhasilan dari kromosom ini rendah dalam kecepatan (jumlah

    generasi). Model cross-over dan mutasi pada kromosom ini sangat

    berbeda dengan kromosom biner sehingga diperlukan strategi khusus

    untuk melakukan cross-over dan mutasi. Nilai range (min max)

    menjadi tidak penting.

    d. Kromosom String, yaitu kromosom yang disusun dari gen-gen yang

    bernilai string.

    e. Kromosom Kombinasi, yaitu kromosom yang disusun dari gen-gen

    yang dinilai berdasarkan urutannya.

    3. Individu adalah kumpulan gen, bisa dikatakan sama dengan kromosom.

    Individu menyatakan salah satu kemungkinan solusi dari suatu

    permasalahan.

    4. Populasi adalah sekumpulan individu yang akan diproses secara bersama-

    sama dalam satu siklus proses evolusi.

    5. Generasi menyatakan satu satuan siklus proses evolusi.

    6. Nilai Fitness menyatakan seberapa baik nilai dari suatu individu atau

    solusi yang didapatkan. Nilai inilah yang dijadikan acuan untuk mencapai

    nilai optimal.

  • 19

    Gambar 2.1 Visualisasi gen, allele, kromosom, individu, dan populasi pada

    Algoritma Genetika (T. Sutojo,S.Si dkk, 2011)

    Ciri-ciri permasalahan yang dapat dikerjakan dengan menggunakan algoritma

    genetika adalah (Basuki, 2003):

  • 20

    1. Mempunyai fungsi tujuan optimalisasi non linear dengan banyak kendala

    yang juga non linear.

    2. Mempunyai kemungkinan solusi yang jumlahnya tak berhingga.

    3. Membutuhkan solusi real-time dalam arti solusi bisa didapatkan dengan

    cepat sehingga dapat diimplementasikan untuk permasalahan yang

    mempunyai perubahan yang cepat seperti optimasi pada pembebanan

    kanal pada komunikasi seluller.

    4. Mempunyai multi-objective dan multi-criteria, sehingga diperlukan solusi

    yang dapat secara bijak diterima oleh semua pihak.

    2.2.1 Siklus Algoritma Genetika

    David Goldberg orang pertama kali memperkenalkan siklus algoritma

    genetika yang di Gambarkan seperti Gambar 2. Siklus dimulai dari membuat

    populasi awal secara acak, kemudian setiap individu dihitung nilai fitness nya.

    Proses berikutnya adalah seleksi individu terbaik, kemudian dilakukan cross-over

    dan dilanjutkan oleh proses mutasi sehingga terbentuk populasi baru. Selanjutnya

    populasi baru ini mengalami siklus yang sama dengan populasi sebelumnya.

    Proses ini berlangsung terus hingga generasi ke n.

  • 21

    Gambar 2.2 Siklus algoritma genetika yang diperkenalkan oleh David

    Goldberg

    Siklus ini kemudian diperbaiki oleh Zbigniew Michalewicz dengan

    menambahkan satu proses elitisme dan membalik proses reproduksi terlebih

    dahulu, kemudian proses seleksi seperti tampak pada Gambar.

    Gambar 2.3 Siklus algoritma genetika yang diperbaiki oleh Zbigniew

    Michalewicz

  • 22

    Algoritma genetik secara umum dapat diilustrasikan dalam diagram alir berikut

    (Goldberg, 1989):

    Gambar 2.4 Struktur Umum Algoritma Genetik

    Keterangan singkat dari Gambar 2.4, Algoritma Genetika secara umum struktur

    yang akan dimplementasikan adalah sebagai berikut (Thiang,dkk. 2001):

    1. Bangkitkan Populasi awal

    Proses ini merupakan proses yang digunakan untuk membangkitkan

    populasi awal secara random sehingga didapatkan solusi awal. Populasi

    awal ini dibangkitkan secara random sehingga diperoleh solusi awal.

    Populasi ini sendiri terdiri atas sejumlah kromosom yang

    mempresentasikan solusi yang diinginkan.

  • 23

    2. Evaluasi fitness

    Proses ini merupakan proses untuk mengevaluasi setiap populasi dengan

    menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai

    terpenuhi kriteria berhenti. Suatu individu dievaluasi berdasarkan suatu

    fungsi tertentu sebagai ukuran performansinya. Didalam evolusi alam,

    individu yang bernilai fitness rendah akan mati. Pada masalah optimasi,

    jika solusi yang dicari adalah memaksimalkan sebuah fungsi h (dikenal

    sebagai masalah maksimasi), maka nilai fitness yang digunakan adalah

    nilai dari fungsi h tersebut, yakni fitness f = h .

    3. Seleksi

    Proses seleksi merupakan proses untuk menentukan individu-individu

    mana saja yang akan dipilih untuk dilakukan crossover. Ada beberapa

    jenis metode seleksi yang biasa digunakan diantaranya yaitu : Metode

    yang menirukan permainan roulette-wheel dimana masing-masing

    kromosom menempati potongan lingkaran pada roda roulette secara

    proporsional sesuai dengan nilai fitnessnya. Seleksi Rangking Proses

    dimulai dengan merangking atau mengurutkan kromosom di dalam

    populasi berdasarkan fitnessnya kemudian memberi nilai fitness baru

    berdasarkan urutannya.

    4. Crossover

    Proses crossover ini merupakan proses untuk menambah keanekaragaman

    string dalam satu populasi. Operator pindah silang mempunyai peran yang

    paling penting dalam algoritma genetik karena didalamnya terdapat proses

  • 24

    perkawinan (persilangan) gen antara dua individu (parent) yang

    menghasilkan dua individu baru (offspring) pada generasi berikutnya.

    5. Mutasi

    Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen

    dalam suatu kromosom. Mutasi menciptakan individu baru dengan

    melakukan modifikasi satu atau lebih gen dalam individu yang sama.

    Mutasi berfungsi untuk menggantikan gen yang hilang dari populasi

    selama proses seleksi serta menyediakan gen yang tidak ada dalam

    populasi awal.

    6. Kriteria berhenti

    Kriteria berhenti merupakan kriteria yang digunakan untuk menghentikan

    proses Algoritma Genetika yang merupakan tujuan yang ingin dicapai dari

    proses tersebut.

    7. Hasil

    Hasil merupakan solusi optimum yang didapat dengan menggunakan

    Algoritma Genetika.

    2.2.2 Teknik Encoding/Decoding Gen dan Individu

    Teknik Encoding/Decoding Gen dan Individu merupakan salah satu

    komponen dari algoritma genetika, dimana Encoding (pengkodean) berguna untuk

    mengkodekan nilai gen-gen pembentuk individu. Nilai-nilai gen ini diperoleh

    secara acak. Ada 3 pengkodean yang paling umum digunakan, yaitu Pengkodean

    bilangan real : nilai gen berada dalam interval [0 1 ]

  • 25

    Contoh :

    3 variabel (x1,x2,x3) dikodekan ke dalam individu yang terdiri dari 3 gen

    x1 x2 x3

    0,2431 0,9846 0,5642

    g1 g2 g3

    Pengkodean diskrit desimal : nilai gen berupa bilangan bulat dalam interval [0 9]

    Contoh :

    3 Variabel (x1, x2, x3) dikodekan ke dalam individu yang terdiri dari 9 gen, tiap-

    tiap variabel dikodekan ke dalam 3 gen.

    Pengkodean Biner : nilai gen berupa bilangan biner 0 atau 1. 3 Variabel (x1, x2,

    x3) dikodekan ke dalam individu yang terdiri dari 9 gen, tiap-tiap variabel

    dikodekan ke dalam 3 gen.

  • 26

    Decoding (pengkodean) berguna untuk mengkodekan gen-gen pembentuk

    individu agar nilainya tidak melebihi range yang telah ditentukan dan sekaligus

    menjadi nilai variabel yang akan dicari sebagai solusi permasalahan. Jika nilai

    variabel x yang telah dikodekan tersebut range-nya dirubah menjadi [ra rb], yaitu

    rb=batas bawah, ra = batas atas, maka cara untuk mengubah nilai-nilai variabel di

    atas hingga berada dalam range yang baru [rb ra], disebut Decoding

    (pengkodean).

    Pendekodean Bilangan real :

    X = rb + (ra - rb) g

    Pendekodean Diskrit Desimal :

    X = rb + (ra - rb) (g1 x 10-1

    + g2 x 10-2

    +.......+ gn x 10-n

    )

    Pendekodean Biner :

    X = rb + (ra - rb) (g1 x 2-1

    + g2 x 2-2

    +.......+ gn x 2-n

    )

    Dengan catatan bahwa N adalah jumlah gen dalam individu.

  • 27

    2.2.3 Representasi Kromosom

    Representasi kromosom merupakan proses awal sebelum masuk proses

    regenerasi. Cara merepresentasikan permasalahan dalam kromosom merupakan

    suatu hal yang penting dalam algoritma genetika. Model representasi kromosom

    yang dapat dipergunakan untuk menyelesaikan suatu masalah, antara lain :

    2.2.3.1 Kromosom Biner

    Kromosom biner merupakan kromosom yang disusun dari gen-gen yang

    bernilai 0 dan 1. Kromosom ini adalah model standar dalam algoritma genetika.

    Kromosom biner merupakan model yang sederhana dengan tingkat keberhasilan

    yang tinggi. Permasalahan yang direpresentasikan dengan kromosom biner antara

    lain, knapsack, TSP, Optimasi fungsi dll. Contoh representasi kromosom biner

    seperti pada Gambar.

    Kromosom A 1 0 1 1 0

    Kromosom B 1 1 0 0 0

    Gambar 2.5 Contoh Kromosom Biner

    2.2.3.2 Kromosom Float

    Kromosom float merupakan model yang jumlah parameternya banyak.

    Tingkat keberhasilan dari bentuk kromosom ini rendah dalam kecepatan (jumlah

    generasi).

  • 28

    Model crossover dan mutasi pada kromosom float ini sangat berbeda

    dengan model crossover dan mutasi pada kromosom biner. Sehingga perlu

    strategi khusus didalam menentukan model crossover dan mutasi. Contoh

    representasi kromosom float seperti pada Gambar.

    Kromosom A 1.2 3.4 1.6 2.2 4.1

    Kromosom B 2.2 3.1 1.2 4.2 1.6

    Gambar 2.6 Contoh Kromosom Float

    2.2.3.3 Kromosom Nilai

    Kromosom nilai tersusun dari gen gen bernilai string dari suatu nilai

    (simbol). Nilai tersebut merupakan suatu hal yang berhubungan dengan masalah

    yang akan diselesaikan. Permasalahan yang menggunakan kromosom ini

    biasanya akan sulit dipecahkan jika menggunakan pengkodean biner (kromosom

    biner). Contoh representasi kromosom nilai seperti pada Gambar .

    Kromosom A 1,2 3,3 2,5 1,6 4,4 35

    Kromosom B AHDKHSTFNSFKSL

    Kromosom C (left) (right) (back)

    Gambar 2.7 Contoh Kromosom Nilai

  • 29

    2.2.3.4 Kromosom Permutasi

    Kromosom A 8 5 4 9 1 2 3 6 7

    Kromosom B 9 1 2 4 3 8 5 7 6

    Gambar 2.8 Contoh Kromosom Permutasi

    Kromosom kombinatorial yaitu kromosom yang disusun dari gengen

    yang dinilai berdasarkan urututannya. Kromosom ini biasanya digunakan untuk

    menyelesaikan permasalahan pengurutan seperti Ordering task dan TSP. Contoh

    representasi kromosom permutasi seperti pada Gambar 2.8.

    2.2.4 Membangkitkan Populasi Awal

    Pada awalnya solusi individual akan secara acak dibuat dalam bentuk

    sebuah inisial populasi. Besar populasinya sangat tergantung pada keadaan

    masalah itu sendiri, tapi biasanya populasi mengandung sekitar beberapa ratus

    atau bahkan ribuan solusi yang mungkin. Secara sederhana, populasinya dibuat

    secara acak, dengan mengcaver seluruh kemungkinkan solusi (search space).

    Membangkitkan populasi awal adalah proses membangkitkan sejumlah

    individu secara acak atau melalui prosedur tertentu. Sebelum membangkitkan

    populasi awal, terlebih dahulu kita harus menentukan jumlah individu dalam

    populasi tersebut. Misalnya jumlah individu tersebut N. Setelah itu, baru kita

    membangkitkan populasi awal yang mempunyai N individu secara random.

  • 30

    Syarat-syarat yang harus dipenuhi untuk menunjukkan suatu solusi harus benar-

    benar diperhatikan dalam pembangkitan setiap individunya.

    2.2.5 Nilai Fitness

    Nilai fitness menyatakan nilai dari fungsi tujuan. Tujuan dari algoritma

    genetika adalah memaksimalkan nilai fitness. Jika yang dicari nilai maksimal,

    maka nilai fitness adalah nilai dari fungsi itu sendiri. Tetapi jika yang dibutuhkan

    adalah nilai minimal, maka nilai fitness merupakan invers dari nilai fungsi itu

    sendiri. Proses invers dapat dilakukan dengan cara berikut.

    Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran

    performansinya. Didalam evolusi alam, individu yang bernilai fitness rendah akan

    mati. Pada masalah optimasi, jika solusi yang dicari adalah memaksimalkan

    sebuah fungsi h (dikenal sebagai masalah maksimasi), maka nilai fitness yang

    digunakan adalah nilai dari fungsi h tersebut, yakni fitness f = h . Tetapi jika

    masalahnya adalah meminimalkan fungsi h (masalah minimasi), maka fungsi h

    tidak bisa digunakan secara langsung. Hal ini disebabkan adanya aturan bahwa

    individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup pada

    generasi berikutnya. Oleh karena itu nilai fitness yang bisa digunakan adalah f =

    1/h , yang artinya semakin kecil nilai h , semakin besar nilai f (fitness). Tetapi hal

    ini akan menjadi masalah jika h bisa bernilai 0, yang mengakibatkan f bisa

    bernilai tak hingga. Untuk mengatasinya, h perlu ditambah sebuah bilangan yang

    dianggap sangat kecil sehingga nilai fitnessnya menjadi :

  • 31

    f =

    (2.1)

    dimana a adalah bilangan yang dianggap sangat kecil dan bervariasi sesuai dengan

    masalah yang akan diselesaikan.

    2.2.6 Elitisme

    Elitisme adalah prosedur untuk meng-copy individu yang mempunyai nilai

    fitness tertinggi sebanyak satu (bila jumlah individu dalam suatu populasi adalah

    ganjil) atau dua (bila jumlah individu dalam suatu populasi adalah genap). Hal ini

    dilakukan agar individu ini tidak mengalami kerusakan (nilai fitness-nya

    menurun) selama proses pindah silang maupun mutasi. Misalnya pada contoh

    sebelumnya, maka individu ke-4 dibuat copy-nya sebanyak satu, kemudian

    disimpan dalam variabel temporer_individu.

    Contoh : temporer_individu =111, 111;

    2.2.7 Seleksi

    Kadang kala suatu fungsi tertentu dapat menyebabkan setiap individu

    mempunyai nilai fitness hampir sama. Hal ini bisa berakibat buruk pada saat

    dilakukan proses seleksi untuk memilih orangtua karena dapat menyebabkan

    optimum lokal. Gambar menggambarkan bagaimana terjadinya optimum lokal.

    Pada Gambar 2.9 untuk sebelah kiri, semua individu berada sangat jauh

    dari titik optimal sesungguhnya. Kebetulan ada satu individu P yang nilai fitness-

    nya tertinggi dibanding individu lainnya. Akibatnya individu P akan

  • 32

    memproduksi banyak anak. Pada generasi tertentu individu P dan anak-anaknya,

    melalui proses pindah silang dan mutasi, akan menghasilkan individu-individu

    yang mendekati lokal optimum (gambar sebelah kanan), sehingga terjadilah

    konvergensi prematur, di mana populasi konvergen pada suatu solusi optimal

    lokal. Permasalahan inilah yang sering muncul pada algoritma genetika.

    Gambar 2.9 Grafik Lokal Optimim (T.Sutojo, Edy Mulyanto, Dr. Vincent

    Suhartono, 2011)

    Pada Gambar sebelah kiri, individu P mempunyai nilai fitness tertinggi

    dibanding individu lainnya. Pada gambar sebelah kanan, populasi konvergen pada

    suatu optimum lokal dekat individu P. Tidak ada individu yang mencapai nilal

    optimal sebenarnya. Untuk menghindari hal ini, dibuatlah suatu mekanisme yang

    disebut dengan Linier Fitness Rangking (LFR). Tujuan dan mekanisme mi

    sebenarnya adalah untuk melakukan penskalaan nilai-nilai fitness dengan

    menggunakan persamaan berikut.

  • 33

    LFR(i) =fmax (fmax - fmin)(

    ) (2.2)

    Dengan catatan bahwa:

    LFR(i) = nilai LFR individu ke-i

    N = jumlah individu dalam populasi

    R(i) = rangking individu ke-i setelah diurutkan dan nilai fitness terbesar hingga

    terkecil

    fmax = nilai fitness tertinggi

    fmin = nilai fitness terendah

    Seleksi dilakukan untuk mendapatkan calon induk yang baik. Induk yang

    baik akan menghasilkan keturunan yang baik. Semakin tinggi nilai fitness suatu

    individu semakin besar kemungkinannya untuk terpilih. Seleksi dapat dilakukan

    dengan menggunakan dua macam teknik, yaitu

    Metode ini menirukan permainan roulette-wheel di mana masing-masing

    kromosom menempati potongan lingkaran pada roda roulette secara proporsional

    sesuai dengan nilai fitness-nya. Kromosom yang memiliki nilai fitness lebih besar

    menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom

    bernilai fitness rendah. Berikut ini mengilustrasikan sebuah contoh penggunaan

    metode Roulette-Wheel.

  • 34

    Tabel 2.1 Kromosom dan Nilai fitnessnya

    Kromosom Nilai

    Fitness

    A 1

    B 2

    C 0,5

    D 0,5

    Jumlah 4

    Tabel 2.1 menunjukkan suatu populasi dengan 5 kromosom dan telah

    dihitung masing-masing nilai fitnessnya. Masing-masing kromosom memiliki

    fitness yang berbeda

    Gambar 2.10 Contoh probabilitas kromosom pada roda roullete

    Gambar diatas merupakan representasi nilai fitness masing-masing

    kromosom pada roda roulette.

    37.5%

    12.5%

    25%

    12.5%

    12.5%

    Roda Roulette

    A

    B

    C

    D

    E

  • 35

    Gambar 2.11 Seleksi dengan Roulette-Wheel

    2.2.7.1 Seleksi Rangking (Rank Selection)

    Tabel 2.2 Kondisi kromosom sebelum dan sesudah di ranking

    Sebelum Sesudah

    Kromosom Fitness Kromoso

    m Fitness

    Fitness

    baru

    A 15 B 5 1

    B 5 D 5 2

    C 10 E 5 3

    D 5 C 10 4

    E 5 A 15 5

    Pada metode seleksi roda roulette akan bermasalah saat terdapat

    perbedaan fitness yang jauh. Sebagai contoh, jika fitness kromosom yang terbaik

  • 36

    adalah 90% dari semua roda roulette dapat menyebabakan kromosom lain

    memiliki kesempatan yang kecil untuk dapat terpilih.

    Proses dimulai dengan merangking atau mengurutkan kromosom di dalam

    populasi berdasarkan fitnessnya kemudian memberi nilai fitness baru berdasarkan

    urutannya. Kromosom dengan nilai terburuk akan memiliki fitness baru nilai 1,

    terburuk kedua bernilai 2 dan begitu seterusnya, sehingga kromosom yang

    memiliki fitness terbaik akan memiliki nilai fitness N, dimana N adalah jumlah

    kromosom di dalam populasi. Seperti dapat dilihat pada tabel 2.

    Setelah adanya proses seleksi tersebut, maka saat ini seluruh kromosom

    mempunyai kesempatan untuk dipilih. Kelemahan metode ini terletak pada

    kecepatan pencapaiannya. Hal ini dikarenakan kromosom yang lebih baik tidak

    bisa menjadi petunjuk bagi populasi untuk mendapatkan solusi terbaik secara

    mudah, sehingga untuk mencapai solusi yang baik memerlukan waktu yang lebih

    lama.

    2.2.7.2 Seleksi Turnamen (Turnamen Selection)

    Metode ini merupakan kombinasi dari seleksi roda roulette dan seleksi

    rangking. Sejumlah k kromosom tertentu dari populasi beranggota n kromosom (k

    n) dipilih secara acak dengan probabilitas yang sama. Dari k kromosom yang

    terpilih kemudian akan dipilih satu kromosom dangan fitness terbaik, yang

    diperoleh dari hasil pengurutan rangking fitness semua kromosom terpilih.

  • 37

    Perbedaan dengan seleksi roda roulette adalah pemilihan kromosom yang akan

    digunakan untuk berkembangbiak tidak berdasarkan skala fitness dari populasi.

    Partikel data merupakan partisi dari sebuah kelas yang antara sembarang

    pasangan anggotanya memiliki jarak kurang dari radius tertentu. Cara termudah

    untuk membuat partikel data ialah memperlakukan setiap anggota data pelatihan

    sebagai partikel data tunggal. Cara ini akan menghasilkan perhitungan gravitasi

    data yang sangat akurat. Namun cara ini akan mengakibatkan proses klasifikasi

    tidak efisien dari segi waktu komputasi.

    2.3 Operator Genetika

    Operator genetik dipergunakan untuk mengkombinasi (modifikasi) individu

    dalam aliran populasi guna mencetak individu pada generasi berikutnya

    2.3.1 Operator Reproduksi

    Untuk setiap solusi baru yang dibentuk, sebuah pasangan "parent" atau

    orang tua solusi dipilih dari kumpulan populasi sebelumnya. Dengan membuat

    sebuah "child" atau anak solusi menggunakan metode diatas, yaitu persilangan

    dan mutasi, sebuah solusi baru telah dibuat, dimana pada umumnya anak akan

    mewarisi bagian-bagian dari orang tuanya. Orang tua baru dipilih lagi dan

    membuat suatu anak solusi lagi, dan berlanjut sampai suatu populasi solusi baru

    dengan ukuran yang cukup terbentuk

  • 38

    2.3.1.1 Operator Pindah Silang (Crossover)

    Operator pindah silang mempunyai peran yang paling penting dalam

    algoritma genetik karena didalamnya terdapat proses perkawinan (persilangan)

    gen antara dua individu (parent) yang menghasilkan dua individu baru (offspring)

    pada generasi berikutnya.

    Crossover (Pindah Silang) merupakan salah satu operator dalam algoritma

    genetika yang melibatkan dua induk untuk menghasilkan keturunan yang baru.

    Crossover dilakukan dengan melakukan pertukaran gen dari dua induk secara

    acak. Macam-macam Crossover yang banyak digunakan antara lain: pertukaran

    gen secara langsung dan pertukaran gen secara aritmatika. Proses crossover

    dilakukan pada setiap individu dengan probabilitas crossoveryang ditentukan.

    Sebuah individu yang mengarah pada solusi optimal bisa diperoleh

    melalui proses pindah silang, dengan catatan bahwa pindah silang hanya bisa

    dilakukan jika sebuah bilangan random r dalam interval [0 1] yang dibangkitkan

    nilainya lebih kecil dari probabilitas tertentu prob, dengan kata lain : r < prob.

    Biasanya nilai prob diset mendekati 1. Cara yang paling sederhana untuk

    melakukan pindah silang adalah pindah silang satu titik potong. Posisi titik

    potong dilakukan secara random.

    Penentuan individu yang berhak melakukan operasi crossover tergantung

    pada probabilitas crossover (Pc) yang telah ditentukan. Langkah- langkah untuk

    melakukan operasi crossover sebagai berikut :

  • 39

    1. Tentukan probabilitas crossover (Pc).

    2. Lakukan proses seleksi untuk memilih individu yang akan mengalami

    crossover

    3. Lakukan crossover. Crossover : Pertukaran secara langsung, dengan

    ditentukan probabilitas crossover= 0,9, seperti pada Gambar 2.12

    Gambar 2.12 Pertukaran secara langsung

    Cross Over : Pertukaran Secara Aritmatika

  • 40

    Gambar 2.13 Pertukaran Secara Aritmatika

    Beberapa teknik atau metode crossover yaitu (Utami, 2008) :

    1. Pindah Silang Satu Titik (One Point Crossover)

    Pada pindah silang satu titik (one-point crossover), satu titik sepanjang

    kromosom dipilih secara random. Segmen dari induk dari titik point ke kiri atau

    kekanan ditukar untuk menghasilkan individu baru. Mekanisme one point

    crossover diilustrasikan pada gambar berikut.

  • 41

    Gambar 2.14 Proses one point crossover

    2. Pindah Silang Dua Titik (Two Point Crossover)

    Pada pindah silang dua titik, dua titik sepanjang kromosom dipilih secara

    random. Segmen induk diantara kedua titik potong dipertukarkan untuk

    menghasilkan individu baru. Mekanisme two point crossover diilustrasikan pada

    gambar berikut :

  • 42

    Gambar 2.15 Proses two point crossover

    3. Pindah Silang Banyak Titik (N-point Crossover)

    Gambar 2.16 Proses n point crossover

  • 43

    Pada pindah silang banyak titik, sejumlah N titik sepanjang kromosom

    dipilih secara random, dimana titik potong tidak boleh sama. Mekanisme n point

    crossover diilustrasikan pada gambar dibawah ini.

    4. Pindah Silang Seragam (Uniform Crossover)

    Pada uniform crossover, sejumlah N titik ditentukan secara random baik

    itu jumlah maupun letaknya. Segmen yang dipertukarkan sesuai dengan jumlah

    titik potong yang didapatkan secara random tersebut. Uniform crossover hampir

    sama dengan N point crossover. Untuk uniform crossover, jumlah titik ditentukan

    secara random sedangkan N point jumlah titik sudah ditentukan. Uniform

    crossover juga akan sama dengan two point crossover jika titik potong yang

    dihasilkan dua titik.

    Gambar 2.17 Proses uniform crossover

  • 44

    5. Pindah Silang Aritmatik (Aritmathic Crossover)

    Pada pindah silang ini digunakan operator aritmatik untuk menghasilkan

    kromosom baru.

    Contoh :

    Induk 1 : 1 1 0 0 1 0 1 1 1 0 0 0

    Induk 2 : 1 0 0 1 1 1 0 0 1 1 0 1

    Anak (OR) : 1 1 0 1 1 1 1 1 1 1 0 1

    6. Pindah Silang untuk Pengkodean Permutasi

    Pindah silang dengan permutasi (Permutation Crossover) ini biasa

    menggunakan teknik pindah silang satu titik karena prosesnya yang sederhana dan

    agar tetap menjaga konsistensi urutan nilai pada kromosom.

    Dalam proses penyilang ini, pertama kali ditentukan posisi titik pindah

    silang. Kemudian dari gen pertama sampai dengan titik perkawinan silang disalin

    dari induk pertama, sedangkan sisanya didapatkan dengan cara melihat satu

    persatu nilai pada orang tua kedua, jika belum ada pada kromosom keturunan,

    maka nilai tersebut ditambahkan. Berikut contoh :

    Induk 1 : 1 2 3 4 5 6 7 8 9

    Induk 2 : 4 5 3 6 8 9 7 2 1

    Anak 1 : 1 2 3 4 5 6 8 7 9

    Anak 2 : 4 5 3 6 8 1 2 7 9

  • 45

    2.3.1.2 Operator Mutasi

    Mutasi menciptakan individu baru dengan melakukan modifikasi satu atau

    lebih gen dalam individu yang sama. Mutasi berfungsi untuk menggantikan gen

    yang hilang dari populasi selama proses seleksi serta menyediakan gen yang tidak

    ada dalam populasi awal. Sehingga mutasi akan meningkatkan variasi populasi.

    Individu yang terpilih untuk proses mutasi dapat dilakukan dengan

    membandingkan nilai probabilitas mutasinya dengan probabilitas mutasi yang

    telah ditentukan atau dapat dipilih secara acak (random).

    Mutasi Gen merupakan operator yang menukar nilai gen dengan nilai

    inversinya, mialnya gennya bernilai 0 menjadi 1.Setiap individu mengalami

    mutasi gen dengan probabilitas mutasi yang ditentukan. Mutasi dilakukan dengan

    memberikan nilai inversi atau menggeser nilai gen pada gen yang terpilih untuk

    dimutasikan

    Mutasi dilakukan untuk semua gen yang terdapat pada individu, jika

    bilangan random yang dibangkitkan lebih kecil dan probabilitas mutasi p yang

    ditentukan. Biasanya p diset = 1/N, di mana N adalah jumlah gen dalam individu.

    Untuk kode biner, mutasi dilakukan dengan cara membalik nilai bit 0 menjadi bit

    1, sebaliknya bit 1 diubah menjadi bit 0.

  • 46

    Gambar 2.18 Contoh proses mutasi

    Representasi kromosom yang berbeda akan membedakan jenis mutasi

    yang digunakan. Metode mutasi yang biasanya digunakan yaitu :

    1. Inversi

    Mutasi ini dilakukan dengan mengubah nilai 1 menjadi 0 atau sebaliknya.

    Mutasi ini biasanya terapkan pada kromosom biner.

    1)()( kaka

    C : 1 0 0 1 1 0 1

    C : 1 0 0 1 0 1 1

  • 47

    2. Random

    Mutasi ini dilakukan dengan mengganti gen yang termutasi dengan nilai

    random.

    randomka )(

    C : 1 2 3 4 5 6 7

    C : 1 2 9 4 5 6 7

    Shift, mutasi ini dilakukan dengan menggeser nilai gen termutasi sebesar

    , dimana adalah nilai bilangan kecil yang ditentukan.

    )()( kaka

    3. Swap

    Mutasi ini dilakukan dengan menukar urutan gen yang terdapat pada satu

    kromosom, sehingga konsistensi urutan gen tetap terjaga. Contoh untuk

    pengkodean permutasi :

    Induk : 1 2 3 4 5 6 7

    Anak : 1 4 3 2 5 6 7

    Probabilitas mutasi yang baik berada pada kisaran 0 sampai dengan 0.3.

    Probabilitas mutasi yang terlalu kecil menyebabkan terjebak dalam optimum

    lokal, dan probabilitas mutasi yang terlalu besar menyebabkan konvergensi sulit

    didapatkan

  • 48

    2.4 Clustering

    Data Clustering merupakan salah satu metode Data Mining yang bersifat

    tanpa arahan (unsupervised). Ada dua jenis data Clustering yang sering

    dipergunakan dalam proses pengelompokan data yaitu hierarchical (hirarki) data

    Clustering dan non-hierarchical (non hirarki) data Clustering. Metode ini

    mempartisi data ke dalam cluster/kelompok sehingga data yang memiliki

    karakteristik yang sama dikelompokkan ke dalam satu cluster yang sama dan data

    yang mempunyai karakteristik yang berbeda dikelompokkan ke dalam kelompok

    yang lain. Adapun tujuan dari data Clustering ini adalah untuk

    meminimalisasikan objective function yang diset dalam proses Clustering, yang

    pada umumnya berusaha meminimalisasikan variasi di dalam suatu cluster dan

    memaksimalisasikan variasi antar cluster.

    Clustering adalah suatu teknik dalam data mining yang digunakan untuk

    memasukkan data ke dalam grup yang bersesuaian tanpa pengetahuan yang

    mendalam tentang grup tersebut (Santosa, 2007). Clustering digunakan untuk

    menganalisis pengelompokkan berbeda terhadap data, menyerupai klasifikasi,

    namun pengelompokkan belum didefinisikan sebelum dijalankannya tool data

    mining. Biasanya menggunakan metode neural networkatau statistik. Clustering

    membagi item menjadi kelompok-kelompok berdasarkan yang ditemukan tool

    data mining. Prinsip dari Clustering adalah memaksimalkan kesamaan antar

    anggota satu kelas dan meminimumkan kesamaan antar cluster. Clustering dapat

    dilakukan pada data yang memiliki beberapa atribut yang dipetakan sebagai ruang

    multidimensi.

  • 49

    Pada algoritma Clustering, data akan dikelompokkan menjadi cluster-

    cluster berdasarkan kemiripan satu data dengan yang lain. Prinsip dari Clustering

    adalah memaksimalkan kesamaan antar anggota satu cluster dan meminimumkan

    kesamaan antar anggota cluster yang berbeda.

    Analisa Cluster merupakan proses deskriptif yang mengidentifikasi

    kelompok obyek yang memiliki karakteristik homogen berdasarkan nilai dari

    setiap atribut pada object tersebut. Clustering merupakan proses

    mengelompokkan obyek ke dalam beberapa kelas atau kluster sehingga data-data

    didalam cluster yang sama memiliki kesamaan lebih dibandingkan dengan data-

    data pada cluster yang berbeda yang mana pada sebuah kluster, setiap obyek

    memiliki karakteristik yang sama, tetapi memiliki ketidakmiripan dengan obyek

    pada kluster yang lain (Han et al 2001).

    Kriteria utama yang harus dipenuhi oleh algoritma Clustering yaitu:

    1.Dimensionalitas tinggi

    Algoritma Clustering yang baik seharusnya dapat bekerja di ruang dengan

    dimensi rendah dan tidak mengalami penurunan drastis ketika digunakan pada

    ruang berdimensi tinggi.

  • 50

    2.Skalabilitas

    Algoritma Clustering seharusnya dapat menangani himpunan data baik dalam

    jumlah kecil maupun besar.

    3. Akurasi

    Solusi Clustering yang baik seharusnya memiliki kemiripan inter-cluster tinggi

    dan kemiripan intra-cluster rendah.

    Analisis cluster membagi data ke dalam grup (cluster) yang bermakna,

    berguna, atau keduanya. Jika tujuannya mencari grup yang memiliki makna, maka

    cluster seharusnya menangkap struktur alami dari data, disebut juga Clustering

    for understanding. Analisis cluster akan mengelompokkan obyek-obyek data

    hanya berdasarkan pada informasi yang terdapat pada data, yang menjelaskan

    obyek dan relasinya. Tujuan analisis cluster adalah agar obyek-obyek di dalam

    grup adalah mirip (berhubungan) satu dengan lainnya, dan berbeda (atau tidak

    berhubungan) dengan obyek dalam grup lainnya. Semakin besar tingkat

    kemiripan/similarity (homogenitas) di dalam satu grup dan semakin besar tingkat

    perbedaan diantara grup, maka semakin baik (lebih berbeda) Clustering tersebut.

    Clustering (pengelompokkan) berdasarkan kesamaan warna, maka

    pengelompokkannya seperti yang terlihat pada gambar berikut :

  • 51

    Gambar 2.19 Clustering berdasarkan warna

    Untuk Clustering (pengelompokkan) berdasarkan kesamaan bentuk, maka

    pengelompokannya dapat dilihat seperti gambar berikut :

    Gambar 2.20 Clustering berdasarkan bentuk

    Jika Clustering (pengelompokkan) dilihat dari jarak yang terdekat, dapat

    dilihat pada gambar berikut :

  • 52

    Gambar 2.21 Clustering berdasarkan jarak

    Semakin besar tingkat kemiripan/similarity (homogenitas) di dalam satu

    grup dan semakin besar tingkat perbedaan diantara grup, maka semakin baik

    (lebih berbeda) Clustering tersebut.

    Gambar 2.22 Merupakan ilustrasi prinsip Clustering.

  • 53

    Gambar dibawah ini merupakan ilustrasi bagaimana definisi cluster tidak

    presisi dan definisi terbaik tergantung dari kondisi data serta hasil yang

    diinginkan.

    Gambar 2.23 Beberapa cara menentukan cluster bagi dataset yang sama

    Gambar 2.24 Algoritma Clustering

    (a) Original point (b) Two clusters.

    (c) Four clusters (d) Six clusters.

  • 54

    Telah banyak algoritma Clustering yang dikembangkan, Gambar diatas

    menyajikan beberapa algoritma Clustering dan hubungan diantara algoritma-

    algoritma tersebut.

    2.4.1 Tipe Cluster

    Clustering bertujuan mencari kelompok obyek (cluster) yang bermanfaat,

    sedangkan tingkat manfaat ditentukan oleh tujuan analisis data yang ditetapkan.

    Oleh karena itu, terdapat beberapa jenis cluster, yaitu:

    Well-Separate cluster merupakan himpunan titik sehingga sembarang titik

    dalam cluster lebih dekat (atau lebih mirip) dengan setiap titik dalam cluster

    dibandingkan dengan sembarang titik yang tidak di dalam cluster. gambar

    merupakan ilustrasi Well-Separated Cluster.

    Gambar 2.25 Tipe cluster Well-Separated.

    Prototype-Based/Center-Basedcluster merupakan himpunan obyek,

    sehingga sebuah obyek dalam cluster lebih dekat (lebih mirip) dengan pusat

    cluster, daripada dengan pusat cluster lainnya. Yang sering dijadikan pusat

    cluster adalah centroid dan medoid. Centroid adalah rataan semua titik dalam

  • 55

    cluster, sedangkan Medoid adalah titik yang paling mewakili cluster. Center-

    based cluster di-ilustrasikan pada gambar

    Gambar 2.26 Tipe cluster Prototype-Based/Center-Based

    Graph-Based Jika data direpresentasikan sebagai graph, dimana obyek

    menjadi node dan link menyatakan koneksi diantara obyek, maka cluster dapat

    didefinisikan sebagai connected component; yaitu grup obyek yang terkoneksi

    satu sama lain, tetapi tidak memiliki koneksi dengan obyek di luar grup. Contoh

    penting dari graph-based cluster adalah contiguity-based cluster, dimana dua

    obyek terkoneksi hanya jika keduanya berada dalam jarak tertentu satu sama lain.

    Contoh contiguity-based cluster dapat dilihat pada gambar

    Gambar 2.27 Tipe cluster Graph-Based

    Density-Based Sebuah cluster adalah wilayah yang padat obyek

    dikelilingi oleh wilayah dengan kepadatan rendah. Cluster tipe ini berguna untuk

    membentuk cluster dengan bentuk tak-teratur (irregular) atau terpilih

    (intertwined), dan juga jika terdapat noise dan outlier. Gambar merupakan contoh

    Density-Based Clustering.

  • 56

    Gambar 2.28 Tipe Cluster Density-Based

    Shared-Property (Conceptual Cluster). Mencari cluster dengan beberapa

    sifat yang sama, atau menyatakan konsep tertentu. Gambar berikut merupakan

    cluster yang mempunyai sifat lingkaran

    Gambar 2.29 Tipe Cluster Shared-Property

    Misalkan X = {X1,X2,,Xn} dinotasikan sebagai sekumpulan n object

    dan Xi=[xi1,xi2,,xim] adalah object yang direpresentasikan dengan m nilai

    atribut. Kemudian dimisalkan juga k adalah sebuah bilangan integer positif.

    Tujuan utama dari Clustering X adalah ingin menemukan sebuah partisi yang

    membagi object didalam X menjadi k cluster disjoint. Untuk sejumlah n, jumlah

    partisi yang dimungkinkan adalah terbatas, tetapi ukurannya bisa menghasilkan

    variasi yang sangat banyak. Sangatlah tidak praktikal jika dilakukan penelusuran

    setiap kemungkinan partisi dengan tujuan untuk mencari partisi yang paling bagus

    diantara kemungkinan yang ada (Huang, 1997). Solusi umum yang digunakan

  • 57

    untuk menentukan apakah bagus atau tidaknya suatu partisi adalah dengan

    menggunakan ClusteringCriterion.

    2.5 Algoritma Clustering K-Prototype

    Clustering adalah teknik yang cukup dikenal luas dan banyak dipakai dalam

    data mining. Tujuan utama dari metode cluster adalah pengelompokan sejumlah

    data atau obyek ke dalam cluster (group) sehingga dalam setiap cluster akan

    berisi data yang semirip mungkin. Dalam Clustering, sistem berusaha

    menempatkan obyek yang mirip (memiliki jarak yang dekat) dalam satu cluster

    dan membuat jarak antar cluster yang sejauh mungkin. Ini berarti obyek dalam

    satu cluster sangat mirip satu sama lain dan berbeda dengan obyek dalam cluster-

    cluster yang lain. Clustering adalah salah satu teknik unsupervised learning

    dimana fase training tidak diperlukan untuk metode ini. Metode-metode yang

    masuk ke dalam unsupervised learning adalah metode yang tidak memerlukan

    label ataupun keluaran dari setiap data yang akan diinvestigasi.

    Secara umum terdapat dua pendekatan dalam Clustering, yaitu partisioning

    dan hirarki. Dalam partisioning obyek xi, x2, ., xn dikelompokkkan ke dalam k

    cluster. Hal ini bisa dilakukan dengan menentukan pusat cluster awal, lalu

    dilakukan realokasi obyek berdasarkan kriteria tertentu sampai dicapai

    pengelompokan yang optimum. Dalam cluster hirarki, metode dimulai dengan

    membuat m cluster dimana setiap cluster beranggotakan satu obyek dan berakhir

    dengan satu cluster dimana anggotanya adalah m obyek. Pada setiap tahap dalam

    prosedurnya, satu cluster digabung dengan satu cluster yang lain. Jumlah

  • 58

    clusterbisa dipilih sesuai keinginan pengguna dengan menentukan cut-off pada

    tingkat tertentu (Santosa, 2007).

    Algoritma Clustering yang diangkat dalam penelitian ini adalah mengenai

    K-Prototype yang melakukan Clustering pada data dengan tipe campuran numerik

    dan kategorikal. Algoritma ini dipilih karena sangat sederhana dari sisi

    kompleksitas algoritma dan mampu menangani data dengan ukuran yang sangat

    besar. K-Prototype adalah salah satu metode Clustering yang berbasis

    partitioning. Algoritma ini adalah hasil pengembangan atau kombinasi antara K-

    Means dan K-Modes Clustering untuk menangani Clustering pada data dengan

    campuran atribut bertipe numerik dan kategorikal