• Tidak ada hasil yang ditemukan

PEMBANGKIT FUNGSI KEANGGOTAAN FUZZY OTOMATIS MENGGUNAKAN NEURAL NETWORK TESIS. Oleh ZARA YUNIZAR /TINF

N/A
N/A
Protected

Academic year: 2022

Membagikan "PEMBANGKIT FUNGSI KEANGGOTAAN FUZZY OTOMATIS MENGGUNAKAN NEURAL NETWORK TESIS. Oleh ZARA YUNIZAR /TINF"

Copied!
183
0
0

Teks penuh

(1)

PEMBANGKIT FUNGSI KEANGGOTAAN FUZZY OTOMATIS MENGGUNAKAN NEURAL NETWORK

TESIS

Oleh

ZARA YUNIZAR 107038018/TINF

PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN

2012

(2)

PEMBANGKIT FUNGSI KEANGGOTAAN FUZZY OTOMATIS MENGGUNAKAN NEURAL NETWORK

TESIS

Diajukan sebagai salah satu syarat untuk memperoleh gelar Magister Komputer dalam Program Studi Magister Teknik

Informatika

pada Program Pascasarjana Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara

Oleh

ZARA YUNIZAR 107038018/TINF

PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN

2012

(3)

PENGESAHAN

Judul Tesis : PEMBANGKIT FUNGSI

KEANGGOTAAN FUZZY OTOMATIS MENGGUNAKAN NEURAL NETWORK

Nama Mahasiswa : ZARA YUNIZAR

Nomor Induk Mahasiswa : 107038018

Program Studi : MAGISTER TEKNIK INFORMATIKA

Fakultas : FAKULTAS ILMU KOMPUTER DAN

TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Menyetujui Komisi Pembimbing

Prof. Dr. Opim Salim Sitompul

Anggota Ketua

Prof. Dr. Herman Mawengkang

Ketua Program Studi, Dekan,

Prof. Dr. Muhammad Zarlis

NIP : 19570701 198601 1 003 NIP : 19570701 198601 1 003

Prof. Dr. Muhammad Zarlis

(4)

PERNYATAAN ORISINALITAS

PEMBANGKIT FUNGSI KEANGGOTAAN FUZZY OTOMATIS MENGGUNAKAN NEURAL NETWORK

TESIS

Dengan ini saya nyatakan bahwa saya mengakui semua karya tesis ini adalah hasil kerja saya sendiri kecuali kutipan dan ringkasan yang tiap satunya telah dijelaskan sumbernya dengan benar.

Medan, 18 Juli 2012

NIM. 107038018

Zara Yunizar

(5)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini :

Nama : Zara Yunizar

NIM : 107038018

Program Studi : 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 :

PEMBANGKIT FUNGSI KEANGGOTAAN FUZZY OTOMATIS MENGGUNAKAN NEURAL NETWORK Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk data-base, merawat dan mempublikasikan Tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta.

Demikan pernyataan ini dibuat dengan sebenarnya.

Medan, 18 Juli 2012

NIM. 107038018

Zara Yunizar

(6)

Telah diuji pada

Tanggal : 30 Juli 2012

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Herman Mawengkang Anggota : 1. Prof. Dr. Opim Salim Sitompul

2. Prof. Dr. Muhammad Zarlis 3. Prof. Dr. Tulus

4. Dr. Erna Budhiarti Nababan, MIT

(7)

RIWAYAT HIDUP

DATA PRIBADI

Nama lengkap berikut gelar : Zara Yunizar, S.Kom, M.Kom Tempat dan Tanggal Lahir : Medan, 18 Oktober 1983

Alamat Rumah : Jalan Rel Kereta Api, Dusun Barat Geulanggang teungoh – Bireuen Telepon/Faks/HP : +6285289850044

E-mail : [email protected]

Instansi Tempat Bekerja : Universitas Almuslim

Alamat Kantor : Jalan Universitas Almuslim – Bireuen

DATA PENDIDIKAN

SD : Inpress Kutablang – Lhokseumawe Tamat : 1996

SLTP : Negeri 2 Lhokseumawe Tamat : 1999

SLTA : Negeri 1 Lhokseumawe Tamat : 2002

D3 : STMIK AMIKOM Yogyakarta Tamat : 2005

S1 : STMIK AMIKOM Yogyakarta Tamat : 2008

S2 : Teknik Informatika USU Tamat : 2012

(8)

KATA PENGANTAR

Bismillahirrahmanirahim,

Pertama-tama penulis panjatkan puji syukur kehadirat Allah SWT, atas segala limpahan rahmat dan karunia-Nya karena atas izin-Nya, penulis dapat menyelesaikan tesis ini dengan baik. Tesis penulis yang berjudul “Pembangkit Fungsi Keanggotaan Fuzzy Otomatis Menggunakan Neural Network” merupakan salah satu syarat akademik penulis sebagai mahasiswa S2, program studi Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi (Fasilkom-TI), Universitas Sumatra Utara (USU), Medan dalam menyelesaikan jenjang pendidikan S2.

Dengan selesainya tesis ini, perkenanlah saya mengucapkan terima kasih yang sebesar-besarnya kepada :

Rektor Universitas Sumatera Utara, Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc (CTM), Sp. A(K) atas kesempatan yang diberikan kepada saya untuk mengikuti dan menyelesaikan pendidikan Program Magister.

Dekan Fakultas Ilmu Komputer Universitas Sumatera Utara sekaligus Ketua Program Studi Magister (S2) Teknik Informatika, Prof. Dr. Muhammad Zarlis dan sekretaris Program Studi Magister (S2) Teknik Informatika M. Andri Budiman, S.T, M.Comp, M.E.M beserta seluruh staf pengajar pada program Studi Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi (Fasilkom-TI) Universitas Sumatera Utara.

Terimakasih yang tak terhingga dan penghargaan setinggi-tingginya saya ucapkan kepada Prof. Dr. Herman Mawengkang, selaku pembimbing utama dan kepada Prof. Dr. Opim Salim Sitompul selaku pembimbing lapangan yang dengan penuh kesabaran membimbing saya hingga selesainya tesis ini dengan baik.

Terimakasih yang tak terhingga dan penghargaan setinggi-tingginya saya

ucapkan kepada Prof. Dr. Tulus dan Dr. Erna Budhiarti Nababan, sebagai

(9)

pembanding yang telah memberikan saran dan masukan serta arahan yang baik demi penyelesaian tesis ini.

Staf pegawai dan administrasi pada Program Studi Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi (Fasilkom-TI) Universitas Sumatera Utara yang telah memberikan bantuan dan pelayanan terbaik kapada penulis selama mengikuti perkuliahan hingga saat ini.

Kepada Ayahanda Zainal Arifin, Ibunda Zuraidah selaku orang tua, kepada suamiku tersayang Zulfikar, A.Md dan adik-adikku Zola Fitriana, S.Pd, Zalfie Ardian, S.Kom, Zuriana Yulizar, Zulfikar M. Rizki serta kepada seluruh keluarga besar yang tidak dapat saya sebutkan satu persatu, terimakasih atas segala pengorbanannya, baik moril maupun materil budi baik ini tidak dapat dibalas hanya diserahkan kepada Allah SWT.

Rekan mahasiswa/i angkatan kedua tahun 2010 pada Program Pascasarjana Fakultas Ilmu Komputer Universitas Sumatera Utara yang telah banyak membantu penulis baik berupa dorongan semangat dan doa selama mengikuti perkuliahan.

Seluruh pihak yang tidak dapat penulis sebutkan satu persatu dalam tesis ini, terimakasih atas segala bantuan dan doa yang diberikan. Dengan segala kekurangan dan kerendahan hati, sekali lagi penulis mengucapkan terimakasih.

Semoga kiranya Allah SWT membalas segala bantuan dan kebaikan yang telah kalian berikan.

Medan, Agustus 2012

Zara Yunizar

NIM 107038018

(10)

PEMBANGKIT FUNGSI KEANGGOTAAN FUZZY OTOMATIS MENGGUNAKAN NEURAL NETWORK

ABSTRAK

