Anda di halaman 1dari 12

MODUL PERKULIAHAN

Sistem Cerdas

Jaringan Syaraf Tiruan (JST):


MATLAB (Lanjutan)
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Teknik Teknik Elektro MK14035 Dr. Ir. Andi Adriansyah, M.Eng

08
Abstract Kompetensi
Pemograman jaringan syaraf tiruan Mampu menjelaskan dan
menggunakan matlab untuk memahami pemograman jaringan
kemampuan lebih lanjut syaraf tiruan

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


1 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
VIII. PEMROGRAMAN JARINGAN SYARAF TIRUAN DENGAN MATLAB

Pengenalan Matlab
Matlab merupakan perangkat lunak yang cocok dipakai sebagai alat komputasi yang melibatkan

penggunaan matriks dan vector. Fungsi-fungsi dalam toolbox matlab dibuat untuk memudahkan

perhitungan tersebut. Sebagai contoh, matlab dapat dengan mudah dipakai untuk

menyelesaikan permasalahan system persamaan linier, program linier dengan simpleks, hingga

system yang kompleks seperti peramalan runtun waktu, pengolahan waktu, dll

Banyak model jaringan syaraf tiruan menggunakan manipulasi matriks/vector dalam iterasinya.

Maka Matlab merupakan perangkat lunak yang cocok dipakai. Matlab menyediakan fungsi-

fungsi khusus untuk menyelesaiakan model jaringan syaraf tiruan. Pemakai tinggal memasukan

vector masukan, target, model dan parameter yang diinginkan (laju pemahaman, threshold, bias,

dll)

Dalam modul ini menggunakan Matlab 2007 untuk membantu menyelesaiakn model jaringan

syaraf tiruan. Dan dalam modul ini diperkenalkan dasar-dasar manipulasi matriks dan vector.

Memulai Matlab

Ketika pertama kali membuka Matlab akan muncul form sebagai berikut :

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


2 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
Matlab memiliki 5 buah jendela Utama:

a. Jendela perintah ( command window ) seperti gambar diatas. Jendela perintah merupakan

tempat untuk memasukan perintah-perintah yang kita inginkan.sintaks perintah dalam matlab

akan dijelaskan dengan rinci pada bab-bab selanjutnya

Baik perintah maupun keluaran Matlab muncul dalam jendela perintah. Apabila terlalu lama

dipakai, biasanya jendela perintah akan terasa sangat panjang. Untuk menghapus semua teks

dalam jendela perintah, anda dapat memilih clear command window dari menu edit.

Semua perintah dan keluaran yang terdapat di jendela perintah dapat kita copy ( setelah diblok

terlebih dahulu) dan paste ke perangkat lunak lain (missal word)

b. Jendela daftar perintah (command history) seperti yang tampak di kiri bawah. Jendela ini

memuat daftar perintah yang pernah kita ketikan dalam jendela perintah. Untuk mengeksekusi

kembali perintah yang pernah dipakai drag perintah tersebut dari jendela daftar perintah ke

jendela perintah

c. Jendela Help

d. Jendela Direktori

e. Jendela Workspace

Selain jendela-jendela tersebut, Matlab juga menyediakan fasilitas editor program. Program

dalam Matlab mirip dengan bahasa C++. Caranya adalah dengan membuka m-file dari menu

file-new-m-file atau dengan menekan Alt-N

Untuk membantu malihat format perintah, anda bisa menggunakan help dengan 2 cara

a. mengetikan help (topic) dalam jendela perintah. Sebagai contoh jika anda mengetikan help

