Algoritma Genetika dalam Penyelesian Fuzzy Feed Forward Neural Network

96 yang kecil. Algoritma genetika dalam penyelesaian fuzzy FFNN bertujuan untuk menambah keakurasiandari hasil yang diperoleh pada fuzzy FFNN. Langkah-langkah penyelesaian Fuzzy FFNN dengan algoritma genetika sebagai berikut:

1. Penyandian Gen Pengkodean

Teknik penyandian merupakan pengkodean gen dalam kromosom. Gen merupakan bagian kromosom, satu gen biasanya akan mewakili satu variabel. Pada penelitian ini gen merepresentasikan bobot-bobot akhir yang diperoleh dari fuzzy FFNN yaitu bobot akhir input, bobot akhir bias input, bobot akhir lapisan, dan bobot akhir bias lapisan.

2. Membangkitkan Populasi Awal

Membangkitkan populasi awal adalah membangkitkan sejumlah gen secara acak membentuk kesatuan individu. Dalam fuzzy FFNN, populasi awal merupakan nilai dari bobot-bobot akhir yang diperoleh dari fuzzy FFNN.

3. Evaluasi Nilai Fitness

Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran baik tidaknya individu tersebut. Penggunaan algoritma genetika dalam fuzzy FFNN bertujuan untuk mengoptimasi bobot yang telah diperoleh dari fuzzy FFNN. Secara umum, evaluasi nilai fitness dirumuskan dalam persamaan 2.36. Dalam fuzzy FFNN ini, nilai fitness digunakan untuk meminimumkan nilai MAPE yang telah diperoleh dari bobot akhir FFNN. Bobot yang bagus ditunjukkan dengan nilai erroryang kecil. Sehingga, nilai fitness dalam penelitian ini, variabel nilai pada persamaan 2.33 97 diganti dengan menggunakanvariabel nilai MAPE yang dihitung dengan menggunakan persamaan berikut: Dimana nilai MAPE diperoleh dari persamaan 2.31. ∑ | ̂ | Dengan ̂ diperoleh dari persamaan 3.5 sebagai berikut: ̂ ∑ ∑ dengan : ̂ = nilai peramalan ke- pada fuzzy FFNN = nilai target ke- pada fuzzy FFNN data training, = variabel input pada fuzzy FFNN data training, = bobot akhir input pada fuzzy FFNN = bobot akhir bias input pada fuzzy FFNN = bobot akhir lapisan pada fuzzy FFNN = bobot akhir bias lapisan pada fuzzy FFNN = banyak data target

4. Seleksi

Seleksi digunakan untuk memilih individu-individu yang akan dipilih untuk proses pindah silang dan mutasi. Individu dalam algoritma genetika ini adalah nilai 98 bobot-bobot akhir pada fuzzy FFNN. Seleksi digunakan untuk mendapatkan calon induk yang baik. Dalam penelitian ini, metode seleksi yang digunakan adalah metode dengan mesin Roulette Wheel dan Rank-Based. Cara kerja metode mesin Roulette Wheel sebagai berikut : a. Dihitung nilai fitness dari masing-masing individu , dimana i adalah individu ke-1 s.d. ke-n b. Dihitung total fitness semua individu c. Dihitung probabilitas masing-masing individu d. Dari probabilitas tersebut, dihitung jatah masing-masing individu pada angka 0 sampai 1 e. Dibangkitkan dengan bilangan random antara 0 sampai 1 f. Dari bilangan random yang dihasilkan, ditentukan imdividu mana yang terpilih dalam proses seleksi. Pada metode seleksi dengan mesin Roulette Wheel, individu-individu dipetakan dalam suatu segmen garis secara berurutan sehingga tiap-tiap segmen individu mempunyai ukuran yang sama dengan ukuran fitnessnya. Sebuah bilangan random dibangkitkan dan individu yang memiliki segmen dalam kawasan bilangan random tersebut akan terseleksi. Proses ini diulang sampai memperoleh individu yang diharapkan. 99 Sedangkan cara kerja untuk seleksi Rank-Based sebagai berikut: a. Dihitung nilai fitness dari masing-masing individu ,dimana I adalah individu ke-1 s.d. individu ke-n b. Nilai fitness diurutkan dari yang terkecil hingga yang terbesar c. Setelah diurutkan, kromosom terkecil diberi nilai fitness 1, kromosom terkecil kedua diberi nilai 2, dan seterusnya. Kromosom dengan nilai fitness tertinggi atau terbaik dibieri nilai fitness baru sebesar n, dimana n merupakan banyaknya kromosom dalam populasi. d. Dihitung nilai total fitness pada semua individu e. Dihitung probabilitas masing-masing individu f. Dibangkitkan bilangan random antara 0 sampai 1 g. Dari bilangan random yang dihasilkan, ditentukan individu mana yang terpilih dalam proses seleksi. Pada proses seleksi rank-based ini memperbaiki proses seleksi roulette wheel agar kromosom yang mempunyai nilai fitness yang mendominasi tidak muncul, sehingga nilai fitness lain terhindar dari kemungkinan tidak terpilih.

