• Tidak ada hasil yang ditemukan

Contoh Penerapan Algoritma Genetik Untuk Menentukan Fungsi Keanggotaan Misalkan system dengan input dan output tunggal seperti pada table berikut.

N/A
N/A
Protected

Academic year: 2021

Membagikan "Contoh Penerapan Algoritma Genetik Untuk Menentukan Fungsi Keanggotaan Misalkan system dengan input dan output tunggal seperti pada table berikut."

Copied!
12
0
0

Teks penuh

(1)

1

Logika Fuzzy

Pertemuan 10

Contoh Penerapan Algoritma Genetik Untuk Menentukan Fungsi Keanggotaan

Misalkan system dengan input dan output tunggal seperti pada table berikut.

Tabel 1. Data set

No Data

x

y’

1

1

1

2

2

4

3

3

9

4

4

16

5

5

25

Dan table 2 berikut adalah table pemetaan fungsional untuk system untuk input x dan output y.

Tabel 2. Pemetaan fungsional system

x

S

L

Y

S

VL

Pada table 2 variabel x dan y masing-masing menggunakan 2 kelas fuzzy; variable x

menggunakan S (small) dan L (large); variable y menggunakan S (small) dan VL (very large).

Tabel 2 memperlihatkan bahwa x bernilai S dipetakan ke y bernilai S juga, sedangkan x bernilai L

dipetakan ke y bernilai VL. Misalkan diasumsikan bahwa jangkauan nilai x adalah [0, 5] dan

jangkauan y adalah [0, 25]. Diasumsikan pula bahwa bentuk fungsinya berupa segitiga siku-siku

seperti diperlihatkan pada gambar 1 berikut (berlaku juga untuk variable y dengan

menyesuaikan peta fungsionalnya).

Gambar 1. Bentuk fungsi

keanggotaan yang akan digunakan

Fungsi keanggotaan pada sisi kanan mempunyai sudut siku-siku pada batas atas dari jangkauan

variable (x atau y), sedangkan pada sisi kiri mempunyai sudut siku-siku pada batas bawah dari

jangkauan variable (x atau y). Dengan bentuk fungsi keanggotaan yang demikian, maka hanya

diperlukan untuk mengetahui panjang dari base 1 dan base 2 (untuk input x) serta base 3 dan

(2)

2

base 4 (untuk output y). Maka inilah 4 parameter yang harus dicari menggunakan algoritma

genetic yaitu panjang base 1, base 2, base 3, dan base 4.

Akan digunakan string dengan panjang 6 bit untuk menyandikan masing-masing parameter

yang akan dicari sehingga total digunakan 4 x 6 = 24 bit.

1. Pada kolom 1 dibangkitkan 4 populasi awal, sepanjang 24 bit, sehingga setiap parameter

disandikan dengan 6 bit.

2. Pada kolom 2, 3, 4, dan 5, masing-masing adalah nilai biner sandi untuk masing-masing

parameter yaitu base 1, base 2, base 3, dan base 4.

3. Pada kolom 6, 7, 8, dan 9, masing-masing adalah panjang base 1, base 2, base 3, dan base 4

yang ditentukan menggunakan rumus:

]