ones (ones adalah perintah untuk membuat matrik yang semua elementnya adalah 1. Maka

akan muncul

>> help ones


ONES Ones array.
ONES(N) is an N-by-N matrix of ones.

ONES(M,N) or ONES([M,N]) is an M-by-N matrix of ones.

ONES(M,N,P,...) or ONES([M N P ...]) is an M-by-N-by-P-by-... array of

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


3 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
ones.

ONES(SIZE(A)) is the same size as A and all ones.

ONES with no arguments is the scalar 1.

ONES(M,N,...,CLASSNAME) or ONES([M,N,...],CLASSNAME) is an M-by-N-by-...


array of ones of class CLASSNAME.

Note: The size inputs M, N, and P... should be nonnegative integers.


Negative integers are treated as 0.

Example:
x = ones(2,3,'int8');

See also eye, zeros.

Overloaded functions or methods (ones with the same name in other directories)
help darray/ones.m

Reference page in Help browser


doc ones

b. Membuka jendela help dari menu view

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


4 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
untuk mencari sintaks perintah tertentu, ketik pada kolom search for bagian kiri atas misalnya

ones maka Matlab akan menampilkan gambar seperti diatas

Matriks Dan Manipulasinya

Matriks

Matriks adalah elemen dasar dalam Matlab. Ada 2 macam matriks yang dapat dipakai yaitu

matriks yang dimasukan oleh pemakai dan matriks yang khusus disediakan oleh Matlab

Matriks Umum

Dalam matriks umum, pemakai memasukkan elemen-element matriks diantara 2 kurung siku.

Sebagai pembatas elemen-elemen matriks dalam satu baris digunakan spasi, dan pembatas

baris matriks digunakan semicolon (;). Baris matriks yang berbeda dapat dituliskan dalam satu

baris ataupun dalam baris yang berbeda.

Matriks A=

1 −3 2 4
𝐴=( 4 2 −1 2 ) , ditulis dalam jendela perintah
−3 −2 1 −4

Sebagai :

>> A=[1 -3 2 4;4 2 -1 2;-3 -2 1 -4]

Sebagai respon setelah penekanan enter, Matlah akan menampilkan matriks yang baru saja

dimasukkan

A=

1 -3 2 4

4 2 -1 2

-3 -2 1 -4

Apabila kita tidak ingin menampilkannya, ketikan semicolon (;) pada akhir perintah

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


5 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
Dalam Matlab, dibedakan nama variable yang berupa huruf besar dengan hurup kecil. Untuk

menampilkan isi suatu variable X, digunakan perintah disp(X), Matlab akan menamplikan isi

variable X (baik numeric,vector, matriks maupun string) tanpa menuliskan nama variablenya.

Apabila terjadi kesalahan pemasukan elemen matriks (missal jumlah elemen dalam sebuah

baris tidak sama, tanda kurung tidak seimbang atau elemennya berupa non numeric) , Matlab

akan memunculkan pesan

Contoh

>> A=[2 3 1;3 2]

??? Error using ==> vertcat

CAT arguments dimensions are not consistent.

>> A=[2 3 1;3 2 a]

??? Undefined function or variable 'a'.

Matriks Khusus

Matlab menyediakan fasilitas bagi pemakai untuk membuat matriks khusus secara cepat.

Beberapa matriks khusus dan perintahnya antara lain :

Matriks Diagonal

Matriks Diagonal adalah metrics bujur sangkar yang semua element diluar diagonal utamanya

adalah 0. Elemen-elemen matriks diagonal dapat dipandang sebagai vector. Sebagai contoh

matriks diagonal

2 0 0
𝐴 = (0 −1 0) memiliki elemen diagonal berupa vector
0 0 3

V=[ 2 -1 3]

Dalam Matlab, perintah diag(V) dipakai untuk membentuk matriks diagonal yang elemen

diagonalnya adalah vector V. Untuk membentuk matriks diagonal A diatas, dipakai perintah :

>> V=[2 -1 3]

>> A=diag(V)

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


6 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
Matriks Identitas

Matriks Identitas adalah matriks diagonal yang semua elemen diagonalnya = 1. Perintah yang

dipakai untuk membentuk matriks identitas ordo nxn adalah eye(n). sebagai contoh jika n=3

>> eye(3)

ans =

1 0 0

0 1 0

0 0 1

Matriks Random

Untuk beberapa keperluan, kadangkala diinginkan suatu matriks yang elemennya diambil secara

acak. Dalam Matlab bilangan acak yang digunakan berdistribusi seragam (~U[0,1]) atau normal

standar (~N[0,1])

Perintah rand (m,n) digunakan untuk membentuk matriks ordo mxn yang elemennya bilangan

acak ~U[0,1]. Untuk membentuk matriks yang elemennya ~N[0,1], digunakan perintah

randn(m,n). untuk membentuk sebuah bilangan acak, gunakan perintah rand( atau randn)

Untuk membuat matriks A berordo 3x4 yang elemennya acak berdistribusi seragam, perintah

Matlab adalah sebagai berikut:

>> A=rand(3,4)

A=

0.8147 0.9134 0.2785 0.9649

0.9058 0.6324 0.5469 0.1576

0.1270 0.0975 0.9575 0.9706

Fungsi round bisa dipakai untuk membentuk matriks yang elemennya berupa bilangan acak

bulat. Misal elemen matriks bulat 0-100,maka kalikan bilangan acak dengan 100 kemudian

bulatkan

>> B=round(100*rand(3,4))

B=

96 14 79 4

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


7 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
49 42 96 85

80 92 66 93

Matriks Nol

Matriks nol adalah matriks yang semua elemenya = 0

Perintah zeros(m,n) menghasilkan matriks berordo mxn yang semua elemennya =0. Untuk

membentuk matriks berordo mxn yang semua elemennya =0. Untuk membentuk matriks bujur

sangkar nxn yang semua elemenya =0 , gunakan perintah zeros(n)

>> A=zeros(3,5)

A=

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

Matriks Satuan

Matriks satuan mirip dengan matriks nol, tapi dengan semua elemen =1. Perintah yang dipakai

adalah ones(m,n). jika matriksnya bujur sangkar ordo nxn, gunakan perintah ones(n)

>> ones(3)

ans =

1 1 1

1 1 1

1 1 1

Matriks Pascal

Matriks Segitiga pascal adalah matriks yang berisi koefisien segitiga pascal

> A=pascal(5)

A=

1 1 1 1 1

1 2 3 4 5

1 3 6 10 15

1 4 10 20 35

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


8 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
1 5 15 35 70

Vektor

Vector merupakan kasus khusus matriks yaitu hanya terdiri dari sebuah baris ( disebut vector

baris) atau sebuah kolom( disebut vector kolom)

Pembuatan vector baris dilakukan dengan spasi) diantara 2 buah kurung siku sebaliknya untuk

