Analisis Cross Over Point Algoritma Genetika pada Pembangkit Fungsi Keanggotaan Fuzzy Otomatis

(1)

TESIS

ERTINA SABARITA BARUS

117038017

PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN


(2)

(3)

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

Magister (S2) Teknik Informatika Ketua,


(4)

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

Ertina Sabarita Barus 117038017


(5)

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:

ANALISIS CROSS OVER POINT ALGORITMA GENETIKA PADA PEMBANGKIT FUNGSI KEANGGOTAAN FUZZY OTOMATIS


(6)

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


(7)

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


(8)

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 Informatika Universitas Sumatera Utara ini, penulis banyak mendapatkan dukungan


(9)

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 yang terbaik kepada Penulis.


(10)

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 kasih untuk Teman-teman Permata Ofel Gereja GBKP Bt. Penjemuren serta


(11)

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 117038017


(12)

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.


(13)

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.


(14)

DAFTAR ISI

PENGESAHAN ii

PERNYATAAN ORISINALITAS iii

PERSETUJUAN PUBLIKASI iv

PANITIA PENGUJI v

RIWAYAT HIDUP vi

UCAPAN TERIMA KASIH vii

ABSTRAK x

ABSTRACT xi

DAFTAR ISI xii

DAFTAR TABEL xv

DAFTAR GAMBAR xvi

BAB I PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Perumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

BAB II TINJAUAN PUSTAKA 5

2.1 Logika Fuzzy 5

2.2 Fuzzyfikasi 5

2.2.1 Lingustic Variabel 6

2.2.2 Membership Function 7

2.2.3 Aturan Dasar 8

2.2.4 Defuzzyfication 9

2.3 Algoritma Genetika 11

2.3.1. Inisialisasi Populasi 12

2.3.2 Seleksi 12


(15)

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


(16)

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 4.2 Kromosom dan fitness 50 generasi variabel produktifitas 40


(17)

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


(18)

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


(19)

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.


(20)

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.


(21)

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 acuan yang tepat dalam penentu keputusan akhir.


(22)

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 berfungsi dengan baik (Hong , et al. 2006) .


(23)

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 fuzzy otomatis dengan menggunakan Algoritma Genetika (AG). Dengan pendekatan


(24)

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 Algoritma Genetika.


(25)

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 keanggotaan fuzzy.


(26)

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)

Elemen dari tinggi fuzzy set yaitu „ tinggi badan‟ semua laki-laki, tetapi derajat keanggotaan tergantung kepada tinggi masing-masing. Seperti yang terlihat pada


(27)

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, dan sangat tinggi.


(28)

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.


(29)

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 pemakaian nonsingleton juga telah dirintis terutama untuk masukan-masukan yang banyak dimasuki olehderau (noise) (Wang, 1997).


(30)

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 Gambar 2.2 kurva segitiga


(31)

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


(32)

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

Atau

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 solusi yang tepat untuk masalah optimal dari satu variabel atau multi variabel.


(33)

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


(34)

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 dengan nilai fitnesnya. Kromosom yang paling tepat memiliki


(35)

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

µ 1

0 b c d e f R1 R2 R3 R4 R5

0 g h i j l R7 R8 R9 R10 R11


(36)

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


(37)

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 ) Dimana: C1ht+1 = dch + (1-d) ch‟

2. C2t+1 = ( c21t+1, …… c2ht+1, …….. , c2zt+1 ) Dimana : C2ht+1 = dch‟ + (1-d) ch

3. C3t+1 = ( c31t+1, …… c3ht+1, …….. , c3zt+1 ) Dimana : C3ht+1 = min{ch , ch‟} 4. C4t+1 = ( c41t+1, …… c4ht+1, …….. , c4zt+1 )

Dimana: C4ht+1 = min{ch , ch‟} ………..2) 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


(38)

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)

di mana k = 1,2,…. POPSIZE. Permasalahan klasik dari Algoritma Genetika adalah beberapa kromosom dengan nilai fitness yang tertinggi (tetapi bukan nilai optimum)


(39)

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 wjk


(40)

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


(41)

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 tersebut adalah :

Tabel. 2.2 Riset Terkait No Judul Riset Nama

Peneliti Dan Tahun

Metode Yang Digunakan

Hasil Penelitian

1. Fuzzy Membership Function

Generation using Particle Swarn Optimization

Kurniawan Eka Permana dan Siti Zaiton Mohn Hashim. 2010

algoritma PSO (Particle Swarm Optimization)

PSO dapat

