• Tidak ada hasil yang ditemukan

Pembangkit Fungsi Keanggotaan Fuzzy Otomatis Menggunakan Neural Network

N/A
N/A
Protected

Academic year: 2016

Membagikan "Pembangkit Fungsi Keanggotaan Fuzzy Otomatis Menggunakan Neural Network"

Copied!
187
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

(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

(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

(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

(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

(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

(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

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

(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

(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

(10)
(11)

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.

(12)

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.

(13)
(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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.

(21)

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.

(22)

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.

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

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

(29)

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)

(30)

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

(31)

μ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

(32)

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

(33)

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:

(34)

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.

(35)

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

(36)

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 :

(37)

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)

(38)

(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

3

dan Wn. Dalam identifikasi secara

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

(39)

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 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;

(40)

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

ij

W’

jk

U’

k

U

j

Input Layer

Hidden Layer

Output Layer

X

i

Y

j

Z

k

O

k

Target

Gambar 2.15 : Lapis dan aliran sinyal dalam algoritma BPNN

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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)

(46)

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

(47)

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

(48)

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

(49)

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

(50)

(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

(51)

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

Gambar

Gambar 2.10:
Gambar 2.11 : Letak parameter a,b dan c pada fungsi keanggotaan bell.
Tabel 2.2. Riset terkait
Gambar 3.1 Arsitektur jaringan BPNN
+7

Referensi

Dokumen terkait

menggunakan metode Evolving Fuzzy Neural Network (EFuNN) untuk melakukan prediksi berdasarkan data time series yang ada.. EFuNN merupakan Fuzzy

Dalam Evolving Fuzzy Neural Network , terdapat parameter yang digunakan sebagai batas minimum dari suatu fungsi aktivasi ( Sensitive Threshold ), batasan kesalahan

Oleh karena itu, artikel ini menerapkan metode Backpropagation Neural Network (BPNN) untuk melakukan prediksi produksi minyak kelapa sawit (CPO) yang berasal dari perkebunan TBS

Untuk itu maka pada penelitian ini dilakukan membangkitkan fungsi keanggotaan fuzzy secara otomatis dengan menggunakan nilai variance di dalam algoritma dan juga meningkatkan nilai

Pada penelitian ini, dilakukan prakiraan beban listrik jangka panjang menggunakan metode Artificial Neural Network (ANN) dengan penerapan algoritma backpropagation

Weighted Evolving Fuzzy Neural Network merupakan pengembangan dari metode Evolving Fuzzy Neural Network walaupun memiliki struktur yang mirip tetapi memiliki aturan

Dalam penelitian ini menggunakan algoritma Particle Swarm Optimization dalam mengoptimasi nilai batas fungsi keanggotaan Fuzzy Inference System Tsukamoto.. Dari

Penelitian ini mengimplementasikan metode Backpropagation Neural Network BPNN dalam peramalan pelayanan service mobil after-sale dan Mean Square Error MSE untuk metode pengujian akurasi