Dalam penelitian ini penulis menggunakan algoritma Backpropagation Neural Network (BPNN) untuk membangkitkan fungsi keanggotaan fuzzy secara otomatis, agar didapatkan fungsi keanggotaan yang lebih tepat sesuai dengan data yang diberikan. Algoritma backpropagation neural network merupakan salah satu algoritma pembelajaran supervised learning, yaitu pembelajaran yang membutuhkan pengawasan dalam proses pembelajarannya. Salah satu faktor penting dalam pembelajaran BPNN adalah jumlah variabel input. Semakin banyak variabel input yang digunakan, maka akan semakin bagus target yang didapatkan.

Dalam penelitian ini, variabel input awal yang digunakan hanya satu variabel, sesuai dengan dataset yang digunakan, sehingga untuk mendapatkan hasil target yang lebih baik ditambahkan dua variabel input awal yang baru, yaitu x

2

dan x

3

. Variabel x

2

didapatkan dengan menggunakan algoritma tambahan yaitu algoritma kohonen (SOM), sedangkan variabel x

3

didapatkan dengan menggunakan rumus x

2

– indeks (i). Selain itu algoritma kohonen juga digunakan untuk mendapatkan nilai output yang akan dijadikan sebagai input proses pelatihan pada algoritma BPNN. Dari hasil penelitian yang penulis lakukan, algoritma BPNN dapat membangkitkan fungsi keanggotaan secara otomatis pada satu variabel awal, dengan menggunakan algoritma kohonen untuk mendapatkan variabel input awal tambahan.

Kata Kunci : Fuzzy, Fungsi Keanggotaan, BPNN, Kohonen (SOM).

(11)

AUTOMATICALLY GENERATING FUZZY MEMBERSHIP FUNCTIONS USING NEURAL NETWORK

In this study the author used an algorithm Backpropagation Neural Network (BPNN) to generate automatically fuzzy membership functions, in order to obtain a more precise membership functions according to the data provided.

Backpropagation neural network algorithm is one of the algorithm supervised learning, this learning need supervision in the learning process. One of the important factor in BPNN learning is the number of input variables. To get the better result we have to used more input variables. In this study, only one initial input variables have to be used, according to the dataset used, so as to get the better result added two new initial input variables, namely x

ABSTRACT

2

and x

3

. Variable x

2

be obtained by using the algorithm additional. It’s called Kohonen algorithm (SOM). The variable x

3

be obtained by using the formula (x

2

- index (i)).

Moreover than, the Kohonen algorithm is also used to get the output value will be used as input process to the algorithm BPNN training. From the results of research by the author, the BPNN algorithm have to automatically generate membership functions at the beginning of one variable, using the Kohonen algorithm to obtain additional initial input variables.

Keywords : Fuzzy, Membership Function, BPNN, Kohonen (SOM).

(12)

DAFTAR ISI

KATA PENGANTAR vii

ABSTRAK ix

ABSTRACT x

DAFTAR ISI xi

DAFTAR TABEL xiii

DAFTAR GAMBAR xv

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 (Fuzzyfication) 7

2.2.1 Linguistic Variable 8

2.2.2 Membership Function 9

2.2.3 Aturan Dasar 15

2.2.4 Defuzzyfication 16

2.3 Neural Networks 17

2.3.1 Backpropagation Neural Network (BPNN) 19

2.3.2 Algoritma Kohonen Map 27

2.4 Normalisasi Data 28

2.5 Smoothing Grafik 29

2.6 Riset Terkait 29

2.7 Perbedaan Dengan Riset Yang Lain 30

2.8 Kontribusi Riset. 31

BAB III METODOLOGI PENELITIAN 32

3.1

Pendahuluan 32

3.2

Data Yang Digunakan 32

(13)

3.3

Proses Penyelesaian Masalah 33 3.3.1

Perancangan Jaringan Backpropagation

Neural Network 33

3.3.2

Prosedur Kerja Jaringan BPNN 35

3.3.2.1

Pra Prosesing 35

3.3.2.2

Proses Penentuan Target Awal dan

Bobot Pada Algoritma Kohonen 36 3.3.2.3

Proses Pelatihan Data Pada BPNN 42 3.3.2.4

Proses Smoothing Grafik 44 3.3.2.5

Proses Pengujian Data Pada BPNN 44

BAB IV HASIL DAN PEMBAHASAN 46

4.1

Pendahuluan 46

4.2

Hasil Uji Coba 46

4.2.1

Proses Pelatihan 46

4.2.1.1

Set Target Dan Bobot 47 4.2.1.2

Grafik Hasil Proses Pelatihan 65 4.2.1.3

Bobot Hasil Pelatihan 77

4.2.2

Proses Pengujian 77

BAB V KESIMPULAN DAN SARAN 92

5.1

Kesimpulan 92

5.2

Saran 93

DAFTAR PUSTAKA 94

LAMPIRAN A 96

LAMPIRAN B 124

LAMPIRAN C 142

(14)

DAFTAR TABEL

No Tabel Halaman

2.1 Contoh matriks aturan dasar perancangan kontrol

logika fuzzy. 15

2.2 Riset terkait. 29

4.1 Input 1 proses clusterisasi data target awal potongan

grafik mf 1. 48

4.2 Input hasil normalisasi data target awal potongan

grafik mf 1. 49

4.3 Hasil target data target awal potongan grafik mf 1. 50 4.4 Input 2 proses clusterisasi data target awal potongan

grafik mf 2. 51

4.5 Input hasil normalisasi data target awal potongan

grafik mf 2. 52

4.6 Hasil target data target awal potongan grafik mf 2. 54 4.7 Input 3 proses clusterisasi data target awal potongan

grafik mf 3. 54

4.8 Input hasil normalisasi data target awal potongan

grafik mf 3. 56

4.9 Hasil target data target awal potongan grafik mf 3. 57 4.10 Input 4 proses clusterisasi data target awal potongan

grafik mf 4. 58

4.11 Input hasil normalisasi data target awal potongan

grafik mf 4. 59

4.12 Hasil target data target awal potongan grafik mf 4. 60 4.13 Input 5 proses clusterisasi data target awal potongan

grafik mf 5. 61

4.14 Input hasil normalisasi data target awal potongan

grafik mf 5. 62

4.15 Hasil target data target awal potongan grafik mf 5. 63 4.16 Nilai y

1

– y

100

hasil pelatihan untuk output 1 dataset

nilai. 65

4.17 Nilai y

1

– y

100

hasil pelatihan untuk output 2 dataset

nilai. 67

4.18 Nilai y

1

– y

100

hasil pelatihan untuk output 3 dataset

nilai. 69

4.19 Nilai y

1

– y

100

hasil pelatihan untuk output 4 dataset

nilai. 71

4.20 Nilai y

1

– y

100

hasil pelatihan untuk output 5 dataset

nilai. 73

4.21 Bobot hasil pelatihan. 75

(15)

4.22 Input 1 proses clusterisasi data pengujian potongan

grafik mf 1. 77

4.23 Input hasil normalisasi data pengujian potongan grafik

mf 1. 78

4.24 Input 2 proses clusterisasi data pengujian potongan

grafik mf 2. 79

4.25 Input hasil normalisasi data pengujian potongan grafik

mf 2. 79

4.26 Input 3 proses clusterisasi data pengujian potongan

grafik mf 3. 81

4.27 Input hasil normalisasi data pengujian potongan grafik

mf 3. 81

4.28 Input 4 proses clusterisasi data pengujian potongan

grafik mf 4. 83

4.29 Input hasil normalisasi data pengujian potongan grafik

mf 4. 83

4.30 Input 5 proses clusterisasi data pengujian potongan

grafik mf 5. 85

4.31 Input hasil normalisasi data pengujian potongan grafik

mf 5. 85

4.32 Hasil y

1

– y

100.

87

4.33 Hasil sigma w, y in dan y. 88

(16)

DAFTAR GAMBAR

No Gambar Halaman

2.1 Diagram blok pengendali logika fuzzy 6

2.2 Ilustrasi fuzzy dan crisp set 7

2.3 Fungsi keanggotaan suhu 7

2.4 Fungsi keanggotaan kelompok umur 9

