tugas akhir ssb - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . matlab...

40
Sistem Syaraf Buatan Halaman 1 PENDAHULUAN MATLAB Matlab singkatan dari Matrix Laboratory. Matlab merupakan bahasa pemrogaman yang dikembangkan oleh The Mathwork. Inc. Pada awalnya, program ini merupakan interface untuk koleksi rutin-rutin numerik dari proyek LINPACK dan EISPACK, namun sekarang merupakan produk komersial dari perusahaan Mathworks, Inc. MATLAB telah berkembang menjadi sebuah environment pemrograman yang canggih yang berisi fungsi-fungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis fungsi baru untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan tidak terlalu sulit bila kita telah memiliki pengalaman dalam pemrograman bahasa lain seperti C, PASCAL, atau FORTRAN. Bahasa pemograman ini banyak digunakan untuk perhitungan numerik keteknikan, komputasi simbolik, visualisasi grafis, analisis data matematis, statistika, simulasi pemodelan, dan desain GUI (graphical user interface). JARINGAN SYARAF BIOLOGI Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak terdiri dari neuron-neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls/sinyal yang diberikan pada neuron. Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki 10 12 neuron dan 6.10 18 sinapsis. Dengan jumlah yang begitu banyak, otak mampu mengenali pola, melakukan perhitungan, dan mengontrol organ-organ tubuh dengan kecepatan yang lebih tinggi dibandingkan komputer digital. Sebagai perbandingan, pengenalan wajah seseorang yang sedikit berubah (misal memakai topi, memiliki jenggot tambahan, dll) akan lebih cepat dilakukan manusia dibandingkan komputer. Pada waktu lahir, otak mempunyai struktur yang menakjubkan karena kemampuannya membentuk sendiri aturan-aturan/pola berdasarkan pengalaman yang diterima. Jumlah dan kemampuan neuron berkembang seiring dengan pertumbuhan fisik manusia, terutama pada umur 0-2 tahun. Pada 2 tahun pertama umur manusia, terbentuk 1 juta sinapsis per detiknya.

Upload: nguyentruc

Post on 15-May-2018

226 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 1

PENDAHULUAN MATLAB

Matlab singkatan dari Matrix Laboratory. Matlab merupakan bahasa pemrogaman yang dikembangkan oleh The Mathwork. Inc. Pada awalnya, program ini merupakan interface untuk koleksi rutin-rutin numerik dari proyek LINPACK dan EISPACK, namun sekarang merupakan produk komersial dari perusahaan Mathworks, Inc. MATLAB telah berkembang menjadi sebuah environment pemrograman yang canggih yang berisi fungsi-fungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus .

MATLAB bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis fungsi baru untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan tidak terlalu sulit bila kita telah memiliki pengalaman dalam pemrograman bahasa lain seperti C, PASCAL, atau FORTRAN. Bahasa pemograman ini banyak digunakan untuk perhitungan numerik keteknikan, komputasi simbolik, visualisasi grafis, analisis data matematis, statistika, simulasi pemodelan, dan desain GUI (graphical user interface). JARINGAN SYARAF BIOLOGI

Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak terdiri dari neuron-neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls/sinyal yang diberikan pada neuron. Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki 1012 neuron dan 6.1018 sinapsis. Dengan jumlah yang begitu banyak, otak mampu mengenali pola, melakukan perhitungan, dan mengontrol organ-organ tubuh dengan kecepatan yang lebih tinggi dibandingkan komputer digital. Sebagai perbandingan, pengenalan wajah seseorang yang sedikit berubah (misal memakai topi, memiliki jenggot tambahan, dll) akan lebih cepat dilakukan manusia dibandingkan komputer.

Pada waktu lahir, otak mempunyai struktur yang menakjubkan karena kemampuannya membentuk sendiri aturan-aturan/pola berdasarkan pengalaman yang diterima. Jumlah dan kemampuan neuron berkembang seiring dengan pertumbuhan fisik manusia, terutama pada umur 0-2 tahun. Pada 2 tahun pertama umur manusia, terbentuk 1 juta sinapsis per detiknya.

Page 2: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 2

Gambar Jaringan Syaraf Pada Manusia Neuron memiliki 3 komponen penting yaitu dendrit, soma dan axon. Dendrit

menerima sinyal dari neuron lain. Sinyal/tersebut berupa impuls elektrik yang dikirim melalui celah sinaptik melalui proses kimiawi. Sinyal tersebut dimodifikasi (diperkuat/diperlemah) di celah sinaptik. Berikutnya, soma menjumlahkan semua sinyal-sinyal yang masuk. Kalau jumlahan tersebut cukup kuat dan melebihi batas ambang (threshold), maka sinyal tersebut akan diteruskan ke sel lain melalui axon. Frekuensi penerusan sinyal berbeda-beda antara satu sel dengan yang lain.

Neuron biologi merupakan sistem yang "fault tolerant" dalam 2 hal. Pertama, manusia dapat mengenali sinyal input yang agak berbeda dari yang pernah kita terima sebelumnya. Sebagai contoh, manusia sering dapat mengenali seseorang yang wajahnya pernah dilihat dari foto, atau dapat mengenali seseorang yang wajahnya agak berbeda karena sudah lama tidak dijumpainya.

Kedua, otak manusia tetap mampu bekerja meskipun beberapa neuronnya tidak mampu bekerja dengan baik. Jika sebuah neuron rusak, neuron lain kadang-kadang dapat dilatih untuk menggantikan fungsi sel yang rusak tersebut.

JARINGAN SYARAF TIRUAN Berikut adalah beberapa definisi JST : JST adalah suatu teknik pemrosesan informasi berbasis komputer yang

mensimulasikan dan memodelkan sistem syaraf biologis. Suatu model matematik yang mengandung sejumlah besar elemen pemroses yang

diorganisasikan dalam lapisan-lapisan. Suatu sistem komputasi yang dibuat dari sejumlah elemen pemroses yang sederhana

dan saling diinterkoneksikan untuk memproses informasi melalui masukan dari luar dan mampu inresponsi keadaan yang dinamis.

Page 3: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 3

JST adalah suatu teknologi komputasi yang berbasis hanya pada model syaraf biologis dan mencoba mensimulasikan tingkah laku dan kerja model syaraf.

Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang memiliki

karakteristik mirip dengan jaringan syaraf biologi. JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa : Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron). Sinyal dikirirnkan diantara neuron-neuron melalui penghubung-penghubung. Penghubung antar neuron memiliki bobot yang akan memperkuat atau

memperlemah sinyal. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya

bukan fungsi linier) yang dikenakan pada jumlahan input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang.

Keuntungan Menggunakan Komputasi dengan JST : Kemampuan dan proses komputasi pada JST memberikan keuntungan-keuntungan sebagai berikut : 1. JST bersifat adaptif terhadap perubahan parameter yang mempengaruhi

karakteristik sistem, sehingga pada proses belajar, JST mampu belajar secara adaptif dan melaksanakan tugas berbasis pada data yang diberikan saat pelatihan.

2. JST memiliki kekebalan atau toleran terhadap kesalahan. Artinya, JST tetap berfungsi walaupun ada ketidak-lengkapan data yang dimasukkan. JST mempunyai kemampuan mengisi bagian masukan yang kurang lengkap sedemikian rupa sehingga tetap diperoleh keluaran yang lengkap.

3. JST dapat dilatih memberikan keputusan dengan memberikan set pelatihan sebelumnya untuk mencapai target tertentu, sehingga JST mampu membangun dan memberikan jawaban sesuai dengan informasi yang diterima pada proses pelatihan.

4. JST mempunyai struktur paralel dan terdistribusi. Artinya, komputasi dapat dilakukan oleh lebih dari satu elemen pemroses yang bekerja secara simultan.

5. JST mampu mengklasiflkasi pola masukan dan pola keluaran. Melalui proses penyesuaian, pola keluaran dihubungkan dengan masukan yang diberikan oleh JST.

6. JST mengurangi derau, sehingga dihasilkan keluaran yang lebih bersih. 7. JST dapat dimanfaatkan pada proses optimisasi penyelesaian suatu masalah. 8. JST dapat digunakan pada proses pengendalian sistem agar masukan memperoleh

tanggapan yang diinginkan.

Page 4: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 4

Algoritma Umum Jaringan Saraf Tiruan Algoritma pembelajaran/pelatihan jaringan saraf tiruan : Dimasukkan n contoh pelatihan ke dalam jaringan saraf tiruan. Lakukan : 1. Inisialisasi bobot-bobot jaringan. Set i = 1. 2. Masukkan contoh ke-i (dari sekumpulan contoh pembelajaran yang terdapat dalam

set pelatihan) ke dalam jaringan pada lapisan input. 3. Cari tingkat aktivasi unit-unit output menggunakan algoritma aplikasi.

