TESIS
ERTINA SABARITA BARUS
117038017
PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : Analisis Cross Over Point Algoritma Genetika pada Pembangkit Fungsi Keanggotaan Fuzzy Otomatis
Katagori : Tesis
Nama : Ertina Sabarita Barus
Nomor Induk Mahasiswa : 117038017
Program Studi : Magister (S2) Teknik Informatika
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Erna Budhiarti Nababan, M.IT Prof. Dr. Muhammad Zarlis
Diketahui/disetujui oleh
Prof. Dr. Muhammad Zarlis NIP. 195707011986011003
PERNYATAAN
ANALISIS CROSS OVER POINT ALGORITMA GENETIKA
PADA PEMBANGKIT FUNGSI KEANGGOTAAN FUZZY
OTOMATIS
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan masing – masing telah disebutkan sumbernya.
Medan, 6 Agustus 2013
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Sebagai Sivitas akademika Universitas Sumatera Utara, saya bertanda tangan di bawah ini:
Nama : Ertina Sabarita Barus
NIM : 117038017
Program Studi : Magister (S2) Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:
Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencamtumkan nama saya sebagai penulis dan sebagai pemegang atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 6 Agustus 2013
Ertina Sabarita Barus 117038017
Telah diuji pada
PANITIA PENGUJI TESIS
Ketua : Prof. Dr. Muhammad Zarlis
Anggota : 1. Dr. Erna Budhiarti Nababan, M.IT 2. Prof. Dr. Tulus
3. Prof. Dr. Opim Salim Sitompul 4. Prof. Dr. Herman Mawengkang
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap : Ertina Sabarita Barus, ST Tempat dan Tanggal Lahir : Deli Tua, 21 Juni 1982
Alamat Rumah : Desa Jatikesuma No 178, Kec. Namorambe
E_Mail : baruschild2@gmail.com
Instansi Tempat Bekerja : STMIK Kristen Neumann Indonesia Alamat Kantor : Jl. Letjen Jamin Ginting KM. 10,5 Medan
SD : SD Negeri Namorambe TAMAT : 1993 SLTP : SMP Negeri Namorambe TAMAT : 1996 SLTA : SMA Negeri 2 Medan TAMAT : 1999 D3 : Teknik Elektro Politeknik Negeri Medan TAMAT : 2003 S1 : Fakultas Teknik Elektro USU Medan TAMAT : 2011 S2 : Teknik Informatika USU TAMAT : 2013
UCAPAN TERIMA KASIH
Puji dan syukur kehadirat Tuhan Yang Maha Esa atas anugerahNya dan berkatNya
Penulis dapat menyelesaikan tesis ini, yang berjudul “ ANALISIS CROSS OVER
ALGORITMA GENETIKA UNTUK MEMBANGKITKAN FUNGSI
KEANGGOTAAN FUZZY OTOMATIS “. Tesis ini merupakan Tugas Akhir pada
Program Studi Magister S2 Teknik Informatika Fakultas Ilmu Komputer dan
Teknologi Informasi, Universitas Sumatera Utara.
Dalam menyelesaikan pendidikan di Program Studi Magister S2 teknik
dari berbagai pihak, maka pada kesempatan ini Penulis mengucapkan terima kasih
dan penghargaan yang sebesar-besarnya kepada :
Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc.(CTM), Sp.A(K) selaku
Rektor Universitas Sumatera Utara
Prof. Dr Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara dan Ketua Program Studi Magister
Teknik Informatika dan juga sebagai Ketua Komisi Pembimbing pada penulisan Tesis
ini dan berkat dorongan dan bantuan beliau sehingga penulisan Tesis ini dapat
diselesaikan dengan baik.
Muhammad Andri Budiman, S.T., M.Comp.Sc., Selaku Sekretaris Program
Studi Magister Teknik Informatika yang telah memberikan bantuan dan motivasinya
selama perkuliahan sehingga Penulis dapat menyelesaikan perkuliahan ini.
Dr. Erna Budhiarti Nababan, M.IT, selaku Anggota Komisi Pembimbing II
yang telah memberikan bimbingan dan petunjuk sehingga tesis ini dapat terselesaikan
dengan baik.
Prof. Dr. Tulus selaku pembanding atas saran dan bantuannya untuk
kesempurnaan penulisan tesis ini serta bimbingan selama perkuliahan berlangsung
Prof. Dr. Opim Salim Sitompul selaku pembanding atas saran dan bantuannya
untuk kesempurnaan penulisan tesis ini serta bimbingan selama perkuliahan
berlangsung
Prof. Dr. Herman Mawengkang selaku pembanding atas saran dan
bantuannya untuk kesempurnaan penulisan tesis ini serta bimbingan selama
perkuliahan berlangsung
Seluruh Staf Pengajar pada Program Studi Magister Teknik Informatika
Fakultas Ilmu Komputer dan Sistem Informasi Universitas Sumatera Utara, yang
telah memberikan ilmu pengetahuan kepada Penulis selama perkuliahan hingga
selesai.
Seluruh staf administrasi Program Studi Magister S2 Teknik Informatika
mbak widia, mbak ines, bang jawaher yang telah memberikan bantuan dan pelayanan
Seluruh rekan-rekan seperjuangan mahasiswa angkatan ketiga tahun 2011
Kom B dan Kom A, Fitri marina, Andi, Armansyah Barus, Arta, bang Pirmando,
bang Jijon sagala, bang Kairuman dan Wulan yang telah bersama-sama selama
perkuliahan atas kerjasama, kebersamaan dan saling pengertiannya selama ini dalam
mengatasi berbagai masalah yang dihadapi selama perkuliahan tanpa mengenal lelah
sehingga tugas-tugas bersama dapat diselesaikan dengan baik.
Prof. Dr. Timbangen Sembiring M.Sc selaku Ketua STMIK Kristen Neumann
Indonesia beserta seluruh staf pengajar dan staf pegawai yang telah memberikan
dorongan dan dukungan sehingga Penulis dengan tetap suka cita dan semangat untuk
menyelesaikan kuliah dengan baik.
Penulis menyampaikan terima kasih yang tak terhingga kepada Bapak tercinta
(Alm.) Drs. Pengarapen Barus dan Mamak tersayang Mutiara Br Ginting. Saudaraku
terkasih Oratna Barus, S.Pd & Bang Joga Sembiring, Maria Kristina Barus, Amd &
Ramles Renaldon Nadapdap, Eka Brema Barus S.Kom, Irma Debora Wisuari Barus
Amd dan ponakanku tersayang Zenaya Efatne Nadapdap & Eikel Pengarapenta
Nadapdap, Kasih sayang dan dukungan yang tulus dari kalian adalah semangat
hidupku.
Terimakasih untuk Januar Sirait yang sudah membantu Penulis untuk
membantu dalam pengerjaan penelitian ini sehingga bisa selesai dengan baik. Terima
guru-guru KKR GBKP Bt. Penjemuren terkhusus Natalia Wisse br Ginting yang telah
memberikan doa dan dukungan.
Kepada semua pihak yang telah turut membantu penulisan tesis ini baik
langsung maupun tidak langsung yang penulis dapatkan selama ini. Semoga Tesis ini
bermanfaat bagi pembaca dan pihak-pihak yang membutuhkannya.
Medan, Agustus 2013 Penulis,
Ertina Sabarita Barus
ABSTRAK
Pada system fuzzy, membangkitkan fungsi keanggotaan fuzzy merupakan bagian
yang berperanan penting dalam merepresentasikan masalah. Sedangkan untuk
membangkitkan fungsi keanggotaan fuzzy otomatis sudah dilakukan penelitian
terdahulu dengan menggunakan beberapa metode pendekatan namun masih terdapat
kelemahan yaitu lemahnya proses untuk membaca iterasi yang tinggi. Untuk itu
maka pada penelitian ini dilakukan membangkitkan fungsi keanggotaan fuzzy secara
otomatis dengan menggunakan pendekatan cross over Algortima Genetika, dengan
menganalisis two point cross over dan min-max crossover.
ANALYSIS CROSS OVER POINT GENETIC ALGORITHM TO GENERATE FUZZY MEMBERSHIP FUNCTION AUTOMATICALLY
ABSTRACT
Generating membership function fuzzy for Fuzzy system is important to
representative of the problem. Some researchers generating a membership function
automatic had done and still have a problem to generate procces in max iterasi, so that
this research will generating membership function fuzzy otomatic used genetic
algorithm by analysing the cross over point.
DAFTAR ISI
PENGESAHAN ii
PERNYATAAN ORISINALITAS iii
PERSETUJUAN PUBLIKASI iv
BAB II TINJAUAN PUSTAKA 5
2.3.5 Evaluasi 14
2.5 Riset Terkait 18
2.6 Perbedaan Dengan Riset Lain 19
2.7 Kontribusi Riset 19
BAB III METODOLOGI PENELITIAN 20
3.1 Pendahuluan 20
3.2 Data Yang Digunakan 20
3.3 Proses Penyelesaian Masalah 21
3.4 Perancangan Algoritma Genetika 22
3.4.1 Pembentukan kromosom 25
3.4.2 Menentukan Nilai Fitnes 27
3.4.3 Operasi Cross over dan mutasi pada populasi 29
3.4.3.1 One Point Crossover 29
3.4.3.2 Two Point Crossover 30
3.4.3.3 Min-Max Aritmatik Crossover 31
BAB IV HASIL DAN ANALISA
4.1 Pendahuluan 32
4.2 Hasil Uji Coba 32
4.2.1 Set Target dan Variabel Input 33
4.2.2 Pembangkit Fungsi keanggotaan fuzzy menggunakan
Two Point Crossover 34
4.2.3 Pembangkit Fungsi Keanggotaan fuzzy menggunakan
Min Max Crossover 43
BAB V KESIMPULAN DAN SARAN 47
5.1 Kesimpulan 47
5.2 Saran 48
DAFTAR PUSTAKA 50
LAMPIRAN 52
DAFTAR TABEL
No Tabel Halaman
2.1 Derajat Keanggotaan Tinggi badan 5
2.2 Riset Terkait 21
4.1 Kromosom dan nilai Fitness pada generasi ke-1 36
DAFTAR GAMBAR
No Gambar Halaman
2.1 a Himpunan Crisp tinggi badan 5
2.1 b Himpunan Fuzzy tinggi badan 6
2.2 Kurva segitiga 7
2.3 Interval variabel 9
2.4 Fungsi keanggotaan segitiga 9
2.5 Fungsi keanggotaan dengan overlap 10
2.6 Proses Defuzzifikasi 11
2.7 Struktur Umum Algoritma Genetika 13
2.8 Fungsi keanggotaan fuzzy variabel A dengan
menggunakan segitiga 15
2.9 Representasi kromosom pada sebuah variabel A 16
2.10 Overlap 2 buah segitiga 16
2.11 Range 3 buah segitiga 17
3.2 Interval variabel Produktifitas 23
3.3 Grafik Fungsi keanggotaan segitiga Variabel A 25
3.4 Proses Algoritma Genetika 26
3.5 Gambar fungsi keanggotaan Ij 28
3.6 Grafik segitiga Variabel Produktifitas 28
3.7 Representasi kromosom variabel produktifitas 29
3.8 10 set kromosom yang dibangkitkan secara acak 29
3.9 Grafik fungsi segitiga keanggotaan fuzzy 30
3.10 Pertukaran kromosom metode one point cross over 31
3.11 Pertukaran kromosom metode two point cross over 32
3.12 Pertukaran kromosom metode min max aritmatika 33
4.1 Pembentukan grafik segitiga 36
4.2 Grafik Fungsi keanggotaan pada 50 generasi 39
4.3 Grafik nilai fitness terhadap 50 generasi 40
4.3 Grafik fungsi keanggotaan fuzzy generasi 100
metode two point crossover 43
4.4 Grafik nilai fitness terhadap 100 generasi metode two
point crossover 44
4.5 Grafik fungsi keanggotaan yang dibangkitkan
sebanyak 50 generasi dengan cross over min max
aritmatika 45
4.6 Grafik nilai fitness terhadap 50 generasi metode
min-max crossover 46
4.7 Grafik fungsi keanggotaan yang dibangkitkan sebanyak
100 generasi dengan crossover min max aritmatika 47
4.8 Grafik nilai fitness terhadap 100 generasi tetode
ABSTRAK
Pada system fuzzy, membangkitkan fungsi keanggotaan fuzzy merupakan bagian
yang berperanan penting dalam merepresentasikan masalah. Sedangkan untuk
membangkitkan fungsi keanggotaan fuzzy otomatis sudah dilakukan penelitian
terdahulu dengan menggunakan beberapa metode pendekatan namun masih terdapat
kelemahan yaitu lemahnya proses untuk membaca iterasi yang tinggi. Untuk itu
maka pada penelitian ini dilakukan membangkitkan fungsi keanggotaan fuzzy secara
otomatis dengan menggunakan pendekatan cross over Algortima Genetika, dengan
menganalisis two point cross over dan min-max crossover.
ANALYSIS CROSS OVER POINT GENETIC ALGORITHM TO GENERATE FUZZY MEMBERSHIP FUNCTION AUTOMATICALLY
ABSTRACT
Generating membership function fuzzy for Fuzzy system is important to
representative of the problem. Some researchers generating a membership function
automatic had done and still have a problem to generate procces in max iterasi, so that
this research will generating membership function fuzzy otomatic used genetic
algorithm by analysing the cross over point.
BAB I PENDAHULUAN
1.1Latar Belakang
Perkembangan zaman yang semakin pesat di abad ini menuntut perubahan yang cepat
pula dalam menentukan setiap keputusan, sehingga setiap pembuat keputusan
dituntut untuk menggunakan system yang terkomputerisasi sebagai pendukung
keputusan. Salah satu system keputusan yang terkomputerisasi yaitu system fuzzy.
Adapun tujuan menggunakan system komputerisasi agar mendapatkan sebuah system
pendukung keputusan yang akurat. Sehingga hasil tersebut bisa digunakan sebagai
Sistem fuzzy merupakan system yang merepresentasikan suatu masalah yang
mengandung ketidakpastian ke dalam satu bahasa linguistic dengan menggunakan
fuzzy logic yang kemudian dikaitkan menjadi sebuah fungsi yang menyatakan nilai
keanggotaan pada interval [0,1] (Zadeh,1965). Himpunan fuzzy dan fungsi tersebut
dinamakan fungsi keanggotaan (membership function) sedangkan nilainya disebut dengan derajat keanggotaan.
Terdapat beberapa fungsi keanggotaan yaitu fungsi keanggotaan trapesium,
sigmoid, segitiga dan lain-lain. Untuk membangkitkan sebuah fungsi keanggotaan
fuzzy system digunakan metode klasifikasi ataupun clustering. Sedangkan cara ini masih mengandalkan seorang expert dalam menentukan klasisfikasi dataset, sehingga
yang menjadi masalah selanjutnya terhadap kondisi tersebut yaitu jika para ahli tidak
tersedia maka akan menimbulkan kesulitan dalam membangkitkan fungsi
keanggotaan bahkan bisa mengakibatkan system fuzzy yang dikembangkan tidak
Beberapa penelitian yang sudah dilakukan terdahulu terkait pembangkitan
fungsi keanggotan antara lain yaitu penelitian yang dilakukan oleh (Pernama &
Hashim 2010), melakukan penelitian tentang penggunaan algoritma PSO (Particle Swarm Optimization) sebagai algoritma optimasi yang ditambahkan pada performa system fuzzy. Algoritma PSO dapat membangkitkan fuzzy set yang optimal dengan
mengatur fungsi keanggotaanya secara otomatis; (Hong, et al. 2006) melakukan
penelitian menggunakan metode training examples sebagai kerangka untuk membangkitkan secara otomatis fungsi keanggotaan dan fuzzy if-then rules; (Ketata, 2007) dalam penelitiannya memperkenalkan sebuah pendekatan yang baru yaitu
mengatur fungsi keanggotaan, pembangkitan dan pengurangan fuzzy rule base terhadap data pada waktu yang bersamaan; (Yang & Bose 2005) dalam penelitiannya
membangkitkan fungsi keanggotaan fuzzy secara otomatis dengan menggunakan
self-organizing feature map (SOFM) ; (Yunizar, 2012) melakukan penelitian dengan tujuan untuk mendapatkan fungsi keanggotaan fuzzy yang lebih tepat sesuai dengan
data yang diberikan dengan menggunakan algoritma backpropagation neural
Algoritma Genetika merupakan suatu system yang melakukan pencarian
dengan meniru mekanisme seleksi alamiah dan genetika alamiah, (Golberg, 1989). Pada aplikasinya algoritma genetika merupakan program komputer yang
mensimulasikan proses evolusi, dengan menghasilkan kromosom- kromosom dari
tiap populasi secara random dan memungkinkan kromosom tersebut berkembang biak
sesuai dengan hukum-hukum evolusi yang nantinya diharapkan akan dapat
menghasilkan kromosom prima atau yang lebih baik. Kromosom ini
merepresentasikan solusi dari permasalahan yang diangkat, sehingga apabila
kromosom yang baik tersebut dihasilkan, maka diharapkan solusi yang baik dari
permasalahan tersebut juga didapatkan.
Berdasarkan penelitian yang sudah dilakukan terdahulu maka penulis
mencoba untuk melakukan penelitian bagaimana membangkitkan fungsi keanggotaan
menggunakan Algoritma Genetika pada system fuzzy maka dapat membangkitkan
fungsi keanggotaan fuzzy otomatis.
1.2Perumusan Masalah
Pada sebuah system fuzzy, fungsi keanggotaan merupakan bagian yang berperanan
sangat penting dalam merepresentasikan masalah agar dapat menghasilkan data
output yang akurat. Sedangkan untuk menghasilkan sebuah fungsi keanggotaan fuzzy
yang menggunakan metode klasifikasi masih bergantung kepada pakar (expert), hal
tersebut tidak akan menjadi masalah apabila data yang dikelola jumlahnya sedikit
tetapi apabila data yang dikelola dalam jumlah yang sangat besar maka akan menjadi
masalah, untuk itu maka perlu dilakukan sebuah pendekatan dengan menggunakan
sebuah analisis pembangkit fungsi keanggotaan otomatis menggunakan algoritma
genetika dengan memanfaatkan metode cross over yaitu two point crossover dan
min-max crossover pada proses penyilangan .
1.3Batasan Masalah
Rumusan masalah diatas dibatasi beberapa hal sebagai berikut :
1. Menggunakan Algoritma Genetika dalam pembentukan pembangkit fungsi
keanggotaan fuzzy secara otomatis.
2. Pembentukan grafik menggunakan fungsi segitiga.
3. Aplikasi yang digunakan adalah Visual Studio 2010
4. Menggunakan data-data dari PNPM Medan untuk variabel yang akan di
analisis.
1.4Tujuan Penelitian
Tujuan yang ingin dicapai dalam penelitian ini yaitu membangkitkan kurva fungsi
keanggotaan fuzzy secara otomatis dengan melakukan pendekatan cross over
1.5Manfaat Penelitian
Manfaat penelitian yang diharapkan dari hasil penelitian ini adalah :
1. Dapat menggunakan algoritma genetika untuk membangkitkan fungsi
keanggotaan fuzzy otomatis.
2. Mengetahui penggunaan algoritma genetika sebagai pembangkit kurva fungsi
BAB II
TINJAUAN PUSTAKA
2.1 Fuzzy Set
Fuzzy secara bahasa diartikan sebagai kabur atau samar-samar. Suatu nilai dapat
bernilai besar atau salah secara bersamaan. Dalam fuzzy dikenal derajat keanggotaan
yang memiliki rentang nilai 0 (nol) hingga 1 (satu). Berbeda dengan himpunan tegas
yang memiliki nilai 1 atau 0 ( ya atau tidak ).
Logika Fuzzy merupakan suatu logika yang memiliki nilai kekaburan atau
kesamaran (fuzzyness) antara benar atau salah. Dalam teori logika fuzzy suatu nilai
bisa bernilai benar atau salah secara bersamaan. Namun berapa besar keberadaan dan
kesalahan suatu nilai tergantung pada bobot keanggotaan yang dimilikinya. Logika
fuzzy memiliki derajat keanggotaan dalam rentang 0 hingga 1. Berbeda dengan logika
digital yang hanya memiliki dua nilai 1 atau 0 (Zadeh, 1965). Logika fuzzy
digunakan untuk menterjemahkan suatu besaran yang diekspresikan menggunakan
bahasa (linguistic), sebagai contoh fuzzy set yaitu tinggi badan. ( Negnevitsky, 2005)
table 2.1. Dapat dilihat bahwa Mark dengan tinggi 205 cm mempunyai derajat
keanggotaan 1 dan Peter memiliki tinggi badan 152 cm mempunyai derajat
keanggotaan 0. Semua tinggi badan memiliki tingkat derajat keanggotaan . Untuk
tingkat tinggi badan yang berbeda-beda disesuaikan dengan derajat keanggotaan
dapat dituliskan secara linguistik menjadi sangat pendek, pendek, tinggi rata-rata,
Tabel 2.1 Derajat Keanggotaan Tinggi badan
Nama Tinggi
(cm)
Derajat keanggotan
Crisp Fuzzy
Chris 208 1 1
Mark 205 1 1
John 198 1 0,98
Tom 181 1 0,82
David 179 0 0,78
Mike 172 0 0,24
Bob 167 0 0,15
Steven 158 0 0,06
Bill 155 0 0,01
Peter 152 0 0,00
Fuzzy set juga dapat dituliskan dalam bentuk grafik yang menunjukkan
himpunan fuzzy seperti pada Gambar 2.1 Grafik tersebut merepresentasikan variable
tinggi badan, Gambar 2.1 a grafik crisp sedangkan gambar 2.1 b grafik fuzzy. Dari
gambar 2.1 a dapat dilihat bahwa David yang memiliki tinggi badan 179 termasuk ke
dalam kategori pendek. Termasuk juga yang lain yang tinggi badannya dibawah 180.
Sedangkan gambar b dapat terlihat variable tinggi badan tertulis dalam grafik dengan
tingkat yang berbeda-beda.
Gambar 2.1 b Himpunan Fuzzy tinggi badan
2.2 Fuzzyfikasi
Proses fuzzyfikasi merupakan proses untuk mengubah variabel non fuzzy (variable numerik) menjadi variabel fuzzy (variabel linguistik). Nilai masukan-masukan yang masihdalam bentuk variabel numerik yang telah dikuantisasi sebelum diolah oleh
pengendali fuzzy harus diubah terlebih dahulu ke dalam variabel fuzzy. Melalui fungsi
keanggotaan yang telah disusun maka nilai-nilai masukan tersebut menjadi informasi
fuzzy yang berguna nantinya untuk proses pengolahan secara fuzzy pula. Proses ini disebut fuzzyfikasi. Dengan kata lain fuzzyfikasi merupakan pemetaan titik-titik
numerik (crisp point)
x (x x ) U = 1 ,..., n T ∈ ke himpunan fuzzy A di U.
U adalah semesta pembicaraan. Paling tidak ada dua kemungkinan pemetaan,yaitu :
Fuzzyfikasi singleton: A adalah fuzzy singleton dengan support x , artinya (x') = 1 A μ
untuk x' = x dan (x') = 0 A μ untuk x'∈U yang lain dengan x' = x .
Fuzzyfikasi nonsingleton : (x) = 1 A μ dan (x') A μ menurun dari 1
sebagaimana x' bergerak menjauh dari x .
Sejauh ini yang paling banyak digunakan adalah fuzzyfikasi singleton, tetapi
2.2.1 Lingustic Variabel
Suatu himpunan fuzzy bisa didefinisikan berdasarkan variabel linguistik tertentu. Variabel linguistik didefinisikan sebagai :
(u,T(u),U, R, S)
Dengan U adalah nama variabel linguistik; T(u) adalah himpunan term (linguistic value/linguistic label) pada u dan masing-masing term didefinisikan dengan fungsi keanggotaan yang normal (mempunyai harga maksimum sama dengan 1) dan convex
pada U; R adalah aturan semantik untuk menghasilkan nama nilai pada u; S adalah aturan semantik untuk menghubungkan tiap nilai dengan artinya (Zadeh, 1968).
2.2.2 Fungsi Keanggotaan
Fungsi keanggotaan (membership function) adalah suatu kurva yang menunjukkan
pemetaan titik-titik input data kedalam nilai keanggotaannya (sering juga disebut
derajat keanggotaan) yang memiliki interval antar 0 sampai 1.
Dengan fungsi keanggotaan sbb :
a b c
0 1
Derajat keanggotaan
µ[x]
domain
0; x a atau x
µ[x] = ( x – a)/(b-a); a x
( c – x)/(c- b); x ………1)
2.2.4 Defuzzyfication
Jika masukan dari fuzzifikasi adalah sebuah bilangan tunggal, yaitu harga variabel
masukan, dan keluarannya adalah derajat keanggotaan dalam suatu fuzzy set dalam
antecedent, maka masukan dan keluaran defuzzyfikasi adalah kebalikannya. Berikut merupakan gambar dasar proses defuzzifikasi :
Gambar 2.6 Proses Defuzzifikasi
Masukan defuzzifikasi adalah sebuah fuzzy set (dalam hal ini fuzzy set hasil agregasi) dan keluarannya adalah sebuah bilangan tunggal untuk diisikan ke sebuah
variabel keluaran FIS Daerah fuzzy A
Daerah fuzzy B
Daerah fuzzy C
x Nilai yang diharapkan Input :
Output :
Daerah fuzzy D
Derajat keanggotaan µ[z]
0 1
Input dari proses defuzzifikasi adalah suatu himpunan fuzzy yang diperoleh
dari komposisi aturan-aturan fuzzy, sedangkan output yang dihasilkan merupakan
suatu bilangan pada domain himpunan fuzzy tersebut. Sehingga jika diberikan suatu
himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crisp tertentu sebagai output, seperti yang ditunjukkan pada Gambar 2.2 berikut.
Dengan menggunakan metode metode centroid (composite moment), solusi crisp diperoleh dengan cara mengambil titik pusat daerah fuzzy. Secara umum
Tinggi himpunan fuzzy adalah derajat keanggotaan maksimumnya yang
terikat pada konsep normalisasi berikut contoh representasi kurva segitiga yang pada
dasarnya merupakan gabungan antara 2 garis (linier)
Kelebihan dari logika fuzzy adalah kemampuan dalam proses penalaran
secara bahasa (linguistic reasoning), sehingga dalam perancangannya tidak memerlukan persamaan matematik dari objek yang akan dikendalikan.
2.3 Algoritma Genetika
Algoritma Genetika adalah suatu algoritma pencarian yang meniru mekanisme dari
genetika alam. Algoritma Genetika ini banyak dipakai pada aplikasi bisnis, teknik
maupun pada bidang keilmuan. Algoritma ini dapat dipakai untuk mendapatkan
Bangkitkan sebuah populasi dengan jumlah kromosom N
x1, x2, ….. xN
Hitung nilai fitness masing-masing kromosom F(x1), f(x2), ….. f(xN)
Pilih sepasang kromosom untuk proses perkawinan
Dengan menggunakan probability crossover (Pc), Lakukan proses perkawinan terhadap 2 kromosom tsb kemudaian terbentukalah 2 keturunanan baru
Dengan menggunakan probability Mutasi (Pm), Tukarkan secara acak nilai gen dari 2 keturunan kromosom
Apakah jumlah populasi yang baru = N ?
Tukarkan populasi kromosom dengan yang baru Tidak
Ya Mulai
Apakah sudah memenuhi
kriteria ?
Tempatkan hasil kromosom pada populasi yang baru Ya
Gambar 2.7 Struktur Umum Algoritma Genetika
Sebelum Algoritma ini dijalankan, masalah apa yang ingin dioptimalkan itu
harus dinyatakan dalam fungsi tujuan, yang dikenal dengan fungsi fitness. Jika nilai fitness semakin besar, maka sistem yang dihasilkan semakin baik. Operasi yang dilakukan adalah reproduksi, crossover, dan mutasi untuk mendapatkan sebuah solusi
menurut nilai fitness-nya. Dalam Algoritma Genetika, terdapat beberapa urutan proses yang perlu dilakukan diantaranya seperti yang terlihat pada gambar di bawah
ini :
Genetika algoritma merupakan pencarian algoritma stokastis yang
berdasarkan evolusi biologi. Langkah-langkah utama proses Algoritma Genetika (
Davis, 1991; Mitchell, 1996) adalah sebagai berikut:
Langkah 1 : Representasikan domain variable masalah menjadi sebuah kromosom
dengan panjang tertentu, tentukan jumlah kromosom dalam sebuah populasi (N),
tentukan Probabilitas crossover (Pc) dan Probabilitas mutasi (Pm).
Langkah 2 : Definisikan fungsi fitness dengan mengukur performa, atau fitness,
sebuah individu kromosom pada domain masalah. Fungsi fitness akan
membangun dasar dari pemilihan kromosom yang akan dikawinkan selama proses
reproduksi.
Langkah 3: Secara acak bangkitkan sebuah populasi kromosom awal yang
berjumlah N. x1, x2, x3 ……xN
Langkah 4 : Hitung nilai fitness dari masing-masing kromosom
f(x1), f(x2), f(x3) ……f(xN)
Langkah 5 : Pilih sepasang kromosom untuk proses perkawinan pada populasi
yang ada. Sepasang kromosom akan ditentukan dengan menghubungkan antara
probabilitas yang paling tinggi menjadi terpilih untuk proses perkawinan
daripada kromosom yang kurang tepat.
Langkah 6 : Terbentuk sepasang keturunan kromosom dengan memanfaatkan
operator gentika – crossover dan mutasi.
Langkah 7 : Tempatkan keturunan kromosom yang terbentuk pada sebuah
populasi yang baru.
Langkah 8 : Ulangi langkah 5 sampai jumlah populasi kromosom yang baru
menjadi sama dengan jumlah populasi awal N.
Langkah 9 : Gantikan populasi kromosom awal (orang tua) dengan populasi yang
baru ( keturunan).
Langkah 10 : Kembali ke langkah 4 dan ulangi proses sampai kriteria terpenuhi
2.3.1. Inisialisasi Populasi
Langkah pertama kali yang dilakukan dalam penggunaan Algoritma Genetika adalah
melakukan pengkodean atau representasi terhadap permasalahan yang akan
diselesaikan. Secara umum Algoritma Genetika dibentuk oleh serangkaian kromosom
yang ditandai dengan x
i (i =1,2,…N). Setiap elemen dalam kromosom ini adalah variabel string yang disebut gen, berisi nilai-nilai atau allele. Variabel-variabel ini
dapat dinyatakan dalam bentuk bilangan biner, bilangan real (floating point), integer,
abjad. Pengkodean string biner merupakan pendekatan paling klasik yang digunakan
dalam penelitian Algoritma Genetika karena sederhana. Selanjutnya beberapa
kromosom dibentuk dan berkumpul membentuk populasi. Populasi inilah awal bagi
Algoritma Genetika untuk awal melakukan pencarian. Pada Parodi A, Bonelli P
menjelaskan bahwa masing-masing fungsi keanggotaan merupakan suatu kromosom
yang direpresentasikan sebagai sepasang (c, w).
Gambar 2.8 Fungsi keanggotaan fuzzy variabel A dengan menggunakan segitiga
Gambar Grafik fungsi keanggotaan 2 variabel diatas direpresentasikan ke dalam
kromosom, dapat dilihat pada gambar dibawah ini
b , x c , v d , z e , v f , w g , p h , q i , r j , s l , t
Gambar 2.9 Representasi kromosom pada sebuah variabel A 2.3.2 Seleksi
Pada Algoritma Genetika terdapat proses seleksi yaitu proses pemilihan kromosom
yang akan di-crossover-kan dengan kromosom dari individu lain. Masalah yang
paling mendasar pada proses ini adalah bagaimana proses penyeleksiannya. Menurut
teori evolusi Darwin proses seleksi individu adalah :” individu terbaik akan tetap hidup dan menghasilkan keturunan”. Pada proses seleksi ini dapat menggunakan banyak metode seperti Roulette Wheel selection, Rank Selection, Elitism dan sebagainya.
2.3.3 Cross over
Fungsi crossover adalah menghasilkan kromosom anak dari kombinasi materi-materi
gen dua kromosom induk. Bekerja dengan membangkitkan sebuah nilai random r k di
mana k = 1,2,…POPSIZE. Probabilitas crossover (P
c) ditentukan dan digunakan
untuk mengendalikan frekuensi crossover. Apabila nilai r
k < Pc maka kromosom ke-k
terpilih untuk mengalami crossover. Crossover yang paling sederhana adalah one point crossover. Posisi titik persilangan (point) ditentukan secara random pada range
R1 R2 R3 R4 R5 R7 R8 R9 R10 R11 SR R S T ST SR R S T ST
satu sampai panjang kromosom. Nilai offspring diambil dari dua parent tersebut
dengan batas titik persilangan.
Untuk operasi cross over metode yang digunakan yaitu Max-Min Crossover
(MMA) dan untuk mutasi dilakukan mutasi one-point . (Herena, et al.1997).
Misalkan sudah terbentuk 2 kromossom parent sebagai berikut :
Cut = ( c1, ……ch, …….. , cz )
Cut„ = ( c1‟, ……ch‟, …….. , cz‟)
Dengan menggunakan max-min-aritmatika (MMA ) Crossover maka akan terbentuk
4 kandidat kromosom yang baru yaitu :
1. C1t+1 = ( c11t+1, …… c1ht+1, …….. , c1zt+1 ) Parameter d adalah konstanta atau variabel populasi dari variabel fungsi keanggotaan
. 2 kromosom yang terbaik dari ke 4 kromosom tersebut akan dipilih sebagai
offspring.
2.3.4 Mutasi
Operator mutasi digunakan untuk memodifikasi satu atau lebih nilai gen
dalam satu individu. Cara kerjanya dengan membangkitkan sebuah nilai random r k di
mana k =1,2,…,NVAR (panjang kromosom). Probabilitas mutasi (P
m) ditentukan dan
digunakan untuk mengendalikan frekuensi mutasi. Apabila nilai random r
maka gen ke-k kromosom tersebut terpilih untuk mengalami mutasi. Mutasi dengan
menggantikan 0 dengan 1 atau sebaliknya gen 1 dengan 0. Biasanya disebut dengan
proses flip yaitu dengan membalik nilai 0 ke 1atau 1 ke 0. Ilustrasi kerja operator ini
dapat digambarkan seperti pada gambar dibawah ini.
Fungsi dari operator mutasi adalah untuk menghindari agar solusi
permasalahan yang diperoleh bukan merupakan solusi optimum lokal. Seperti halnya
pada operator crossover, tipe dan implementasi dari operator mutasi bergantung pada
jenis pengkodean dan permasalahan yang dihadapi. Seberapa sering mutasi dilakukan
dinyatakan dengan suatu probabilitas mutasi, P
m. Posisi elemen pada kromosom yang
akan mutasi ditentukan secara random. Mutasi dikerjakan dengan cara melakukan
perubahan pada elemen tersebut.
Perubahan parameter kontrol seperti besarnya populasi, probabilitas crossover
dan probabilitas mutasi merupakan kemajuan dari pencarian di dalam metode
Algoritma Genetika. Variasi tersebut dapat memberikan beberapa hasil pencarian
walaupun sangat sulit menentukan kombinasi yang optimal dari beberapa parameter
pada tiap-tiap proses pencarian yang terjadi.
Operator mutasi one-point akan membentuk sebuah fungsi keanggotaan fuzzy
yang baru dengan menambahkan secara acak sebuah nilai (antara –wjk dan + wjk) ke nilai tengah atau sebuah daerah lingustik yaitu Rjk. Dimana c adalah nilai tengah dan
w adalah jarak setengah dari sebuah daerah lingustik. Dengan operasi mutasi maka
akan terbentuk sebuah nilai fungsi keanggotaan yang baru menjadi c+ atau w+ .
2.3.5 Fungsi Evaluasi (Fungsi Fitness)
Dalam Algoritma Genetika, sebuah fungsi fitness f(x) harus dirancang untuk masing-masing permasalahan yang akan diselesaikan. Dengan menggunakan kromosom
tertentu, fungsi obyektif atau fungsi evaluasi akan mengevaluasi status
masing-masing kromosom. Setiap gen x
i (i =1,2,…N) dipergunakan untuk menghitung fk (x)
mendominasi populasi . Tukar silang antara kromosom induk yang hampir identik
menghasilkan keturunan (offspring) yang identik.
Nilai fitness ditentukan dengan menghitung keterhubungan antara daerah
linguistik satu dengan lainnya berdasarkan persamaan 3 , 4 , 5 dan 6.
Perbandingan overlap dari fungsi keanggotaan Rjk dan Rji dapat
didefensisikan sebagai panjang overlap dibagi setengah jarak minimum dari 2 fungsi
tersebut (Hong, 2006). Faktor overlap sebuah variabel Ij dengan kromosom Cq
didefenisikan sebagai berikut :
Faktor overlap (Cq) = ∑
…………3)
Dimana : overlap (Rjk, Rji) adalah jarak overlap antara Rjk dan Rji
Gambar 2.10 overlap 2 buah segitiga Rjk Rji
overlap
Faktor coverage fungsi keanggotaan Ij pada kromosom Cq didefenisikan sebagai
berikut :
Coverage ratio ( Cqj) =
………4)
Dimana :
Range ( Rj1, Rj2, ….. Rjl) = range coverange fungsi keanggotaan
Max Ij = Nilai Max Ij
Gambar 2.11 Range 3 buah segitiga
SedangkanNilai Fitnes fungsi keanggotaan kromosom Cq didefenisikan sebagi
berikut :
Fitness (Cq) =∑ [ ] ……5)
Nilai fitness (Cq) di sebuah kromosom merupakan penjumlahan factor overlap dan
factor overage yang mana nilai ini merupakan nilai yang cocok untuk sebuah fungsi Rj1 Rj2 Rj3
keanggotaan fuzzy artinya dengan memperhitungkan factor overlap dan coverage
kemungkinan fungsi keanggotaan segitiga berulang menimpah.
2.4 Riset Terkait
Pada penelitian ini, penulis menggunakan beberapa riset terkait yang digunakan
sebagai bahan kajian selama proses penelitian dilakukan. Adapun riset-riset terkait
from Numerical
Perbedaan penelitian yang penulis lakukan pada saat ini berdasarkan penelitian yang
telah dilakukan sebelumnya yaitu :
1. Pembangkit grafik fungsi keanggotaan fuzzy menggunakan algoritma
genetika dengan menganalisis perkawinan silang two point crossover dan min
max aritmatika crossover
2. Variable input merupakan suatu variabel yang dibangkitkan secara random
Pada penelitian ini penulis menggunakan algoritma genetika untuk membangkitkan
fungsi keanggotaan (membership function) fuzzy secara otomatis dan diharapkan
dari hasil penelitian akan didapatkan metode yang efektif untuk menghasilkan nilai
derajat keanggotaan yang lebih baik
BAB III
METODOLOGI PENELITIAN
3.1 Pendahuluan
Pembangkit fungsi keanggotaan fuzzy menggunakan data masukan (input) yang
diklasifikasi pada tahap pra proses dan kemudian melalui proses optimasi dengan
menggunakan algoritma genetika sehingga menghasilkan ouput berupa grafik fungsi
keanggotaan segitiga yang optimal . system ini terdiri dari 4 variabel yaitu variabel
Produktifitas, Hubungan Sosial dan Aksesibilitasyang mana masing-masing variabel
ini akan diklasifikasi terlebih dahulu pada proses pra proses sehingga menghasilkan 4
range yaitu yaitu Rendah (R), Sedang (S), Tinggi (T) dan Sangat Tinggi (ST)
masing-masing range direpresentasikan dalam grafik fungsi segitiga.
3.2 Data Yang Digunakan
Pada penelitian ini digunakan data input yang terdiri dari 4 variabel dan
masing-masing terdiri dari range tertentu . Data yang digunakan dalam proses ini adalah
sebagai berikut :
1. Variabel Produktifitas, dengan range 20-70
Masing-masing variabel terdiri dari jumlah variable yang sudah ditentukan
yaitu Variabel Produktifitas sebanyak 60 data, variabel Hubungan Sosial sebanyak 70
data, varibel Aksesibilitas sebanyak 60 data dan variabel Keterisolasian sebanyak 50
Algoritma Genetika dilihat secara keseluruhan adalah sebagai berikut :
Mulai
Input : Produktifitas (20-70) Hubungan Sosial (30-90) Aksesibilitas (45-85) Keterisolasian (12-80)
Proses :
Representasi kromosom Menentukan Nilai Fitness
Seleksi Crossover
Mutasi
Output :
Grafik Fungsi Keanggotaan
Selesai
solusi-solusi yang disebut dengan initial population. Tiap-tiap individu disebut kromosom dimana setiap kromosom mewakili sebuah solusi untuk setiap masalah.
Kromosom terbentuk setiap generasi dan kemudian dievaluasi menggunakan
beberapa ukuran fitness. Untuk generasi yang baru, kromosom baru terbentuk oleh
proses yang dinamakan proses seleksi. Setelah proses seleksi berlangsung kromosom
yang baru terbentuk akan mengalami proses reproduksi dimana didalam proses
reproduksi ini kromosom akan di proses dalam dua tahap yaitu crossover dan mutasi
Gambar 3.4 Proses Algoritma Genetika
x1, x2, ….. xN
Hitung nilai fitness masing-masing kromosom
F(x1), f(x2), ….. f(xN)
Pilih sepasang kromosom untuk proses perkawinan
Dengan menggunakan probability crossover (Pc), Lakukan proses perkawinan terhadap 2 kromosom tsb kemudaian terbentuklah 2 keturunanan baru
Dengan menggunakan probability Mutasi (Pm), Tukarkan secara acak nilai gen dari 2 keturunan kromosom
Apakah jumlah populasi yang baru = N ?
Tukarkan populasi kromosom dengan yang baru Tidak
Ya
Apakah sudah memenuhi jumlah N ?
Tempatkan hasil kromosom pada populasi yang baru
Selesai
Ya
Langkah 1 : Membangkitkan secara random sebuah populasi yang terdiri dari 10
individu untuk masing-masing set fungsi keanggotaan untuk variabel manfaat,
efektifitas, keterisolasian dan hubungan sosial
Langkah 2 : Dilakukan pengkodean untuk setiap set fungsi keanggotaan menjadi
sebuah string
Langkah 3 : Menghitung nilai fitness masing-masing kromosom melalui persamaan
2, persamaan 3 dan persamaan 4
Langkah 4 : Dilakukan proses operasi cross over dari populasi
Langkah 5 : Dilakukan proses operasi mutasi dari populasi
Langkah 6 : Dengan menggunaka kriteria seleksi pilih individu untuk menjadi
generasi yang baru (generasi berikutnya)
Langkah 7 : Jika kriteria tidak terpenuhi maka kembali lagi ke langkah 3 dan lakukan
kembali langkah-langkah selanjutnya.
Langkah 8 : Yang menjadi Output dari sebuah set fungsi keanggotaan adalah nilai
fitness tertinggi
Algoritma Genetika merupakan proses iterasi. Masing-masing iterasi disebut
generasi. Biasanya jumlah generasi untuk sebuah Genetika Algoritma yang sederhana
berada diantara range 50 sampai 500 . Seluruh set dari generasi tersebut disebut
dengan putaran. Dan pada akhir putaran diharapkan akan ditemukan satu atau lebih
kromosom yang paling tepat.
3.4.1 Pembentukan kromosom
Proses representasi kromosom merupakan tahap sangat penting pada proses algoritma
genetika. Merepresentasikan grafik fungsi keanggotaan menjadi kromosom dilakukan
Gambar 3.5 merupakan gambar fungsi keanggotaan dengan
merepresentasikan kromosom. Dimana Rjk merupakan sebuah fungsi keanggotaan
yang mewakili sebuah lingustik range misalkan sangat rendah pada sebuah variabel I
yang mewakili Produktifitas, cjk menunjukkan nilai tengah dari daerah Rjk dan wjk
yang mewakili setengah dari jarak daerah Rjk, ajk merupakan titik kiri sebuah daerah
segitiga. Berikut ini merupakan gambar fungsi keanggotaan terdiri dari 1 variabel
yang merepresentasikan kromosom variabel Produktifitas
Berikut merupakan sebuah contoh merepresntasikan sebuah kromosom menjadi
sebuah fungsi keanggotaan segitiga. Sebuah variabel produktifitas dengan range
20-70
variabel produktifitas : 23, 29, 26, 50, 53, 33, 60, 62, 67, 73, 43, 70, 43, 44, 55, 56,
60,61, 33 , 34, 47,48, 50, 53, 35, 38, 37, 55, 56, 67
Dari deret nilai variabel produktifitas diambil 9 buah nilai yang diambil secara acak
yaitu 20 , 30 , 38 , 45 , 47, 59 , 62 , 64 , 70 . 9 buah bilangan ini akan membentuk 3 buah segitiga pada grafik segitiga seperti pada gambar 3.6. 3 buah bilangan
merepresentasikan sebuah segitiga, dimana bilangan yang ke-1 = nilai kaki kiri
segitga, bilangan ke-2 = nilai tengah segitiga dan bilangan yang ke-3 = nilai kaki
kanan segitiga. Demikian juga untuk 6 bilanglainnya merepresentasikan nilai kaki kiri
, nilai tengah dan nilai kaki kanan untuk segtiga yang ke-2 dan segitiga yang ke-3.
µ 1
K1 20 30 45 38 47 62 59 64 70
K1 adalah kromosom pertama yang terbentuk dari titik kiri segitiga , nilai tengah (w)
dan titik kanan variabel Produktifitas, Kemudian dibangkitkan secara acak 9 set
kromosom lainnya yang diambil secara acak dari nilai variabel produktifitas,
sehingga akan terbentuk 10 set kromosom yang baru. Seperti pada gambar 3.8
K1 = 20 30 45 38 47 62 59 64 70
K2 = 21 35 43 55 67 54 62 56 44
K3 = 31 25 48 60 52 42 40 32 69
K4 = 23 29 26 50 53 33 60 62 67
K5 = 53 33 60 62 67 73 43 70 43
K6 = 60 62 67 73 43 70 43 44 55
K7 = 55 56 60 61 33 34 47 48 50
K8 = 48 50 53 35 38 37 55 56 67
K9 = 50 53 33 60 62 67 73 43 70
K10 = 33 60 62 67 73 43 70 43 44
Selanjutnya kromosom yang terdiri dari 10 set ini akan dilakukan proses perhitungan
nilai fitness untuk masing-masing individu yang selanjutnya maka akan dihitung
masing-masing nilai kromosom tersebut untuk menentukan kromosom yang mana
selanjutnya akan dilakukan prosess crossover.
R1 R2 R3
Gambar 3.7 Representasi sebuah kromosom variabel produktifitas
perhitungan Perbandingan overlap dari fungsi keanggotaan Rjk dan Rji dapat
didefenisikan sebagai panjang overlap dibagi setengah jarak minimum dari 2 fungsi
tersebut. Faktor overlap sebuah variabel Ij dengan kromosom Cq didefenisikan
sebagai berikut :
Gambar 3.9 Grafik fungsi segitiga keanggotaan fuzzy
Dengan menggunakan persamaan 5 ditentukan nilai Fitnes (C1) sebagai berikut :
F (C11) = ∑
+
Wjk
Wji
0 5 10 15 20 Range Rj1, Rj2, Rj3
Maka diperoleh nilai fitness kromosom 1 sebesa6,0 Selanjutnya dilakukan
perhitungan nilai fitness kromosom 2 dan seterusnya sampai kromosom yang ke -10
dengan menggunakan cara yang sama.
3.4.3 Operasi cross over dan mutasi pada populasi
Pada proses cross over dilakukan 3 metode yaitu yang pertama metode one
point cross over , yang kedua dilakukan two point cross over dan yang ketiga
yaitu min-max cross over . Adapun proses crossover yang terjadi adalah
sebagai berikut :
3.4.3.1One point crossover.
Misalkan dilakukan cross over pada 2 kromosom berikut dengan
menggunakan metode one point crossover, maka yang dilakukan adalah
perkawinan dilakukan tepat pada satu titik fungsi keanggotaan. Pada contoh
dibawah dilakukan perkawinan pada titik fungsi keanggotaan kedua.
K1 = 5 5 10 5 15 5 20 5
K2 = 3 5 11 5 15 5 21 5
Gambar 3.10 Pertukaran kromosom metode one point cross over
Pada bilangan yang cetak hitam dan garis bawah akan dilakukan perkawinan dengan
menggunakan metode one point cross over sesuai dengan persamaan 9 sehingga akan
menghasilkan 2 buah kromosom yang baru sebagai berikut :
K1 = 5 5 10 5 15 5 21 5
K2 = 3 5 11 5 15 5 20 5
Selanjutnya dilakukan perhitungan nilai fitness terhadap ke dua kromosom yang
terbentuk dari perkawinan silang. Kemudian nilai fitness yang tertinggi akan dipilih
menjadi generasi yang baru dan selanjutnya dilakukan proses mutasi
3.4.3.2Two Point crossover
Untuk perkawinan silang dengan menggunakan metode two point crossover maka
dilakukan perkawinan di 2 titik sekaligus . Pada contoh dibawah ini dilakukan
perkawinan silang pada fungsi keanggotaan ke 2 dan ke 4
K1 = 5 5 10 5 15 5 20 5
K2 = 3 5 11 5 15 5 21 5
K1 = 5 5 11 5 15 5 20 5
Gambar 3.11 Pertukaran kromosom metode two point cross over
Selanjutnya perkawinan silang diata akan menghasilkan 2 kromosom seperti gambar
3.11
Kemudian ke dua kromosom yang terbentuk dihitung nilai fitness, kromosom dengan
nilai fitness paling tinggi akan menjadi kromosom generasi yang baru dan kemudian
dilakukan proses mutasi.
3.4.3.3 Min Max Aritmatik crossover
Pada proses crossover dengan metode Min max aritmatik crossover akan
menghasilkan 4 buah kromosom yang baru. Dengan menggunakan persamaan
9 berikut bentuk perkawinan antara 2 kromosom dengan d = 0.3 .
K1 = 5 5 10 5 15 5 20 5
K2 = 3 5 11 5 15 5 21 5
Dengan menggunakan Min-max crossover maka perkawinan silang yang
dihasilkan 4 buah kromosom sebagai berikut :
K1 = 3.6 4.7 10.7 4.7 18 4.7 20.7 4.7
K2 = 4.4 4.7 10.3 4.7 18 4.7 20.3 4.7
K3 = 5 5 11 5 15 5 21 5
K4 = 3 5 10 5 15 5 20 5
masing nilai kromosom sehingga didapat nilai kromosom yang paling tinggi
akan menjadi kromosom generasi berikutnya dan selanjutnya dilakukan proses
mutasi
Operator mutasi one-point akan membentuk sebuah fungsi
keanggotaan fuzzy yang baru dengan menambahkan secara acak sebuah nilai
(antara –wjk dan + wjk) ke nilai tengah atau sebuah daerah lingustik yaitu Rjk. Dimana c adalah nilai tengah dan w adalah jarak setengah dari sebuah
daerah lingustik. Dengan operasi mutasi maka akan terbentuk sebuah nilai
4.1 Pendahuluan
Penulis membangun program pembangkit fungsi keanggotaan fuzzy menggunakan
Algoritma Genetika dengan menggunakan bahasa pemrograman Visual Studio 2010.
Pada penelitian ini, akan ditampilkan hasil fungsi keanggotaan yang dibangkitkan
dengan menggunakan algoritma genetika dengan mengamati perbedaan fungsi
keanggotaan yang dibangkitkan dengan menggunakan perkawinan metode crossover
two point dan crossover min max aritmatika. Adapun uji coba yang dilakukan
menggunakan komputer dengan spesifikasi hardware sebagai berikut :
1. Prosesor Dual Core 1.86 GHz 2. RAM, 2 GB
3. Aplikasi Visual Studio 2010 4. OS Win XP
4.2 Hasil Uji Coba
Pembangkit fungsi keanggotaan fuzzy menggunakan algoritma genetika pada tahapan
proses penyelesaiannya terdiri dari beberapa tahapan dan salah satunya yaitu
perkawinan, pada system ini terdiri dari 2 metode perkawinan yaitu two point
crossover dan min-max aritmatika crossover. Pada hasil uji coba akan ditampilkan
hasil fungsi keanggotaan yang terbentuk dengan menggunakan kedua metode tersebut
dengan menggunakan input data sama yaitu terdiri dari 4 variabel, variabel
produktifitas (20-70), hubungan sosial (30-90), aksessibilitas (45-85) dan
keterisoalasian (12-80).
4.2.1 Variabel input
Berikut ini adalah nilai yang disetting pada aplikasi tahap awal yaitu nilai alpha, E
(koefisien mutasi) sedangkan input variabel terdiri dari data yang dibangkitkan secara
Jumlah data = 30
Data Uji coba :
Bilangan random :
Variabel Produktifitas =
23, 29, 26, 50, 53, 33, 60, 62,67, 73, 43, 70, 43, 44, 55, 56, 60,61, 33 , 34, 47,48, 50,
53, 35, 38, 37, 55, 56, 67
Variabel Hubungan Sosial =
30, 34, 38, 43, 32, 89, 88, 56, 60, 90, 88, 87, 70, 76, 75, 74, 73, 60, 62, 63, 65, 78, 90,
56,60,56,67,78,89,80,70
Variabel Aksesibilitas =
40, 55, 56, 76, 80, 78, 67, 76, 46, 83, 78, 68, 58, 48, 82, 65, 67, 68, 45, 48, 46, 56, 55 ,
54, 52, 53, 50, 60, 77, 78
Variabel keterisolasian =
12, 20, 22, 21, 45, 56, 43, 44, 56, 67, 65, 78, 77, 75, 74, 34, 45, 33, 45, 55, 67, 34, 32,
35, 67, 46, 67, 43, 46, 47
Kemudian masing-masing variabel melewati tahap pra proses yaitu pembentukan
grafik segitiga, yang mana dalam pembentukan grafik segitiga melewati tahap
pembentukan interval grafik dan pembentukan daerah batasan . Hasil tahap pra proses
Gambar 4.1 Pembentukan grafik segitiga
Pada gambar grafik segitiga terlihat bahwa hubungan sosial dan keterisolasian terbagi
menjadi 4 daerah lingustik sedangkan variabel produktifitas dan aksesibilitas terbagi
menjadi 3 bagian lingustik dalam bentuk segitiga, selanjutnya dilakukan proses
pembentukan grafik fungsi keanggotaan dengan menggunakan algoritma genetika.
4.2.2 Fungsi keanggotaan fuzzy menggunakan two point crossover
Pada tahap proses di inputkan nilai mutasi dan nilai alpha target kemudian inputkan
jumlah itrasi yang akan dilakukan, berikut adalah nilai yang diinputkan pada tahap
proses yaitu :
Alpha =0,2 dan Mutasi (E) = 5
Pada tahap pertama dilakukan pembentukan grafik fungsi keanggotaan dengan
membangkitkan fungsi keanggotaan pada 50 generasi kemudian akan dibandingkan
Tabel 4.1 Kromosom dan nilai Fitness pada generasi ke-1
Populasi 1 (Variabel Produktifitas) Nilai Fitness
C1 = 11,5,11,5,34,5,11, Fitnes = 2,42
Populasi 2 (Hubungan Sosial) Nilai Fitness
C1=13,5,13,5,40,5,13,5,67 Fitnes = 6,45 C2 = 89,34,70,81,89,31,33,14, Fitnes = -4,49 C3 = 33,66,54,86,36,66,13,87, Fitnes = -1,6 C4 = 86,45,24,14,44,45,80,83, Fitnes = -0,48 C5 = 13,82,47,46,54,79,2,8, Fitnes = -0,88 C6 = 23,3,23,66,5,24,7,92, Fitnes = -1,28 C7 = 31,43,84,5,5,4,24,83, Fitnes = -0,56 C8 = 6,77,24,26,53,84,69,43, Fitnes = 5,06 C9 = 47,81,67,7,78,81,53,47, Fitnes = 0,48 C10 = 64,45,63,33,42,40,81,62, Fitnes = 1,36
Tabel 4.1 Kromosom dan nilai Fitness pada generasi ke-1
C10 = 65,22,3,45,15,46, Fitnes = -2,5 Max Fitnes = 2,7
Populasi 4 (Keterisolasian) Nilai Fitness
C1 = 13,13,39,13,65,13,91,13, Fitnes = 6,9 C2 = 11,36,11,31,11,17,38,23, Fitnes = 2,4 C3 = 65,64,17,71,72,90,78,20, Fitnes = 1,16 C4 = 23,51,82,44,13,82,49,85, Fitnes = 2,31 C5 = 2,5,42,39,54,3,77,68, Fitnes = 6,67 C6 = 37,25,42,43,15,67,54,62, Fitnes = 1,51 C7 = 26,71,82,68,1,59,2,84, Fitnes = -2,13 C8 = 7,67,6,44,70,67,48,20, Fitnes = 3,64 C9 = 77,17,28,5,65,89,59,61, Fitnes = -1,6 C10 = 78,39,34,46,47,34,4,47, Fitnes = -6,56
Max Fitnes = 6,9
Tabel diatas merupakan representasi kromosom grafik fungsi segitiga yang kemudian
dibangkitkan sebanyak 10 set kromosom yang baru secara acak, Kemudian
kromosom tersebut dihitung nilai fitnessnya, untuk kemudian dipilih berdasarkan
ranking nilai fitness yang tertinggi dan akan dilakukan cross over. Selanjutnya
setelah melewati proses cross over dan mutasi maka akan menghasilkan grafik fungsi
keanggotaan sebagai berikut :
a. Crossover two point 50 generasi.
Pada proses pembetukan fungsi keanggotan fuzzy yang dibangkitkan sebanyak 50
generasi . Nilai fitness yang tertinggi dari hasil perkasinan silang (crossover)
kemudian akan membentuk grafik fungsi keanggotaan fuzzy berdasarkan kromosom
yang membentuknya. Berikut ini adalah grafik fungsi keanggotaan fuzzy yang
a. b.
c. d.
Gambar 4.2 Grafik Fungsi keanggotaan pada 50 generasi
Pada gambar a merupakan grafik fungsi keanggotaan variabel produktifitas dan
mencapai nilai fitness pada generasi ke 49 dengan nilai fitness sebesar 15, sedangkan
gambar b adalah variabel hubungan sosial mencapai nilai fitness tertinggi pada
generasi ke 50 dengan nilai fitness =30. 77, variabel aksesisbilitas mencapai generasi
tertinggi pada generasi ke 49 dengan nilai fitness = 12.5 sedangkan variabel
keterisolasian mencapai nilai fitness tertinggi pada generasi ke 45 dengan nilai fitness
= 40. Masing-masing gambar diatas merupakan hasil grafik fungsi keanggotaan fuzzy
yang dibangkitkan pada generasi 50. Berikut ini adalah gambar grafik nilai fitness
a. b.
c. d.
Gambar 4.3 Grafik nilai fitness terhadap 50 generasi
Untuk nilai fitness masing-masing variabel dapat dilihat pada gambar 4.3 a, b,
c dan d , Grafik diatas adalah menunjukkan kenaikan nilai fitness di awal generasi
sampai pada generasi yang ke 50. Dapat dilihat bahwa nilai fitness semakin naik
disetiap generasi. Masing-masing nilai fitness bervariasi baik dimasing-masing
kromosom disuatu generasi terntentu sampai akhirnya di sebuah generasi tertentu
nilai fitness dan krosomosom pada generasi tersebut nilainya sudah tidak bervariasi.
Generasi ke-1 Generasi ke-2 Generasi ke-3
C1 = 12,12,36,12,60,12, C1 = 25,10,26,19,39,57, C1 = 18,38,26,19,49,39, Fitnes = 2.14 Fitnes = 0.63 Fitnes = 1.12
C2 = 21,38,40,54,43,39, C2 = 8,12,12,26,60,12, C2 = 21,38,38,12,55,39, Fitnes = 0.98 Fitnes = 2.14 Fitnes = 1.26
C3 = 25,10,12,54,39,57, C3 = 12,12,40,54,66,12, C3 = 8,12,21,12,66,12, Fitnes = 0.63 Fitnes = 2.14 Fitnes = 2.33
C4 = 37,42,2,26,59,32, C4 = 21,38,47,38,49,39, C4 = 12,12,12,26,72,12, Fitnes = 0.98 Fitnes = 0.98 Fitnes = 2.42
C5 = 9,29,47,38,15,10, C5 = 18,38,21,54,43,39, C5 = 12,12,38,12,72,12, Fitnes = 0.27 Fitnes = 0.98 Fitnes = 2.42
C6 = 38,19,20,19,41,37, C6 = 21,38,47,38,49,39, C6 = 12,12,21,54,72,12, Fitnes = 0.13 Fitnes = 0.98 Fitnes = 2.42
C9 = 31,59,35,38,59,34, C9 = 16,38,21,12,43,39, C9 = 21,38,21,54,55,39, Fitnes = 1.26 Fitnes = 0.98 Fitnes = 1.26
C10 = 38,13,19,50,43,43, C10 = 8,12,12,26,60,12, C10 = 8,12,21,12,66,12, Fitnes = 0.22 Fitnes = 2.14 Fitnes = 2.33
Max Fitnes = 2.14 Max Fitnes = 2.14 Max Fitnes = 2.42 Generasi ke-4 Generasi ke-5 Generasi ke-6
C1 = 21,38,26,19,61,39, C1 = 21,38,26,19,67,39, C1-10 = 12,12,26,19,90,12, Fitnes = 1.52 Fitnes = 1.79 Fitnes = 3.23
C2 = 12,12,26,19,78,12, C2 = 12,12,12,26,84,12, Generasi ke-7
Fitnes = 2.68 Fitnes = 2.94 C1 = 12,12,26,19,96,12, C3 = 12,12,38,12,78,12, C3 = 8,12,26,19,78,12, Fitnes = 3.49
Fitnes = 2.68 Fitnes = 2.86 Generasi ke-8
C4 = 12,12,38,12,78,12, C4 = 12,12,26,19,84,12, C1 = 12,12,26,19,102,12, Fitnes = 2.68 Fitnes = 2.94 Fitnes = 3.75
C5 = 12,12,12,26,78,12, C5 = 12,12,26,19,84,12, Generasi ke-9
Fitnes = 2.68 Fitnes = 2.94 C1 = 12,12,26,19,108,12, C6 = 12,12,12,26,78,12, C6 = 12,12,26,19,84,12, Fitnes = 4.05
Fitnes = 2.68 Fitnes = 2.94 Generasi ke-10
C7 = 12,12,21,54,78,12, C7 = 12,12,26,19,84,12, C1 = 12,12,12,26,114,12, Fitnes = 2.68 Fitnes = 2.94 Fitnes = 4.29
C8 = 21,38,26,19,61,39, C8 = 12,12,26,19,84,12, Generasi ke-11
Fitnes = 1.52 Fitnes = 2.94 C1 = 12,12,12,26,120,12, C9 = 8,12,38,12,72,12, C9 = 12,12,38,12,84,12, Fitnes = 4.55
Fitnes = 2.59 Fitnes = 2.94 Generasi ke-12
C10 = 12,12,38,12,78,12, C10 = 12,12,26,19,84,12, C1 = 12,12,26,19,126,12, Fitnes = 2.68 Fitnes = 2.94 Fitnes = 4.84
Max Fitnes = 2.68 Max Fitnes = 2.94
Generasi ke-13 Generasi ke-22 Generasi ke-31
C1 = 12,12,26,19,132,12, C1 = 12,12,26,19,186,12, C1 = 12,12,26,19,240,12, Fitnes = 5.08 Fitnes = 7.5 Fitnes = 10
Generasi ke-14 Generasi ke-23 Generasi ke-32
C1 = 12,12,26,19,138,12, C1 = 12,12,26,19,192,12, C1 = 12,12,26,19,246,12, Fitnes = 5.36 Fitnes = 7.69 Fitnes = 10.34
Generasi ke-15 Generasi ke-24 Generasi ke-33
C1 = 12,12,26,19,144,12, C1 = 12,12,26,19,198,12, C1 = 12,12,26,19,252,12, Fitnes = 5.66 Fitnes = 8.11 Fitnes = 10.34
Generasi ke-16 Generasi ke-25 Generasi ke-34
C1 = 12,12,26,19,150,12, C1 = 12,12,26,19,204,12, C1 = 12,12,26,19,258,12, Fitnes = 5.88 Fitnes = 8.33 Fitnes = 10.71
Generasi ke-17 Generasi ke-26 Generasi ke-35
C1 = 12,12,26,19,156,12, C1 = 12,12,26,19,210,12, C1 = 12,12,26,19,264,12, Fitnes = 6.12 Fitnes = 8.57 Fitnes = 11.11
Generasi ke-19 Generasi ke-28 Generasi ke-37
C1 = 12,12,26,19,168,12, C1 = 12,12,26,19,222,12, C1 = 12,12,26,19,276,12, Fitnes = 6.67 Fitnes = 9.09 Fitnes = 11.54
Generasi ke-20 Generasi ke-29 Generasi ke-38
C1 = 12,12,26,19,174,12, C1 = 12,12,26,19,228,12, C1 = 12,12,26,19,282,12, Fitnes = 6.98 Fitnes = 9.38 Fitnes = 12
Generasi ke-21 Generasi ke-30 Generasi ke-39
C1 = 12,12,26,19,180,12, C1 = 12,12,26,19,234,12, C1 = 12,12,26,19,288,12, Fitnes = 7.32 Fitnes = 9.68 Fitnes = 12
Generasi ke-40 Generasi ke-44 Generasi ke-48
C1 = 12,12,26,19,294,12, C1 = 12,12,26,19,318,12, C1 = 12,12,26,19,342,12, Fitnes = 12.5 Fitnes = 13.64 Fitnes = 14.29
Generasi ke-41 Generasi ke-45 Generasi ke-49
C1 = 12,12,26,19,300,12, C1 = 12,12,26,19,324,12, C1 = 12,12,26,19,348,12, Fitnes = 12.5 Fitnes = 13.64 Fitnes = 15
Generasi ke-42 Generasi ke-46 Generasi ke-50
C1 = 12,12,26,19,306,12, C1 = 12,12,26,19,330,12, C1 = 12,12,26,19,354,12, Fitnes = 13.04 Fitnes = 14.29 Fitnes = 15
Generasi ke-43 Generasi ke-47
C1 = 12,12,26,19,312,12, C1 = 12,12,26,19,336,12, Fitnes = 13.04 Fitnes = 14.29
Tabel 4.2 merupakan data hasil kromosom dan fitness yang dibangkitkan sebanyak 50
generasi untuk variabel produktifitas, dari tabel terlihat bahwa kromosom masih
bervariasi sampai pada generasi yang ke-6, selanjutnya nilai kromosom tiap generasi
tidak bervariasi sedangkan nilai fitness bertambah seiring dengan jumlah generasi
yang dibangkitkan.
b. Crossover two point 100 generasi.
Pada saat fungsi keanggotaan fuzzy dibangkitkan sebanyak 100 generasi maka akan
menghasilkan grafik fungsi keanggotaan fuzzy yang diambil dari generasi yang
a. b.
c. d.
Gambar 4.3 Grafik fungsi keanggotaan fuzzy generasi 100 metode two point
Crossover Gambar 4.3 merupakan grafik fungsi keanggotaan yang dihasilkan dengan
membangkitkan 100 generasi dan mengambil nilai fitness tertinggi kemudian
kromosom pada nilai fitness tertinggi tersebut di representasikan menjadi sebuah
grafik fungsi keanggotaan fuzzy. Nilai fitness yang dihasilkan cenderung meningkat
sebanding dengan banyaknya generasi. Gambar 4.4 a variabel produktifitas mencapai
nilai fitness tertinggi pada generasi ke 99 dengan nilai fitness = 30, variabel hubungan
sosial mencapai nilai fitness tertinggi pada generasi ke-100 dengan nilai fitness =
57.14, variabel aksesibilitas mencapai nilai fitness tertinggi pada generasi ke-93
dengan nilai fitness = 25 dan variabel keterisosalian mencapai nilai tertinggi pada
generasi ke=96 dengan nilai fitness= 80. Kenaikan nilai fitness ini bisa dilihat pada
a. b.
b. d.
Gambar 4.4 Grafik nilai fitness terhadap 100 generasi metode two point crossover
Grafik nilai fitness cenderung naik dan nilai fitness paling tinggi akan
merepresentasikan grafik fungsi keanggotaan fuzzy seperti pada gambar 4.3
4.2.3 Fungsi Keanggotaan Fuzzy menggunakan Min Max Aritmatika crossover.
Uji coba dengan input yang sama dilakukan dengan menggunaakan metode
perkawinan Min-Max Aritmatika crossover, dengan menggunakan data yang sama
dan dibangkitkan pada jumlah generasi yang sama yaitu generasi 50 dan generasi 100
dengan koefisien d= 0,3 dan mutasi = 6 , Berikut ini merupakan hasil uji coba,
a. Grafik fungsi keanggotaan fuzzy metode min-max crossover 50 generasi.
Sama halnya dengan cross over two point pada crossover min max aritmatika
kecenderungan nilai fitness naik untuk setiap generasi dan mencapai nilai fitness pada
a. b.
c. d.
Gambar 4.5 Grafik fungsi keanggotaan yang dibangkitkan sebanyak 50 generasi dengan cross over min max aritmatika
Pada variabel produktifitas nilai fitness tertinggi pada generasi ke 50 dengan nilai
fitness = 14.29, variabel hubungan sosial mencapai nilai tertinggi pada generasi ke-47
dengan nilai fitness sebesar 28.57, variabel aksesibilitas mencapai nilai tertinggi pada
generasi = 49 dengan nilai fitness 13,03 dan variabel keterisolasian mencapai nilai
fitness tertinggi pada generasi ke-47 dengan nilai fitness 40.
Bentuk grafik fungsi keanggotaan yang terbentuk berbeda antara variabel
yang satu dengan variabel yang lainnya hal ini terjadi disebabkan nilai kromosom
yang dibangkitkan secara random dan dinamis. Untuk nilai fitness kecenderungan
nilainya naik pada setiap generasi, sedangkan kromosom sangat bervariasi. Gambar
berikut merupakan merupakan gambar nilai kenaikan fitness terhadap kenaikan
a. b.
c. d.
Gambar 4.6 Grafik nilai fitness terhadap 50 generasi metode min-max
crossover
b. Grafik fungsi keanggotaan fuzzy metode min-max crossover 100 generasi.
Untuk crossover min max aritmatik yang dibangkitkan sebanyak 100 generasi
ditemukan fitness yang paling tertinggi untuk variabel produktifitas pada generasi ke
90 dengan nilai fitness sebesar 29.57, variabel hubungan sosial mencapai nilai fitness
tertinggi pada generasi ke 90 dengan nilai fitness sebesar 50, variabel aksesibilitas
mencapai nilai fitness tertinggi pada generasi ke 95 dengan nilai fitness sebesar 25
dan variabel keterisolasian mencapai niali fitness tertinggi pada generasi ke 84
dengan nilai fitness sebesar 66.67. Grafik fungsi keanggotaan fuzzy yang terbentuk
a. b.
c. d.
Gambar 4.7 Grafik fungsi keanggotaan yang dibangkitkan sebanyak 100 generasi dengan crossover min max aritmatika
Gambar 4.7 merupakan representasi bentuk kromosom dengan nilai fitness tertinggi
pada 100 generasi yang dibangkitkan dengan menggunkan metode min-max
aritmatika crossover, selanjutnya bentuk grafik nilai fitness yang dihasilkan dapat
dilihat pada gambar 4.8.
c. d.
Gambar 4.8 Grafik nilai fitness terhadap 100 generasi tetode min-max crossover
Pada grafik fungsi keanggotaan diatas terlihat bahwa nilai grafik kecenderungan naik