[

1

2

max min

min

base

base

b

base

i

base

L

Dengan b adalah bilangan decimal base i, L adalah panjang deret bit (dalam hal ini L = 6),

base

max

dan base

min

adalah batas maksimum dan minimum untuk variable input x dan

output y. Dalam hal ini untuk variable input x maka base

max

= 5 dan base

min

= 0. Sedangkan

untuk variable output y maka base

max

= 25 dan base

min

= 0.

Parameter base 1 dan base 2 kemudian digunakan untuk membuat fungsi keanggotaan

variable input x, sedangkan parameter base 3 dan base 4 digunakan untuk membuat fungsi

keanggotaan variable output y. Untuk string yang pertama diperoleh fungsi keanggotaan

variable x dan y seperti gambar 1 berikut.

(a)

(b)

(3)

3

Pada table 3 untuk string pertama, diperoleh base 1 = 0,56 dan base 2 = 1,59. Hasil ini digunakan untuk menggambar fungsi keanggotaan variable input x (gambar 2a). Sedangkan base 3 = 8,73 dan base 4 = 20,24 digunakan untuk menggambar fungsi keanggotaan variable output y (gambar 2b). Kedua fungsi keanggotaan yang diperoleh digunakan untuk mencari nilai y1, y2, y3, y4 dan y5. Sebagai contoh:

Untuk x = 1  x(1) = 0  maka y1 = 0

Untuk x = 4  x(4) = 0,37  maka y4 dicari dengan cara mencari nilai y yang mempunyai nilai keanggotaan 0,37; dari gambar

diperoleh 12,25

Untuk x = 5  x(5) = 1  maka y5 dicari dengan cara mencari nilai y yang mempunyai nilai keanggotaan 1; dari gambar

diperoleh y5 = 25

Tentukan nilai y2, dan y3 (bagaimana cara memperolehnya)?

Mengapa y4  5,05?

Mengapa y5  0?

Adakah cara lain untuk menentukan nilai y1, y2, y3, dan y4?

Table 3. Iterasi pertama menggunakan algoritma genetic

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 No String String Base1 (biner) Base 2 (biner) Base 3 (biner) Base4 (biner)

Base 1 Base 2 Base 3 Base 4 y1 y2 y3 y4 y5 f(x)=

1000-(yi-yi’)2 f/fav Jml duplikat 1 000111 010100 010110 110011 7 20 22 51 0,56 1,59 8,73 20,24 0 0 0 12,25 25 887,94 1,24 1 2 010010 001100 101100 100110 18 12 44 38 1,43 0,95 17,46 15,08 12,22 0 0 0 25 521,11 0,73 0 3 010101 101010 001101 101000 21 42 13 40 1,67 3,33 5,16 3,1 3,1 10,72 15,48 20,24 25 890,46 1,25 2 4 100100 001001 101100 100011 36 9 44 35 2,86 0,71 17,46 12,22 6,98 12,22 0 0 25 559,67 0,78 1 Sum = f = 2859,18 Rerata = sum/4 = fav = 714,80

Maks = 890,46

Tabel 4 memperlihatkan tiga string yang dipertahankan dan diduplikasi. String-string ini ditampilkan pada kolom 0; posisi yang dipilih untuk melakukan crossover (persilangan) juga diperlihatkan pada kolom ini. Kolom 1 memperlihatkan hasil persilangan string; string-string pada kolom ini merupakan generasi baru hasil reproduksi dan persilangan yang pertama. Untuk kolom-kolom selanjutnya, setiap string diperlakukan sama seperti pada iterasi yang pertama. Untuk kolom ke-15 digunakan f(x) = 1000 -  (y i- yi’)2.

(4)

4

Table 4. Iterasi kedua menggunakan algoritma genetic

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

String terpilih (dari iterasi sebelumnya)

String baru Base1 (biner) Base 2 (biner) Base 3 (biner) Base4 (biner)

Base 1 Base 2 Base 3 Base 4 y1 y2 y3 y4 y5 f(x) f/fav Jml

duplikat 000111 0101|00 010110 110011 000111 010110 001101 101000 7 22 13 40 0,56 1,75 5,16 15,87 0 0 0 15,93 25 902 1,1 1 010101 1010|10 001101 101000 010101 101000 010110 110011 21 40 22 51 1,67 3,17 8,73 20,24 5,24 5,85 12,23 18,62 25 962,3 1,18 2 010101 101010 001101 10|1000 010101 101010 001101 100011 21 42 13 35 1,67 3,33 5,16 13,89 3,1 12,51 16,68 20,84 25 840,78 1,03 1 100100 001001 101100 10|0011 100100 001001 101100 101000 36 9 44 40 2,86 0,71 17,46 15,87 6,11 12,22 0 0 25 569,32 0,7 0 Sum = f = 3273,4 Rerata = sum/4 = fav = 818,35

Maks = 961,3

(a) (b)

(a) (b)

Gambar 3 (a) Fungsi keanggotakan x dan (b) Fungsi keanggotaan y, untuk string terbaik pada iterasi pertama

Gambar 4 (a) Fungsi keanggotakan x dan (b) Fungsi keanggotaan y, untuk string terbaik pada iterasi kedua

(5)

5

Logika Fuzzy

Pertemuan 10

Contoh Penerapan Penalaran Induktif Untuk Menentukan Fungsi Keanggotaan

Bentuk sebuah elips dapat dicirikan menggunakan rasio (perbandingan) panjang radius mayor

(a) dan radius minor (b) seperti diperlihatkan pada gambar 5 berikut.

Gambar 5. Geometri sebuah elips

Misalkan x = a/b; maka jika nilai a/b

maka bentuk bangun yang terjadi akan berubah

menjadi garis horizontal. Sedangkan jika nilai a/b

0 maka bentuk bangun yang terjadi akan

berubah menjadi garis vertical, dan jika a/b = 1 maka bentuk bangun yang terjadi akan berubah

menjadi lingkaran. Nilai rasio x = a/b dapat digunakan untuk membagi elips menjadi dua kelas;

misalnya menggunakan data yang diperlihatkan pada table 5 berikut.

Table 5. Segmentasi x menjadi dua kelas

x = a/b 0 0,1 0,15 0,2 0,2 0,5 0,9 1,1 1,9 5 50 100

Kelas

1 1

1

1

1

2

1

1

2

2 2

2

1. Tentukan nilai entropi untuk nilai-nilai x yang berbeda. Misalnya dipilih nilai x = 0,7; 1,0; 1,5; dan 3,45.

2. Hitung p1, p2, q1, q2, p(x), q(x), Sp(x), Sq(x), dan S. Tabel 6 memperlihatkan hasil perhitungan untuk nilai-nilai x yang dipilih.

3. Nilai x yang meberikan entropi minimum dipilih sebagai nilai ambang pertama (PRI); dari hasil pada table 6 maka nilai entropi minimum adalah 0,4 untuk x = 1,5 sehingga PRI = 1,5. Partisi yang terbentuk diperlihatkan pada gambar 6.

4. Partisi pada gambar 6 dapat dibagi lagi menjadi lebih banyak partisi dengan menerapkan cara yang sama, sehingga pada sisi PO diperoleh nilai ambang kedua (SEC1) dan pada sisi NG diperoleh nilai ambang kedua (SEC2).Hasil perhitungan untuk mencari nilai SEC1 dan SEC2 diperlihatkan pada table 7 dan 8. Jika dua nilai ini telah ditemukan maka dapat dibentuk kembali fungsi keanggotaannya; lihat gambar 7 (dalam hal ini maka elips terbagi dalam 3 kelas).

(6)

6 Tabel 6. Hasil perhitungan untuk menentukan nilai ambang pertama (PRI)

Gambar 6. Partisi variable x = a/b menjadi 2 partisi yaitu PO (positif) dan NG (negative)

(7)

7 Tabel 8. Hasil perhitungan untuk menentukan nilai ambang kedua (SEC1 dan SEC2) pada sisi PO

Gambar 7. Partisi variable x = a/b menjadi 3 partisi yaitu PO, ZE, dan NG

(8)

8

Logika Fuzzy

Pertemuan 10

Contoh Penerapan Neural Network Untuk Menentukan Fungsi Keanggotaan

Misalkan akan digunakan system neural network 2X3X3X2 seperti gambar berikut.

Dataset yang digunakan untuk pelatihan:

No. Data --- [x1 x2] Nilai Keanggotaan --- [R1 R2]

1 [0,05 0,02] [1 0] 2 [0,09 0,11] [1 0] 3 [0,12 0,20] [1 0] 4 [0,15 0,22] [1 0] 5 [0,20 0,25] [1 0] 6 [0,75 0,75] [0 1] 7 [0,80 0,83] [0 1] 8 [0,82 0,80] [0 1] 9 [0,90 0,89] [0 1] 10 [0,95 0,89] [0 1]

(9)

9 Dataset yang digunakan untuk pengujian:

No. Data --- [x1 x2] Nilai Keanggotaan --- [R1 R2]

1 [0,09 0,04] [1 0] 2 [0,10 0,10] [1 0] 3 [0,14 0,21] [1 0] 4 [0,18 0,24] [1 0] 5 [0,22 0,28] [1 0] 6 [0,77 0,78] [0 1] 7 [0,79 0,81] [0 1] 8 [0,84 0,82] [0 1] 9 [0,94 0,93] [0 1] 10 [0,98 0,99] [0 1]

Bobot awal yang digunakan (diambil nilai acak/sebarang) adalah sbb:

Untuk menentukan output digunakan fungsi aktivasi berupa fungsi sigmoid, sehingga output ditentukan menggunakan formula: Dengan O : output Xi : input Wi : bobot t : nilai ambang Iterasi pertama

Iterasi pertama dilakukan untuk menentukan output setiap elemen pada setiap lapis jaringan neural. Akan dipilih nilai ambang t = 0.

(10)

10 Output lapis ke-2 ditentukan sebagai berikut:

Output lapis ke- 3 ditentukan sebagai berikut:

Output lapis ke-4 ditentukan sebagai berikut:

Dan error untuk iterasi yang pertama ditentukan:

(11)

11 Pertama, error didistribusikan ke lapis ke-3 sehingga:

Lalu, didistribusikan ke lapis ke-2 sehingga:

Kemudian dilakukan up-date bobot untuk semua lapis menggunakan error yang bersesuaian:

dengan

wijk = bobot pada jalur yang menghubungkan elemen ke-j pada lapis ke-i menuju elemen ke-k pada

lapis (i+1)

 = konstanta pembelajaran (learning constant), misalnya diambil  = 0,3 Eki+1 = error yang bersesuaian dengan element ke-k pada lapis ke (i+1)

xjk = input dari element ke-j pada lapis ke-i menuju ke elemen ke-k pada lapis ke (i+1), yaitu Oij

(12)

12 Up-date bobot yang menghubungkan elemen pada lapis ke-2 dan ke-3:

Up-date bobot yang menghubungkan elemen pada lapis ke-1 dan ke-2:

Dengan demikian semua bobot dalam system neural network telah diperbaharui (up-date), kemudian data yang sama (yaitu x1=0,005; x2=0,02) digunakan lagi sebagai input system neural network tetapi

bobot yang digunakan adl bobot yang telah di-update (disebut iterasi yang kedua). Proses yg sama spt yg telah dilakukan di atas diulangi hingga error-nya mencapai suatu nilai tertentu (misalnya ≤ 10-6). Setelah itu maka gunakan data yang kedua (yaitu x1=0,009; x2=0,11) , ketiga, dst hingga semua data pelatihan

digunakan. Bobot terakhir yang diperoleh adalah bobot yang terbaik (sering disebut sebagai bobot akhir) yang bisa dihasilkan dalam proses ini.

Tugas

Lakukan iterasi yang kedua. Anggaplah bobot hasil up-date pada iterasi kedua tersebut sebagai bobot akhir, kemudian gunakan dataset pengujian yang pertama yaitu [0,09 0,04] sebagai input system neural network. Perlihatkan perhitungannya hingga diperoleh nilai output R1 dan R2. Bagaimana nilai

Gambar

Gambar 2 (a) Fungsi keanggotakan x dan (b) Fungsi keanggotaan y, untuk string 1 iterasi 1
Table 3. Iterasi pertama menggunakan algoritma genetic
Table 4. Iterasi kedua menggunakan algoritma genetic
Tabel 7. Hasil perhitungan untuk menentukan nilai ambang kedua (SEC1 dan SEC2) pada sisi NG

Referensi

Dokumen terkait

Az 1942/1943-as egyházi évben a nyári időszak kivételével 57 alkalommal szol­ gált a templom ének- és zenekara a 10 órai nagymisén, és 28 szerzó' 83 művét

Observasi dilakukan pada saat pelaksanaan Penelitian Tindakan Kelas untuk mengetahui peningkatan hasil belajar siswa tentang Mengenal berbagai sumber energi yang

ABSTRAK: Permasalahan yang dihadapi mitra di lapangan diantaranya tata kelola sampai ke proses pembelajaran didalam kelas dan teknik penilaian. Pada proses pembelajaran tidak jarang

yaitu dalam aktifitasnya meliputi bentuk-bentuk perjanjian (akad) tertentu yang disepakati oleh para pihak yang melakukan sewa menyewa. Salah satu transaksi sewa

Merealisasikan pelebaran pendekat pada ruas Jalan Siliwangi dan Jalan Sudirman serta rencana pemindahan akses Bandara Ahmad Yani dari gerbang Anjasmoro – Maerokoco

Penggantian lambung kapal atau menambah armada kapal ini penulis memo- kuskan analisa dengan menyamakan displa- smen kapal ro-ro double ended yang sudah ada, pada model

Menurut Depkes (2008) bahwa penggunaan obat klorokuin tidak di anjurkan untuk daerah yang sudah resisten sedangkan menurut standar terapi yang di tetapkan oleh BPOM terapi malaria

Dengan pemeriksaan ini dapat ditentukan letak dan batas tumor, apakah tumor berasal dari uterus, ovarium, atau kandung kencing, apakah tumor kistik atau solid, dan