membangkitkan fuzzy set yang optimal dengan mengatur fungsi keanggotaanya secara otomatis

2. Induction of Fuzzy Rules and Membership Function Training Examples.

Tzung-Pei Hong dan Chai-Ying Lee. 1996

Training samples

Melakukan penelitian menggunakan metode pembelajaran sebagai framework untuk mendapatkan fungsi keanggotaan dan if – then rule fuzzy melalui satu set contoh pembelajaran yang diberikan

3. Adjustment of Membership Function,

Generation and Reduction of Fuzzy Rule Base

Raouf Ketata, Hatem

Bellaaj, Mohamed Chtourou, Mohaned Ben

Adjustment from Numerical Data

sebuah pendekatan yang baru yaitu mengatur fungsi keanggotaan,

pembangkitan dan pengurangan fuzzy


(42)

from Numerical Data

Amer.2007 rule base terhadap

data pada waktu bersamaan

4. Generating Fuzzy Membership Function with Self-Organizing Feature Map

Chih-Chung Yang, N. K. Bose. 2005 Pembelajaran dengan menggunakan fitur pemetaan penelitiannya membangkitkan fungsi keanggotaan fuzzy secara otomatis dengan menggunakan self-oragnizing feature map

Tabel. 2.2 Riset Terkait (Lanjutan) No Judul Riset Nama

Peneliti Dan Tahun

Metode Yang Digunakan

Hasil Penelitian

5. Pembangkit Fungsi Keanggotaan Fuzzy Otomatis Menggunakan Neural Network

Zara Yunizar 2012

Backpropagation Neural network

Melakukan penelitian dengan tujuan untuk mendapatkan fungsi keanggotaan fuzzy yang lebih tepat sesuai dengan data yang diberikan, menggunakan algoritma backpropagation neural network sebagai pembangkit fungsi keanggotaan otomatis. 2.5 Perbedaan Dengan Riset Lain

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


(43)

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 2. Variabel Hubungan Sosial, dengan range 30 – 90 3. Variabel Aksesibilitas, dengan range 45 – 85 4. Variabel Keterisolasian , dengan range 12 - 80


(44)

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


(45)

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


(46)

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 sehingga solusi dapat dicapai sesuai nilai fitness.


(47)

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


(48)

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 pendekatan seperti yang ditunjukkan pada gambar dibawah ini.


(49)

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

20 30 38 45 47 59 62 64 70 R1 R2 R3 R4


(50)

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


(51)

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


(52)

+ ⁄ = 0 + 0 + 0 + 1,3

= 1,3 F(Cq12) = 1,25 F(Cq13) = 2 F(Cq14) = 1,5

Total Fitness ( C 1) = 1,3 + 1,25 + 2 + 1,5 = 6,0

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


(53)

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


(54)

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


(55)

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 fungsi keanggotaan yang baru menjadi c+ atau w+ .


(56)

(57)

(58)

(59)

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


(60)

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 dapat dilihat digambar 4.1 berikut ini :


(61)

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 dengan membangkitkan fungsi keanggotaan pada generasi yang ke 100.


(62)

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 C2 = 57,15,56,27,24,3, Fitnes = -1,73 C3 = 28,21,28,28,12,36, Fitnes = -0,84 C4 = 52,13,43,2,29,33, Fitnes = -1,21 C5 = 49,4,43,36,29,6, Fitnes = -1,05 C6 = 30,5,40,19,1,45, Fitnes = -1,52 C7 = 53,17,14,11,4,47, Fitnes = -2,59 C8 = 7,1,18,40,35,14, Fitnes = 1,47 C9 = 44,36,56,37,34,12, Fitnes = -0,53 C10 = 44,10,44,48,3,12, Fitnes = -2,16

Max 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 (lanjutan)

Populasi 3(Aksesibilitas) Nilai Fitness

C1 = 13,5,13,5,40,5,13,5 Fitnes = 2,7 C2 = 27,18,55,0,39,54, Fitnes = 0,6 C3 = 56,6,41,42,28,51, Fitnes = -1,4 C4 = 39,50,35,23,20,53, Fitnes = -0,95 C5 = 13,12,36,0,10,32, Fitnes = -0,15


(63)

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 terbentuk dari pembangkitan 50 generasi


(64)

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 terhadap generasi yang dibangkitkan sebanyak 50 pada masing-masing variabel.


(65)

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

C7 = 42,41,10,12,33,21, C7 = 16,19,38,12,41,37, C7 = 12,12,12,26,72,12, Tabel 4.2 Kromosom dan fitness 50 generasi variabel produktifitas