If kinerja jaringan memenuhi standar yang ditentukan sebelumnya (memenuhi syarat berhenti)

then exit. 4. Update bobot-bobot dengan menggunakan aturan pembelajaran jaringan. 5. If i=n, then reset i = 1.

Else i = i - 1. Ke langkah 2.

Algoritma aplikasi/inferensi jaringan saraf tiruan : Dimasukkan sebuah contoh pelatihan ke dalam jaringan saraf tiruan. Lakukan : 1. Masukkan kasus ke dalam jaringan pada lapisan input. 2. Hitung tingkat aktivasi node-node jaringan. 3. Untuk jaringan koneksi umpan maju, jika tingkat aktivasi dari semua unit

outputnya telah dikalkulasi, maka exit. Untuk jaringan koneksi balik, jika tingkat aktivasi dari semua unit output menjadi konstan atau mendekati konstan, maka exit. J jika tidak, kembali ke langkah 2. Jika jaringannya tidak stabil, maka exit dan fail.

SEJARAH JARINGAN SYARAF TIRUAN

Jaringan syaraf tiruan sederhana pertama kali diperkenalkan oleh McCulloch dan

Pitts di tahun 1943. McCulloch dan Pitts menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah sistem neural akan meningkatkan kemampuan komputasinya. Bobot dalam jaringan yang diusulkan oleh McCulloch dan Pitts diatur untuk melakukan fungsi logika sederhana. Fungsi aktivasi yang dipakai adalah fungsi threshold. Tahun 1958, Rosenblatt memperkenalkan dan mulai mengembangkan model jaringan yang disebut Perceptron. Metode pelatihan diperkenalkan untuk mengoptimalkan hasil iterasinya.

Page 5: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 5

Widrow dan Hoff (1960) mengembangkan perceptron dengan memperkenalkan aturan pelatihan jaringan, yang dikenal sebagai aturan delta (atau sering disebut kuadrat rata-rata terkecil). Aturan ini akan mengubah bobot perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang diinginkan.

Apa yang dilakukan peneliti terdahulu hanya menggunakan jaringan dengan layer tunggal (single layer). Rumelhart (1986) mengembangkan perceptron menjadi Backpropagation, yang memimgkinkan jaringan diproses melalui beberapa layer.

Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan oleh Kohonen (1972), Hopfield (1982), dll. Pengembangan yang ramai dibicarakan sejak tahun 1990an adalah aplikasi model-model jaringan syaraf tiruan untuk menyelesaikan berbagai masalah di dunia nyata. Jaringan Syaraf Tiruan ditentukan oleh tiga hal : Pola hubungan antar neuron (disebut arsitektur jaringan) Metode untuk menentukan bobot penghubung (disebut metode learning/training) Fungsi aktivasi

ARSITEKTUR JARINGAN

Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan antara lain : Jaringan Layar Tunggal (single layer network)

Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung dengan sekumpulan outputnya. Dalam beberapa model (misal perceptron), hanya ada sebuah unit neuron output.

Jaringan Layar Jamak (multi layer network) Jaringan layar jamak merupakan perluasan dari layar tunggal. Dalam jaringan ini, selain unit input dan output, ada unit-unit lain (sering disebut layar tersembunyi / hidden layer). Dimungkinkan pula ada beberapa layar tersembunyi. Sama seperti pada unit input dan output, unit-unit dalam satu layar tidak saling berhubungan.

Jaringan Recurrent Model jaringan reccurent mirip dengan jaringan layar tunggal ataupun ganda. Hanya saja, ada neuron output yang memberikan sinyal pada unit input (sering disebut feedback loop).

Page 6: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 6

PARADIGMA PEMBELAJARAN

Berdasarkan cara memodifikasi bobotnya, ada 2 macam pelatihan yang dikenal yaitu dengan supervisi (supervised) dan tanpa supervisi (unsupervised). Dalam pelatihan dengan supervisi, terdapat sejumlah pasangan data (masukan - target keluaran) yang dipakai untuk melatih jaringan hingga diperoleh bobot yang diinginkan. Pasangan data tersebut berfungsi sebagai "guru" untuk melatih jaringan hingga diperoleh bentuk yang terbaik. "Guru" akan memberikan informasi yang jelas tentang bagaimana sistem harus mengubah dirinya untuk meningkatkan unjuk kerjanya. Pada setiap kali pelatihan, suatu input diberikan ke jaringan. Jaringan akan memproses dan mengeluarkan keluaran. Selisih antara keluaran jaringan dengan target (keluaran yang diinginkan) merupakan kesalahan yang terjadi. Jaringan akan memodifikasi bobot sesuai dengan kesalahan tersebut. Jaringan perceptron, ADALINE dan backpropagation merupakan model-model yang menggunakan pelatihan dengan supervisi. Sebaliknya, dalam pelatihan tanpa supervisi (unsupervised learning) tidak ada "guru" yang akan mengarahkan proses pelatihan. Dalam pelatihannya, perubahan bobot jaringan dilakukan berdasarkan parameter tertentu dan jaringan dimodifikasi menurut ukuran parameter tersebut.

Sebagai contoh, dalam model jaringan kompetitif, jaringan terdiri dari 2 layar, yaitu layar input dan layar kompetisi. Layar input menerima data eksternal. Layar kompetitif berisi neuron-neuron yang saling berkompetisi agar memperoleh kesempatan untuk merespon sifat-sifat yang ada dalam data masukan. Neuron yang memenangkan kompetisi akan memperoleh sinyal yang berikutnya ia teruskan. Bobot neuron pemenang akan dimodifikasi sehingga lebih menyerupai data masukan.

Sebagai ilustrasi, pelatihan dengan supervisi dapat diandaikan sebagai skripsi yang dibimbing oleh seorang dosen. Pada setiap kali pengumpulan berkas skripsi, dosen akan mengkritik, mengarahkan dan meminta perbaikan agar kualitas skripsi meningkat. Sebaliknya, Dalam pelatihan tanpa supervisi dapat dibayangkan sebagai skripsi tanpa dosen pembimbing. Mahasiswa mengerjakan skripsi sebaik-baiknya berdasarkan ukuran tertentu (misal dibandingkan dengan skripsi yang sudah ada sebelumnya atau dibandingkan dengan hasil skripsi temannya). Berdasarkan hasil yang pernah dilaporkan, model pelatihan dengan supervisi lebih banyak digunakan dan terbukti cocok dipakai dalam berbagai aplikasi. Akan tetapi kelemahan utama pelatihan dengan supervisi adalah dalam hal pertumbuhan waktu komputasinya yang berorde eksponensial. Ini berarti untuk data pelatihan yang cukup banyak, prosesnya menjadi sangat lambat.

Page 7: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 7

Pelatihan Dengan Supervisi Jaringan memberikan tanggapan dengan mendapatkan target tertentu. Sebelum

jaringan mengubah sendiri bobotnya untuk mencapai target, bobot interkoneksi diinisialisasi. Proses belajar JST dengan pengawasan adalah proses belajar dengan memberikan latihan untuk mencapai suatu target keluaran yang ditentukan. JST mendapatkan latihan untuk mengenal pola-pola tertentu. Dengan memberikan target keluaran, perubahan masukan akan diadaptasi oleh keluaran dengan mengubah bobot interkoneksinya mengikuti algoritma belajar yang ditentukan. Set pelatihan dipilih dari fungsi keluaran maksimum setiap keadaan parameter yang diubah. Dengan menginisialisasi bobot tiap sel, JST akan mencari eror terkecil, sehingga bentuk fungsi keluaran mendekati target yang diinginkan. Berdasarkan proses belajar yang dilakukan, kita perlu memperhatikan beberapa hal dalam menyusun set pelatihan, yaitu : a. Pemberian urutan pola yang akan diajarkan b. Kriteria perhitungan eror c. Kriteria proses belajar d. Jumlah iterasi yang harus dilalui e. Inisialisasi bobot dan parameter awal