5. Pindah Silang Crossover

Setelah terpilih sepasang induk melalui tahap seleksi, maka tahap selanjutnya adalah crossover atau pindah silang. Prinsip pindah silang yaitu melakukan operasi pada gen yang bersesuaian dari dua induk untuk menghasilkan individu baru. Dalam penelitian ini, digunakan crossover aritmatika yang digunakan untuk representasi 100 kromosom berupa bilangan real. Nilai baru yang diperoleh dari crossover aritmatikadirumuskan dalam persamaan 2.35 dan 2.36.

6. Mutasi

Mutasi dalam algoritma genetika berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Kromosom anak dimutasi dengan menambahkan nilai random yang sangat kecil, dengan probabilitas yang rendah. Peluang mutasi didefinisikan sebagai presentasi jumlah total gen pada populasi yang mengalami mutasi. Peluang mutasi mengendalikan banyaknya gen baru yang akan dimunculkan untuk dievaluasi. Dalam tugas akhir ini, digunakan mutasi shift untuk algoritma genetika. Mutasi shift dalam algoritma genetika digunakan pada kromosom jenis real. Mutasi shift ini dilakukan dengan cara menggeser nilai gen termutasi sebesar , dimana adalah bilangan kecil yang ditentukan.

7. Elitisme

Langkah selanjutnya dalam algoritma genetika adalah proses elitisme. Pada langkah ini, individu dengan nilai fitness terbaik akan dipertahankan atau disimpan. Nilaifitness terbaik perlu dipertahankan karena proses seleksi yang dilakukan secara acak sehingga tidak ada jaminan bahwa individu baru lebih baik dari induknya. 101

8. Pembentukan Populasi Baru

Proses pembentukan populasi baru bertujuan untuk membentuk populasi baru yang berbeda dengan populasi awal. Pembentukan populasi baru ini didasarkan pada hasil proses mutasi ditambah dengan individu yang terbaik setelah dipertahankan dalam proses elitisme.

D. Penyelesaian masalah Algoritma Genetika dalam Penyelesian Fuzzy FFNN

Fokus penyelesaian masalah algoritma genetika dalam fuzzy FFNN adalah menambah keakurasian dari bobot akhir yang telah diperoleh dari proses fuzzy FFNN. Bobot-bobot akhir yang telah didapatkan ditambah keakurasiannya dengan cara mencari nilai fitness yang tertinggi. Dalam penelitian ini akan digunakan algoritma genetika dengan variasi seleksi yaitu seleksi dengan roulette wheel dan rank-based. Pembahasan algoritma genetika dengan variasi seleksi sebagai berikut.

1. Algoritma Genetika dengan Seleksi Roulette Wheel

a. Penyandian Gen Pengkodean Gen dalam penyelesaian masalah fuzzy FFNN merupakan representasi dari bobot-bobot akhir yang diperoleh dari proses fuzzy FFNN. Bobot-bobot akhir yang diperoleh antara lain bobot akhir input, bobot akhir bias input, bobot akhir lapisan, dan bobot akhir bias lapisan. Teknik representasi gen menggunakan teknik bilangan real.Susunan bobot-bobot dalam gen yang diperolehpada Tabel 3.5. 102 Tabel 3. 5. Susunan bobot-bobot dalam gen Gen 1 … 8 9 … 16 17 … 24 Bobot … … … Gen 25 … 32 33 … 40 41 … 48 Bobot … … … Gen 49 … 56 57 … 64 65 Bobot … … b. Membangkitkan Populasi Awal Membangkitkan populasi awal merupakan proses membangkitkan sejumlah individu secara acak sehingga membentuk satuan populasi. Satu individu terdapat 65 gen yang berisi gen 1 sampai gen 65 yang membentuk bobot-bobot akhir yang diperoleh dalam fuzzy FFNN yaitu bobot akhir input, bobot akhir bias input, bobot akhir lapisan, dan bobot akhir bias lapisan. Dalam membangkitkan populasi awal, ditetapkan ukuran populasi ukuran populasi dengan cara melakukan trial and errorpada algoritma genetika. Trial and errorini dicoba dengan beberapa ukuran populasi dan banyaknya generasi iterasi dalam algoritma genetika. Nilai fitness yang tertinggi yang diperoleh kemudian digunakan untuk menetapkan ukuran populasi dan banyaknya generasi. Hasil yang diperoleh dengan fitness terbaik ditetapkan ukuran populasi sebanyak 30 dan generasi sebanyak 1000. Pembangkitan populasi awal ini dilakukan secara acak dengan menggunakan bantuan software Matlab. Pada individu I berupa nilai bobot yang telah diperoleh dalam fuzzy FFNN. Hasil pembangkitan populasi awal tersaji dalam Lampiran 10.