2.5 Fungsi keanggotaan linear naik 10

2.6 Fungsi keanggotaan linear turun 11

2.7 Fungsi keanggotaan segitiga (triangle) 12 2.8 Fungsi keanggotaan trapesium (trapezoidal) 12 2.9 Fungsi keanggotaan gaussian σ = standar deviasi,

c = pusat 13

2.10 Fungsi keanggotaan bell 13

2.11 Letak parameter a,b dan c pada fungsi

keanggotaan Bell 14

2.12 Fungsi keanggotaan sigmoid membuka ke kanan 14 2.13 Fungsi keanggotaan sigmoid membuka ke kiri 15

2.14 Proses komunikasi antar neuron 18

2.15 Lapis dan aliran sinyal dalam algoritma BPNN 19

3.1 Arsitektur jaringan BPNN 33

3.2 Diagram alir prosedur kerja jaringan BPNN 34 3.3 Algoritma penentuan nilai batas grafik 35

3.4 Grafik linear turun 36

3.5 Algoritma pembentukan grafik linear turun 36

3.6 Grafik segitiga 36

3.7 Algoritma pembentukan grafik segitiga 37

3.8 Grafik linear naik 37

3.9 Algoritma pembentukan grafik linear naik 38 3.10 Algoritma pembentukan variabel x

2

39 3.11 Algoritma penentuan nilai target grafik 1 40 3.12 Algoritma penentuan nilai target grafik 2, grafik 3

dan grafik 4 40

3.13 Algoritma penentuan nilai target grafik 5 41 3.14 Diagram alir proses pelatihan data pada BPNN 42

3.15 Diagram proses smoothing grafik 43

3.16 Diagram proses pengujian data pada BPNN 44

4.1 Tampilan program set target dan bobot 47

(17)

4.2 Tampilan program pelatihan ke 3 pada maxepoch

100 64

4.3 Tampilan program smoothing pelatihan ke 3 pada

maxepoch 100 64

4.4 Tampilan program pengujian saat data input 76 4.5 Tampilan program pengujian saat input data bobot 77 4.6 Tampilan program pengujian saat proses pengujian

data 86

(18)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dalam kehidupan sehari-hari, manusia cenderung mengelompokkan sesuatu berdasarkan kategori secara kasat mata, misalnya kelompok orang tinggi, kelompok orang pandai, dan sebagainya, namun tidak semua himpunan/kelompok yang dijumpai dalam kehidupan sehari-hari dapat terdefinisi secara jelas. Misalnya, pada himpunan/kelompok orang tinggi, tidak dapat ditentukan secara tegas apakah seseorang adalah tinggi atau tidak tinggi. Anggap bahwa definisi “orang tinggi” adalah orang yang tingginya lebih besar atau sama dengan 1.70 meter, maka orang yang tingginya 1.69 meter menurut definisi tersebut termasuk orang yang tidak tinggi. Sulit diterima bahwa orang yang tingginya 1.69 meter itu tidak termasuk orang tinggi. Hal ini menunjukkan bahwa batas antara kelompok orang tinggi dan kelompok orang yang tidak tinggi tidak dapat ditentukan secara tegas.

Untuk mengatasi permasalahan himpunan dengan batas yang tidak tegas itu, L.A. Zadeh mengaitkan himpunan tersebut dengan suatu fungsi yang menyatakan nilai keanggotaan pada suatu himpunan tak kosong sebarang dengan mengaitkan pada interval [0,1] (Zadeh, 1965). Himpunan tersebut disebut himpunan fuzzy dan fungsi ini disebut fungsi keanggotaan (membership function) dan nilai fungsi itu disebut derajat keanggotaan.

Pada awalnya, untuk membangkitkan nilai fungsi keanggotaan pada fuzzy

masih menggunakan klasifikasi ataupun clustering. Cara tersebut masih

mengandalkan expert untuk menentukan klasifikasi dataset, beberapa masalah yang

muncul kemudian adalah jika para ahli tidak tersedia, maka fungsi keanggotaan tidak

dapat secara akurat ditentukan, atau sistem fuzzy yang dikembangkan mungkin tidak

berfungsi dengan baik (Hong dan Lee, 1996).

(19)

Untuk itu, dilakukan penelitian, bagaimana membangkitkan membership function secara otomatis. Beberapa penelitian telah dilakukan untuk mengatasi hal tersebut, diantaranya, penelitian yang dilakukan oleh beberapa peneliti berikut ini;

Yang dan Bose (2006), melakukan penelitian tentang penggunaan algoritma SOFM untuk membangkitkan membership function secara otomatis; Tamaki et al. (1998), melakukan penelitian bagaimana mengidentifikasi fungsi keanggotaan berbasis data observasi fuzzy; Hong dan Lee (1996), dalam penelitiannya menyimpulkan bahwa metode trainning examples dapat digunakan untuk menghasilkan fuzzy rules dan fungsi keanggotaan secara otomatis; Bagis (2003), menggunakan metode tabu-search dalam penelitiannya untuk penentuan optimal dari fungsi keanggotaan dalam aturan fuzzy.

Berdasarkan dari penelitian yang ada tersebut, penulis mencoba untuk melakukan penelitian bagaimana membangkitkan nilai fungsi keanggotaan secara otomatis menggunakan Neural Network (NN), yaitu suatu sistem yang dimodelkan berdasarkan jaringan saraf manusia. Dengan jaringan saraf tiruan maka kita dapat memberikan kecerdasan pada sistem, dimana sistem tersebut akan diberikan waktu untuk ‘belajar’ dan kemudian diharapkan dari proses belajarnya, sistem bisa memberikan solusi dari suatu kasus.

Menurut Hagan (1996), pada prinsipnya ada dua cara untuk melatih neural network yaitu dengan supervised dan unsupervised learning. Pada unsupervised learning, neural network hanya diberi data masukan saja tapi bagaimana outputnya tidak ditentukan. Ketika data yang dimasukkan bertambah, neural network akan mengkategorikan atau mengelompokkan data masukan tersebut. Pada supervised learning, neural network diberi sepasang data latih yang terdiri dari data masukan dan target, jadi ketika data yang dimasukan bertambah neural network akan mengubah karakteristik internalnya agar sebisa mungkin menghasilkan keluaran seperti targetnya. Pada penelitian ini, pelatihan yang digunakan adalah supervised learning, dimana data yang dilatihkan berupa pasangan data input dan target (output yang diharapkan).

Ada banyak variasi metode neural network yang dilatih dengan supervised

learning, antara lain: perceptron learning, hamming network, hopfield network,

adaptive linear neuron (ADALINE) dan backpropagation (Hagan, 1996). Dalam

(20)

penelitian ini metode yang dipakai adalah backpropagation dengan alasan karena backpropagation merupakan generalisasi dari berbagai metode tersebut di atas, oleh karena itu metode backpropagation lebih fleksibel dan secara umum relatif lebih baik dari jenis-jenis yang tadi disebut (Hagan, 1996).

Penggunaan neural network pada fuzzy diharapkan dapat menghasilkan membership function yang akurat dari hasil pembelajaran yang di berikan. Dari uraian diatas, penulis tertarik untuk mengambil judul “Pembangkit fungsi keanggotaan fuzzy otomatis menggunakan Neural Network”.

1.2 Perumusan Masalah

Didalam fuzzy sistem fungsi keanggotaan memainkan peranan penting untuk merepresentasikan masalah dan menghasilkan keputusan yang akurat. Dalam membentuk fungsi keanggotaan sebuah sistem fuzzy yang baik, diperlukan pengetahuan tentang data yang digunakan, dan akan sangat sulit untuk membuat fungsi keanggotaan dari sistem fuzzy tanpa pengetahuan tentang data yang akan digunakan tersebut. untuk itu, agar sebuah sistem tidak harus selalu bergantung pada expert, maka dibutuhkan sistem yang dapat membangkitkan fungsi keanggotaan secara otomatis. Berdasarkan uraian latar belakang di atas, maka penulis mencoba untuk meneliti bagaimana cara membangkitkan fungsi keanggotaan secara otomatis menggunakan neural network.