Pelatihan dilakukan dengan memberikan pasangan pola-pola masukan dan keluaran. Untuk keperluan pengendalian, pasangan pola tidak mengikuti rumusan tertentu. JST harus dapat mengadaptasi masukan yang acak supaya keluaran tetap mengikuti target. Lebih lanjut, proses pelatihan dilakukan dengan memberikan pola yang menggunakan masukan acak dan bobot interkoneksi yang besar. Dengan pemberian bobot yang besar, perbedaan target dan keluaran berkurang lebih cepat, sehingga proses adaptasi akan lebih cepat pula. Salah satu proses belajar dengan pengawasan adalah proses belajar menggunakan algoritma propagasi balik. Proses belajar jaringan umpan balik dituliskan dalam bentuk algoritma propagasi balik yang dikenal sebagai JPB. Jaringan Propagasi Balik (JPB) kadang-kadang dikenal sebagai Multilayer Perceptron (MLP). Anda dapat menggunakan algoritma propagasi balik untuk melatih jaringan lapis banyak. Pelatihan Tanpa Supervisi

Pada pelatihan tanpa supervisi jaringan tidak mendapatkan target, sehingga JST mengatur bobot interkoneksi sendiri. Belajar tanpa pengawasan kadang-kadang diacu sebagai self-organizing learning, yakni belajar mengklasifikasikan tanpa dilatih. Pada proses belajar tanpa pengawasan, JST akan mengklasifikasi-kan contoh pola-pola

Page 8: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 8

masukan yang tersedia ke dalam kelompok yang berbeda-beda. Contoh JST dengan belajar tanpa pengawasan adalah jaringan Kohonen.

Paradigma Masalah Yang Diselesaikan

On-Line /Off-Line

Penyepadanan Pola

Tipe Belajar Pembatasan Implementasi

AG Klasifikasi data tanpa pengawasan

On-line Ya Hebbian Keterbatasan tempat penyimpanan

Optik dan elektronik

SG Pemrosesan informasi manusia

On-line Ya Hebbian Keterbatasan tempat penyimpanan

Elektronik

ARTI Klasifikasi pola kompleks

On-line Ya Competitiv e decay

Dibatasi pada biner

Komputer Syaraf

DH Pemrosesan pemtaraan

On-line Tidak Hebbian Dibatasi pada biner

Elektronika Optik

CH Optimasi kombinasional

On-line Ya Hebbian/ kompetitif

Keterbatasan memori

Elektronika Optik

BAM Pengenalan citra

Off-line Ya Hebbian Belajar ekstensif off-line

Simulasi komputer

ABAM Proses pola analog kontinu

On-line Ya Hebbian Keterbatasan tempat penyimpanan

Komputer Syaraf

CABAM Optimasi kombinatorial

On-line dan off line Ya Hebbian

Keterbatasan tempat penyimpanan

Simulasi komputer

LM Proses Monitor Off-line Ya Hebbian Tak ada laporan

Mekanik Elektronik Magnetik

LAM Kontrol sistem Off-line Ya Hebbian Keterbatasan tempat penyimpanan

Simulasi komputer

OLAM Pemrosesan sinyal

Off-line Ya Hebbian Belajar ekstensif off-line

Optik

Tabel Pelatihan Tanpa Supervisi

Paradigma Masalah yang diselesaikan

On-line / Off-line

Penyepadanan Pola

Tipe Belajar Pembatasan Implementasi

BSB Klasifikasi real time

Off-line Ya Koreksi erorBelajar off-line

Simulasi Komputer

Perceptron Prediksi Off-line Ya Koreksi erorTak ada laporan

Mesin perceptron

Adaline/ Madaline

Prediksi peng-hapusan derau

Off-line Ya Koreksi erorBelajar off-line

Magnetik optik

BP Pengenalan tingkah laku

Off-line Ya Koreksi erorBelajar off-line

Elektronik optik VLSi

Page 9: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 9

AVQ Self-organizing data

Off-line Ya Koreksi erorBelajar off-line

Neural-computer

CPN Self-programming

Off-line Ya Hebbian

Lack of control w/o star mapping

Neural-computer

BM Optimasi kombinatorial

Off-line Ya Hebbian dan annealing

Belajar off-line

Elektronik optik VLSi

Tabel Pelatihan Dengan Supervisi Daftar singkatan : Akronim Definisi CPN Counter propagation AG Additive Grossberg BM Boltzman Machine SG Shunting Grossberg ART1 Adaptive Resonance Theory Biner DH Hopfield Diskrit CH Hopfield Kontinu BAM Bidirectional Associative Memory Diskrit ABAM Bidirectional Associative Memory Adaptive CABAM Competitive ABAM LM Learning Matrix LAM Linear Associative Memory OLAM Optimal Linear Associative Memory BSB Brain State in a Box PERCEP Perceptron Adaline Adaptive Linear Element Madaline Multiple Adaptive Linear Element BP Back Propagation AVQ Adaptive Vektor Quantizer BACKPROPAGATION

Kelemahan JST yang terdiri dari layar tunggal membuat perkembangan JST menjadi terhenti pada sekitar tahun 1970 an. Penemuan backpropagation yang terdiri dari beberapa layar membuka kembali cakarawala. Terlebih setelah berhasil ditemukannya berbagai aplikasi yang dapat diselesaikan dengan Backpropagation, membuat JST semakin diminati orang.

Page 10: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 10

JST dengan layar tunggal memiliki keterbatasan dalam pengenalan pola. Kelemahan ini bisa ditanggulangi dengan menambahkan satu/beberapa layar tersembunyi diantara layar masukan dan keluaran. Meskipun penggunaan lebih dari satu layar tersembunyi memiliki kelebihan manfaat untuk beberapa kasus, tapi pelatihannya memerlukan waktu yang lama. Maka umumnya orang mulai mencoba dengan sebuah layar tersembunyi lebih dahulu.