(66)

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

Tabel 4.2 Kromosom dan fitness 50 generasi variabel produktifitas (lanjutan)


(67)

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 mempunyai nilai fitness yang tertinggi,


(68)

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 gambar 4.4


(69)

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 titik tertentu .


(70)

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 jumlah generasi


(71)

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 dapat dilihat seperti gambar 4.5 dibawah ini.


(72)

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.


(73)

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 sampai pada sebuah nilai fitness tinggi tertentu .


(74)

5.1 Kesimpulan

Dari hasil penelitian penulis mendapatkan kesimpulan sebagai berikut :

1. Banyaknya jumlah generasi yang dibangkitkan akan menghasilkan nilai fitness yang tinggi untuk metode crossover two point begitu pula metode cross over min-max aritmatika.

2. Baik metode crossover two point dan min-max aritmatika akan menghasilkan output fungsi keanggotaan fuzzy yang terbaik pada suatu generasi tertentu secara acak dan tidak selalu pada generasi yang tertinggi

3. Pada proses pembentukan fungsi keanggotaan menggunakan 4 variabel input yang sama serta ketentuan output yang dicapai juga sama tetapi menghasilkan 2 keluaran output bentuk fungsi keanggotaan fuzzy yang berbeda untuk crossover two point dan crossover min max aritmatika dan masing-masing dibangkitkan pada 10 generasi, 50 generasi dan 100 generasi.

4. Nilai fitness untuk metode perkawinan silang cross over min-max aritmatik cenderung naik pada setiap generasi sampai dicapai sebuah nilai fitness yang tertinggi sedangkan nilai fitness untuk metode two point crossover nilai fitness cenderung acak dan lebih dinamis.

5. Pada metode crossover two point dan min-max aritmatika akan menghasilkan satu nilai fitness tertinggi dan stabil pada generasi yang tinggi.


(75)

menghasilkan sebuah fungsi keanggotaan fuzzy yang diharapkan, penelitian ini dapat dilanjutkan dengan menggunakan algoritma lain yang dapat mempercepat proses sehingga maximum generasi dapat dicapai sehingga bentuk fungsi keanggotaan yang lebih baik dapat dicapai.

2. Penelitian ini bisa dilanjutkan dengan menggunakan pendekatan fungsi keanggotaan trapesium, sigmoid untuk menghasilkan pembangkit fungsi keanggotaan fuzzy yang lebih baik untuk sebuah tren data tertentu.


(76)

Fadl Mutaher Ba-Alwi. 2013. Knowledge Acquisition Tool for Learning Membership Function and Fuzzy Classification Rules from Numerical Data. International Journal of Computer Application. Vol 64 No 13

Kurniawan Eka Permana dan Siti Zaiton Mohn Hashim. 2010. Fuzzy Membership Function Generation using Particle Swarn Optimization. Int. J. Open Problems Compt. Math., Vol 3, No 1

Satyendra Nath Mandal, J. Pal Choudhury and S.R. Bhadra Chaudhuri. 2012. In Search of Suitable Fuzzy Membership Function in Prediction of Time Series Data. Vol 9, Issue 3, No 3.Science Direct

Tzung-Pei Hong dan Chai-Ying Lee. 1996. Inductionof Fuzzy Rules and Membership Function Training Examples. Elsevier Science Publisher

K.N. Gowtham, M. Vasudevan, V. Maduraimuthu dan T. Jayakumar. 2011 . Intelligent Modeling Combining Adaptive Neuro Fuzzy Inference System and Genetic Algorithm for Optimizing Welding Process Parameters. The Minerals. Metals & ASM International. Vol 42B

Michele Sebag dan Marc Schoenauer.2008. Inductive Learning of Membership Functions and Fuzzy Rules. Elsevier Science Publisher

Raouf Ketata 2007. Adjustment of Membership Function, Generation and Reduction of Fuzzy Rule Base from Numerical Data. Malaysian Journal of Computer Science. Vol 20(2)

Chih-Chung Yang, N. K. Bose. 2005 . Generating Fuzzy Membership Function with Self-Organizing Feature Map. Elsevier. Vol 27 . 356-365

Mehmet Kaya dan Reda Alhajj. 2006. Utilizing Genetic Algorithms to Optimize Membership Functions for Fuzzy Weighted Association Rules Mining. Springer Science Business Media. Vol 24. 7-15

