BAB II TINJAUAN PUSTAKA 2.1 Fuzzy Set - Analisis Cross Over Point Algoritma Genetika pada Pembangkit Fungsi Keanggotaan Fuzzy Otomatis

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

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.

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,78 Mike 172 0,24 Bob 167 0,15 Steven 158 0,06 Bill 155 0,01 Peter 152 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 a Himpunan Crisp tinggi badanGambar 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).

  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.

  1 Derajat keanggotaan µ[x] a

b

c domain

Gambar 2.2 kurva segitiga

  Dengan fungsi keanggotaan sbb :

  0; x ≤ a atau x ≥ c µ[x] = ( x

  • – a)/(b-a); a ≤ x ≤ b ( c
  • – x)/(c- b); b ≤ x ≤ c ………………………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 :

  Input : Daerah fuzzy A Output : Daerah fuzzy D

  Daerah fuzzy B

  1 Derajat keanggotaan µ[z] Daerah fuzzy C x

Gambar 2.6 Proses Defuzzifikasi

  Masukan defuzzifikasi adalah sebuah fuzzy set (dalam hal ini fuzzy set hasil

  x Nilai yang diharapkan

  agregasi) dan keluarannya adalah sebuah bilangan tunggal untuk diisikan ke sebuah variabel keluaran FIS

  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.

  Mulai

  Bangkitkan sebuah populasi dengan jumlah kromosom N x1, x2, ….. xN Hitung nilai fitness masing-masing kromosom

  F(x1), f(x2), ….. f(xN)

  Apakah sudah Ya memenuhi kriteria ?

  Tidak

  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 Tempatkan hasil kromosom pada populasi yang baru

  Tidak Apakah jumlah populasi yang baru = N ? Ya

  Tukarkan populasi kromosom dengan yang baru

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:

  • dengan panjang tertentu, tentukan jumlah kromosom dalam sebuah populasi (N), tentukan Probabilitas crossover (Pc) dan Probabilitas mutasi (Pm).

  Langkah 1 : Representasikan domain variable masalah menjadi sebuah kromosom

  • sebuah individu kromosom pada domain masalah. Fungsi fitness akan membangun dasar dari pemilihan kromosom yang akan dikawinkan selama proses reproduksi.

  Langkah 2 : Definisikan fungsi fitness dengan mengukur performa, atau fitness,

  • berjumlah N. x1, x2, x3 ……xN

  Langkah 3: Secara acak bangkitkan sebuah populasi kromosom awal yang

  Langkah 4 : Hitung nilai fitness dari masing-masing kromosom

  • f(x1), f(x2), f(x3) ……f(xN)
  • yang ada. Sepasang kromosom akan ditentukan dengan menghubungkan antara probabilitas dengan nilai fitnesnya. Kromosom yang paling tepat memiliki

  Langkah 5 : Pilih sepasang kromosom untuk proses perkawinan pada populasi 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.
  • populasi yang baru.

  Langkah 7 : Tempatkan keturunan kromosom yang terbentuk pada sebuah

  • menjadi sama dengan jumlah populasi awal N.

  Langkah 8 : Ulangi langkah 5 sampai jumlah populasi kromosom yang baru

  • baru ( keturunan).

  Langkah 9 : Gantikan populasi kromosom awal (orang tua) dengan populasi yang

  • 2.3.1. Inisialisasi Populasi

  Langkah 10 : Kembali ke langkah 4 dan ulangi proses sampai kriteria terpenuhi

  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 =

  1,2,…N). Setiap elemen dalam kromosom ini adalah

  i

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

  µ R1 R2 R3 R4 R5 R7 R8 R9 R10 R11

  1 0 g h i j l 0 b c d e f

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

  R1 R2 R3 R4 R5 R7 R8 R9 R10 R11

SR R S T ST SR R S T ST

Gambar 2.9 Representasi kromosom pada sebuah variabel A

MF1 MF2

  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 ket urunan”. 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 di

  k

  mana k ) ditentukan dan digunakan

  = 1,2,…POPSIZE. Probabilitas crossover (P

  c

  untuk mengendalikan frekuensi crossover. Apabila nilai r < P maka kromosom ke-k

  k c

  terpilih untuk mengalami crossover. Crossover yang paling sederhana adalah one . Posisi titik persilangan (point) ditentukan secara random pada range

  point crossover 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 :

  t

  C u = ( c c , c z )

  1, …… h, …….. t ‟ ‟ ‟

  C u

  1 c h , c z ) „ = ( c , …… , ……..

  Dengan menggunakan max-min-aritmatika (MMA ) Crossover maka akan terbentuk 4 kandidat kromosom yang baru yaitu :

  t+1 t+1 t+1 t+1

  1. C

  1 = ( c 11 c 1h , c 1z ) , …… , …….. t+1 ‟

  Dimana: C = dc + (1-d) c

  1h h h t+1 t+1 t+1 t+1

  2. C

  2 = ( c 21 c 2h , c 2z ) , …… , …….. t+1 ‟

  Dimana : C 2h = dc h + (1-d) c h

  t+1 t+1 t+1 t+1

  3. C

  3 = ( c 31 c 3h , c 3z ) , …… , …….. t+1 ‟

  Dimana : C 3h = min{c h , c h }

  t+1 t+1 t+1 t+1

  4. C = ( c c , c )

  4 41 4h 4z , …… , …….. t+1 ‟

  Dimana: C 4h = min{c h , c h } …………………..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 di

  k

  mana k ) ditentukan dan

  =1,2,…,NVAR (panjang kromosom). Probabilitas mutasi (P

  m

  digunakan untuk mengendalikan frekuensi mutasi. Apabila nilai random r < P ,

  k m 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 . Posisi elemen pada kromosom yang

  m

  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 jk dan + w jk ) ke (antara –w nilai tengah atau sebuah daerah lingustik yaitu R jk . 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 =

  1,2,…N) dipergunakan untuk menghitung fk (x)

  i

  di mana k = 1,2,…. POPSIZE. Permasalahan klasik dari Algoritma Genetika adalah beberapa kromosom dengan nilai fitness yang tertinggi (tetapi bukan nilai optimum) 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

  Rjk Rji overlap wjk wji

Gambar 2.10 overlap 2 buah segitiga

  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

  Rj1 Rj2 Rj3 Range R1, R2, R3

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 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 from Numerical Amer.2007 rule base terhadap Data data pada waktu bersamaan

  4. Generating Chih-Chung Pembelajaran penelitiannya Fuzzy Yang, N. K. dengan membangkitkan fungsi Membership Bose. 2005 menggunakan keanggotaan fuzzy Function with fitur pemetaan secara otomatis Self-Organizing dengan menggunakan Feature Map self-oragnizing feature map

  

Tabel. 2.2 Riset Terkait

(Lanjutan)

No Judul Riset Nama Metode Yang Hasil Penelitian Peneliti Digunakan Dan Tahun

  5. Pembangkit Zara Yunizar Backpropagation Melakukan penelitian Fungsi 2012 Neural network dengan tujuan untuk Keanggotaan mendapatkan fungsi Fuzzy Otomatis keanggotaan fuzzy yang Menggunakan lebih tepat sesuai dengan Neural Network 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

  2.6 Kontribusi Riset