1.3 Batasan Masalah

Rumusan masalah diatas, dibatasi dengan beberapa hal sebagai berikut : 1. Banyaknya data yang digunakan adalah 400 sampel data;

2. Data yang digunakan pada proses pelatihan dibangkitkan secara random dengan aturan :

- Terdiri dari 2 dataset (umur dan Suhu);

- Setiap dataset terdiri dari 100 data;

- Pembangkitan data secara random dilakukan dengan menggunakan batas

awal dan batas akhir sesuai dengan dataset yang digunakan, yaitu; untuk

untuk umur adalah 6-80 dan untuk suhu batasannya adalah 0-100;

(21)

3. Untuk pengujian dilakukan dengan menggunakan dataset nilai siswa dan berat badan, dengan batasan untuk nilai siswa adalah 10-100 dan untuk berat badan batasannya adalah 20-90;

4. Algoritma yang digunakan dalam pembentukan membership function adalah algoritma backpropagation neural networks;

5. Aplikasi yang digunakan adalah Visual Basic 6.0.

1.4 Tujuan Penelitian

Adapun tujuan yang ingin dicapai dari penelitian ini adalah membangkitkan kurva fuzzy membership function secara otomatis dengan menggunakan backpropagation neural network.

1.5 Manfaat Penelitian

Manfaat yang diharapkan dari hasil penelitian ini adalah sebagai berikut:

1. Dapat mengaplikasikan algoritma neural networks dalam pembangkitan fungsi keanggotaan himpunan fuzzy yang lebih akurat secara otomatis;

2. Mengetahui lebih dalam penggunaan algoritma backpropagation neural

network.

(22)

BAB II

TINJAUAN PUSTAKA

2.1. Logika Fuzzy

Sebelum munculnya teori logika fuzzy (Fuzzy Logic), dikenal sebuah logika tegas (Crisp Logic) yang memiliki nilai benar atau salah secara tegas. Prinsip ini

dikemukakan oleh Aristoteles sekitar 2000 tahun yang lalu sebagai hukum Excluded Middle dan hukum ini telah mendominasi pemikiran logika sampai saat ini. Namun, pemikiran mengenai logika konvensional dengan nilai kebenaran yang pasti yaitu benar atau salah dalam kehidupan nyata sangatlah tidak cocok. Fuzzy logic (logika samar) merupakan suatu logika yang dapat merepresentasikan keadaan yang ada di dunia nyata. Logika fuzzy merupakan sebuah logika yang memiliki nilai kekaburan atau kesamaran (fuzzy) antara benar dan salah.

Teori tentang himpunan logika fuzzy pertama kali dikemukakan oleh Prof.

Lofti Zadeh sekitar tahun 1965 pada sebuah makalah yang berjudul ‘Fuzzy Sets’. Ia berpendapat bahwa logika benar dan salah dari logika boolean/konvensional tidak dapat mengatasi masalah yang ada pada dunia nyata. Tidak seperti logika boolean, logika samar mempunyai nilai yang kontinu. Samar dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu dapat dikatakan sebagian benar dan sebagian salah pada waktu yang bersamaan. Teori himpunan individu dapat memiliki derajat keanggotaan dengan nilai yang kontinu, bukan hanya 0 dan 1 (Zadeh, 1965).

Dengan teori himpunan logika samar, kita dapat merepresentasikan dan

menangani masalah ketidakpastian yang dalam hal ini bisa berarti keraguan,

ketidaktepatan, kurang lengkapnya suatu informasi, dan kebenaran yang bersifat

sebagian (Altrock, 1997). Di dunia nyata, seringkali kita menghadapi suatu masalah

yang informasinya sangat sulit untuk diterjemahkan ke dalam suatu rumus atau

(23)

angka yang tepat karena informasi tersebut bersifat kualitatif (tidak bisa diukur secara kuantitatif). Pada Gambar 2.1 diperlihatkan diagram blok pengendali logika fuzzy.

Crisp Inputs

Fuzzyfikasi Fuzzy Inputs

Rule Evaluation Fuzzy Outputs Defuzzyfication

Crisp Outputs Inputs

Membership Function

Output Membership

Function

Rules Based

Gambar 2.1 Diagram blok pengendali logika fuzzy.

Sumber : Jang et al. (1997)

Himpunan samar (fuzzy sets) adalah sekumpulan objek X di mana masing- masing objek memiliki nilai keanggotaan (membership function), M atau yang disebut juga dengan nilai kebenaran dan nilai ini dipetakan ke dalam daerah hasil range (0,1). Jika X merupakan sekumpulan objek dengan anggotanya dinyatakan dengan X maka himpunan samar dari A di dalam X adalah himpunan dengan sepasang anggota (Zadeh, 1968).

Teori himpunan samar merupakan suatu teori tentang konsep penilaian dan

segala sesuatu merupakan persoalan derajat atau diibaratkan bahwa segala sesuatu

memiliki elastisitas. Pada Gambar 2.2 diperlihatkan ilustrasi fuzzy dan crisp set

himpunan umur.

(24)

Nilai keanggotaan

Crisp Set Fuzzy Set

Umur

1

0 10

0.5

20

Gambar 2.2: Ilustrasi fuzzy dan crisp set.

Sumber : Hagan (1996)

Pada Gambar 2.2 diilustrasikan representasi dengan crisp set yang

menyatakan bahwa jika seseorang berumur dibawah 10 tahun maka ia merupakan himpunan orang muda, jika tidak maka ia tergolong tua. Sebaliknya dengan menggunakan fuzzy set, himpunan orang muda ditentukan oleh derajat keanggotaannya. Secara khusus kurva semacam ini disebut sebagai fungsi keanggotaan (membership function).

2.2 Fuzzyfikasi (Fuzzyfication)

Fuzzyfikasi adalah suatu proses pengubahan nilai tegas/real yang ada kedalam fungsi keanggotaan (Hagan, 1996). Pada gambar 2.3 diperlihatkan contoh fungsi keanggotaan suhu. Dari Gambar 2.3 akan dihitung fuzzyfikasi dari suhu 35

o

C.

Gambar 2.3 : Fungsi keanggotaan suhu Sumber : Hagan (1996)

Dengan menggunakan fungsi keanggotaan segitiga, maka crisp input suhu 35

o

15 30 45 60 Panas Dingin A2

A1

µ µ

Suhu (oC)

C

dikonversi ke nilai fuzzy dengan cara :

(25)

Suhu 35

o

C berada pada nilai linguistik dingin dan panas. Semantik atau derajat keanggotaan untuk dingin dihitung dengan menggunakan rumus:

(2.1) Dimana b=30 dan c=45, sehingga derajat keanggotaan dingin adalah :

Sedangkan semantik atau derajat keanggotaan untuk panas dihitung dengan menggunakan rumus:

(2.2) Dimana a=30 dan b=45, sehingga derajat keanggotaan panas adalah :

Dari hasil perhitungan diatas, maka, proses fuzzyfikasi menghasilkan 2 fuzzy input, yaitu suhu dingin (2/3) dan suhu panas (1/3)

2.2.1 Linguistic Variable

Dalam teori logika fuzzy dikenal himpunan fuzzy (fuzzy set) yang merupakan pengelompokan sesuatu berdasarkan variabel bahasa (variabel linguistic) yang dinyatakan dalam fungsi keanggotaan. Variabel linguistik adalah variabel yang berupa kata/kalimat, bukan berupa angka. Sebagai alasan menggunakan kata/kalimat dari pada angka karena peranan linguistik kurang spesifik

dibandingkan angka, namun informasi yang disampaikan lebih informatif. Variabel linguistik ini merupakan konsep penting dalam logika samar dan memegang peranan penting dalam beberapa aplikasi (Zadeh, 1968).

Konsep tentang variabel linguistik ini diperkenalkan oleh Lofti Zadeh.

Menurut Zadeh variabel linguistik ini dikarakteristikkan dengan (X, T(x), U, G, M), dimana: (Zadeh, 1968)

X = nama variabel (variabel linguistik)

T(x) = semesta pembicaraan untuk x atau disebut juga nilai linguistik dari x