K. Deep, M. L. Kansal dan K. P. Singh. 2011. Genetic Algorithm Based Fuzzy Weighted Average for Multi-Criteria Decision Making Problems. Operational Research Society of India Vol 48(2):96-108

Yunizar Zara. 2012 Pembangkit Fungsi Keanggotaan Fuzzy Otomatis Menggunakan Neural Network. Tesis. Universitas Sumatera Utara

Michael Negnevitsky. 2005. Artificial Intelligence A Guide to Intelligent Systems. 2 nd

Edition. Addison Wesley.

Zadeh, L. A. 1965, Fuzzy Sets. Information Control, 8:338-353

Zadeh, L. A. 1968 . Fuzzy Algorithm, Information Control, vol 12, , pp. 94-102 Goldberg, D. E., 1989 Genetic Algorithms in Search, Optimization and Machine

Learning , Addison-Wesley Publishing Co.

Li_Xin Wang.1997. A Course In Fuzzy Systems and Control, Prentice-Hall International, Inc


(77)

Parodi A, Bonelli P , 1993 A new approach of fuzzy classifier systems. In : Proceeding of fifth international conference on genetic algorithms. Morgan Kaufmann. Pp 223-230

Herrera F, Lozano M, Verdegay JL (1997) Fuzzy connectives based crossover operators to model genetic algorithms population diversity. Fuzzy Sets Syst 92 (1): 21-30

Mitchell Melanie. 1996. An Introduction to Genetic Algorithms. MIT Press. New Jersey


(78)

Listing Program Public Class Chromosome

Private chromo As List(Of Double) Private max As Integer

Private min As Integer Public fitnes As Double Public suitability As Double Public Li As Double

Public Relm As List(Of RElement) Public Sub New()

chromo = New List(Of Double) Relm = New List(Of RElement) fitnes = 0

GC.KeepAlive(chromo) GC.KeepAlive(Relm) End Sub

Public Sub New(ByVal element As List(Of Double)) chromo = New List(Of Double)

Relm = New List(Of RElement) fitnes = 0

Dim i As Integer = 0 Dim j As Integer = 0 For Each item In element i += 1

chromo.Add(item) If i = 2 Then

Dim R As New RElement

R.RLeft = element(j - 1) - element(j) R.Median = element(j - 1)

R.RRight = R.Median + element(j) Relm.Add(R)

i = 0 End If j += 1 Next item

GC.KeepAlive(chromo) GC.KeepAlive(Relm) End Sub

'Public Sub ArrangeElement()


(1)

' Chromosom.Add(item) ' Next

' For Each item In subChromoB.Elmt ' Chromosom.Add(item)

' Next

' For Each item In subChromoC.Elmt ' Chromosom.Add(item)

' Next

' For Each item In subChromoD.Elmt ' Chromosom.Add(item)

' Next 'End Sub

Public Property Chromosom() As List(Of Double) Get

Return chromo End Get

Set(value As List(Of Double)) chromo = value

End Set End Property

Public Property MaxElm() As Double Get

Return max End Get

Set(value As Double) max = value End Set End Property

Public Property MinElm() As Double Get

Return min End Get

Set(value As Double) min = value End Set End Property

Public Sub GenerateMainChromosome(ByVal data As Variable) For Each item In data.RElm

Chromosom.Add(item.Median)

Chromosom.Add(item.Median - item.RLeft) Dim R As New RElement


(2)

R.Median = item.Median R.RLeft = item.RLeft

R.RRight = item.Median + (item.Median - item.RLeft) Relm.Add(R)

Next

MaxElm = General.GetMax(Chromosom) MinElm = General.GetMin(Chromosom) End Sub

'Mendapatkan nilai coverage factor

Public Function GetCoverageFactore(ByVal InputFuzzy As List(Of TID), ByVal type As String) As Double

Dim result As Double Dim IjMax As Double = 0

'IjMax merupakan variable yang akan menyimpan nilai InputFuzzy tertinggi sesuai dengan tipenya

For Each TID In InputFuzzy For Each item In TID.TI If item.Name = type Then If IjMax < item.Value Then IjMax = item.Value End If

End If Next item Next

'rumus mendapatkan coverage factor

result = Math.Round(1 / ((Relm(Relm.Count - 1).Median - Relm(0).Median) / IjMax), 2) Return result

End Function

Public Function GetOverlapFactor(ByVal item1 As RElement, ByVal item2 As RElement, ByVal height As Boolean) As Double

'rumus mendapatkan nilai overlap If height Then

