Anda di halaman 1dari 9

MODUL PERKULIAHAN

Sistem Cerdas

Jaringan Saraf Tiruan Menggunakan Neural Network


Toolbox™ Matlab

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh


Teknik Teknik Elektro 14035 Yudhi Gunardi, ST, MT
07
Abstract Kompetensi
Pemograman jaringan syaraf tiruan Mampu menjelaskan dan memahami
menggunakan matlab pemograman jaringan syaraf tiruan

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


1 Yudhi Gunardi, ST, MT http://www.mercubuana.ac.id
Jaringan Saraf Tiruan Menggunakan Neural Network
Toolbox™ Matlab
Kasus :
Bayangkan jika kita mempunyai sekumpulan angka yang kita berikan nama matriks P, sebagai
berikut:
P = [1 2 3 4 5 6 7 8 9 10]
Dan kita juga punya matriks lain, sebut matriks T :
T = [6 12 14 21 27 29 36 41 44 51]
Matriks P adalah input untuk JST kita dan T adalah targetnya. Dengan kata lain, kita akan
mengajari P agar mencapai hasil seperti T. Paham, bukan? ^_^
Ada berbagai jenis algoritma dalam JST. Nah, untuk kasus ini saya akan menggunakan
Backpropagation.
Neural Network Toolbox
Sekarang mari kita bermain-main menggunakan Neural Network Toolbox.
1. Mari kita bangun arsitektur jaringannya.
Syntax:
net = newff(P,T,[S1 S2...S(N-l)],{TF1
TF2...TFNl},BTF,BLF,PF,IPF,OPF,DDF)

Penjelasan:
Mmmm…. Sintaknya panjang amat. Untuk kesempatan kali ini, kita akan mengurangi input dan
hanya menggunakan beberapa saja. Parameter input yang lain kita biarkan pada nilai default-
nya. Ok..? Nah, kita reduksi menjadi seperti ini :

net = newff(P,T,[S1 S2...S(N-l)])

P dan T masing-masing adalah input dan Target JST kita, sedangkan S1 S2...S(N-l) adalah
jumlah neuron dalam layer JST. Asumsi kita membentuk arsitektur sebagai berikut :

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


2 Yudhi Gunardi, ST, MT http://www.mercubuana.ac.id
Kita mempunya 2 layer tersembunyi (hidden layer), dan kita namai HL 1 dan HL2. HL 1 dan 2
masing-masing memiliki jumlah neuron 3 dan 2.

Nah, sampai saat ini, kita dapat memprogram JST kita sebagai berikut:

% input
P = [1 2 3 4 5 6 7 8 9 10];
% target
T = [6 12 14 21 27 29 36 41 44 51];
% bangun JST
JST = newff(P,T,[3 2]);

2. Kita bisa mensimulasikan JST kita, karena pada saat ini Matlab sudah membangkitkan nilai-
nilai bias dan bobot awal pada tiap-tiap konelsi dan neron.

Sintax:
Y = sim(JST,P);
Hasilnya dapat kita plot dengan perintah berikut:
plot(P,T,'*',P,Y,'o');

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


3 Yudhi Gunardi, ST, MT http://www.mercubuana.ac.id
Target yang ingin kita capai adalah lambang bintang (*), dan hasil simulasi diperlihatkan
dengan tanda lingkaran (o).
* Jangan khawatir kalau hasilnya akan berbeda, karena Matlab akan membangkinkan
bilangan acak. Dengan kata lain, bobot dan bias yang dihasilkan akan berbeda, sehingga
hasil akhirnya akan berbeda pula.
Sampai saat ini kita telah menulis sintak berikut:
% input
P = [1 2 3 4 5 6 7 8 9 10];
% target
T = [6 12 14 21 27 29 36 41 44 51];
% bangun JST
JST = newff(P,T,[3 2]);
% simulasikan JST
Y = sim(JST,P);
%plot hasilnya
plot(P,T,'*',P,Y,'o');

Well……. Dengan kata lain, JST kita belum pintar… kita harus melatihnya agar pintar.

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


4 Yudhi Gunardi, ST, MT http://www.mercubuana.ac.id
3. Sekarang kita akan melatih JST kita agar pintar dan mencapai target yang diinginkan :)
Sintak yang kita gunakan sebagai berikut:
JST.trainParam.epochs = 5;
JST = train(JST,P,T);