(26)

U = jangkauan dari setiap nilai samar untuk x yang dihubungkan dengan variabel dasar U

G = aturan sintaksis untuk memberikan nama (x) pada setiap nilai X M = aturan semantik yang menghubungkan setiap X dengan artinya.

Sebagai contoh, jika :

X = ”umur” dengan U [10,80] dan T (umur) = {remaja, muda, tua}

Maka M untuk setiap X, M (x) adalah M (remaja), M (muda), M (tua), dimana : M (remaja) = himpunan samarnya ”umur dibawah 20 tahun” dengan

fungsi keanggotaan m remaja.

M (muda) = himpunan samarnya ”umur mendekati 40 tahun” dengan fungsi keanggotaan m muda

M (tua) = himpunan samarnya ”umur diatas 50 tahun” dengan fungsi keanggotaan m tua.

Maka nilai dari M dapat dilihat dari Gambar 2.4 berikut ini :

Degree of

Membeship Remaja Muda Tua

1

0 20 40 50

Gambar 2.4 : Fungsi keanggotaan kelompok umur Sumber : Russel (2002)

2.2.2 Membership Function

Di dalam fuzzy systems, fungsi keanggotaan memainkan peranan yang sangat

penting untuk merepresentasikan masalah dan menghasilkan keputusan yang

akurat. Menurut Jang et al. (1997), Membership Function (MF) adalah kurva

yang memetakan setiap titik pada input-an (universe of discourse) ke sebuah

nilai keanggotaan (derajat keanggotaan) yang memiliki nilai antara 0 dan 1 yang

didefinisikan secara matematis oleh persamaan:

(27)

μA(x) : X → [0, 1] (2.3)

Setiap elemen x dipetakan pada sebuah nilai keanggotaan oleh MF. Nilai ini merupakan derajat keanggotaan dari x pada himpunan fuzzy A.

μA(x) = Degree (x A) (2.4)

Dimana nilai keangotaan dari x dibatasi oleh:

0 ≤ μA(x) ≤ 1 (2.5)

Fungsi keanggotaan yang umum digunakan adalah: fungsi segitiga, fungsi trapesium, fungsi gaussian, fungsi bell dan fungsi sigmoid. Bentuk dari masing- masing fungsi keanggotaan adalah sebagai berikut (Jang et al. 1997) :

1. Fungsi linear

Pada representasi linear, pemetaan input ke dejarat keanggotaannya digambarkan sebagai suatu garis lurus. Ada dua keadaan himpunan fuzzy linear, yaitu :

a. Kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol (0) bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi, seperti pada Gambar 2.5 :

1 0.8 0.6 0.4 0.2 0

1 0.8 0.6

0.4 0.2 0

Derajat Keanggotaan

Gambar 2.5 : Fungsi keanggotaan linear naik

Sumber : Jang et al. (1997)

(28)

Fungsi keanggotaan :

(2.6)

b. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak turun ke nilai domain yang memiliki derajat keanggotaan lebih rendah, seperti pada Gambar 2.6 :

1 0.8 0.6 0.4 0.2 0

1 0.8 0.6

0.4 0.2 0

Derajat Keanggotaan

Gambar 2.6 : Fungsi keanggotaan linear turun Sumber : Jang et al. (1997)

Fungsi keanggotaan :

(2.7)

2. Fungsi segitiga.

Fungsi keanggotaan berbentuk segitiga didefinisikan oleh 3 parameter a, b, c dengan persamaan:

(2.8)

Fungsi segitiga dengan parameter: segitiga (x;0.2,0.6,0.8) ditunjukkan

dalam Gambar 2.7 :

(29)

1 0.8 0.6 0.4 0.2 0

1 0.8 0.6 0.4 0.2 0

mf1

Derajat Keanggotaan

Gambar 2.7 : Fungsi keanggotaan segitiga (triangle).

Sumber : Yan et al. (1994)

3. Fungsi Trapesium.

Fungsi keanggotaan berbentuk trapesium didefinisikan oleh 4 parameter a, b, c, d dengan persamaan :

(2.9) Fungsi Trapesium dengan parameter: trapesium (x;0.1,0.2,0.6,0.95) ditunjukkan dalam Gambar 2.8:

1 0.8 0.6 0.4 0.2 0

1 0.8 0.6 0.4 0.2 0

mf1

Derajat Keanggotaan

X

Gambar 2.8 : Fungsi keanggotaan trapesium (trapezoidal).

Sumber : Yan et al. (1994)

4. Fungsi Gaussian.

Fungsi keanggotaan berbentuk Gaussian didefinisikan oleh 2 parameter σ, dan c dengan persamaan:

(2.10)

(30)

Fungsi Gaussian dengan parameter: Gaussian (x;0.15,0.5) ditunjukkan dalam Gambar 2.9 berikut ini:

1 0.8 0.6 0.4 0.2 0

1 0.8 0.6 0.4 0.2 0

mf1

Derajat Keanggotaan

X

Gambar 2.9 : Fungsi keanggotaan gaussian. σ = standar deviasi, c = pusat.

Sumber : Jang et al. (1997)

5. Fungsi Bell.

Fungsi keanggotaan berbentuk bell didefinisikan oleh 3 parameter a, b dan c dengan persamaan:

(2.11)

Fungsi Bell dengan parameter: bell (x;0.25,2.5,0.5) ditunjukkan dalam Gambar 2.10:

1 0.8 0.6 0.4 0.2 0

1 0.8 0.6 0.4 0.2 0

mf1

Derajat Keanggotaan

X

Gambar 2.10 : Fungsi keanggotaan Bell.

Sumber : Yan et al. (1994)

(31)

Parameter a, b dan c yang menspesifikasikan fungsi Bell ditunjukkan dalam Gambar 2.11 berikut ini:

1 0.8 0.6 0.4 0.2 0

1 0.8 0.6

0.4 0.2

0

mf1

Derajat Keanggotaan

X

c-a c c+a

slope=

-b/2a

Gambar 2.11 : Letak parameter a,b dan c pada fungsi keanggotaan bell.

Sumber : Yan et al. (1994)

6. Fungsi Sigmoid.

Fungsi keanggotaan Sigmoid didefinisikan oleh 2 parameter a dan c dengan persamaan:

(2.12) Jika nilai a > 0, maka fungsi sigmoid akan membuka ke kanan, sedang jika a < 0 maka fungsi sigmoid akan membuka ke kiri. Fungsi Sigmoid membuka ke kanan dengan parameter: sigmoid (x;12,0.25) ditunjukkan dalam Gambar 2.12:

Gambar 2.12 : Fungsi keanggotaan sigmoid membuka ke kanan.

(32)

Sumber : Yan et al. (1994)

Sedangkan fungsi Sigmoid membuka ke kiri dengan parameter: sigmoid (x;-12,0.75) ditunjukkan dalam Gambar 2.13 berikut ini:

Gambar 2.13 : Fungsi keanggotaan sigmoid membuka ke kiri.

Sumber : Jang et al. (1997)

2.2.3 Aturan Dasar

Aturan dasar pada kontrol logika fuzzy merupakan suatu bentuk aturan relasi/implikasi “Jika-maka” atau “If-Then” seperti pada pernyataan berikut (Haykin, 1999):

“Jika” X=A dan “jika” Y=B “Maka” Z=C

Jadi aturan dasar pada control logika fuzzy (fuzzy logic control)

ditentukan dengan bantuan seorang pakar yang mengetahui karakteristik objek yang akan dikendalikan. Aturan dasar tersebut dapat dinyatakan dalam bentuk matriks aturan dasar kontrol logika fuzzy. Contoh aturan dasar dari rancangan pengaturan suhu ruangan dapat dilihat pada tabel 2.1.

Tabel 2.1 Contoh matriks aturan dasar perancangan kontrol logika fuzzy Y

X B S K

B K K B

Z

S K S K

K B K B

Dimana :

X : Suhu, Y : Kecepatan Kipas, Z : Sumber Frekuensi

(33)

B : Besar, S : Sedang, K : kecil 2.2.4 Defuzzyfication