Return Math.Round(General.GetMax(0 / General.GetMin(Math.Abs(item1.Median - item2.Median), 0), 1) - 1, 2)

Else

If item2.RLeft >= item1.RRight Then

Return Math.Round(General.GetMax(1 / General.GetMin(Math.Abs(item1.Median - item2.Median), 1), 1) - 1, 2)

Else

Return Math.Round(General.GetMax(Math.Abs(item1.RRight - item2.RLeft) / General.GetMin(Math.Abs(item1.Median - item2.Median), Math.Abs(item1.RRight - item2.RLeft)), 1) - 1, 2)

End If End If End Function


(3)

'Mendapatkan nilai LI untuk setiap variable InputFuzzy pada satu R(segitiga fungsi keanggotaan) elemen

Public Function GetLiValue(ByVal alpha As Integer, ByVal InputFuzzy As List(Of TID), ByVal type As String) As Integer

Dim result As Integer = 0 For Each RItem In Relm For Each TID In InputFuzzy For Each TD In TID.TI

'mengecek jika type yang ingin dihitung sama dengan nama Element InputFuzzy If type = TD.Name Then

'menghitung nilai fuzzy set, jika nilai fuzzy set lebih besar sama dengan alpha maka LI value + 1

If RItem.GetFuzzySet(TD.Value) >= alpha Then result += 1

End If End If Next Next Next RItem

'Console.WriteLine("GetLIValue = " & result) Li = result

Return result End Function

Public Function GetScalarItem(ByVal subChromo As SubChromosome, ByVal type As String, ByVal variable As String, ByVal ListTID As List(Of TID)) As Double

Dim result As Double = 0 For Each item In ListTID For Each value In item.TI If value.Name = variable Then If (type.ToLower() = "low") Then

result += subChromo.Low.GetFuzzySet(value.Value) ElseIf (type.ToLower() = "mid") Then

result += subChromo.Midle.GetFuzzySet(value.Value) ElseIf (type.ToLower() = "height") Then

result += subChromo.Height.GetFuzzySet(value.Value) End If

End If Next value Next item

'Console.WriteLine("Scalar Item = " & result) Return result

End Function

'Menghitung nilai suitability

Public Function GetSuitability(ByVal InputFuzzy As List(Of TID), ByVal type As String) As Double

Dim result As Double = 0 Dim index As Integer = 0


(4)

For i As Integer = 0 To (Relm.Count - 1) If i = index Then

'jika R element merupakan element R terakhir result += GetOverlapFactor(Relm(i), Relm(0), True) Else

'jika R element tidak element R terakhir

result += GetOverlapFactor(Relm(i), Relm(i + 1), False) End If

index += 1 Next i

result += GetCoverageFactore(InputFuzzy, type) result = Math.Round(result, 2)

suitability = result

'Console.WriteLine("GetSuitability = " & result) Return result

End Function

'Fungsi untuk menghitung nilai fitnees

Public Sub SetFitness(ByVal alpha As Integer, ByVal InputFuzzy As List(Of TID), ByVal type As String)

General.log += "Get Fitness chromosome : " & Chromosom.Count & " Relem : " & Relm.Count & vbNewLine

fitnes = Math.Round(GetSuitability(InputFuzzy, type), 2)

'fitnes = Math.Round(GetLiValue(alpha, InputFuzzy, type) / GetSuitability(InputFuzzy, type), 2)

End Sub

Public Sub Mutasi(ByVal E As Integer) Dim index As Integer = 0

'pemgecekan deret kromosom yang perlu dilakukan mutasi For i As Integer = 1 To (Chromosom.Count / 2) - 1

index += 2

If (Chromosom(index) < Chromosom(index - 2)) Then Exit For

End If Next i

'jika index yang diperoleh bukanlah element terakhir kromosom maka akan dilakukan proses mutasi

If Not (index = Chromosom.Count - 2) Then Chromosom(index) += E

Dim temp As Double

If Chromosom(index) < Chromosom(index - 2) Then temp = Chromosom(index)

Chromosom(index) = Chromosom(index - 2) Chromosom(index - 2) = temp


(5)

Try

If (Chromosom(index) > Chromosom(index + 2)) Then temp = Chromosom(index)

Chromosom(index) = Chromosom(index + 2) Chromosom(index + 2) = temp

End If

Catch ex As Exception

Console.WriteLine("Mutasi error : " & ex.Message) Exit Sub

End Try End If End If End Sub

Protected Overrides Sub Finalize() MyBase.Finalize()

chromo.Clear() End Sub


(6)