Maksud sintak ini adalah kita akan melatih JST sebanyak 5 iterasi (epoch) maju-mundur
(backpropagation). Kemudian akan muncul jendela nntraintool.
Untuk saat ini, mari kita abaikan dulu jendela ini. Kita lanjut ke langkah berikutnya.

4. Sekarang kita simulasikan dan plot hasil pelatihan tadi.


Sintak :
Y = sim(JST,P);
plot(P,T,'*',P,Y,'o');

Diperoleh hasil seperti berikut :

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


5 Yudhi Gunardi, ST, MT http://www.mercubuana.ac.id
Wah.. sepertinya JST kita sudah semakin cerdas. Tanda lingkaran sudah mendekati tanda
bintang. Namun belum sepenuhnya mencapai target yang diinginkan. Sampai saat ini, sintak
yang sudah kita buat adalah sebagai berikut:
% input
P = [1 2 3 4 5 6 7 8 9 10];
% target
T = [6 12 14 21 27 29 36 41 44 51];
% bangun JST
JST = newff(P,T,[3 2]);
% simulasikan JST
Y = sim(JST,P);
%plot hasilnya
plot(P,T,'*',P,Y,'o');
%latih JST sebanyak 5 epoch
JST.trainParam.epochs = 5;
JST = train(JST,P,T);
%simulasikan JST setelah pelatihan
Y = sim(JST,P);
plot(P,T,'*',P,Y,'o');

5. Agar JST kita lebih pintar, kita harus melatihnya lebih banyak lagi. Sekarang kita naikkan
epoch menjadi 30 dan selanjutnya kita latih dan simulasikan lagi.

Syntax :
JST.trainParam.epochs = 30;
JST = train(JST,P,T);
Y = sim(JST,P);
plot(P,T,'*',P,Y,'o');

Hasil akhir yang diperoleh sebagai berikut:

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


6 Yudhi Gunardi, ST, MT http://www.mercubuana.ac.id
Sintak lengkapnya sebagai berikut :

% input
P = [1 2 3 4 5 6 7 8 9 10];
% target
T = [6 12 14 21 27 29 36 41 44 51];
% bangun JST
JST = newff(P,T,[3 2]);
% simulasikan JST
Y = sim(JST,P);
%plot hasilnya
plot(P,T,'*',P,Y,'o');
%latih JST sebanyak 5 epoch
JST.trainParam.epochs = 5;
JST = train(JST,P,T);
%simulasikan JST setelah pelatihan
Y = sim(JST,P);
plot(P,T,'*',P,Y,'o');
%naikkan epoch

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


7 Yudhi Gunardi, ST, MT http://www.mercubuana.ac.id
JST.trainParam.epochs = 30;
JST = train(JST,P,T);
Y = sim(JST,P);
plot(P,T,'*',P,Y,'o');

Apa yang saya tulis adalah pengetahuan yang sangat dasar mengenai JST. Begitu pula dari sisi
pemrograman. Untuk menghasilkan performance yang lebih baik, teman-teman dituntut untuk
belajar lebih lanjut lagi dengan mengatur berbagai parameter dari JST tersebut, baik melalui
pengaturan arsitektur JST, pengaturan bobot dan bias awal, momentum, metode pelatihan dan
lain-lain.

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


8 Yudhi Gunardi, ST, MT http://www.mercubuana.ac.id
Daftar Pustaka

1. Kusumadewi; Sri. 2003. Artificial Intelligence (Teknik & Aplikasinya). Yogyakarta: Graha Ilmu
2. Suyoto. 2004. Intelegensi Buatan (Teori dan Pemrograman). Yogyakarta : Gava media.
3. Kusumadewi; Sri. 2004. Membangun Jaringan Syaraf Tiruan dengan Matlab & Excel Link. Yogyakarta:
Graha Ilmu.
4. Kuswadi; Son. 2004. Kendali Cerdas: Teori dan Aplikasi Praktisnya. Yogyakarta : Andi
5. Away, gunaldi, 2010, the shortcut of matlab programing, informatic bandung.
6. Kusumadewi; Sri. 2002, analisis dan disain sistem fuzzy menggunakan toolsbox matlab, Yogyakarta:
Graha Ilmu.

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


9 Yudhi Gunardi, ST, MT http://www.mercubuana.ac.id

Anda mungkin juga menyukai