Defuzzyfication merupakan proses pemetaan himpunan fuzzy kehimpunan tegas (crisp) (Haykin, 1999). Proses ini merupakan kebalikan dari proses fuzzyfikasi.

Proses defuzzyfikasi diekspresikan sebagai berikut :

Z* = defuzzifier (Z) (2.13)

Dimana :

Z = Hasil penalaran fuzzy

Z* = Keluaran kontrol fuzzy logic Defuzzifier = Operasi defuzzier

Metode dalam melakukan defuzzifikasi antara lain : 1. Metode Max (Maximum)

Metode ini juga dikenal dengan metode puncak dimana nilai keluaran dibatasi oleh fungsi :

(2.14)

2. Metode Titik Tengah (Center of Area)

Metode ini juga disebut pusat area. Metode ini lazim dipakai dalam proses defuzzyfikasi. Metode ini diekspresikan dengan persamaan :

(2.15)

3. Metode Rata-Rata (Average)

Metode ini digunakan untuk fungsi keanggotaan keluaran yang simetris.

Persamaan dari metode ini adalah :

(2.16)

4. Metode penjumlahan Titik Tengah (Summing of center area)

Metode ini dinyatakan dengan persamaan :

(34)

(2.17)

5. Metode Titik Tengah Area Terbesar.

Dalam metode ini keluaran dipilih berdasarkan titik pusat area terbesar yang ada. Metode ini dinyatakan dalam bentuk :

(2.18)

Selanjutnya keluaran dari defuzzyfikasi tersebut akan digunakan sebagai keluaran kontrol logika fuzzy.

2.3 Neural Networks

Neural Networks (NN) atau Jaringan Syaraf Tiruan (JST) adalah prosesor yang terdistribusi paralel, terbuat dari unit-unit yang sederhana, dan memiliki kemampuan untuk menyimpan pengetahuan yang diperoleh secara eksperimental dan siap pakai untuk berbagai tujuan (Rajasekaran, 2005). JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Secara sederhana, JST adalah sebuah alat pemodelan data statistik non- linier. JST dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output untuk menemukan pola-pola pada data.

Jaringan syaraf tiruan merupakan algoritma pembelajaran yang meniru

cara kerja sel syaraf. Selama proses pembelajaran, bobot-bobot dan bias selalu

diperbaharui menggunakan algoritma belajar, jika ada error pada keluaran. Untuk

proses identifikasi, bobot-bobot yang secara langsung memboboti masukan inilah

yang dinamakan sebagai parameter yang dicari, seperti terlihat pada Gambar 2.14,

parameter yang dicari adalah harga W

1

, W

2

, W

3

dan Wn. Dalam identifikasi secara

on-line, neuron ataupun jaringan neuron akan selalu ‘belajar’ setiap ada data

masukan dan keluaran.

(35)

X1

Xn

X3

X2

Y

W1

W2

W3

Wn

Gambar 2.14: Proses komunikasi antar neuron Sumber : Rajasekaran (2005)

Gambar 2.14 memperlihatkan bahwa NN terdiri atas satuan-satuan pemroses berupa neuron. Y sebagai output menerima input dari neuron X

1

, X

2

, X

3

,

…, X

n

dengan bobot W

1

, W

2

, W

3

, …, W

n

Konsep jaringan saraf tiruan bermula pada makalah

. Hasil penjumlahan seluruh impuls neuron dibandingkan dengan nilai ambang tertentu melalui fungsi aktivasi f setiap neuron. Fungsi aktivasi digunakan sebagai penentu keluaran suatu neuron.

Waffen McCulloch dan Walter Pitts pada tahun 1943. Dalam makalah tersebut mereka mencoba untuk memformulasikan model matematis sel-sel otak. Metode yang dikembangkan berdasarkan sistem saraf biologi ini, merupakan suatu langkah maju dalam industri komputer.

Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara paralel dan terdistribusi, hal ini terinspirasi oleh model kerja otak biologis.

Zurada (1992) mendefinisikan jaringan syaraf tiruan sebagai berikut: “Sistem saraf tiruan atau jaringan saraf tiruan adalah sistem selular fisik yang dapat memperoleh, menyimpan dan menggunakan pengetahuan yang didapatkan dari pengalaman”. Haykin (1994) mendefinisikan jaringan saraf sebagai berikut:

“Sebuah jaringan saraf adalah sebuah prosesor yang terdistribusi paralel dan mempunyai kecenderungan untuk menyimpan pengetahuan yang didapatkannya dari pengalaman dan membuatnya tetap tersedia untuk digunakan”. Hal ini menyerupai kerja otak dalam dua hal yaitu:

1. Pengetahuan diperoleh oleh jaringan melalui suatu proses belajar;

2. Kekuatan hubungan antar sel saraf yang dikenal dengan bobot sinapsis

digunakan untuk menyimpan pengetahuan.

(36)

2.3.1 Backpropagation Neural Network (BPNN)

Salah satu metode pelatihan dalam NN adalah pelatihan terbimbing (supervised learning). BPNN merupakan salah satu metode yang menggunakan supervised learning. Pada pelatihan terbimbing diperlukan sejumlah masukan dan target yang berfungsi untuk melatih jaringan hingga diperoleh bobot yang diinginkan. Pada setiap kali pelatihan, suatu input diberikan ke jaringan, kemudian jaringan akan memproses dan mengeluarkan keluaran. Selisih antara keluaran jaringan dengan target merupakan kesalahan yang terjadi, dimana jaringan akan memodifikasi bobot sesuai dengan kesalahan tersebut.

Algoritma pelatihan Backpropagation Neural Network (BPNN) pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart dan Mc.Clelland (Hagan, 1996). Pada supervised learning terdapat pasangan data input dan output yang dipakai untuk melatih JST hingga diperoleh bobot penimbang (weight) yang diinginkan. Penimbang itu sendiri adalah sambungan antar lapis dalam JST.

Algoritma ini memiliki proses pelatihan yang didasarkan pada interkoneksi yang sederhana, yaitu apabila keluaran memberikan hasil yang salah, maka penimbang dikoreksi agar galat dapat diperkecil dan tanggapan JST selanjutnya diharapkan dapat mendekati nilai yang benar. BPNN juga berkemampuan untuk memperbaiki penimbang pada lapis tersembunyi (hidden layer).

Wij W’jk U’k

Uj

Input Layer Hidden Layer

Output Layer

Xi Yj Zk Ok Target

Gambar 2.15 : Lapis dan aliran sinyal dalam algoritma BPNN

Sumber : Fausset (1994)

(37)

Secara garis besar BPNN terdiri atas tiga lapis (layer) yaitu lapis masukan (input layer) x

i

, lapis tersembunyi (hidden layer) y

j

, dan lapis keluaran (output layer) z

k

. Lapis masukan dan lapis tersembunyi dihubungkan dengan penimbang w

ij

dan antara lapis tersembunyi dan lapis keluaran dihubungkan oleh penimbang w’

jk

Pada dasarnya, metode pelatihan backpropagation terdiri dari tiga langkah, yaitu : .

1) Data dimasukkan kedalam input node atau jaringan (feedforward);

2) Perhitungan dan propagasi balik dari error yang bersangkutan;

3) Pembaharuan (adjustment) bobot dan bias.

Pada pelatihan BPNN, ketika JST diberi pola masukan sebagai pola pelatihan maka pola tersebut akan menuju ke unit pada lapis tersembunyi untuk diteruskan pada unit yang berada pada lapis keluaran. Keluaran sementara pada lapis tersembunyi u

j

akan diteruskan pada lapis keluaran dan lapis keluaran akan memberikan tanggapan yang disebut sebagai keluaran sementara u’

k

. Ketika u’

k

o

k

dimana o

k

adalah target yang diharapkan, maka selisih (error) keluaran sementara u’

k

Untuk mempercepat proses pelatihan digunakan parameter laju pelatihan (learning rate) yang nilainya berada pada kisaran 0-1. Selain parameter laju pelatihan, untuk mempercepat proses pelatihan dapat digunakan parameter tambahan berupa momentum yang nilainya dijaga antara 0.5 - 0.9. Ketika proses pelatihan selesai dan JST dapat digunakan untuk menyelesaikan masalah, tahap tersebut disebut sebagai tahap penggunaan yang disebut mapping atau pemetaan.