Seperti halnya model JST lain, Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan. Arsitektur Backpropagation

Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar tersembunyi. Gambar berikut adalah arsitektur backpropagation dengan n buah masukan (ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit (ditambah sebuah bias), serta m buah unit keluaran.

Gambar Arsitektur Backpropagation

Vji merupakan bobot garis dari unit masukan xi ke unit layar tersembunyi VJ (VJO

merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar tersembunyi Zj. Wkj merupakan bobot dari unit layar tersembunyi ZJ ke unit keluaran yk (wko merupakan bobot dari bias di layar tersembunyi ke unit keluaran Zk)

Page 11: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 11

Pelatihan Standar Backpropagation Pelatihan Backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola

masukan dihitung maju mulai dari layar masukan hingga layar keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit di layar keluaran. Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi. Fase I: Propagasi Maju

Selama propagasi maju, sinyal masukan (=Xi) dipropagasikan ke layar tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layar tersembunyi (= Zj) tersebut selanjutnya dipropagasikan maju lagi ke layar tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan (= yk). Berikutnya, keluaran jaringan (=yk) dibandingkan dengan target yang harus dicapai (= tk). Selisih tk - yk adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi.

Fase II: Propagasi Mundur Berdasarkan kesalahan tk - yk, dihitung faktor δk (k = 1,2,..., m) yang dipakai

untuk mendistribusikan kesalahan di unit yk ke semua unit tersembunyi yang terhubung langsung dengan yk. δk juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor δ- di setiap unit di layar tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layar di bawahnya. Demikian seterusnya liingga semua faktor δ di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.

Fase III: Perubahan Bobot Setelah semua faktor δ dihitung, bobot semua garis dimodifikasi bersamaan.

Perubahan bobot suatu garis didasarkan atas faktor δ neuron di layar atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas δk yang ada di unit keluaran. Ketiga fase terebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi

Page 12: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 12

yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.

Gambar Alur Kerja Propagasi Balik (Backpropagation) Aplikasi Backpropagation Dalam Peramalan

Salah satu bidang dimana Backpropagation dapat diaplikasikan dengan baik adalah bidang peramalan (forecasting). Peramalan yang soring kita dengar adalah peramalan besarnya penjualan, nilai tukar valuta asing, prediksi besarnya aliran air sungai, dll. Sebagai contoh, dalam penjualan barang, diketahui record data penjualan suatu produk pada beberapa bulan/tahun terakhir. Masalahnya adalah memperkirakan berapa perkiraan produk yang terjual dalam bulan/tahun yang akan datang.

Secara umum, masalah peramalan dapat dinyatakan sebagai berikut: I )iketahui sejumlah data runtun waktu (time series) xi,x2,...xn. Masalahnya adalah memperkirakan berapa harga xn+i berdasarkan xi,X2, .... ,Xn.

Dengan Backpropagation, record data dipakai sebagai data pelatihan untuk mencari bobot yang optimal. Untuk itu kita perlu menetapkan besarnya periode dimana data berfluktuasi. Periode ini kita tentukan secara intuitif. Misalkan pada data besarnya debit air sungai dengan data bulanan, periode data dapat diambil selama satu tahun karena pergantian musim terjadi selama satu tahun.

Page 13: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 13

Jumlah data dalam satu periode ini dipakai sebagai jumlah masukan dalam backpropagation. Sebagai targetnya diambil data bulan pertama setelah periode berakhir. Pada data bulanan dengan periode satu tahun, maka masukan backpropagation yang dipakai terdiri dari 12 masukan. Keluaran adalah 1 unit.

Bagian tersulit adalah menentukan jumlah layar (dan unitnya). Tidak ada teori yang dengan pasti dapat dipakai. Tapi secara praktis dicoba jaringan yang kecil terlebih dahulu (misal terdiri dari 1 layar tersembunyi dengan beberapa unit saja). Jika gagal (kesalahan tidak turun dalam epoch yang besar), maka jaringan diperbesar dengan menambahkan unit tersembunyi atau bahkan menambah layar tersembunyi. FUNGSI AKTIVASI

Jaringan syaraf adalah merupakan salah satu representasi buatan dari otak

manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini diimplementasikandengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran.

Ada beberapa tipe jaringan syaraf, namun demikian, hampir semuanya memiliki komponen-komponen yang sama. Seperti halnya otak manusia, jaringan syaraf juga terdiri-dari beberapa neuron, dan ada hubungan antara neuron-neuron tersebut. Neuron-neuron tersebut akan mentrans-formasikan informasi yang diterima melalui sambungan keluarnya me-nuju ke neuron-neuron yang lain. Pada jaringan syaraf, hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut.

Gambar Struktur Neuron Jaringan Syaraf

Jika kita lihat, neuron buatan ini sebenarnya mirip dengan sel neuron biologis.

Neuron-neuron buatan tersebut bekerja dengan cara yang sama pula dengan neuron-

Page 14: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 14

neuron biologis. Informasi (disebut dengan: input) akan dikirim ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini ke-mudian akan dibandingkan dengan suatu nilai ambang {threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut mele-wati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan, tapi kalau tidak, maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang ber-hubungan dengannya. Demikian seterusnya.

Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan-lapisan (layer) yang disebut dengan lapisan neuron (neuron layers). Biasanya neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Informasi yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan input sampai ke lapisan output melalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung pada algoritma pembelajarannya, bisa jadi informasi tersebut akan dirambatkan secara mundur pada jaringan.

Gambar Fungsi Aktivasi Pada Jaringan Syaraf Sederhana

Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan.

Fungsi Aktivasi yang disediakan pada toolbox Matlab, antara lain : 1. Fungsi Undak Biner (hardlim)

Jaringan dengan lapisan tunggal sering menggunakan fungsi undak buner (step function) untuk mengkonversikan input dari suatu variabel yang bernilai kontinu ke suatu output biner (0 atau 1). Fungsi undak biner (hardlimit) dirumuskan sebagai :

Page 15: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 15

2. Fungsi Bipolar (symentric hardlims) Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya saja output yang dihasilkan berupa 1 atau -1 . Fungsi Symetric Hard Limit dirumuskan sebagai :

3. Fungsi Linear (purelin)

Fungsi linear memiliki nilai output yang sama dengan nilai inputnya. Fungsi linear dirumuskan sebagai: y = x

Page 16: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 16

4. Fungsi Saturating Linear (satlin) Fungsi ini akan bernilai 0 jika inputnya kurang dari -1/2 dan akan bernilai 1 jika inputnya lebih dari 1/2 Sedangkan jika nilai input terletak antara -1/2 dan 1/2 maka outputnya akan bernilai sama dengan nilai input ditambah 1/2. Fungsi saturating linear dirumuskan sebagai :

5. Fungsi Symetric Saturating Linear (satlins)

Fungsi ini akan bernilai -1 jika inputnya kurang dari -1, dan akan ber-nilai 1 jika inputnya lebih dari 1. Sedangkan jika nilai input terletak an-tara -1 dan 1, maka outpunya akan bernilai sama dengan nilai inputnya. Fungsi symetric saturating linear dirumuskan sebagai :

6. Fungsi Sigmoid Biner (logsig)

Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan meng-gunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai pada range 0 sampai

Page 17: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 17

1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun, fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1. Fungsi sigmoid biner dirumuskan sebagai :

7. Fungsi Sigmoid Bipolar (tansig)

Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki range antara 1 sampai -1. Fungsi sigmoid bipolar dirumuskan sebagai :

Page 18: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 18

Paradigma Aturan Pembelajaran

Arsitektur Algoritma Pembelajaran

Bidang Kerja

Pengoreksian-error Perceptron lapisan tunggal atau mutilapis

Perceptron Propagasi balik Adaline dan

Madaline

Klasifikasi pola Aproksimasi fungsi Prediksi, kontrol

Boltzmann Recurrent (berulang) Boltzman Klasifikasi pola

Hebbian Umpan maju multi lapisan (multilayer feedforward)

Analisis diskriminan linear

Analisis data Klasifikasi pola

Kompetitif LVQ (Learning Vector Quantization)

Kategori kelas Kompresi data

Terawasi supervised

Kompetitif

Jaringan ART ARTMap Klasifikasi pola Kategori kelas

Pengkoreksian-error Multilayer feedforward Proyeksi Sammon Analisis data

Umpan maju atau kompetitif

Analisis Komponen Prinsipal

Analisis data Kompresi data

Hebbian

Hopfield Network Aturan memori asosiatif

Memori asosiatif

Kompetitif Kuantisasi vektor Kategorisasi Kompresi data

Kohonen SOM Kohonen SOM Kategorisasi Analisis data

Tidak terawasi unsupervised

Kompetitif

Jaringan ART ART1, ART2 Kategorisasi

Hibrida hybrid

Pengkoreksian error dan kompetitif

Jaringan RBF Algoritma RBF Klasifikasi pola Aproksimasi fungsi Prediksi, kontrol

Tabel Paradigma, Aturan Pembelajaran, Arsitektur, Algoritma, dan Aplikasi Jaringan Saraf Tiruan

Page 19: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 19

SIKLUS PEMBUATAN APLIKASI JARINGAN SARAF TIRUAN

Gambar Siklus Pembuatan Aplikasi Jaringan Saraf Tiruan

Page 20: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 20

STUDI KASUS PERAMALAN PENJUALAN

Suatu swalayan ingin melakukan peramalan penjualan suatu produk mie instan. Peramalan penjualan pada hari Xi ditentukan oleh penjualan pada hari yang sama, 1 minggu, 2 minggu, 3 minggu, dan 4 minggu sebelum nya. Secara matematis dapat diformulasikan :

Xi+1 dipengaruhi oleh Xi-21, Xi-14, Xi-7, Xi Tabel menunjukkan data-data penjualan mie instan dalam 121 hari terakhir (pada

bulan Nopember, Desember 2006, Januari, Pebruari 2007 Kolom hari menunjukkan hari (S=Senin, S=Selasa, R=Rabu, dst), No menunjukkan nomor urut (dari 1 sampai 121), dan P menunjukkan jumlah permintaan mie instan pada hari tersebut dalam satuan dus.

Hari Tgl No P Tgl No P Tgl No P Tgl No P Tgl No P

S 1 1 10 29 29 9 27 57 11 24 85 11 21 113 12 S 2 2 8 30 30 10 28 58 10 25 86 12 22 114 13 R 3 3 12 1 31 12 29 59 15 26 87 12 23 115 14 K 4 4 10 2 32 11 30 60 12 27 88 15 24 116 15 J 5 5 12 3 33 12 31 61 8 28 89 14 25 117 13 S 6 6 30 4 34 31 1 62 28 29 90 37 26 118 35 M 7 7 35 5 35 36 2 63 32 30 91 37 27 119 38 S 8 8 9 6 36 11 3 64 10 31 92 12 28 120 11 S 9 9 10 7 37 13 4 65 13 1 93 13 29 121 12 R 10 10 11 8 38 12 5 66 14 2 94 10 K 11 11 10 9 39 10 6 67 10 3 95 9 J 12 12 12 10 40 9 7 68 13 4 96 7 S 13 13 23 11 41 24 8 69 25 5 97 25 M 14 14 26 12 42 26 9 70 26 6 98 29 S 15 15 10 13 43 10 10 71 10 7 99 11 S 16 16 11 14 44 12 11 72 15 8 100 12 R 17 17 12 15 45 12 12 73 11 9 101 13 K 18 18 11 16 46 11 13 74 11 10 102 13 J 19 19 12 17 47 12 14 75 16 11 103 12 S 20 20 24 18 48 23 15 76 26 12 104 24 M 21 21 26 19 49 25 16 77 25 13 105 25 S 22 22 9 20 50 10 17 78 10 14 106 11 S 23 23 9 21 51 7 18 79 7 15 107 8 R 24 24 12 22 52 15 19 80 12 16 108 16 K 25 25 13 23 53 13 20 81 13 17 109 13 J 26 26 12 24 54 14 21 82 12 18 110 15 S 27 27 21 25 55 23 22 83 26 19 111 28 M 28 28 26 26 56 27 23 84 27 20 112 30

Page 21: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 21

Data-data tersebut diperlihatkan secara grafis pada Gambar berikut. Pada Gambar tesebut terlihat bahwa sistem memiliki pengaruh kecenderungan musiman. Jumlah permintaan akan tinggi pada hari-hari tertentu yaitu Sabtu dan Minggu. Demikian juga, pada awal atau akhir bulan, permintaan mie instan ini bahkan lebih tinggi.

Input Target Input TargetNo

T-21 T-14 T-7 T T+7 No

T-21 T-14 T-7 T T+7

l 10 9 10 9 9 41 24 23 23 28 25 2 8 10 11 9 10 42 26 25 27 32 26 3 12 11 12 12 12 43 10 10 11 10 10 4 10 10 11 13 11 44 12 7 10 13 15 5 12 12 12 12 12 45 12 15 15 14 11 6 30 23 24 21 31 46 11 13 12 10 11 7 35 26 26 26 36 47 12 14 8 13 16 8 9 10 9 9 11 48 23 23 28 25 26 9 10 11 9 10 13 49 25 27 32 26 25

10 11 12 12 12 12 50 10 11 10 10 10 11 10 11 13 11 10 51 7 10 13 15 7 12 12 12 12 12 9 52 15 15 14 11 12 13 23 24 21 31 24 53 13 12 10 11 13 14 26 26 26 36 26 54 14 8 13 16 12 15 10 9 9 11 10 55 23 28 25 26 26 16 11 9 10 13 12 56 27 32 26 25 27

Page 22: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 22

17 12 12 12 12 12 57 11 10 10 10 11 18 11 13 11 10 11 58 10 13 15 7 12 19 12 12 12 9 12 59 15 14 11 12 12 20 24 21 31 24 23 60 12 10 11 13 15 21 26 26 36 26 25 61 8 13 16 12 14 22 9 9 11 10 10 62 28 25 26 26 37 23 9 10 13 12 7 63 32 26 25 27 37 24 12 12 12 12 15 64 10 10 10 11 12 25 13 11 10 11 13 65 13 15 7 12 13 26 12 12 9 12 14 66 14 11 12 12 10 27 21 31 24 23 23 67 10 11 13 15 9 28 26 36 26 25 27 68 13 16 12 14 7 29 9 11 10 10 11 69 25 26 26 37 25 30 10 13 12 7 10 70 26 25 27 37 29 31 12 12 12 15 15 71 10 10 11 12 11 32 11 10 11 13 12 72 15 7 12 13 12 33 12 9 12 14 8 73 11 12 12 10 13 34 31 24 23 23 28 74 11 13 15 9 13 35 36 26 25 27 32 75 16 12 14 7 12 36 11 10 10 11 10 76 26 26 37 25 24 37 13 12 7 10 13 77 25 27 37 29 25 38 12 12 15 15 14 78 10 11 12 11 11 39 10 11 13 12 10 79 7 12 13 12 8 40 9 12 14 8 13

Tabel 79 Data Yang Akan Dilatih.

Input TargetNo

T-21 T-14 T-7 T T=7 1 12 12 10 13 16 2 13 15 9 13 13 3 12 14 7 12 15 4 26 37 25 24 28 5 27 37 29 25 30 6 11 12 11 11 12 7 12 13 12 8 13 8 12 10 13 16 14 9 15 9 13 13 15

10 14 7 12 15 13 11 37 25 24 28 35 12 37 29 25 30 38 13 12 11 11 12 11 14 13 12 8 13 12

Tabel 14 Data Yang Akan Dicek

Page 23: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 23

Untuk melakukan peramalan akan digunakan jaringan syaraf dengan metode backpropagation dengan momentum. Jaringan syaraf ini terdiri atas lapisan input, 2 lapisan tersembunyi, dan lapisan output. Lapisan input terdiri atas 4 neuron, yang masing-masing mewakili input penjualan ke-(t-21), (t-14), (t-7), dan t. Lapisan tersembunyi pertama terdiri-atas 10 neuron dengan fungsi aktivasi tansig, sedangkan lapisan tersembunyi kedua terdiri-atas 5 neuron dengan fungsi aktivasi logsig. Lapisan output terdiri atas 1 neuron dengan fungsi aktivasi purelin. Sebelum jaringan dibangun, terlebih dahulu dilakukan preprosesing untuk melakukan normalisasi menggunakan mean dan deviasi standar. Apabila data input disimpan pada matriks p, dan target disimpan pada matriks t, maka :

Kemudian dibangun jaringan syaraf dengan metode pembelajaran gradient descent dengan momentum (traingdm) : Misalkan bobot awal ditetapkan sebagai berikut : Bobot awal lapisan input ke lapisan tersembunyi pertama : net.IW{1,1}=[...

0.4500 0.0894 -0.8542 0.8416 0.9579 -0.1978 -0.5595 -0.6146 -0.6119 -0.9953 0.1435 -0.4015 -0.6320 -0.7867 -0.4583 0.5986 -0.0152 1.1257 0.4672 -0.1576 0.4021 -0.7500 -0.3316 -0.8762 0.5958 0.6346 0.6376 0.6659 -0.3116 0.9297 -0.7423 0.1878 -0.0043 0.7410 -0.8049 -0.6237 -0.7518 0.4902 0.5800 -0.6967];

Bobot bias awal lapisan input ke lapisan tersembunyi pertama : net.b{1,1}=[...

-2.9086 -1.6140 2.9221 1.9021 -0.9166 1.5395 -1.2132 -1.4846 -1.4403 -2.2184];

[pn,meanp,stdp,tn,meant,stdt]=prestd(P,T)

net=newff(minmax(pn),[10 5 1],{'tansig','logsig','purelin'} ,'traingdm');

Page 24: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 24

Bobot awal lapisan tersembunyi pertama ke lapisan tersembunyi kedua : net.LW{2,1}=[...

1.4500 1.0501 0.9679 -0.0225 0.0705 -1.7650 0.8302 1.1891 1.1413 0.3847 0.7305 1.4203 -0.3329 0.1057 -0.1429 -1.5011 -1.5074 1.0495 -1.1499 -1.0838 1.5362 -1.2236 -0.6011 0.0316 0.8532 0.4183 -1.4828 -0.9369 -0.9060 1.3406 1.4153 -1.2922 -0.1157 -1.2216 1.0480 1.6869 0.0372 0.9609 -0.1592 -0.8628 0.9604 1.1946 -1.2088 1.4801 0.34184 -0.2468 1.2570 -0.9697 -1.4478 -0.1297];

Bobot bias awal lapisan tersembunyi pertama ke lapisan tersembunyi kedua : net.b{2,1}=[...

-3.2889 -1.6445 0 1.6445 3.2889];

Bobot awal tersembunyi kedua ke lapisan ouput : net.LW{3,2}=[0.6595 -0.3997 0.4192 -0.8508 0.5004];

Bobot bias awal tersembunyi kedua ke lapisan output : net.b{3,1}=-0.0622; Sebelum dilakukan pelatihan, kita tetapkan terlebih dahulu parameter-parameter yang digunakan sebagai berikut : net.trainParam.epochs = 5000; net.trainParam.goal = le-2; net.trainParam.lr = 0.5; net.trainParam.show = 200; net.trainParam.mc = 0.8; Kemudian dilakukan proses pelatihan : net=train(net,pn,tn);pause

Proses Pelatihan : TRAINGDM, Epoch 0/5000, MSE 1.15396/0.01, Gradient 0.785193/1e-010 TRAINGDM, Epoch 200/5000, MSE 0.0709291/0.01, Gradient 0.0113334/1e-010 TRAINGDM, Epoch 400/5000, MSE 0.0611334/0.01, Gradient 0.0076065/1e-010 TRAINGDM, Epoch 600/5000, MSE 0.0561193/0.01, Gradient 0.00705583/1e-010 TRAINGDM, Epoch 800/5000, MSE 0.050736/0.01, Gradient 0.00765904/1e-010 TRAINGDM, Epoch 1000/5000, MSE 0.0447094/0.01, Gradient 0.0073939/1e-010 TRAINGDM, Epoch 1200/5000, MSE 0.0408566/0.01, Gradient 0.00509012/1e-010 TRAINGDM, Epoch 1400/5000, MSE 0.0387012/0.01, Gradient 0.00427469/1e-010 TRAINGDM, Epoch 1600/5000, MSE 0.0370799/0.01, Gradient 0.00380796/1e-010

Page 25: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 25

TRAINGDM, Epoch 1800/5000, MSE 0.035724/0.01, Gradient 0.00358099/1e-010 TRAINGDM, Epoch 2000/5000, MSE 0.0344841/0.01, Gradient 0.00346605/1e-010 TRAINGDM, Epoch 2200/5000, MSE 0.0333205/0.01, Gradient 0.00334411/1e-010 TRAINGDM, Epoch 2400/5000, MSE 0.0322628/0.01, Gradient 0.00313722/1e-010 TRAINGDM, Epoch 2600/5000, MSE 0.0313643/0.01, Gradient 0.00283738/1e-010 TRAINGDM, Epoch 2800/5000, MSE 0.0306464/0.01, Gradient 0.00251437/1e-010 TRAINGDM, Epoch 3000/5000, MSE 0.0300804/0.01, Gradient 0.00225066/1e-010 TRAINGDM, Epoch 3200/5000, MSE 0.0296119/0.01, Gradient 0.00209144/1e-010 TRAINGDM, Epoch 3400/5000, MSE 0.0291917/0.01, Gradient 0.00201661/1e-010 TRAINGDM, Epoch 3600/5000, MSE 0.0287926/0.01, Gradient 0.00198145/1e-010 TRAINGDM, Epoch 3800/5000, MSE 0.0284046/0.01, Gradient 0.00195814/1e-010 TRAINGDM, Epoch 4000/5000, MSE 0.0280249/0.01, Gradient 0.0019398/1e-010 TRAINGDM, Epoch 4200/5000, MSE 0.0276507/0.01, Gradient 0.00193121/1e-010 TRAINGDM, Epoch 4400/5000, MSE 0.027277/0.01, Gradient 0.00193774/1e-010 TRAINGDM, Epoch 4600/5000, MSE 0.0268978/0.01, Gradient 0.00196013/1e-010 TRAINGDM, Epoch 4800/5000, MSE 0.0265065/0.01, Gradient 0.00200075/1e-010 TRAINGDM, Epoch 5000/5000, MSE 0.0260923/0.01, Gradient 0.00208085/1e-010 TRAINGDM, Maximum epoch reached, performance goal was not met.

Gambar Hasil Pelatihan Sampai 5000 Epoch

Page 26: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 26

Diperoleh bobot akhir : BobotAkhir_Input = 1.1605 0.7208 -1.7414 0.6660 2.4893 0.2488 -0.7857 -0.2273 -0.2320 -0.7314 0.2584 -1.0628 -0.4607 -0.2146 0.1429 1.2892 -2.2951 2.2632 1.0401 0.2142 1.0997 -1.1705 -1.9181 -0.9992 -0.5987 0.1715 1.8544 0.3305 -0.7688 -0.4725 -1.7628 1.9775 -0.0131 0.2169 -1.8838 1.2326 -0.9041 0.1325 0.3392 -0.5816

BobotAkhir_Bias_Input = -2.2329 -2.8326 2.9022 2.1041 -0.8067 1.8065 -0.7975 -1.0957 -0.7028 -2.3400

BobotAkhir_Lapisan1 = 1.4245 1.0772 1.0029 -0.0390 0.0126 -1.7508 0.8081 1.1688 1.0990 0.3959 0.8857 1.4784 -0.0239 0.0917 -0.5102 -1.0847 -1.9556 1.0259 -1.2774 -1.0410 1.3385 -2.6600 -0.5967 0.0841 2.7134 -0.0976 -1.1809 -0.9917 -1.8543 0.9382 1.1372 -1.4831 0.6483 -0.4661 -0.0826 3.0700 -0.7946 0.4980 -0.1740 -1.2393 1.0950 1.1320 -1.4433 1.2657 0.5956 -0.3650 1.7735 -2.2310 -1.3305 0.3142

BobotAkhir_Bias_Lapisan1 = -3.3011 -1.6648 0.4462 2.1487 3.0177

BobotAkhir_Lapisan2 = 0.6345 -1.0312 -2.1722 -1.8339 1.9859

BobotAkhir_Bias_Lapisan2 = 1.8964

Pengujian dilakukan terhadap data-data yang ikut dilatih : an = sim(net,pn); a = poststd(an,meant,stdt);

Menghasilkan : Datake- Target(T) Output(a) E=T-a 1 9.00 10.58 -1.58

Page 27: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 27

2 10.00 9.39 0.61 3 12.00 11.39 0.61 4 11.00 11.69 -0.69 5 12.00 11.35 0.65 6 31.00 31.01 -0.01 7 36.00 35.57 0.43 8 11.00 10.77 0.23 9 13.00 11.80 1.20 10 12.00 10.46 1.54 11 10.00 11.12 -1.12 12 9.00 11.35 -2.35 13 24.00 23.68 0.32 14 26.00 26.97 -0.97 15 10.00 12.58 -2.58 16 12.00 12.97 -0.97 17 12.00 11.35 0.65 18 11.00 10.51 0.49 19 12.00 11.84 0.16 20 23.00 24.12 -1.12 21 25.00 24.79 0.21 22 10.00 9.90 0.10 23 7.00 9.78 -2.78 24 15.00 11.35 3.65 25 13.00 12.29 0.71 26 14.00 13.56 0.44 27 23.00 24.00 -1.00 28 27.00 26.41 0.59 29 11.00 9.82 1.18 30 10.00 10.84 -0.84 31 15.00 12.38 2.62 32 12.00 11.92 0.08 33 8.00 11.60 -3.60 34 28.00 28.07 -0.07 35 32.00 32.09 -0.09 36 10.00 11.63 -1.63 37 13.00 14.13 -1.13 38 14.00 12.56 1.44 39 10.00 10.42 -0.42 40 13.00 12.07 0.93 41 25.00 25.48 -0.48 42 26.00 26.88 -0.88 43 10.00 10.54 -0.54 44 15.00 12.70 2.30 45 11.00 11.81 -0.81 46 11.00 10.82 0.18 47 16.00 14.29 1.71 48 26.00 24.05 1.95 49 25.00 25.12 -0.12 50 10.00 10.70 -0.70 51 7.00 6.73 0.27 52 12.00 12.62 -0.62 53 13.00 12.44 0.56 54 12.00 11.98 0.02 55 26.00 24.73 1.27 56 27.00 27.29 -0.29 57 11.00 11.21 -0.21 58 12.00 12.41 -0.41 59 12.00 13.11 -1.11 60 15.00 12.07 2.93

Page 28: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 28

61 14.00 13.82 0.18 62 37.00 36.76 0.24 63 37.00 37.51 -0.51 64 12.00 11.34 0.66 65 13.00 14.32 -1.32 66 10.00 12.19 -2.19 67 9.00 10.25 -1.25 68 7.00 8.68 -1.68 69 25.00 25.88 -0.88 70 29.00 27.09 1.91 71 11.00 10.85 0.15 72 12.00 11.09 0.91 73 13.00 11.26 1.74 74 13.00 12.61 0.39 75 12.00 11.75 0.25 76 24.00 24.55 -0.55 77 25.00 25.03 -0.03 78 11.00 10.31 0.69 79 8.00 7.56 0.44

Error (E) terkecil terletak pada data ke-6 yaitu sebesar 0.01 ; sedangkan E terbesar terletak pada data ke-24 yaitu sebesar 3.6536. nilai MSE di akhir pelatihan sebesar 0.026. Output jaringan dan target dianalisis dengan regresi linear menggunakan postreg : [m1,a1,r1]=postreg(a,T)

Menghasilkan Gradien garis terbaik (m1): m1 = 0.9730

Konstanta : a1 = 0.4300

Persamaan garis untuk kecocokan terbaik : 0.973T + 0.4303 Koefisien korelasi : r1 = 0.9867

Page 29: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 29

Gambar Perbandingan Antara Target Dengan Output Jaringan, Untuk Data Pelatihan Selanjutnya, pengujian akan dilakukan terhadap data-data yang tidak ikut dilatih (Data cheking sebanyak 14 data pada Tabel). Misalnya data cek disimpan pada matriks Q untuk input data (t-21), (t-14), (t-7), dan t; serta matriks TQ untuk target. Sebelumnya kita lakukan normalisasi terlebih dahulu dengan trastd, hasil simulasi didenormalisasi dengan poststd. Qn = trastd(Q,meanp,stdp); Bn = sim(net,Qn) B = poststd(bn,meant,stdt)

Menghasilkan: Data cek ke- Target (TQ) Output (b) E=TQ-b 1 16.00 13.20 2.80 2 13.00 13.63 -0.63 3 15.00 14.44 0.56 4 28.00 25.83 2.17 5 30.00 27.60 2.40

Page 30: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 30

6 12.00 10.78 1.22 7 13.00 11.48 1.52 8 14.00 12.31 1.69 9 15.00 12.01 2.99 10 13.00 12.00 1.00 11 35.00 27.51 7.49 12 38.00 36.75 1.25 13 11.00 11.64 -0.64 14 12.00 14.44 -2.44

Koefisien korelasi bernilai 0.9750 (mendekati 1), menunjukkan hasil yang baik untuk kecocokan output jaringan dengan target. Lihat perbandingan antara target dengan output jaringan pada gambar berikut. Pada gambar berikut, output jaringan (o) dan target (*) sebagian besar sudah berdekatan (hampir menempati posisi yang sama). Hasil terbaik terjadi apabila posisi (o) dan (*) betul-betul berada pada posisi yang sama.

Gambar Perbandingan Antara Target Dengan Output Jaringan, Untuk Data Pengujian

Page 31: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 31

Coding Selengkapnya >>Clear; % Data Input & Target >>Data=[…

10 9 10 9 9 8 10 11 9 10 12 11 12 12 12 10 10 11 13 11 12 12 12 12 12 30 23 24 21 31 35 26 26 26 36 9 10 9 9 11 10 11 9 10 13 11 12 12 12 12 10 11 13 11 10 12 12 12 12 9 23 24 21 31 24 26 26 26 36 26 10 9 9 11 10 11 9 10 13 12 12 12 12 12 12 11 13 11 10 11 12 12 12 9 12 24 21 31 24 23 26 26 36 26 25 9 9 11 10 10 9 10 13 12 7 12 12 12 12 15 13 11 10 11 13 12 12 9 12 14 21 31 24 23 23 26 36 26 25 27 9 11 10 10 11 10 13 12 7 10 12 12 12 15 15 11 10 11 13 12 12 9 12 14 8 31 24 23 23 28 36 26 25 27 32 11 10 10 11 10 13 12 7 10 13 12 12 15 15 14 10 11 13 12 10 9 12 14 8 13 24 23 23 28 25 26 25 27 32 26 10 10 11 10 10 12 7 10 13 15 12 15 15 14 11 11 13 12 10 11 12 14 8 13 16 23 23 28 25 26 25 27 32 26 25 10 11 10 10 10 7 10 13 15 7 15 15 14 11 12 13 12 10 11 13 14 8 13 16 12

Page 32: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 32

23 28 25 26 26 27 32 26 25 27 11 10 10 10 11 10 13 15 7 12 15 14 11 12 12 12 10 11 13 15 8 13 16 12 14 28 25 26 26 37 32 26 25 27 37 10 10 10 11 12 13 15 7 12 13 14 11 12 12 10 10 11 13 15 9 13 16 12 14 7 25 26 26 37 25 26 25 27 37 29 10 10 11 12 11 15 7 12 13 12 11 12 12 10 13 11 13 15 9 13 16 12 14 7 12 26 26 37 25 24 25 27 37 29 25 10 11 12 11 11 7 12 13 12 8];

>> P=Data(:,1:4)'; >> T=Data(:,5)'; %Preprocessing >> [pn,meanp,stdp,tn,meant,stdt]=prestd(P,T) %Membangun Jaringan Syaraf Feedforward >> net=newff(minmax(pn),[10 5 1],{'tansig','logsig','purelin'} ,'traingdm'); %Set Bobot >> net.IW{1,1}=[...

0.4500 0.0894 -0.8542 0.8416 0.9579 -0.1978 -0.5595 -0.6146 -0.6119 -0.9953 0.1435 -0.4015 -0.6320 -0.7867 -0.4583 0.5986 -0.0152 1.1257 0.4672 -0.1576 0.4021 -0.7500 -0.3316 -0.8762 0.5958 0.6346 0.6376 0.6659 -0.3116 0.9297 -0.7423 0.1878 -0.0043 0.7410 -0.8049 -0.6237 -0.7518 0.4902 0.5800 -0.6967];

>> net.b{1,1}=[...

-2.9086 -1.6140 2.9221 1.9021 -0.9166 1.5395 -1.2132 -1.4846 -1.4403

Page 33: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 33

-2.2184]; >> net.LW{2,1}=[...

1.4500 1.0501 0.9679 -0.0225 0.0705 -1.7650 0.8302 1.1891 1.1413 0.3847 0.7305 1.4203 -0.3329 0.1057 -0.1429 -1.5011 -1.5074 1.0495 -1.1499 -1.0838 1.5362 -1.2236 -0.6011 0.0316 0.8532 0.4183 -1.4828 -0.9369 -0.9060 1.3406 1.4153 -1.2922 -0.1157 -1.2216 1.0480 1.6869 0.0372 0.9609 -0.1592 -0.8628 0.9604 1.1946 -1.2088 1.4801 0.34184 -0.2468 1.2570 -0.9697 -1.4478 -0.1297];

>> net.b{2,1}=[...

-3.2889 -1.6445 0 1.6445 3.2889];

>> net.LW{3,2}=[0.6595 -0.3997 0.4192 -0.8508 0.5004]; >> net.b{3,1}=-0.0622; % Melihat Bobot-Bobot Awal Input, Lapisan Dan Bias >> BobotAwal_Input = net.IW{1,1} >> BobotAwal_Bias_Input = net.b{1,1} >> BobotAwal_Lapisan1 = net.LW{2,1} >> BobotAwal_Bias_Lapisan1 = net.b{2,1} >> BobotAkhir_Lapisan2 = net.LW{3,2} >> BobotAkhir_Bias_Lapisan2 = net.b{3,1} % Set Max Epoch, Goal, Learning Rate, Show Step >> net.trainParam.epochs = 5000; >> net.trainParam.goal = le-2; >> net.trainParam.lr = 0.5; >> net.trainParam.show = 200; >> net.trainParam.mc = 0.8; % Melakukan Pembelajaran >> net=train(net,pn,tn);pause % Melihat Bobot-Bobot Awal Input, Lapisan Dan Bias >> BobotAkhir_Input = net.IW{1,1} >> BobotAkhir_Bias_Input = net.b{1,1} >> BobotAkhir_Lapisan1 = net.LW{2,1} >> BobotAkhir_Bias_Lapisan1 = net.b{2,1} >> BobotAkhir_Lapisan2 = net.LW{3,2} >> BobotAkhir_Bias_Lapisan2 = net.b{3,1} % Malakukan Simulasi >> an = sim(net,pn); >> a = poststd(an,meant,stdt); >> H = [(1:size(P,2))' T' a' (T'-a')]; >> sprintf('%2d %9.2f %7.2f %5.2f\n',H')

Page 34: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 34

% Evaluasi Output Jaringan (Data Pelatihan Dengan Target) >> [m1,a1,r1]=postreg(a,T) >> pause >> plot([1:size(P,2)]',T,'bo',[1:size(P,2)]',a','r*'); >> title('Hasil Pengujian Dengan Data Pelatiha: Target(o), Output(*)'); >> xlabel('Data Ke-');ylabel('Target/Output');pause % Input Baru Q akan di Tes, Dengan target PQ >> Cek=[...

12 12 10 13 16 13 15 9 13 13 12 14 7 12 15 26 37 25 24 28 27 37 29 25 30 11 12 11 11 12 12 13 12 8 13 12 10 13 16 14 15 9 13 13 15 14 7 12 15 13 37 25 24 28 35 37 29 25 30 38 12 11 11 12 11 13 12 8 13 12];

>> Q =Cek(:,1:4)'; >> TQ=Cek(:,5)'; % Normalisasi Input Baru >> Qn=trastd(Q,meanp,stdp); >> bn=sim(net,Qn); >> b=poststd(bn,meant,stdt) >> L=[(1:size(Q,2))' TQ' b' (TQ'-b')]; >> sprintf('%2d %11.2f %9.2f %7.2f\n',L') % Evaluasi Output Jaringan (Data Testing Dengan Target) >> [m2,b1,r2]=postreg(b,TQ) >> pause >> k=[1:size(Q,2)]'; >> plot(k,TQ,'bo',k,b','r*'); >> title('Hasil Pengujian Dengan Data Pelatihan: Target(o), Output(*)'); >> xlabel('Data Ke-');ylabel('Target/Output'); >> text(k+0.2*ones(length(k),1),TQ,int2str(k));

Page 35: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 35

PERAMALAN CUACA BERBASIS LOGIKA FUZZY Informasi cuaca merupakan hal penting yang mendukung kelancaran kegiatan

manusia. Peramalan cuaca berbasis logika fuzzy dilakukan dengan memberikan masukan berupa suhu, tekanan dan kelembaban relatif. Kemudian, hasilnya adalah masukan peramalan cuaca yang berupa suhu rata-rata, kelembaban relatif rata-rata serta keadaan cuaca. Peramalan cuaca berbasis logika fuzzy di-lakukan dengan sistem fuzzifikasi dan defuzzifikasi seperti pada FLC (Fuzzy Logic Controller). Tujuannya adalah menghasilkan peramalan yang lebih baik dibandingkan peramalan yang masih dilakukan manual oleh peramal cuaca (forecaster).

Dengan menggunakan proses fuzzifikasi dan defuzzifikasi, data masukan crisp diubah menjadi data fungsi keanggotaan fuzzy melalui proses fuzzifikasi. Sebaliknya. data keluaran melalui proses defuzzifkasi akan diubah menjadi data keluaran yang diinginkan yaitu suhu rata-rata, kelembaban rata-rata, dan keadaan cuaca. Fungsi keanggotaan (membership function) himpunan fuzzy untuk masing-masing masukan adalah : 1. Fungsi keanggotaan masukan suhu (temperatur) : very low, low medium, high, dan

very high. 2. Fungsi keanggotaan masukan tekanan (pressure) : very low, low medium, high, dan

very high. 3. Fungsi keanggotaan masukan kelembaban relatif (relative humidity) : very

low, low, medium, high, dan very high. Fungsi keanggotaan himpunan fuzzy untuk masing-masing keluaran adalah : 1. Fungsi keanggotaan keluaran suhu rata-rata : very low, low medium, high, dan very

high. 2. Fungsi keanggotaan keluaran kelembaban relatif rata-rata : very low, low, medium,

high, dan very high. 3. Fungsi keanggotaan keluaran keadaan cuaca : hujan, hujan berawan, berawan,

cerah berawan, dan cerah. Peramalan cuaca memberikan masukan suhu, tekanan, dan kelembaban relatif suatu daerah dengan batasan-batasannya, yaitu : 1. Batasan suhu, yaitu berada di antara 24,3°C sampai dengan 31°C untuk

mendefinisikan suhu udara saat ini.

Page 36: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 36

2. Batasan tekanan udara, yaitu berada di antara 1006 mBar sampai dengan 1014,6 mBar untuk mendefinisikan tekanan udara saat ini.

3. Batasan kelembaban relatif, yaitu berada di antara 62% sampai dengan 97% untuk mendefinisikan tingkat kelembaban udara relatif saat ini.

(a)

(b)

(c)

Gambar (A) Fungsi Keanggotaan Masukan Temperatur (b) Fungsi keanggotaan masukan tekanan udara (c) Fungsi keanggotaan masukan kelembahan udara

Page 37: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 37

(a)

(b)

(c)

Gambar (a) Fungsi keanggotaan keluaran temperatur rata-rata (b) Fungsi keanggotaan keluaran kelembaban udara (c) Fungsi keanggotaan keluaran keadaan cuaca

Page 38: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 38

(a)

(b)

Gambar (a) Keluaran Suhu Rata-Rata (b) Keluaran Kelembaban Relatif Rata-Rata

Fuzzy Rule Base IF THEN No.

RH Tek Temp Out_RH Out_Temp OutCast 1 Very Low Very Low Very High Very Low Hujan 2 Medium Very Low Very High Very Low Hujan 3 High Very Low Very High Very Low Hujan 4 Very Low Low Very Low Very High Very Low Hujan 5 Low Low Very Low Very Low Very High Cerah 6 Very High Low Very Low Very High Very Low Hujan 7 Medium Very Low Very High Very Low Hujan 8 Very Low High Very Low Very Low Very High Cerah 9 Low High Very Low Very Low Very High Cerah

10 Very High High Very Low Very Low Very High Cerah 11 Very Low Very High Very Low Low Medium Cerah Berawan 12 Low Very High Very Low Very Low Very High Cerah 13 Very High Very High Very Low Very High Very Low Hujan 14 Very Low Low Low Medium Cerah Berawan 15 Low Very Low Low Very Low Very High Cerah

Page 39: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 39

16 Medium Very Low Low Low Medium Cerah Berawan 17 High Very Low Low Very High Very Low Hujan 18 Very High Very Low Low Low Medium Cerah Berawan 19 Low Low Low Very Low Very High Cerah 20 Medium Low Low Low Medium Cerah Berawan 21 High Low Low Very High Very Low Hujan 22 Very High Low Low Very Low Very High Cerah 23 Low Medium Low Very Low Very High Cerah 24 Medium Medium Low Very High Very Low Hujan 25 High Medium Low Very High Very Low Hujan 26 Very High Medium Low Very High Very Low Hujan 27 Low High Low Very Low Very High Cerah 28 Medium High Low Very Low Very High Cerah 29 High High Low Very Low Very High Cerah 30 Very High High Low Very Low Very High Cerah 31 Very High Low Low Medium Cerah Berawan 32 Very Low Very Low Medium Low Medium Cerah Berawan 33 Low Medium Very Low Very High Cerah 34 Medium Very Low Medium Medium High Hujan Berawan 35 High Very Low Medium Very High Very Low Hujan 36 Very High Very Low Medium High Low Berawan 37 Very Low Low Medium Very Low Very High Cerah 38 Medium Low Medium High Low Berawan 39 High Low Medium Very High Very Low Hujan 40 Very High Low Medium High Low Berawan 41 Very Low Medium Medium Very High Very Low Hujan 42 Medium Medium Medium Very High Very Low Hujan 43 High Medium Medium Very High Very Low Hujan 44 Very High Medium Medium Very High Very Low Hujan 45 High Medium Very Low Very High Cerah 46 Very Low Very High Medium Low Medium ' Cerah Berawan 47 Medium Very High Medium Very High Very Low Hujan 48 High Very High Medium Very High Very Low Hujan 49 Very High Very High Medium Very Low Very High Cerah 50 Very Low Very Low High Very Low Very High Cerah 51 Low High Very Low Very High Cerah 52 Medium Very Low High Very Low Very High Cerah 53 High Very Low High Very High Very Low Hujan 54 Low High Very Low Very High Cerah 55 Very High High Very Low Very High Cerah 56 Very Low Medium High Very Low Very High Cerah 57 Medium Medium High Very High Very Tow Hujan 58 High Medium High Very High Very Low Hujan 59 High High Very Low Very High Cerah 60 Very Low Very High High Low Medium Cerah Berawan 61 Medium Very High High Very Low Very High Cerah 62 High Very High High Very Low Very High Cerah 63 Very Tow Very Low Very High Medium High Hujan Berawan

Page 40: Tugas Akhir SSB - wahyudisetiawan2 · fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat ... dan desain GUI (graphical ... Cari tingkat aktivasi unit-unit output menggunakan

Sistem Syaraf Buatan

Halaman 40

64 Tow Very High Very Tow Very High Cerah 65 Medium Very Tow Very High Medium High Hujan Berawan 66 High Very High Very High Very Low Hujan 67 Very High Very Low Very High Medium High Hujan Berawan 68 Very Tow Tow Very High Very High Very Low Hujan 69 Medium Low Very High Medium High Hujan Berawan 70 Very High Low Very High High Low Berawan 71 Very Tow Medium Very High Very High Very Low Hujan 72 Medium Medium Very High Very High Very Tow Hujan 73 Very High Medium Very High Very High Very Low Hujan 74 Very Tow High Very High Very Low Very High Cerah 75 Medium High Very High Very Low Very High Cerah 76 Very High High Very High Very Tow Very High Cerah 77 Very Tow Very High Very High Low Medium Cerah Berawan 78 Medium Very High Very High Medium High Hujan Berawan 79 Very High Very High Very High Very High Very Tow Hujan

DAFTAR PUSTAKA [1] Diyah Puspitaningrum. Pengantar Jaringan Syaraf Tiruan. Yogyakarta : Penerbit

Andi. 2006. [2] Jong Jek Siang. Jaringan Syaraf Tiruan Pemrograman Menggunakan Matlab.

Yogyakarta : Penerbit Andi. 2005. [3] Lanny W. Pandjaitan. Dasar-Dasar Komputasi Cerdas. Yogyakarta : Penerbit

Andi. 2007. [4] Sri Kusumadewi. Membangun Jaringan Syaraf Tiruan Menggunakan Matlab.

Yogyakarta : Penerbit Graha Ilmu. 2004.