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
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
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
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
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
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
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
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
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
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
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
2dan x
3.
Variabel x
2didapatkan dengan menggunakan algoritma tambahan yaitu algoritma
kohonen (SOM), sedangkan variabel x
3didapatkan 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.
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
2be obtained by using the algorithm additional. It’s called Kohonen algorithm
(SOM). The variable x
3be 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.
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.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
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
100hasil pelatihan untuk output 1 dataset
nilai.
65
4.17
Nilai y
1– y
100hasil pelatihan untuk output 2 dataset
nilai.
67
4.18
Nilai y
1– y
100hasil pelatihan untuk output 3 dataset
nilai.
69
4.19
Nilai y
1– y
100hasil pelatihan untuk output 4 dataset
nilai.
71
4.20
Nilai y
1– y
100hasil pelatihan untuk output 5 dataset
nilai.
73
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
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
239
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.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
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
2dan x
3.
Variabel x
2didapatkan dengan menggunakan algoritma tambahan yaitu algoritma
kohonen (SOM), sedangkan variabel x
3didapatkan 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.
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
2be obtained by using the algorithm additional. It’s called Kohonen algorithm
(SOM). The variable x
3be 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.
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.
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).
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
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
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
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
N
il
a
i
k
e
a
n
g
g
o
ta
a
n 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
oC.
Gambar 2.3 : Fungsi keanggotaan suhu
Sumber : Hagan (1996)
Dengan menggunakan fungsi keanggotaan segitiga, maka crisp input suhu 35
o15
30
45
60
Panas
Dingin
A2
A1
µ
µ
Suhu (oC)
C
Suhu 35
oC 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)
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
μ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
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
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:
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)
[image:34.595.241.416.541.668.2]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.
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
[image:35.595.229.429.592.718.2]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
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 :
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)
(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 pemodel
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
3dan Wn. Dalam identifikasi secara
on-line, neuron ataupun jaringan neuron akan selalu ‘belajar’ setiap ada data
X1
Xn X3 X2
∑
YW1
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
ndengan bobot W
1, W
2, W
3, …, W
nKonsep jaringan saraf tiruan bermula pada makala
. Hasil penjumlahan seluruh impuls
neuron dibandingkan dengan nilai ambang tertentu melalui fungsi aktivasi f setiap
neuron. Fungsi aktivasi digunakan sebagai penentu keluaran suatu neuron.
da
memformulasikan model matemati
berdasarkan sistem
industri komputer.
Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara
paralel dan terdistribusi, hal ini terinspirasi oleh model kerja otak biologis.
saraf tiruan atau jaringan saraf tiruan adalah sistem selular fisik yang dapat
memperoleh, menyimpan dan menggunakan pengetahuan yang didapatkan dari
pengalaman”.
“Sebuah jaringan saraf adalah sebua
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.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).
W
ijW’
jkU’
kU
jInput Layer
Hidden Layer
Output Layer
X
iY
jZ
kO
kTarget
Gambar 2.15 : Lapis dan aliran sinyal dalam algoritma BPNN
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
ijdan antara lapis tersembunyi dan lapis keluaran dihubungkan oleh penimbang w’
jkPada 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
jakan diteruskan pada lapis keluaran dan lapis keluaran akan
memberikan tanggapan yang disebut sebagai keluaran sementara u’
k. Ketika u’
k≠
o
kdimana o
kadalah target yang diharapkan, maka selisih (error) keluaran
sementara u’
kUntuk 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
x
Data trainning untuk input
x = ( x
1,…,x
i,…,x
nt
)
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
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
kkembali 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
idan
menyebarkan sinyal ini ke seluruh unit lapisan di atasnya
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
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
kGunakan faktor
telah diskalakan menurut fungsi
aktivasi yang dipakai.
untuk menghitung koreksi bobotnya
(digunakan untuk memperbaharui w
jknantinya);
(2.24)
Hitung koreksi biasnya (digunakan untuk memperbaharui w
oknantinya)
(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)
digunakan untuk menghasilkan faktor koreksi error
dimana :
(2.27)
Faktor
ini digunakan untuk menghitung koreksi error
(
) (digunakan untuk memperbaharui v
ijnanti), dimana;
(2.28)
Selain itu juga dihitung koreksi bias
(digunakan untuk
memperbaharui v
ojnanti), 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
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
iLangkah 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
k2.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
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
id.
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
(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
[image:50.595.114.531.547.749.2]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
1998
Tabel 2.2. Riset terkait (Lanjutan)
3.
Neural Networks in
Materials Science.
Bagis, Aytekin.
2003.
Tabu
search.
Optimasi membership
functions
untuk
kontroler logika fuzzy
menggunakan
algoritma tabu search.
4.
Fuzzy Membership
Function Elicitation
using Plausible
Neural Network.
Li, Kuo-chen Li.
dan Chang,
Dar-jen. 2005
Plausible
Neural
Network.
Pembangkit fungsi
keanggotaan otomatis
dengan
atau tanpa
label class
berdasarkan similarity
dan pengukuran
likelihood
sampel
data.
5.
Generating fuzzy
membership function
with self-organizing
feature map
Yang,
Chih-Chung.
dan
Bose, N.K. 2006
Self-organizing
feature
map
Pembangkit fungsi
keanggotaan
fuzzy
otomatis
menggunakan
self-organizing feature
map
2.7 Perbedaan Dengan Riset Yang Lain
Berdasarkan riset yang telah dilakukan, peneliti membuat beberapa perbedaan dalam
penelitian ini, yaitu;
1)
Algoritma yang digunakan adalah Neural Network;
2)
Metode yang digunakan pada pembentukan membership function adalah metode
Backpropagation Neural Network;
3)
Jumlah variabel input awal adalah satu variabel, yang dibangkitkan secara random
sesuai dengan dataset yang digunakan;
4)
Dataset yang digunakan dalam