akan disebarkan mundur (backward) pada lapis tersembunyi dan diteruskan ke unit pada lapis masukan. Oleh karena itu proses tersebut disebut propagasi balik (backpropagation) dimana tahap pelatihan dilakukan dengan merubah penimbang yang menghubungkan unit dalam lapis JST ketika diberi umpan maju dan umpan balik.

Algoritma pelatihan BPNN terdiri dari dua tahap, yaitu feedforward

propagation dan feed backward propagation. Untuk selengkapnya, notasi-notasi

yang akan digunakan pada algoritma BPNN adalah :

(38)

x Data trainning untuk input x = ( x

1

,…,x

i

,…,x

n

t

)

Data trainning untuk output (target/desired output) t = ( t

1

,…,t

k

,…,t

m )

α

Learning rate, yaitu parameter yang mengontrol perubahan bobot selama pelatihan. Jika learning rate besar, jaringan semakin cepat belajar, tetapi hasilnya kurang akurat. Learning rate biasanya dipilih antara 0 dan 1 Unit input ke-i. untuk unit input, sinyal yang masuk dan keluar pada suatu unit dilambangkan dengan variabel yang sama, yaitu

Hidden unit ke-j. sinyal input pada dilambangkan dengan . Sinyal output (aktivasi) untuk dilambangkan dengan

Bias untuk hidden unit ke-j

Bobot antara unit input ke-i dan hidden unit ke-j

Unit output ke-k. sinyal input ke dilambangkan . Sinyal output (aktivasi) untuk dilambangkan dengan

Bias untuk unit output ke-k

Bobot antara hidden unit ke-j dan unit output ke-k Faktor koreksi error untuk bobot

Faktor koreksi error untuk bobot

Langkah-langkah Algoritma Backpropagation Neural Network (BPNN).

a. Algoritma Pelatihan

Pelatihan suatu jaringan dengan algoritma backpropagation meliputi dua tahap : 1. Feedforward propagation.

2. Feed backward propagation.

Selama proses feedforward propagation, tiap unit masukan (x

i

) menerima

sebuah masukan sinyal ini ke tiap-tiap lapisan tersembunyi z

1

,…..,z

p

. Tiap unit

tersembunyi ini kemudian menghitung aktivasinya dan mengirimkan sinyalnya ( )

(39)

ke tiap unit keluaran. Tiap unit keluaran menghitung aktivasinya untuk membentuk respon pada jaringan untuk memberikan pola masukan. Selama pelatihan, tiap unit keluaran membandingkan perhitungan aktivasinya dengan nilai targetnya untuk menentukan kesalahan pola tersebut dengan unit itu.

Berdasarkan kesalahan ini, faktor (k = 1,..,m) dihitung. digunakan untuk menyebarkan kesalahan pada unit keluaran y

k

kembali ke semua unit pada lapisan sebelumnya (unit-unit tersembunyi yang dihubungkan ke ), selain itu juga digunakan (nantinya) untuk meng-update bobot-bobot antara keluaran dan lapisan tersembunyi. Dengan cara yang sama, faktor (j = 1,…,p) dihitung untuk tiap unit tersembunyi , tanpa perlu untuk menyebarkan kesalahan kembali ke lapisan masukan, tetapi δ

j

Setelah seluruh faktor δ ditentukan, bobot untuk semua lapisan diatur secara serentak. Pengaturan bobot w

digunakan untuk meng-update bobot-bobot antara lapisan tersembunyi dan lapisan masukan.

jk

(dari unit tersembunyi ke unit keluaran ) didasarkan pada faktor dan aktivasi dari unit tersembunyi didasarkan pada faktor dan aktivasi unit masukan. Untuk langkah selengkapnya adalah (Laurence, 1994) :

b. Prosedur Pelatihan

Berikut adalah langkah-langkah pelatihan backpropagation secara lebih detail.

Langkah 0 : Inisialisasi bobot dan bias. (sebaiknya diatur pada nilai acak yang kecil, disekitar 0 dan 1 atau -1 (bias positif atau negatif));

Langkah 1 : Jika kondisi berhenti belum tercapai, lakukan langkah 2-9;

Langkah 2 : Untuk setiap data trainning, lakukan langkah 3-8.

Umpan Maju (Feedforward Propagation):

Langkah 3 : Tiap unit input (x

i

, i = 1,…, n) menerima sinyal x

i

dan

menyebarkan sinyal ini ke seluruh unit lapisan di atasnya

(hidden unit). Input x

i

yang dipakai adalah input trainning

(40)

data yang sudah diskalakan. Pertama, input yang mungkin dipakai dalam sistem dicari nilai terendah dan tertingginya, kemudian, skala yang digunakan tergantung dari fungsi aktivasinya;

Langkah 4 : Setiap hidden unit ( , j = 1,…, p) akan menjumlahkan bobot sinyal masukannya, termasuk biasnya;

(2.19)

Dimana v

oj

= bias pada unit tersembunyi j, kemudian aplikasikan fungsi aktivasi yang telah ditentukan untuk menghitung sinyal output dari hidden unit yang bersangkutan;

= f ( ) (2.20)

lalu kirimkan sinyal output ini keseluruh unit pada lapisan diatasnya (output unit).

Langkah 5 : Tiap unit ouput ( , k = 1,…, m) akan menjumlahkan bobot sinyal masukannya, termasuk biasnya;

(2.21)

Dimana w

ok

= bias pada unit keluaran k, kemudian aplikasikan fungsi aktivasi yang telah ditentukan untuk menghitung sinyal output dari unit output yang bersangkutan;

= f ( ) (2.22)

lalu kirimkan sinyal output ini keseluruh unit pada lapisan

diatasnya (output unit).

(41)

Propagasi error (Feed backward propagation).

Langkah 6 : Tiap unit ouput ( , k = 1,…, m) menerima pola target (desired output) yang sesuai dengan pola input (input trainning pattern) untuk menghitung kesalahan (error) antara target dengan output yang dihasilkan jaringan;

(2.23) Dimana : δ

k

= error pada node ke-k

= target ke-k f’(x) = f(x) [1-f(x)]

Output trainning data t

k

Gunakan faktor

telah diskalakan menurut fungsi aktivasi yang dipakai.

untuk menghitung koreksi bobotnya (digunakan untuk memperbaharui w

jk

nantinya);

(2.24)

Hitung koreksi biasnya (digunakan untuk memperbaharui w

ok

nantinya)

(2.25)

Kirimkan faktor δ

k

ini ke unit-unit pada lapisan dibawahnya (layer pada langkah 7);

Langkah 7 : Setiap hidden unit ( , j = 1,…, p) menjumlahkan input delta dari unit-unit lapisan diatasnya (yang dikirim dari layer pada langkah 6) yang sudah berbobot;

(2.26)

Kalikan hasilnya dengan turunan dari fungsi aktivasi yang

(42)

digunakan untuk menghasilkan faktor koreksi error dimana :

(2.27)

Faktor ini digunakan untuk menghitung koreksi error ( ) (digunakan untuk memperbaharui v

ij

nanti), dimana;

(2.28)

Selain itu juga dihitung koreksi bias (digunakan untuk memperbaharui v

oj

nanti), dimana;

(2.29)

Pembaharuan bobot (adjustment) dan bias.

Langkah 8 : Tiap unit output ( , k = 1,…, m) akan mengupdate bias dan bobotnya dari setiap hidden unit (j = 0,…, p) ;

(baru) = (lama) + Δ

(2.30)

Tiap unit hidden unit ( , j = 1,…, p) akan mengupdate bias dan bobotnya dari setiap unit input (i = 0,…,n) :

(baru) = (lama) + Δ (2.31)

Langkah 9 : Test kondisi berhenti.

Jika stop condition (kondisi berhenti) telah terpenuhi, maka proses pelatihan dapat dihentikan. Ada dua cara yang dapat dilakukan untuk menentukan stopping condition (test kondisi berhenti), yaitu :