membuat vector kolom, elemen vector dipisahkan dengan semicolon(;)

Sebagai contoh x = (2 3 -1) dan

2
𝑦 = ( 3 ) gunakan perintah
−1

>> x=[2 3 -1]

x=

2 3 -1

>> y=[2;3;-1]

y=

-1

Operasi Skalar

Misal untuk operasi penjumlahan


3 1 −4
𝐴=( ) dan
2 1 5
2 −1 3
𝐵=( )
1 1 −3

Maka A + B

>> A=[3 1 -4;2 1 5]

A=

3 1 -4

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


9 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
2 1 5

>> B=[2 -1 3;1 1 -3]

B=

2 -1 3

1 1 -3

>> A+B

ans =

5 0 -1

3 2 2

>> A-B

ans =

1 2 -7

1 0 8

Selain operasi aritmatik diatas, Matlab juga menyediakan fasilitas operasi vector inner product

(dot product) melalui perintah dot(x,y)

𝑥. 𝑦 = ∑ 𝑥𝑖 𝑦𝑖
𝑖

Jika vector baris dan vector kolom dioperasikan dengan operator perkalian, maka ada 2

kemungkinan hasil yaitu berupa matriks (vector kolom*vector baris) atau berupa scalar (vector

baris*vector kolom). Hasil berupa scalar sama dengan hasil operasi dot

4
Misalkan u =(-1 3 4) dan 𝑣 = (−2). Hasil perkalian kedua vector adalah sebagai berikut
3

>> u=[-1 3 4]

u=

-1 3 4

>> v=[4;-2;3]

v=

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


10 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id
4

-2

>> dot(u,v)

ans =

>> u*v

ans =

>> v*u

ans =

-4 12 16

2 -6 -8

-3 9 12

Contoh soal:

Bentuklah perceptron untuk mengenali pola fungsi logika “AND” dengan 2 buah variable

masukan x1 dan x2 (biner 0 dan 1)

Penyelesaian

Fungsi logika AND dengan 2 variable masing-masing range nilai masukan [0 1] dan sebuah

target maka perintah yang dibuat adalah

net = newp([0 1;0 1],1)

baris pertama matriks [0 1] menunjukan range nilai x1, sedangkan baris kedua matriks

menunjukkan range x2. 1 menunjukkan bahwa jaringan hanya memiliki sebuah target (dalam

Matlab target disebut neuron)

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


11 Dr. Andi Adriansyah, M.Eng 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.
7. Murata, Tadao, 1989, petri net properties, analysis and application, proceding of IEEE Vol4
april 1989.

‘13 Sistem Cerdas Pusat Bahan Ajar dan eLearning


12 Dr. Andi Adriansyah, M.Eng http://www.mercubuana.ac.id

Anda mungkin juga menyukai