Cara 1 : Membatasi jumlah iterasi yang ingin dilakukan

(satu iterasi merupakan perulangan langkah 3

(43)

sampai dengan langkah 8 untuk semua trainning data yang ada). Jika jumlah iterasi telah terpenuhi, maka proses pelatihan akan berhenti.

Cara 2 : Membatasi error. Untuk metode BPNN, metode yang digunakan adalah Mean Square Error, untuk menghitung rata-rata error antara output yang dikehendaki pada trainning data dengan output yang dihasilkan oleh jaringan. Besarnya persen error ini tergantung kepresisian yang dibutuhkan oleh sistem yang bersangkutan.

c. Prosedur Pengujian :

Setelah pelatihan, jaringan saraf backpropagation diaplikasikan dengan hanya menggunakan tahap perambatan maju dari algoritma pelatihan. Prosedur aplikasinya adalah sebagai berikut :

Langkah 0 : Inisialisasi bobot (dari algoritma pelatihan).

Langkah 1 : Untuk tiap vektor masukan, lakukan langkah 2 - langkah 4.

Langkah 2 : for i = 1,…, n : atur aktivasi unit masukan x

i

Langkah 3

. : for j = 1,…, p :

(2.32)

z

j

= f ( ) (2.33)

for k = 1,…, m : Langkah 4 :

(2.34)

y

k

= f ( ) (2.35)

Langkah 5 : Jika y

k

≥ 0,5 maka y

k

= 1, else y

k

= 0.

(44)

2.3.2 Algoritma Kohonen Map

Kohonen Map atau bisa disebut Self Organizing Map diperkenalkan pertama kali oleh Prof. Teuvo Kohonen dari Finlandia pada tahun 1982 (Kohonen, 1982). Kohonen map merupakan salah satu algoritma jaringan syaraf tiruan yang cukup unik karena membangun sebuah topology preserving map dari ruang berdimensi tinggi ke dalam neuron-neuron sebagai representasi dari datapoint yang ada.

Kohonen map merupakan salah satu metode jaringan syaraf tiruan unsupervised learning (tidak terawasi). Jaringan ini tidak mendapatkan target, sehingga JST mengatur bobot interkoneksi sendiri. Belajar tanpa pengawasan (Self Organizing Learning) adalah belajar mengklasifikasikan tanpa dilatih. Pada proses belajar tanpa pengawasan, JST akan mengklasifikasikan contoh pola- pola masukan yang tersedia ke dalam kelompok yang berbeda-beda. Ketika data diberikan ke dalam jaringan syaraf, data akan mengatur struktur dirinya sendiri untuk merefleksikan dari pola yang diberikan. Pada kebanyakan model ini, batasan mengacu pada determinasi kekuatan antar neuron.

Pada jaringan kohonen, suatu lapisan yang berisi neuron-neuron akan menyusun dirinya sendiri berdasarkan input nilai tertentu dalam suatu kelompok yang dikenal dengan istilah cluster. Selama proses penyusunan diri, cluster yang memiliki vektor bobot paling cocok dengan pola input (memiliki jarak yang paling dekat) akan terpilih sebagai pemenang. Neuron yang menjadi pemenang beserta neuron-neuron tetangganya akan memperbaiki bobot-bobotnya.

Langkah-langkah Algoritma Kohonen

Berikut merupakan langkah-langkah algoritma kohonen : Langkah 0 : Inisialisasi bobot :

Set parameter-parameter tetangga

Set parameter learning rate

(45)

Langkah 1 : Kerjakan jika kondisi berhenti bernilai FALSE a. Untuk setiap vektor input x, kerjakan :

• Untuk setiap j, hitung :

bobot

i

=

• Bandingkan bobot

i

Untuk bobot

untuk mencari bobot terkecil

i

terkecil, ambil (lama) untuk mendapatkan :

(baru)= (lama) + α (x

i

(lama))

(2.36)

(2.37)

b. Perbaiki learning rate

α (baru) =0,5 * α (2.38)

c. Kurangi radius ketetanggaan pada waktu-waktu tertentu, dengan cara meng-update nilai bobot

i

d. Tes kondisi berhenti (min error atau maxepoch terpenuhi)

2.4 Normalisasi Data

Dalam proses pembelajaran (trainning), jaringan membutuhkan data trainning

yaitu data yang di-input-kan. Pada proses yang menggunakan derajat keanggotaan

yang berada pada interval 0 dan 1 maka transformasi data hendaknya dilakukan

pada interval yang lebih kecil yaitu [0.1 , 0.9], untuk itu perlu dilakukan

normalisasi data, agar terbentuk data yang berada diantara 0 dan 1. Salah satu

rumus yang dapat digunakan dalam proses normalisasi data tersebut adalah

persamaan berikut :

(46)

(2.39) Dimana :

: data actual yang telah dinormalisasi : nilai maksimum data actual

: nilai minimum data actual a : data terkecil

b : data terbesar

2.5 Smoothing Grafik

Proses smoothing grafik dilakukan untuk mendapatkan hasil grafik yang lebih baik.

Proses ini dilakukan dengan mengambil titik puncak dari grafik hasil trainning yang telah terbentuk dari titik puncak grafik tersebut, kemudian akan ditarik garis linear dari titik awal dan titik akhir sehingga dapat menghasilkan grafik yang lebih baik.

2.6 Riset Terkait

Dalam melakukan penelitian, penulis menggunakan beberapa riset terakait yang dijadikan acuan yang membuat penelitian berjalan lancar. Adapun riset-riset terkait tersebut adalah :

Tabel 2.2. Riset terkait

No Judul Riset Nama Peneliti Dan Tahun

Metode Yang Digunakan

Hasil Penelitian 1. Induction of fuzzy

rules and membership

functions from trainning examples

Hong, Tzung- Pei. dan Lee, Chai-Ying. 1996

Trainning examples

Metode Trainning Examples untuk menghasilkan fuzzy rules dan fungsi keanggotaan secara otomatis

2. Identification of membership

functions based on fuzzy observation data

Tamaki, Futoshi.

Kanagawa, Akihiro. dan Ohta, Hiroshi.

Fuzzy observation model

Metode identifikasi

fungsi keanggotaan

berdasarkan frekuensi

dari fuzzy set yang

dipilih.

Gambar

Gambar 2.15 : Lapis dan aliran sinyal dalam algoritma BPNN  Sumber : Fausset (1994)
Tabel 2.2. Riset terkait (Lanjutan)  3.  Neural Networks in  Materials Science.  Bagis, Aytekin
Gambar 3.1 Arsitektur jaringan BPNN
Gambar 3.10 Algoritma pembentukan variabel X 2 .
+7

Referensi

Garis besar

Dokumen terkait

Untuk menentukan karakteristik termodinamika udara di dalam ruangan dapat dilakukan juga dengan menggunakan metode psikrometrik, menggunakan alat sling psikrometer

Obat tradisional adalah bahan atau ramuan bahan yang berupa bahan tumbuhan, bahan hewan, bahan mineral, sediaan sarian (galenik) atau campuran dari bahan tersebut yang secara

Berdasarkan argumen tersebut, implikasi penelitian ini adalah bahwa perancang organisasi perlu mempertimbangkan kondisi ketidakpastian (seperti intensitas kompetisi pasar) untuk

jumlah saham yang dimiliki oleh pihak manajemen dengan total saham beredar dan kepemilikan asing diukur dengan menghitung perbandingan jumlah saham yang

These accepted papers have been grouped into 9 International Symposia, ranging from International Symposium on Architecture and Urban Planning, International Symposium

Hal ini sesuai dengan penelitian hubungannya Ninik Murtiyani tentang hubungan antara pola asuh orang tua dengan kenakalan remaja di RW V Kelurahan Sidokare Kecamatan Sidoarjo

Hasil studi literatur tentang penelitian algoritma fuzzy inference rules ditemukan contoh kasus yang diselesaikan dengan algoritma fuzzy inference rules memiliki

Berdasarkan penelitian yang telah dilakukan, penulis menyimpulkan bahwa terdapat lima belas bentuk simbol Rune yang ada dalam film The Mortal Instruments