Bahan Ajar Matematika Komputasi.pdf

62
BAHAN AJAR Mata Kuliah: MATEMATIKA KOMPUTASI MTK 466 Disusun Oleh: Zaenal Abidin, S.Si., M.Cs. JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS NEGERI SEMARANG

description

komputasi

Transcript of Bahan Ajar Matematika Komputasi.pdf

Page 1: Bahan Ajar Matematika Komputasi.pdf

BAHAN AJAR

Mata Kuliah: MATEMATIKA KOMPUTASI

MTK 466

Disusun Oleh: Zaenal Abidin, S.Si., M.Cs.

JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS NEGERI SEMARANG

Page 2: Bahan Ajar Matematika Komputasi.pdf

BAB 1

PENGANTAR PEMODELAN DAN SIMULASI

Definisi Pemodelan

Model adalah penyajian dari masalah nyata.

Pemodelan adalah representasi masalah dalam bentuk rumus matematika.

Definisi Simulasi

Simulasi adalah tiruan dari sebuah sistem dinamis dengan menggunakan

model komputer yang digunakan untuk melakukan evaluasi dan

meningkatkan kinerja sistem.

Simulasi adalah cara untuk mereproduksi kondisi situasi, dengan

menggunakan model, untuk mempelajari, menguji, pelatihan, dll. (Oxford

American Dictionary, 1980).

Simulasi adalah pemodelan dari sebuah proses atau sistem dimana model

meniru respon dari sistem nyata untuk setiap kejadian yang terjadi setiap saat

(Schriber, 1987).

Piranti Lunak Simulasi

Menyediakan animasi grafis dan realistik dari sistem yang dimodelkannya.

Pengguna dapat melakukan analisa “jika-maka”.

Beberapa diantaranya menyediakan kapabilitas optimisasi.

Keuntungan menggunakan model

Hemat Biaya

Hemat waktu

Fokus pada karakteristik yang penting, simplifikasi sesuatu yang terlalu detil dan

rumit.

Mudah melakukan perubahan, update, revisi, ataupun penambahan

fitur/fungsi/peranan.

Klasifikasi Dikotomi Model

Prescriptive or Descriptive

Discrete or Continuous

Probabilistic or Deterministic

Static or Dynamic

Open loop or Closed loop

Page 3: Bahan Ajar Matematika Komputasi.pdf

Mengapa melakukan simulasi

Adanya ketidakpastian (Monte Carlo simulation)

Ada beberapa parameter kehidupan yang tidak dapat dijasikan satu atau tidak

dimungkinkannya kita mempunyai penyelesaian analitis atau dengan

perkataan lain model matematikanya terlalu kompleks.

Pendekatan trial-and-error mahal, menghabiskan waktu, dan mengganggu.

Menyediakan metoda analisis: meramalkan kinerja sistem, bahkan untuk

sistem yang paling rumit sekalipun.

Mendukung pengambilan keputusan: manajer dapat memperkirakan hasil

dengan lebih akurat.

Terhindar dari resiko

Menggunakan cara try-it-and-see it

Menganjurkan pemikiran “outside the box”

Menghilangkan faktor emosi dari proses pengambilan keputusan dengan

menyediakan bukti obyektif

Memperkuat keputusan pada rincian-rincian kritis

Contoh-contoh:

Dalam Fisika:

◦ Apa hubungan antara kecepatan dan percepatan

◦ dv/dt = a model pers. Differensial

◦ Dalam banyak hal, model-model matematika seperti PD mempunyai

parameter yang harus diuji kestabilannya.

Sistem Antrian

◦ Pola kedatangan pelanggan warnet berdistribusi Poisson

Karakteristik Simulasi

Karakteristik simulasi sebagai alat perencanaan dan pengambilan keputusan

yang tangguh:

– Mencakup saling ketergantungan sistem (sistem independencies)

– Memperhitungkan variabilitias sistem

– Sanggup membuat model untuk sistem apapun

– Memperlihatkan perilaku sistem setiap saat.

– Lebih murah dan cepat.

Page 4: Bahan Ajar Matematika Komputasi.pdf

– Menarik perhatian

– Hasil mudah dimengerti

Keuntungan Simulasi

Compress Time ( menghemat Waktu)

Expand Time (dapat melebar luaskan waktu)

Control sources of variation (dapat mengawasi sumber-sumber yang bervariasi)

Error in meansurment correction (mengoreksi kesalahan-kesalahan perhitungan)

Stop simulation and restart (dapat dihentikan dan dijalankan kembali)

Easy to replicate (mudah diperbanyak)

Penggunaan Simulasi

Mempelajari interaksi dalam sistem yang komplek.

Untuk visualisasi.

Sebagai verifikasi model yang dikembangkan.

Sebagai alat untuk melakukan percobaan, sensivity analysis, prediksi dari

model yang dikembangkan.

Tidak perlu dengan simulasi

Jika masalah mudah diselesaikan dengan metode sederhana.

Diselesaikan dengan analitik.

Eksperimen langsung lebih murah, mudah, dan dimungkinkan.

Data tidak tersedia.

Page 5: Bahan Ajar Matematika Komputasi.pdf

BAB 2

SIMULASI MONTE CARLO

• Menggunakan bilangan random

• Simulasi terhadap sampling untuk mengestimasi distribusi dari variabel output

yang bergantung pada beberapa variabel input yang probabilistik.

• Sering digunakan untuk evaluasi dampak perubahan policy dan risiko dalam

pembuatan keputusan.

Contoh:

Sebuah perusahaan permen coklat memberikan penawaran khusus pada event-event

spesial seperti hari valentine. Untuk keperluan tsb. Perusahaan memesan paket

spesial dari supplier berupa coklat massacre. Coklat jenis ini dibeli dengan harga

$7.5/unit dan dijual $12/unit. Jika tidak terjual pada tanggal 14 februari, maka

produk ini akan dijual dengan harga 50% dari harga semula. Perusahaan ini

mengalami dilema dalam menentukan berapa kotak yang harus dipesan supaya

menghasilkan keuntungan (profit) maksimum. Jika diasumsikan demand berfluktuasi

antara 40, 50, 60, 70, 80, 90 unit dan perusahan memutuskan untuk memesan

sebayak 60 unit, maka tentukan profit yang akan didapat perusahaan.

Penyelesaian:

1. Tentukan komponen sistem yg signifikan.

demand D (uncontrollable variable).

pesanan Q (decision variable/variabel yang harus diputuskan).

profit dependent variable.

2. Tentukan hubungan antar komponen.

a) Jika demand ≤ pesanan (D ≤ Q)

profit = 12D – 7,5Q + 6(Q-D)

b) Jika demand > pesanan (D > Q)

profit = 12Q – 7,5Q

3. Tentukan jumlah testing yang diinginkan.

4. Buat kemungkinan demand untuk tiap testing.

5. Hitung profit untuk tiap testing.

Contoh: D = 40 unit, dan Q = 60 unit.

Profit = 12D -7.5Q + 6(Q-D) = 12(40) -7.5(60) + 6(60-40)= $150.

Page 6: Bahan Ajar Matematika Komputasi.pdf

Hasil perhitungan profit (lengkap) untuk 10 testing:

Testing Demand Profit($)

1 80 270

2 60 270

3 50 210

4 70 270

5 40 150

6 60 270

7 80 270

8 90 270

9 50 210

10 60 270

Average 246

6. Dari tabel profit, dibuat distribusi frekuensi:

Profit ($) Probabilistas Frekuensi

150 0.1 1

210 0.2 2

270 0.7 7

Page 7: Bahan Ajar Matematika Komputasi.pdf

BAB 3

PENGANTAR UNTUK PEMROGRAMAN MATLAB

Pendahuluan

MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan komputasi

numerik dan merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk

dengan dasar pemikiran menggunkan sifat dan bentuk matriks. Pada awalnya, program ini

merupakan interface untuk koleksi rutin-rutin numerik dari proyek INPACK dan EISPACK,

dan dikembangkan menggunkan bahasa FORTRAN namun sekarang merupakan produk

komersial dari perusahaan Mathworks, Inc. yang dalam perkembangan selanjutnya

dikembangkan menggunakan bahasa C++ dan assembler (utamanya untuk fungsi-fungsi

dasar MATLAB).

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 Anda telah memiliki pengalaman dalam

pemrograman bahasa lain seperti C, PASCAL, atau FORTRAN.

MATLAB merupakan merk software yang dikembangkan oleh Mathworks.Inc.(lihat

http://www.mathworks.com) merupakan software yang paling efisien untuk perhitungan

numeric berbasis matriks. Dengan demikian jika di dalam perhitungan kita dapat

memformulasikan masalah ke dalam format matriks maka MATLAB merupakan

software terbaik untuk penyelesaian numeriknya.

MATLAB (MATrix LABoratory) yang merupakan bahasa pemrograman tingkat tinggi

berbasis pada matriks sering digunakan untuk teknik komputasi numerik, yang

digunakan untuk menyelesaikan masalah-masalah yang melibatkan operasi matematika

Page 8: Bahan Ajar Matematika Komputasi.pdf

elemen, matrik, optimasi, aproksimasi dll. Sehingga Matlab banyak digunakan pada :

Matematika dan Komputansi

Pengembangan dan Algoritma

Pemrograman modeling, simulasi, dan pembuatan prototipe

Analisa Data , eksplorasi dan visualisasi

Analisis numerik dan statistik

Pengembangan aplikasi teknik

Window-window pada MATLAB

Ada beberapa macam window yang tersedia dalam MATLAB, yang dapat dijelaskan

sebagai berikut:

a. MATLAB Command window/editor

MATLAB Command window/editor merupakan window yang dibuka pertama kali

setiap kali MATLAB dijalankan

pada window di atas dapat dilakukan akses-akses ke command-command MATLAB

dengan cara mengetikkan barisan-barisan ekpresi MATLAB, seperti mengakses help

window dan lain-lainnya.

Jika perintah-perintah yang sudah diketikkan dan hasil yang ditampilkan pada layar

command window akan disimpan maka dapat dilakukan dengan menggunkan command

diary. Sebagai contoh jika ingin disimpan output m =

1 2 3

5 2 1

direktori c:\backup dengan nama file mydata.txt, maka dapat dilakukan dengan

mengetikan :

Page 9: Bahan Ajar Matematika Komputasi.pdf

» m=[1 2 3;5 2 1]

m =

1 2 3

5 2 1

» diary 'c:\backup\mydata.txt'

dan jika ingin menutup file ini maka ketikkan » diary off

Command windows juga digunakan untuk memanggil tool Matlab seperti editor,

debugger atau fungsi. Ciri dari window ini adalah adanya prompt (>>) yang

menyatakan matlab siap menerima perintah. Perintah dapat berupa fungsi-fungsi

pengaturan file (seperti perintah DOS/UNIX) maupun fungsi- fungsi bawaan/toolbox

MATLAB sendiri. Berikut ini beberapa fungsi pengaturan file dalam MATLAB:

dir / ls : Digunakan untuk melihat isi dari sebuah direktori aktif.

cd : Digunakan untuk melakukan perpindahan dari direktori aktif.

pwd : Digunakan untuk melihat direktori yang sedang aktif

mkdir : Digunakan untuk membuat sebuah direktori

what : Digunakan untuk melihat nama file m dalam direktori aktif

who : Digunakan untuk melihat variabel yang sedang aktif

whos : Digunakan untuk menampilkan nama setiap variabel

delete : Digunakan untuk menghapus file

clear : Digunakan untuk menghapus variabel

clc : Digunakan untuk membersihkan layar

doc : Digunakan untuk melihat dokumentasi The MathWorks, Inc. dalam format

html secara online.

demo : Digunakan untuk mencoba beberapa tampilan demo yang disediakan oleh

Matlab

b. MATLAB Editor/Debugger (Editor M-File/Pencarian Kesalahan)

Window ini merupakan tool yang disediakan oleh Matlab 5 keatas. Berfungsi sebagai

editor script Matlab (M-file). Walaupun sebenarnya script ini untuk pemrograman

Matlab dapat saja menggunakan editor yang lain seperi notepad, wordpad bahkan

word. Untuk mengakses window m-file ini dapat dilakukan dengan cara :

1. Memilih File kemudian pilih New

2. Pilih m-file, maka MATLAB akan menampilkan editor window :

Page 10: Bahan Ajar Matematika Komputasi.pdf

selain dengan cara di atas untuk menampilkan editor M- File ini dapat juga dilakukan

dengan : >> edit

Bahasan tentang m-file akan dibahas pada bab selanjutnya.

c. Figure Windows

Window ini adalah hasil visualisasi dari script Matlab. Namun Matlab memberi

kemudahan bagi programer untuk mengedit window ini sekaligus memberikan

program khusus untuk itu. Sehingga window iniselain berfungsi sebagai visualisasi

output dapat juga sekaligus menjadi media input yang interaktif.

Contoh: » x=0:2:360;

» y=sin(x*pi/180);

» plot(x,y)

hasil yang diperoleh adalah :

d. MATLAB help window

MATLAB menyediakan sistem help yang dapat diakses dengan perintah help. Misalnya,

untuk memperoleh informasi mengenai fungsi elfun yaitu fungsi untuk trigonometri,

Page 11: Bahan Ajar Matematika Komputasi.pdf

eksponensial, complex dan lain-lain, maka hanya perlu mengetikkan perintah berikut : » help elfun

dan kemudian menekan enter maka di layar akan muncul informasi dalam bentuk teks

pada layar MATLAB yaitu :

Elementary math functions. Trigonometric.

sin - Sine.

sinh - Hyperbolic sine.

asin - Inverse sine.

asinh - Inverse hyperbolic sine.

Cos - Cosine.

cosh - Hyperbolic cosine.

acos - Inverse cosine.

acosh - Inverse hyperbolic cosine.

tan - Tangent.

tanh - Hyperbolic tangent.

atan - Inverse tangent.

atan2 - Four quadrant inverse tangent.

atanh - Inverse hyperbolic tangent.

sec - Secant.

sech - Hyperbolic secant.

asec - Inverse secant.

asech - Inverse hyperbolic secant.

csc - Cosecant.

csch - Hyperbolic cosecant.

acsc - Inverse cosecant.

acsch - Inverse hyperbolic cosecant.

cot - Cotangent.

coth - Hyperbolic cotangent.

acot - Inverse cotangent.

acoth - Inverse hyperbolic cotangent.

Exponential.

exp - Exponential.

log - Natural logarithm.

Page 12: Bahan Ajar Matematika Komputasi.pdf

log10 - Common (base 10) logarithm.

log2 - Base 2 logarithm and dissect floating point number.

pow2 - Base 2 power and scale floating point number.

sqrt - Square root.

nextpow2 - Next higher power of 2.

Complex.

abs - Absolute value.

angle - Phase angle.

complex - Construct complex data from real and imaginary parts.

conj - Complex conjugate.

imag - Complex imaginary part.

real - Complex real part.

unwrap - Unwrap phase angle.

isreal - True for real array.

cplxpair - Sort numbers into complex conjugate pairs.

Rounding and remainder.

fix - Round towards zero.

floor - Round towards minus infinity.

ceil - Round towards plus infinity.

round - Round towards nearest integer.

mod - Modulus (signed remainder after division).

Rem - Remainder after division.

Sign - Signum.

Selain help untuk informasi di atas dapat juga dilihat informasi lainnya misalnya

perintah yang sangat berguna untuk mempelajari pemrograman MATLAB adalah

intro, yang membahas konsep-konsep dasar tentang bahasa MATLAB. Selain itu, juga

terdapat banyak program demonstrasi yang mengilustrasikan berbagai kapabilitas

MATLAB, yang dapat dimulai dengan perintah demo. Atau untuk lebih lengkapnya

dapat dilihat di tampilan MATLAB dengan cara memilih menu Window kemudian

pilih help window, dan untuk mengetahui informasi yang ada maka dapat dilakukan

dengan mengklikkan dua kali info yang ada di MATLAB Help Window atau dengan

mengetikkan informasi yang ingin didapatkan pada sudut sebelah kiri MATLAB Help

Window. Sebagai contoh tampilan Help window tersebut adalah sebagai berikut :

Page 13: Bahan Ajar Matematika Komputasi.pdf

Sebelum melihat lebih jauh tentang kemampuan MATLAB untuk programming

ataupun penyelesaian masalah-masalah numerik maka dapat dilakukan beberapa

percobaan sederhana seperti berikut ini :

Ketikkan : » x=12

» x=6

» x*y

ans =

72

dan perhatikan perbedaannya dengan : » p=12;

» q=6;

» r=p*q;

dapat dilihat bahwa tanpa “;” MATLAB akan mengassign hasil output ke variabel ans

(answer).

Untuk contoh penggunaan fasilitas grafik dari MATLAB, maka dapat dilihat berikut ini

dengan mengetikkan : » x=[5 10 15 20 25];

» y=cos(x);

» plot(x,y);

dapat dijelaskan bahwa x diassign ke suatu array [5 10 15 20 25], kemudian y =cos(x)

akan mengassign y ke array [cos(5) cos(10) cos(15) cos(20) cos(25)]. Dan hasilnya dapat

dilihat pada gambar berikut ini :

Page 14: Bahan Ajar Matematika Komputasi.pdf

untuk contoh sederhana lainnya dapat dicoba beberapa perintah berikut ini :

1. >> a = [ 1 2; 3 4 ] >> a * a

>> b = [ 1 2; 0 1 ]

>> a*b

>> b*a

>> a + b

>> s = a + b

>> inv(s)

>> s * inv(s)

>> s/s

>> s\s

>> inv(s) * s

>> a/b

>> a\b

>> c = [ 1 1; 1 1 ]

>> inv(c);

2. Untuk membuat grafik y = sin(t) pada interval t = 0 to t = 10 >> t = 0:.3:10;

>> y = sin(t);

>> plot(t,y)

3. Untuk menggambarkan grafik :z(x,y) = x exp( - x^2 - y^2): >> [x,y] = meshdom(-2:.2:2, -2:.2:2);

>> z = x .* exp(-x.^2 - y.^2);

>> mesh(z)

Keterangan:

Untuk setiap perintah di atas sebelum ke perintah selanjutnya maka tekan enter agar

dapat ditampilkan outputnya.

Page 15: Bahan Ajar Matematika Komputasi.pdf

Bilangan dan Operator Matematika di Matlab

Ada tiga tipe bilangan di dalam Matlab yaitu :

Bilangan bulat ( integer )

Bilangan real

Bilangan kompleks

Contoh bilangan bulat x=10

x =

10

Contoh bilangan real x=10.01

x =

10.0100

Untuk bilangan kompleks yang bentuk umumnya adalah z= a+bi , salah satu kehebatan

MATLAB adalah tidak memerlukan penanganan khusus untuk bilangan kompleks dan

untuk bilangan ini diberi tanda i atau j, contohnya : y=sqrt(-2) % akar negatif 2

y =

0 + 1.4142i

real(y)

ans =

0

imag(y)

ans =

1.4142 abs(y) ans =

1.4142 angle(y) ans =

1.5708

Daftar operasi aritmatika dasar dalam Matlab

MATLAB dapat melakukan operasi-operasi aritmatika dasar berikut :

Operasi Simbol Penambahan, a + b + Pengurangan a-b - Perkalian a x b * Pembagian a : b / atau \ Pemangkatan ab ^

Urutan operasi tersebut yang dikerjakan dalam suatu ekspresi yang mengikuti aturan

Page 16: Bahan Ajar Matematika Komputasi.pdf

prioritas yang biasa (hirarki). Aturan tersebut dapat diringkas sebagai berikut :

Ekspresi dikerjakan dari kiri ke kanan dengan pemangkatan mempunyai prioritas

tertinggi, diikuti dengan perkalian atau pembagian yang mempunyai prioritas yang

sama, diikuti dengan penambahan dan pengurangan yang juga memiliki prioritas yang

sama. Tanda kurung dapat digunakan untuk merubah urutan pengerjaan yang biasa

dimana bagian yang dikerjakan terlebih dahulu adalah bagian yang yang ada di bagian

kurung paling dalam kemudian keluar.

Contoh :

Misalnya anda mengambil kuliah sebanyak 12 SKS, yang terdiri dari seismologi 4 sks,

Analisis sinyal 3 sks, Tomografi 2 sks dan Gravitasi 3 sks. Lalu pada akhir semester anda

mendapat nilai sebagai berikut seismologi A, Analisis sinyal B, Tomografi C dan gravitasi A.

Dengan point nilai A=4 , B=3 , C=2 Berapa nilai IP anda ?

Untuk memyelesaikan ini kita menggunakan pendekatan seperti perhitungan di

kalkulator : ip=(4*4+3*3+2*2+3*4)/(4+3+2+3)

ip =

3.4167

Sebagai alternatif kita bisa menyelesaikan masalah di atas dengan terlebih dahulu

menyimpan informasi yang kita punya pada variabel. seismologi=4 tomografi=2 analisis_sinyal=3 gravitasi=4 seismologi =

4

tomografi =

2

analisis_sinyal =

3

gravitasi =

4 total_sks=12 total_sks =

12

ip=(seismologi*4+tomografi*2+analisis_sinyal*3+gravitasi*

3)/total_sks

ip =

3.4167

Komentar dan Tanda Baca

Semua teks sesudah tanda % dianggap sebagai statemen komentar, contoh: semester=8 % jumlah semester S 1

Page 17: Bahan Ajar Matematika Komputasi.pdf

semester =

8

Variabel semester diisi dengan nilai 8 dan statemen sesudah tanda % di anggap sebuah

komentar. Statemen ini berguna untuk mendokumentasikan apa yang sudah anda

kerjakan. Tanda titik koma ( ; ) dalam Matlab berguna untuk mencegah menampilkan

hasil, contoh :

semester=8;

Fungsi-Fungsi Matematika Dasar

MATLAB mempunyai berbagai fungsi matematika umum yang biasa di gunakan dalam

matematik . Sebagian besar fungsi tersebut hampir sama dengan bila anda menuliskannya

secara matematis. Sebagai contoh : pi

ans =

3.1416 y=sin(pi/6) y =

0.5000

y=asin(0.5)

y =

0.5236

Contoh Penyelesaian Masalah

Contoh 1: Persamaan fungsi

M=4x2+3y+10

N=e(2*x)+x

O=sqrt((1/(x+y))+(1/(t+z))) P=4*(e(-x/2))*sin(pi*x)

Tentukan nilai fungsi tersebut dengan nilai-nilai t=25, x=43, y=15.25, z=8.2 !

Untuk penyelesaian di atas adalah sbb:

Pertama, dibuat dulu variabel nya t=25;x=43;y=15.25;z=8.2;

Kedua, masukkan nilai tersebut ke masing-masing fungsinya M=4*x^2+3*y+10

M =

7.4518e+003

N=exp(2*x)+x

N =

2.2352e+037

O=sqrt((1/(x+y))+(1/(t+z)))

Page 18: Bahan Ajar Matematika Komputasi.pdf

O =

0.2175

P=4*(exp(-x/2))*sin(pi*x)

P =

1.6223e-023

Contoh 2 : Penentuan volume silinder berlubang

Sebuah silinder mempunyai diameter luar 6.3125 dan diameter dalam 5.762 , tentukan

volumenya bila diketahui rumus untuk mencari volumenya :

Dimana RE adalah diameter luar dan RI adalah diameter dalam

Penyelesaian :

re=6.3125;ri=5.762; v=4/3*pi*(re^3-ri^3);

disp(['Volume = ',num2str(v)])

Volume = 252.3169

Menyimpan dan Memanggil Data

Untuk Menyimpan dan memenggil data dari file pilih File Save Workspace As … . Untuk

memanggil data digunakan pilihan Load WorkSpace As atau Open pada menu file.

Sedangkan untuk mengimport data , untuk Matlab versi 6 keatas pilih file Import Data

... Matlab juga menyediakan dua perintah ---- save dan load ---- yang jauh lebih

fleksibel. Perintah save untuk menyimpan satu atau lebih variabel dalam file format Yang

sesuai dengan pilihan anda.

contoh : clear all

x=1:10;y=10:10:10:100; % membuat array baru save

Saving to: Matlab.mat

menyimpan semua variabel Matlab dalam format biner di file Matlab.mat save data

menyimpan semua variabel Matlab dalam format biner di file data.mat save data_x x

menyimpan variabel x dalam format biner di file data_x.mat save data_xy x y /ascii

Page 19: Bahan Ajar Matematika Komputasi.pdf

menyimpan variabel x dan y dalam format biner di file data_xy dalam format ascii

untuk membuka data digunakan perintah load, contoh; load data_x.mat

Operator Logika dan Relasional

MATLAB menyediakan operasi logika dan relasional, hal ini diperlukan untuk

menjawab pertanyaan benar atau salah dan salah satu manfaat yang penting dari

kemampuan ini adalah untuk mengontrol urutan eksekusi sederetan perintah

MATLAB (biasanya dalam M-File) berdasarkan pada hasil pertanyaan benar/salah.

Sebagai masukan pada semua ekpresi relasi dan logika , MATLAB menganggap semua

angka tidak nol sebagai benar, nol sebagi salah. Hasil dari semua ekspresi logika

relasi dan logika adalah satu untuk benar dan nol untuk salah dengan tipe array logika

yaitu hasilnya memuat bilangan 1 dan 0 yang tidak saja dapat digunakan untuk

statemen matematika akan tetapi dapat juga untuk pengalamatan

Operator relasi MATLAB terdiri dari semua pembandingan :

Operator Relasi Deskripsi < Kurang dari > Lebih dari <= Kurang dari atau sama dengan >= Lebih dari atau sama dengan = Sama dengan ~= Tidak sama dengan

Operator relasi MATLAB dapat digunakan untuk membandingkan dua array berukuran

sama atau untuk membandingkan array dengan skalar.

Operator logika menyediakancara untuk menggabung atau menegasikan ekspresi relasi.

Selanjutnya Operator-operator logika dalam MATLAB yaitu :

Operator Logika Deskripsi & AND | OR ~ NOT

Sumber-sumber MATLAB yang ada di Internet

Jika anda ingin lebih mendalami lagi tentang MATLAB dan mendownloadnya maka di

bawah ini beberapa informasi yang berkenaan dengan MATLAB, dan informasinya

bisa didapatkan dibeberapa situs berikut ini :

Page 20: Bahan Ajar Matematika Komputasi.pdf

1. Web site MathWorks : http://www.mathworks.com/ disitus ini bisa di

dapatkan informasi tentang produk baru MATLAB seperti buku dan lain-

lainnya.

2. Newsgroup MATLAB: news://saluki news.siu.edu/comp.soft-sys.matlab/

3. http://dir.yahoo.com/science/mathematics/software/matlab/ penggunaan

source informasi tentang MATLAB dan merupakan langkah awal untuk

memperoleh web site MATLAB lainnya.

4. http://www.cse.uiuc.edu/cse301/matlab.html, web site ini merupakan

websitenya University of Illinois di Champaign-Urbana, yang menyediakan

beberapa link untuk MATLAB di internet.

5. Mastering Matlab Web site: http://www.eece.maine.edu/mm

Page 21: Bahan Ajar Matematika Komputasi.pdf

BAB 4

TEORI DAN SISTEM INVENTORY

Pengantar Sistem Pendukung Keputusan Inventory

Program ini berisi tiga model dasar inventori : model EOQ, model quantity

discount analysis, dan model single period stochastic demand problem. EOQ

menganalisa dalam menemukan kuantitas order yang optimal yang mempunyai biaya

terkecil yang meliputi biaya shortage dan biaya hilangnya penjualan. Analisa quantity

discount menyelesaikan biaya terkecil dari kuantitas order dengan menggunakan

semua unit atau metode peningkatan discount. Anda mungkin juga membagi dalam

kuantitas orer dan membiarkan program melakukan analisa biaya, analisa grafik juga

digunakan untuk kedua tipe permasalahan.

Single-period stochastic demand problem juga disebut sebagai permasalahan

newsboy. Distribusi permintaan mengikuti distribusi Normal, Uniform, Exponential,

Triangular, Poison, Geometric, Discrete, dan distribusi Laplace. Program

menyelesaikan kuantitaas order tebaik untuk mengoptimalkan keuntungan yang

diperkirakan dalam periode tunggal. Anda juga dapat membagi kuantitas order atau

tingkat pelayanan dan membiarkan program menghitung keutnungan yang

diperkirakan.

Spreadsheet digunakan dalam memasukkan data. Program mempunyai

pilihann untuk menyimpan, membaca, memodifikasi, dan mengeprint data masukan.

Setelah solusi dicapai, anda dapat menampilkan, mengeprint, atau menyimpan solusi

tersebut.

Catatan Teknis Program Inventori (Invt)

1. Untuk model EOQ (economic-order quantity), program akan menyelesaikan

dengan EOQ, menampilkan, atau mengeplot biaya inventori yang berhubungan,

yang meliputi biaya penyimpanan, atau shortage (kekurangan persediaan), dan

biaya kehilangan penjualan. Anda juga dapat membagi dalam kuantitas order dan

membiarkan program INVT menghitung biaya inventori yang brhubungan. Data

untuk permasalahan EOQ meliputi data permintaan per periode, biaya order atau

setup per order, biaya penyimpanan per unit per periode, biaya kekurangan

persediaan per unit per periode, biaya kehilangan penjualan per unit, tingkat

Page 22: Bahan Ajar Matematika Komputasi.pdf

produksi per periode, lead time untuk order baru dalam satu periode, dan biaya

unit. Abaikan shortage, biaya kehilangan penjualan adalah nol, tingkat

replenisment tidak terbatas, dan waktu lead time adalah nol.

2. Untuk analisa discount, semua unit discount menggambarkan bahwa semua unit

order mempunyai harga dengan beberapa tingkat diskon, dimana peningkatan

diskon menggambarkan bahwa unit order mempunyai peningkatan harga dengan

perbedaan tingkat diskon yang didasarkan pada pemenuhan jumlah (break

quantities). Anda juga dapat menspesifikasikan penyimpanan, kekurangan

persediaan, biaya kehilangan penujalan konstan, atau diskon. Data yang diminta

meliputi permintaan per periode, biaya order atau setup per order, biaya

penyimpanan per unit per periode, biaya shortage per unit per periode, biaya

hilangnya penjualan per unit, tingkat produksi per periode, lead time untuk order

baru dalam satu periode, biaya unit, tingkat diskon, dan persentase diskon. Nilai

yang lain biarkan sama dengan nilai untuk data EOQ.

3. Untuk single-period stochastic demand problem (permasalahan newaboy), data

yang dimasukkan meliputi biaya acquisition, unit selling price (harga penjualan

per unit), unit shortage cost (biaya kekurangan persediaan per unit), unit salvage

value (nilai pembayaran), biaya order atau setup, inisial inventori, distribusi

permintaan, dan parameter-parameter. Permintaan merupakan proses stokastik

dan tidak pasti dan kemungkinan mengikuti beberapa distribusi yang telah

disebutkan dimuka. Ketika menentukan distribusi permintaan dalam

memasukkan data, tiga lembar pertama diperlukan. Didasarkan pada distribusi

permintaan yang ditentukan dan data operasional, program menyelesaikan

kuantitas order untuk memaksimalkan keuntungan yang diperkirakan untuk

periode tunggal.

Cara Penyelesaian Permasalahan (Solving Problem)

Dalam seksi ini, akan diberikan contoh kasus untuk menunjukkan bagaimana

cara dalam memasukkan dan menyelesaikan masalah.

Contoh kasus EOQ

TV Shack merupakan retailer televisi lokal. Dari pengalaman, perusahana

mengetahui bahwa permintaan untuk televisi dapat dikatakan tetap, dengan rata-rata

permintaan 600 sets per tahun, dan biaya order adalah $50 per order. Biaya

Page 23: Bahan Ajar Matematika Komputasi.pdf

penyimpanan tahunan, meliputi biaya capital (modal) dan biaya gudang, adalah 20%

dari harga pembelian. Pemborong menawarkan harga $300 per set. Berapakah

jumlah yang seharusnya retailer pesan tiap waktu sehingga biaya inventori dapat

diminalkan?

Enter the Problem (Masukkan Permasalahan)

1. Pilih atau klik new problem pada menu file.

2. Gambar 1 menunjukkan problem spesification. Klik “Uniform Demand EOQ

Problem” untuk tipe perrmasalahan karena permintaan tetap.

3. Gambar 2 menunjukkan masukkan data EOQ. Catat bahwa biaya penyimpanan

unit adalah sama dengan $60, yang merupakan 20% dari $300.

Solve Problem (Penyelesaian Masalah)

1. Pilih “Solve the problem” dari menu “Solve and Analyze” untuk menyelesaikan

permasalahan. Program akan menampilkan penyelesaian untuk periode jangka

pendek.

2. Setelah permasalahan diselesaikan, pilih “Solution summary” dari menu “Result”

untuk menampilkan analisa EOQ. Gambar 3 menunjukkan hasil analisa biaya per

tahun untuk permasalahan EOQ.

3. Anda dapat memilih “Graphic cost analysis” dari menu “Result” untuk

menampilkan kurva biaya inventori. Gambar 4 menunjukkan spesification dari

skala gambar. Asumsikan bahwa spesifikasi sudah ada (defaulta). Gambar 5

menunjukkan hasil. Catat bahwa gambar 5 tiap slot dari dimensi horisontal

menggambarkan dua unit. Anda dapat menekan tombol “P” untuk mengeprint

gambar atau grafik.

Page 24: Bahan Ajar Matematika Komputasi.pdf

Gambar 4.1. Problem Spesification

Gambar 4.2. Entry Data untuk Permasalahan EOQ

Page 25: Bahan Ajar Matematika Komputasi.pdf

Gambar 4.3. Hasil Analisa Biaya per Tahun

Gambar 4.4. Lanjutan Hasil Analisa Biaya per Tahun

Page 26: Bahan Ajar Matematika Komputasi.pdf

Gambar 4.5. Spesifikasi dari Skala Gambar

Gambar 4.6. Kurva Analisa Biaya Inventory

Contoh kasus Quantity Discounts

Jika pemborong menawarkan 2% dan 5% diskon ketika TV Shack memesan

lebih dari atau sama dengan 50 set dan 80 set, berapakah strategi pemesanan terbaik

untuk TV Shack?

Page 27: Bahan Ajar Matematika Komputasi.pdf

Enter the Problem (Masukkan Permasalahan)

1. Pilih atau klik new problem pada menu file.

2. Gambar 7 menunjukkan problem spesification. Klik “Uniform Demand Quantity

Discount Analysis” untuk tipe permasalahan.

3. Gambar 8 menunjukkan dasar memasukkan data. Catat bahwa biaya

penyimpanan unit sama dengan $60, yang merupakan 20% dari $300, tipe diskon

untuk semua unit, dan biaya penyimpanan, kekurangan persediaan, dan

hilangnya penjualan, adalah constan.

4. Klik “Discount break” dari menu “ Edit” untuk menampilkan data quantity break

dan persentase diskon. Gambar 9 menunjukkan pemasukkan dari quantity

breaks dan discounts percentages.

Solve Problem (Penyelesaian Masalah)

1. Pilih “Solve the problem” dari menu “Solve and Analyze” untuk menyelesaikan

permasalahan.

2. Setelah permasalahan terselesaikan, pilih “Solution summary” daari menu

“Result” untuk menampilkan analisa diskon. Gambar 10 menunjukkan hasil yang

diperoleh.

3. Anda mungkin memilih “Graphic cost analysis” dari menu “Result” untuk

menampilkan kurva biaya inventori. Gambar 11 menunjukkan spesifikasi dari

skala gambar. Asumsikan bahwa spesifikasi mengikuti default. Gambar 12

menunjukkan kurva biaya inventori.

Gambar 4.7. Problem Spesification

Page 28: Bahan Ajar Matematika Komputasi.pdf

Gambar 4.8. Entri Data

Gambar 4.9. Discount Break

Gambar 4.10 Analisa Diskon untuk TV Shack

Page 29: Bahan Ajar Matematika Komputasi.pdf

Gambar 4.11 Biaya Inventory untuk TV Shack-Discount

Gambaar 4.12 Spesifikasi Kurva Biaya Inventori untuk TV Shack

Gambaar 4.13 Kurva Biaya Inventori untuk TV Shack

Page 30: Bahan Ajar Matematika Komputasi.pdf

BAB 5

SOLUSI PERSAMAAN TAKLINEAR (KOMPUTASI METODE NUMERIK)

Pada bagian ini akan dibahas metode-metode untuk mencari akar persamaan

taklinear f(x)=0, serta mencari akar polinom. Terdapat dua buah metode yang akan

dibahas yaitu metode tertutup dan metode terbuka

a) Metode Tertutup (bracketing method)

Mencari akar persamaan taklinear f(x)=0 yang memenuhi fungsi f kontinu

pada selang [a,b] dan f(a).f(b)<0 atau f(a).f(b)>0.

Keuntungan: selalu konvergen (berhasil menemukan akar),.

Hal ini dijamin oleh teorema: Jika f(a).f(b)<0 dan f kontinu pada selang [a,b]

maka paling sedikit terdapat satu buah akar pers f(x)=0 di dalam selang [a,b]

Kerugian: relatif lambat konvergen

Metode tertutup meliputi: Metode Biseksi/bagidua (Bisection Method) dan

Metode Regula Falsi (False Position Method)

Metode Bagidua (Bisection Method)

Asumsi: Fungsi f(x) kontinu dalam interval

untuk n = 0,1,…

Jika maka

Jika tidak

Jika atau maka proses berhenti

00 ,ba

2/)( nn bam

,0)()( mfaf n ,1 nn aa mbn 1

,1 man nn bb 1

11 nn ab 0)( mf

Page 31: Bahan Ajar Matematika Komputasi.pdf

Metode Regula Falsi (False Position Method)

untuk n = 0,1,…

Jika maka

Jika tidak

Jika atau maka proses berhenti

b) Metode Terbuka

Tidak memerlukan selang [a,b] yang memuat akar

Digunakan nilai awal, kemudian dengan proses iterasi digunakan untuk

mendapatkan hampiran akar yang baru

Keuntungan: cepat konvergen

Kerugian: tidak selalu konvergen (bisa divergen)

Metode Iterasi Titik Tetap

Langkah:

• Susun persamaan f(x)=0 menjadi x = g(x)

• Prosedur iterasi x(r+1) = g(x(r))

• Dengan nilai awal x0 hitung x1,x2,x3……

• Iterasi berhenti jika |xr+1-xr|<

Contoh:

1. Tentukan akar x2-2x-3=0, dengan x0=4 dan =10-5

2. Tentukan akar x5 –x-0,2=0, dg x0=0 dan =10-5

)]()(/[])()([ nnnnnn afbfbafabfw

,0)()( wfaf n

11 nn ab 0)( wf

,1 nn aa wbn 1

,1 wan nn bb 1

Page 32: Bahan Ajar Matematika Komputasi.pdf

Kriteria Konvergensi

Diberikan persamaan f(x)=0 dan prosedur iterasi x(r+1) = g(x(r)). Misal g(x) dan g’(x)

kontinu di dalam [a,b]=[s-h,s+h] yang memuat titik tetap s dan nilai awal x0 diambil

dalam selang tsb.

Jika g’(x) <1 utk setiap x[a,b] maka iterasi konvergen ke s

Jika g’(x) >1 utk setiap x[a,b] maka iterasi divergen

Metode Newton Raphson

Prosedur iterasi xr+1 = xr-[f(xr)/f’(xr)]

• Dengan nilai awal x0 hitung x1,x2,x3……

• Iterasi berhenti jika |xr+1-xr|<

Metode Secant

• Digunakan dua nilai awal x0 dan x1

• Prosedur iterasi xr+1 = xr-[f(xr)(xr-xr-1) / (f(xr)-f(xr-1)]

• Iterasi berhenti jika |xr+1-xr|<

Page 33: Bahan Ajar Matematika Komputasi.pdf

Latihan

1. Tentukan akar ex-4x = 0 pada selang [0,1] dengan metode bagidua dan regula

falsi dengan = 10-5

Jawab: dengan metode bagidua

a c b f(a) f© f(b)

0 0.5 1 1 -0.35128 -1.281718172

0 0.25 0.5 1 0.284025 -0.351278729

0.25 0.375 0.5 0.284025 -0.04501 -0.351278729

0.25 0.3125 0.375 0.284025 0.116838 -0.045008585

0.3125 0.34375 0.375 0.116838 0.035226 -0.045008585

0.34375 0.359375 0.375 0.035226 -0.00507 -0.045008585

0.34375 0.3515625 0.359375 0.035226 0.015037 -0.005066136

0.3515625 0.35546875 0.359375 0.015037 0.004974 -0.005066136

0.35546875 0.35742188 0.359375 0.004974 -4.9E-05 -0.005066136

0.35546875 0.35644531 0.35742188 0.004974 0.002462 -4.86285E-05

0.35644531 0.35693359 0.35742188 0.002462 0.001207 -4.86285E-05

0.35693359 0.35717773 0.35742188 0.001207 0.000579 -4.86285E-05

0.35717773 0.3572998 0.35742188 0.000579 0.000265 -4.86285E-05

0.3572998 0.35736084 0.35742188 0.000265 0.000108 -4.86285E-05

0.35736084 0.35739136 0.35742188 0.000108 2.98E-05 -4.86285E-05

0.35739136 0.35740662 0.35742188 2.98E-05 -9.4E-06 -4.86285E-05

0.35739136 0.35739899 0.35740662 2.98E-05 1.02E-05 -9.40769E-06

0.35739899 0.3574028 0.35740662 1.02E-05 3.98E-07 -9.40769E-06

0.3574028 0.35740471 0.35740662 3.98E-07 -4.5E-06 -9.40769E-06

0.3574028 0.35740376 0.35740471 3.98E-07 -2.1E-06 -4.50507E-06

0.3574028 0.35740328 0.35740376 3.98E-07 -8.3E-07 -2.05376E-06

0.3574028 0.35740304 0.35740328 3.98E-07 -2.2E-07 -8.281E-07

Hampiran akarnya 0.357403

2. Tentukan akar ex-4x = 0, dengan x0=0 , = 10-5 menggunakan metode

a. iterasi titik tetap

b. Newton Raphson

Page 34: Bahan Ajar Matematika Komputasi.pdf

c. Secant, dengan x1=1

Jawab:

b. Dengan metode Newton Raphson

x(n) x(n+1)

0 0.33333333

0.333333333 0.35724648

0.357246476 0.35740295

0.357402949 0.35740296

0.357402956 0.35740296

0.357402956 0.35740296

Hampiran akarnya 0.357403

c. Dengan metode Secant

x(n-1) x(n) x(n+1) f(xn-1) f(xn)

0 1 0.43826622 1 -1.28172

1 0.43826622 0.33252629 -1.28172 -0.20305

0.43826622 0.33252629 0.35798236 -0.20305 0.064381

0.33252629 0.35798236 0.35740691 0.064381 -0.00149

0.35798236 0.35740691 0.35740296 -0.00149 -1E-05

0.35740691 0.35740296 0.35740296 -1E-05 1.64E-09

0.35740296 0.35740296 0.35740296 1.64E-09 -1.8E-15

Hampiran akarnya 0.357403

Soal Latihan

1. Apa yang terjadi jika persamaan x2 = 2 diatur sebagai xr+1 = 2/xr dan metode

iterasi titik tetap digunakan untuk menemukan akar kuadrat dari 2?

2. Diberikan persamaan 02033 xx . Akar dari persamaan tersebut akan dicari

dengan metode iterasi titik tetap melalui beberapa prosedur berikut ini:

a). 31

)203( xx

b). 3

203

xx

c). 21

203

xx

Page 35: Bahan Ajar Matematika Komputasi.pdf

i. Jika digunakan nilai awal x0 = 5, maka tentukan prosedur mana yang tidak

dapat menghasilkan hampiran akar (tidak konvergen).

ii. Dengan prosedur yang anda pilih pada soal i) tentukan hampiran akarnya.

3. Diketahui persamaan x - 2sinx = 0. Akan dicari akar dari persamaan tak linear

tersebut dengan metode Newton-Rhapson.

a. Dapatkah digunakan tebakan awal 80

x ? Jelaskan.

b. Bagaimana jika 40

x ? Jelaskan.

c. Dengan memilih salah satu nilai awal pada soal a), hampiri akar dari

persamaan tersebut dengan 610 .

4. Diberikan persamaan f(x) = sin(x) – x + ½.

a. Dengan menggunakan metode regula falsi, tentukan hampiran akar dari f(x) =

0 pada interval (0, /2) sampai dengan iterasi ke 3

b. Tentukan hampiran akar dari f(x) = 0 dengan metode iterasi titik tetap,

menggunakan nilai awal x0=0 dan 510

Page 36: Bahan Ajar Matematika Komputasi.pdf

BAB 6

INTERPOLASI (KOMPUTASI METODE NUMERIK)

Interpolasi Lagrange Merupakan teknik yang popular, karena menggunakan fungsi

dalam bentuk polinom.

Jika fungsi yang dicari adalah f(x) dan cacah data n maka :

Dengan

Contoh Penyelesaian untuk tiga titik diketahui. 3 titik tersebut adalah (1, -1), (3, ½),

(4,0)

Penyelesaian akhir didapat sebagai berikut:

Contoh penyelesaian untuk empat titik diketahui.

Empat titik tersebut adalah (0, 1), (1, 2), (3, 4), (6, -1).

Page 37: Bahan Ajar Matematika Komputasi.pdf

Penyelesaian akhir didapat sebagai berikut.

Page 38: Bahan Ajar Matematika Komputasi.pdf

BAB 7

JARINGAN SYARAF TIRUAN

(ARTIFICIAL NEURAL NETWORK)

Pendahuluan

Jaringan Syaraf Tiruan dibuat pertama kali pada tahun 1943 oleh neurophysiologist

Waren McCulloch dan logician Walter Pits, namun teknologi yang tersedia pada saat

itu belum memungkinkan mereka berbuat lebih jauh.

Jaringan Syaraf Tiruan adalah paradigma pemrosesan suatu informasi yang

terinspirasi oleh sistim sel syaraf biologi, sama seperti otak yang memproses suatu

informasi. Elemen mendasar dari paradigma tersebut adalah struktur yang baru dari

sistim pemrosesan informasi. Jaringan Syaraf Tiruan, seperti manusia, belajar dari

suatu contoh. Jaringan Syaraf Tiruan dibentuk untuk memecahkan suatu masalah

tertentu seperti pengenalan pola atau klasifikasi karena proses pembelajaran.

Jaringan Syaraf Tiruan berkembang secara pesat pada beberapa tahun terakhir.

Jaringan Syaraf Tiruan telah dikembangkan sebelum adanya suatu computer

konvensional yang canggih dan terus berkembang walaupun pernah mengalami masa

vakum selama beberapa tahun.

Jaringan Syaraf Tiruan keluar dari penelitian kecerdasan buatan, terutama percobaan

untuk menirukan fault-tolerence dan kemampuan untuk belajar dari sistem syaraf

biologi dengan model struktur low-level dari otak. Otak terdiri dari sekitar

(10.000.000.000) sel syaraf yang saling berhubungan. Sel syaraf mempunyai cabang

struktur input (dendrites), sebuah inti sel dan percabangan struktur output (axon).

Axon dari sebuah sel terhubung dengan dendrites yang lain melalui sebuah synapse.

Ketika sebuah sel syaraf aktif, kemudian menimbulkan suatu signal electrochemical

pada axon. Signal ini melewati synapses menuju ke sel syaraf yang lain. Sebuah sel

syaraf lain akan mendapatkan signal jika memenuhi batasan tertentu yang sering

disebut dengan nilai ambang atau (threshold).

Page 39: Bahan Ajar Matematika Komputasi.pdf

Gambar 7.1. Susunan Syaraf Manusia

Jaringan Syaraf Tiruan memiliki pendekatan yang berbeda untuk memecahkan

masalah bila dibandingkan dengan sebuah komputer konvensional. Umumnya

komputer konvensional menggunakan pendekatan algoritma (komputer

konvensional menjalankan sekumpulan perintah untuk memecahkan masalah). Jika

suatu perintah tidak diketahui oleh komputer konvensional maka komputer

konvensional tidak dapat memecahkan masalah yang ada.

Sangat penting mengetahui bagaimana memecahkan suatu masalah pada komputer

konvensional dimana komputer konvensional akan sangat bermanfaat jika dapat

melakukan sesuatu dimana pengguna belum mengatahui bagaimana melakukannya.

Jaringan Syaraf Tiruan dan suatu algoritma komputer konvensional tidak saling

bersaing namun saling melengkapi satu sama lain. Pada suatu kegiatan yang besar,

sistim yang diperlukan biasanya menggunakan kombinasi antara keduanya (biasanya

sebuah komputer konvensional digunakan untuk mengontrol Jaringan Syaraf Tiruan

untuk menghasilkan efisiensi yang maksimal. Jaringan Syaraf Tiruan tidak

memberikan suatu keajaiban tetapi jika digunakan secara tepat akan menghasilkan

sesuatu hasil yang luarbiasa.

Page 40: Bahan Ajar Matematika Komputasi.pdf

Gambar 7.2. Sebuah Sel Syaraf Sederhana

JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi,

dengan asumsi bahwa:

Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).

Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung.

Penghubung antar neuron memiliki bobot yang akan memperkuat atau

memperlemah sinyal.

Sejarah JST

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.

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.

Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan oleh

Kohonen (1972), Hopfield (1982), dll. Pengembangan yang ramai dibicarakan sejak

Page 41: Bahan Ajar Matematika Komputasi.pdf

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 :

1. Jaringan Lapisan 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.

2. Jaringan Lapisan 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.

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

Paradigma Pembelajaran dalam JST

Berdasarkan cara memodifikasi bobotnya, ada 2 macam pelatihan yang dikenal yaitu

dengan supervisi dan tanpa supervisi. Dalam pelatihan dengan supervisi,

terdapat sejumlah pasangan data (masukan - target keluaran) yang dipakai untuk

melatih jaringan hingga diperoleh bobot yang diinginkan. Pasangan data tersebut

Page 42: Bahan Ajar Matematika Komputasi.pdf

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 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 43: Bahan Ajar Matematika Komputasi.pdf

1. 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 error 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 error

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.

Page 44: Bahan Ajar Matematika Komputasi.pdf

2. 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 mengklasifikasikan contoh pola-pola

masukan yang tersedia ke dalam kelompok yang berbeda-beda.

Fungsi aktivasi

Hampir semua unit dalam neural network mentransofrmasi net inputnya dengan

menggunakan suatu dungsi skalar ke skalar yang disebut fungsi aktivasi,

menghasilkan suatu nilai yang disebut aktivasi unit. Kecuali untuk keluaran unit, nilai

aktivasi diberikan kepada satu atau lebih unit lainnya. Fungsi aktivasi dengan suatu

selang terbatas sering disebut squashing functions. Berikut ini adalah beberapa fungsi

aktivasi yang sering digunakan (Fausett, 1994):

1. Fungsi linear (identitas)

푔(푥) = 푥

Kadang-kadang net input dikalikan dengan suatu nilai konstan untuk membentuk

suatu fungsi linear.

Gambar 7.3. Fungsi identitas

Page 45: Bahan Ajar Matematika Komputasi.pdf

2. Fungsi undak biner

Fungsi undak biner dengan menggunakan nilai ambang sering juga disebut

dengan fungsi nilai ambang (threshold) atau fungsi Heaviside. Fungsi undak biner

(dengan nilai ambang ) dirumuskan sebagai berikut:

푔(푥) = 1 푗푖푘푎 푥 ≥ 휃0 푗푖푘푎 푥 < 휃

Fungsi jenis ini sering digunakan pada network ber-layer tunggal.

Gambar 7.4. Fungsi undak biner dengan = 2

3. Fungsi sigmoid biner

Fungsi ini digunakan untuk jaringan syaraf yang pelatihannya dengan

menggunakan metode backpropagation, karena fungsi ini mudah

dideferensiasikan, dan oleh karena itu dapat secara dramatis mengurangi beban

komputasi pada saat proses training. Fungsi sigmoid biner memiliki nilai pada

range 0 sampai 1. Oleh karena itu, fungsi ini sering diaplikasikan 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:

푔(푥) =

dengan 푔 (푥) = 휎푔(푥)[1− 푔(푥)].

Page 46: Bahan Ajar Matematika Komputasi.pdf

Gambar 7.5. Fungsi sigmoid biner

4. Fungsi sigmoid bipolar

Fungsi ini memiliki properti yang sama dengan fungsi sigmoid, hanya saja output

dari fungsi ini berada pada interval [-1,1].

푔(푥) =

dengan 푔 (푥) = [1 + 푔(푥)][1− 푔(푥)].

Gambar 7.6. Fungsi sigmoid bipolar

Fungsi aktivasi untuk lapisan tersembunyi diperlukan untuk memperkenalkan

bentuk nonlinier kepada jaringan. Alasannya adalah bahwa komposisi dari fungsi-

fungsi linier juga. Bagaimanapun juga, non linearitas yaitu kemampuan untuk

Page 47: Bahan Ajar Matematika Komputasi.pdf

merepresentasikan fungsi nonlinier yang menjadikan jaringan dengan banyak lapisan

(multi layer) sangat handal. Hampir semua fungsi nonlinier manapun melakukan

tugas dengan baik, meskipun untuk fungsi pelatihan backpropagation harus

diturunkan dan ini akan mudah jika fungsi tersebut dibatasi pada interval tertentu.

Komponen-komponen jaringan syaraf

Jaringan syaraf terdiri dari beberapa neuron, dan di antara neuron-neuron

tersebut saling berhubungan. Neuron-neuron tersebut akan mentransformasikan

informasi yang diterima melalui sambungan outputnya menuju 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 7.7

menunjukkan struktur neuron pada jaringan syaraf.

Gambar 7.7 Struktur neuron jaringan syaraf

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 dari algoritma pembelajarannya, bisa jadi

informasi tersebut akan dirambatkan secara mundur pada jaringan. Berikut ini

adalah gambar jaringan syaraf dengan fungsi aktivasi F (lihat gambar 7.8).

Gambar 7.8. Jaringan syaraf sederhana

F y_in y w2

w1

wN

x1

x2

xn

.

.

output

Fungsi aktivasi bobot Output ke neuron-neuron yang lain

Input dari neuron-neuron

yang lain

bobot

Page 48: Bahan Ajar Matematika Komputasi.pdf

Pada gambar 7.8 tersebut sebuah neuron akan mengolah N input (x1, x2, …,xN) yang

masing-masing memiliki bobot w1, w2, …, wN, dengan rumus:

푦_푖푛 = ∑ 푥 푤

Kemudian fungsi aktivasi F akan mengaktifkan y_in menjadi output jaringan y. Untuk

jaringan syaraf dengan jumlah neuron pada lapisan output sebanyak m buah, maka

proses pengolahan data pada neuron ke-j adalah:

푦_푖푛 = ∑ 푥 푤 ; 푗 = 1, … ,푚

dengan wij adalah bobot yang menghubungkan input ke-i menuju ke neuron ke-j.

Adakalanya jaringan syaraf tidak mampu mengakomodasi informasi yang ada melalui

data-data input maupun melalui bobot-bobotnya. Untuk mengakomodasi hal

tersebut, maka biasanya pada jaringan syaraf juga ditambahkan bias yang senantiasa

bernilai 1. Pengaruh bias terhadap neuron ditunjukkan dengan bobot bias, b. Apabila

pada jaringan syaraf dilengkapi dengan bias, maka proses komputasi pada neuron

menjadi:

푦 = ∑ 푥 푤 + 푏

Untuk jaringan syaraf dengan jumlah neuron pada lapisan output sebanyak m buah,

maka proses pengolahan data pada neuron ke-j adalah:

푦_푖푛 = ∑ 푥 푤 + 푏 ; 푗 = 1, … ,푚

dengan wij adalah bobot yang menghubungkan input ke-i menuju ke neuron ke-j.

gambar 7.8 adalah gambar jaringan syaraf sederhana dengan bias.

Gambar 7.9 Jaringan syaraf sederhana dengan bias

Arsitektur jaringan syaraf

Berdasarkan arsitekturnya, jaringan syaraf tiruan dibagi menjadi 3 kelompok yaitu:

jaringan syaraf tiruan lapis tunggal (single layer net), jaringan syaraf tiruan multilapis

(multilayer net), dan jaringan syaraf tiruan kompetitif (Fausett, 1994). Jaringan lapis

F y_in y w2

w1

wN

x1

x2

xn

.

. 1

b

Page 49: Bahan Ajar Matematika Komputasi.pdf

tunggal hanya memiliki satu buah lapisan bobot koneksi, yang terdiri atas unit-unit

input yang menerima sinyal dari luar, dan unit-unit output yang merupakan respons

dari jaringan syaraf tiruan. Jaringan syaraf multilapis memiliki satu buah atau lebih

lapisan tersembunyi dan memiliki kemampuan lebih dalam memecahkan masalah

dibandingkan dengan jaringan lapis tunggal tetapi pelatihannya mungkin sedikit

lebih rumit. Berbeda dengan kedua macam arsitektur sebelumnya, pada jaringan

syaraf tiruan kompetitif sekumpulan neuron akan saling bersaing mendapatkan hak

untuk menjadi aktif.

Page 50: Bahan Ajar Matematika Komputasi.pdf

BAB 8

ALGORITMA PEMBELAJARAN DALAM JARINGAN SYARAF TIRUAN

Dalam bab ini hanya akan dipaparkan 3 algoritma yang banyak digunakan dalam

Jaringan Syaraf Tiruan, yaitu Algoritma Perceptron, Algoritma Backpropagasi dan

Algoritma Kohonen. Algoritma perceptron dan Backpropagasi merupakan contoh

algoritma dengan jenis pembelajaran yang terawasi (supervising) dan algoritma

kohonen merupakan contoh algoritma yang tidak terawasi (unsupervising)

Algoritma Perceptron

Model jaringan perceptron ditemukan oleh Rosenblatt (1962) dan Minsky – Papert

(1969). Model tersebut merupakan model yang memiliki aplikasi dan pelatihan yang

paling baik pada era tersebut.

1. Arsitektur Jaringan

Arsitektur jaringan perceptron mirip dengan arsitektur jaringan Hebb.

Gambar 8.1. Arsitektur Jaringan Perceptron

Jaringan terdiri dari beberapa unit masukan (ditambah sebuah bias), dan memiliki

sebuah unit keluaran. Hanya saja fungsi aktivasi merupakan fungsi biner (atau

bipolar), tetapi memiliki kemungkinan nilai -1, 0 atau 1.

Untuk suatu harga threshold θ yang ditentukan :

Page 51: Bahan Ajar Matematika Komputasi.pdf

Secara geometris fungsi aktivasi membentuk 2 garis sekaligus, masing – masing

dengan persamaan :

W1X1 + W2X2 + …+ WnXn + b = θ dan W1X1 + W2X2 + …+ WnXn + b = -θ

2. Pelatihan Perceptron

Misalkan

S adalah vektor masukan dan t adalah target keluaran

α adalah laju pemahaman (learning rate) yang ditentukan

θ adalah threshold yang ditentukan.

Algoritma pelatihan perceptron adalah sebagai berikut :

a. Inisialisasi semua bobot dan bias (umumnya wi = b 0)

Tentukan laju pemahaman (=α). Untuk penyederhanaan biasanya α diberi nilai =

1

b. Selama ada elemen vector masukan yang respon unit keluarannya tidak sama

dengan target, lakukan :

1) Set aktivasi unit masukan xi = si (i = 1,…n)

2) Hitung respon unit keluaran : net = ∑ xiwi + b

3) Perbaiki bobot pola yang mengandung kesalahan (y ≠ t) menurut persamaan :

Wi (baru) = wi (lama) + ∆ w (i=1,…n) dengan ∆ w = α t xi

b (baru) = b (lama) + ∆ b dengan ∆ b = α t

Ada beberapa hal yang perlu diperhatikan dalam algoritma tersebut :

a) Iterasi dilakukan terus hingga semua pola memiliki keluaran jaringan yang sama

dengan targetnya (jaringan sudah memahami pola). Iterasi tidak berhenti setelah

semua pola dimasukan seperti yang terjadi pada model Hebb.

b) Perubahan bobot hanya dilakukan pada pola yang mengandung kesalahan

(keluaran jaringan ≠ target). Perubahan tersebut merupakan hasil kali unit

masukan dengan target laju pemahaman. Perubahan bobot hanya akan terjadi

kalau unit masukan ≠ 0.

Page 52: Bahan Ajar Matematika Komputasi.pdf

Algoritma Backpropagasi Umpan Balik (Feed Forward Back Propagation)

Propagasi umpan balik berbasis jaringan syaraf tiruan merupakan algoritma

pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak

lapisan untuk mengubah bobot- bobot yang terhubung dengan neuron – neuron yang

ada pada lapisan tersembunyinya. Propagasi umpan balik berbasis jaringan syaraf

tiruan menggunakan error output untuk mengubah nilai bobot – bobotnya dalam

arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju

(forward propagation) harus dikerjakan terlebih dahulu. Pada saat perambatan maju,

neuron – neuron diaktifkan dengan menggunakan fungsi aktivasi yang dapat

dideferensiasi.

Propagasi umpan balik berbasis jaringan syaraf tiruan memiliki beberapa unit yang

ada dalam satu atau lebih layer tersembunyi. Gambar 2.3 adalah arsitektur propagasi

umpan balik berbasis jaringan syaraf tiruan dengan n buah masukan (ditambah

sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit (ditambah sebuah

bias), serta m buah unit keluaran (Jek, 2005:98).

Gambar 8.2. Arsitektur Propagasi Umpan Balik Berbasis Jaringan Syaraf Tiruan

vji merupakan bobot garis dari unit masukan xi ke unit layar tersembunyi zj (vjo

merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layer

tersembunyi zj).

Page 53: Bahan Ajar Matematika Komputasi.pdf

wkj merupakan bobot dari unit layar tersembunyi zj ke unit keluaran yk (wko

merupakan bobot dari bias di layar tersembunyi ke unit keluaran zk) (Jek, 2005:98).

1. Pelatihan Propagasi Umpan Balik Berbasis Jaringan Syaraf Tiruan

Pelatihan propagasi umpan balik berbasis jaringan syaraf tiruan 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 (Jek, 2005:100).

Fase I: Propagasi Maju

Selama propagasi maju, sinyal masukan (= xi) dipropagasikan ke layer

tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari

setiap unit layar tersembunyi (= zj) tersebut selanjutnya dipropagasikan maju

lagi ke layer 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 dari tk terhadap yk yaitu (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 j (j = 1,2,…, p) di setiap unit di layar

tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari

unit tersembunyi di layar di bawahnya. Demikian seterusnya hingga semua

Page 54: Bahan Ajar Matematika Komputasi.pdf

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 yang dilakukan sudah melebihi

jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah

lebih kecil dari batas toleransi yang diijinkan.

Algoritma pelatihan untuk jaringan dengan satu layer tersembunyi (dengan fungsi

aktivasi sigmoid biner) adalah sebagai berikut :

Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil.

Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 – 9.

Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3 – 8.

Fase I : Propagasi maju

Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya ke unit

tersembunyi di atasnya.

Langkah 4 : Hitung semua keluaran di unit tersembunyi zj (j = 1,2,…, p).

Langkah 5 : Hitung semua keluaran jaringan di unit yk (k = 1,2,…, m).

Page 55: Bahan Ajar Matematika Komputasi.pdf

Fase II : Propagasi mundur

Langkah 6 : Hitung faktor unit keluaran berdasarkan kesalahan di setiap unit

keluaran yk (k = 1,2,…, m).

δk merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layer

dibawahnya (langkah 7).

Hitung suku perubahan bobot wkj (yang akan dipakai nanti untuk merubah bobot

wkj) dengan laju perceptron α

Langkah 7 : Hitung faktor unit tersembunyi berdasarkan kesalahan di setiap unit

tersembunyi zj (j = 1,2,…, p).

Faktor δ unit tersembunyi :

δj = δ_netj f ’(z_netj) = δ_netj Zj (1– Zj)

Hitung suku perubahan bobot Vji (yang akan dipakai nanti untuk merubah bobot Vji).

Δvji = α δj xi ; j = 1,2,…,p ; i = 0,1,…,n

Fase III : Perubahan bobot

Langkah 8 : Hitung semua perubahan bobot. Perubahan bobot garis yang menuju

ke unit keluaran :

Wkj (baru) = Wkj (lama) + ΔWkj (k = 1,2,…,m ; j = 0,1,…,p)

Perubahan bobot garis yang menuju ke unit tersembunyi :

Vji (baru) = Vji (lama) + Δvji (j = 1,2…,p ; I = 0,1,…,n)

Setelah selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. Dalam hal

ini, hanya propagasi maju (langkah 4 dan 5) saja yang dipakai untuk menentukan

keluaran jaringan.

Apabila fungsi aktivasi yang dipakai bukan sigmoid biner, maka langkah 4 dan 5

harus disesuaikan. Demikian juga turunannya pada langkah 6 dan 7.

Page 56: Bahan Ajar Matematika Komputasi.pdf

56

2. Jaringan Propagasi Umpan Balik Pada MATLAB

Membangun Jaringan Propagasi Umpan Balik

Arsitektur jaringan yang sering digunakan oleh algoritma propagasi umpan balik

adalah jaringan feedforward dengan banyak lapisan. Untuk membangun suatu

jaringan feedforward digunakan instruksi newff.

Fungsi : net = newff (PR,[S1 S2 . . . SN1],{TF1 TF2 . . . TFN1},BTF,BLF,PF)

Keterangan :

PR : matriks berukuran Rx2 yang berisi nilai minimum dan maksimum, dengan R

adalah jumlah variable input .

Si : jumlah neuron pada lapisan ke-i, dengan i = 1,2,..,N1.

TFi : fungsi aktivasi pada lapisan ke- i, dengan i = 1,2,..,N1; (default : tansig)

BTF : fungsi pelatihan jaringan (default : trainlm)

BLF : fungsi pelatihan untuk bobot (default : learngdm) PF : fungsi kinerja

(default : mse)

Inisialisasi Bobot

Setiap kali membentuk jaringan propagasi umpan balik, MATLAB akan memberi nilai

bobot dan bias awal dengan bilangan acak kecil. Bobot dan bias ini akan berubah

setiap kali kita membentuk jaringan. Akan tetapi jika diinginkan memberi bobot

tertentu, bisa dilakukan dengan memberi nilai pada net.IW, net.LW dan net.b.

Perbedaan antara net.IW dan net.LW. net.IW{j,i} digunakan sebagai variabel untuk

menyimpan bobot dari unit masukan layar i ke unit tersembunyi (atau unit keluaran)

layar j.

Karena dalam propagasi umpan balik, unit masukan hanya terhubung dengan layar

tersembunyi paling bawah, maka bobotnya disimpan dalam net.IW {1,1}. Sebaliknya,

net.LW{k,j} dipakai untuk menyimpan bobot dari unit di layar tersembunyi ke- j ke

unit di layar tersembunyi ke- k. Sebagai contoh, net.LW {2,1} adalah penyimpan bobot

dari layar tersembunyi paling bawah (layar tersembunyi ke- 1) ke layar tersembunyi

diatasnya (layar tersembunyi ke- 2).

Metode Penurunan Gradien Dengan Momentum (Traingdm)

Page 57: Bahan Ajar Matematika Komputasi.pdf

57

Modifikasi metode penurunan tercepat dilakukan dengan menambah momentum.

Dengan momentum, perubahan bobot tidak hanya didasarkan atas error yang terjadi

pada epoch pada waktu itu. Perubahan bobot saat ini dilakukan dengan

memperhitungkan juga perubahan bobot pada epoch sebelumnya. Dengan demikian

kemungkinan terperangkap ke titik minimum lokal dapat dihindari.

Dalam MATLAB, pelatihan propagasi umpan balik dengan menggunakan metode

penurunan gradient dengan momentum dilakukan dengan mendefinisikan fungsi

pelatihan ‘ traingdm’ dalam pembentukan jaringannya.

Ada beberapa parameter yang harus diset untuk pelatihan ini, yaitu :

Maksimum epoh

Maksimum epoh adalah jumlah epoh maksimum yang boleh dilakukan selama

proses pelatihan. Iterasi akan dihentikan apabila nilai epoh melebihi maksimum

epoh.

Instruksi : net.trainParam.epochs = MaxEpoh (default = 10).

Kinerja tujuan

Kinerja tujuan adalah target nilai fungsi kinerja. Iterasi akan dihentikan apabila

nilai fungsi kinerja kurang dari atau sama dengan kinerja tujuan.

Instruksi : net.trainParam.goal = Targeterror (default = 0).

Learning rate

Learning rate adalah laju pembelajaran. Semakin besar nilai learning rate akan

berimplikasi pada semakin besarnya langkah pembelajaran. Jika learning rate

diset terlalu besar, maka algoritma akan menjadi tidak stabil. Sebaliknya, jika

learning rate diset terlalu kecil, maka algoritma akan konvergen dalam jangka

waktu yang sangat lama.

Instruksi : net.trainParam.lr = LearningRate(default = 0.01).

Faktor laju momentum

Instruksi : net.trainParam.mc = Momentum (default = 0.9).

Jumlah epoh yang akan ditunjukkan kemajuannya

Menunjukkan berapa jumlah epoh berselang yang akan ditunjukkan

kemajuannya. Instruksi : net.trainParam.show = EpohShow (default = 25).

Pelatihan Propagasi Umpan Balik

Page 58: Bahan Ajar Matematika Komputasi.pdf

58

Untuk menggunakan pelatihan propagasi umpan balik digunakan fungsi train. Fungsi: [net,tr] = train (net,P,T)

Keterangan :

net : jaringan syaraf

tr : informasi pelatihan (epoh dan fungsi kinerja)

P : matriks data input

T : matriks data target (default = 0)

Algoritma Kohonen Map

Kohonen Map atau bisa disebut Self Organizing Map diperkenalkan pertama kali oleh

Prof. Teuvo Kohonen dari Finlandia pada tahun 1982. Kohonen map merupakan salah

satu algoritma jaringan syaraf tiruan terbaik, metoda ini cukup unik karena

membangun sebuah topology preserving map dari ruang berdimensi tinggi ke dalam

neuron-neuron sebagai representasi dari datapoint-datapoint yang ada.

Kohonen map merupakan salah satu metoda jaringan syaraf tiruan unsupervised

(tidak terawasi), jaringan ini 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 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.

1. Topologi Jaringan Kohonen Map

J. J. Siang (2004:292); Dalam jaringan kohonen, neuron target tidak diletakan dalam

sebuah baris, tetapi neuron target diletakan dalam 2 dimensi yang topologinya dapat

diatur. Untuk mendefinisikan topologi jaringan terdapat 3 macam topologi yang

dapat dibuat yaitu gridtop, hextop, dan randtop.

a. Gridtop (Grid Topology)

Topologi dengan posisi neuron membentuk pola menyerupai segi empat.

Ditentukan dengan membuat koordinat neuron dalam n baris dan n kolom.

Page 59: Bahan Ajar Matematika Komputasi.pdf

59

Gambar 8.3. Grid Topology

b. Hextop (Hexagonal Topology)

Topologi dengan posisi neuron membentuk pola menyerupai segi enam.

Ditentukan dengan membuat koordinat neuron dalam n baris dan n kolom.

Gambar 8.4. Hexagonal Topology

c. Randtop (Random Topology)

Topologi dengan posisi neuron membentuk pola secara acak. Ditentukan

dengan membuat koordinat neuron dalam n baris dan n kolom.

Page 60: Bahan Ajar Matematika Komputasi.pdf

60

Gambar 8.5. Random Topology

2. Jarak Antar Neuron Jaringan Kohonen Map

J. J. Siang (2004:297); Dalam jaringan kohonen, perubahan bobot tidak hanya

dilakukan pada garis yang terhubung ke neuron pemenang saja, tetapi juga pada

bobot garis neuron-neuron sekitarnya. Neuron sekitar neuron pemenang ditentukan

berdasarkan jaraknya dari neuron pemenang (default jarak = 1). Ada 4 macam

definisi jarak antar 2 neuron, yaitu jarak Euclidist, Boxdist, linkdist, dan mandist.

Jarak Euclidist adalah jarak yang antara 2 titik dalam posisi berbeda yang kita kenal

sehari-hari. Misal (x1, y1) dan (x2, y2) adalah koordinat 2 buah neuron. Jarak neuron

didefinisikan sebagai berikut:

Jarak persegi (boxdist) sebuah neuron adalah neuron-neuron disekitarnya secara

langsung. Apabila topologi neuron adalah gridtop, maka paling banyak terdapat 8

buah neuron dengan boxdist = 1, 16 buah neuron dengan boxdist = 2 (lihat Gambar

8.6). jika neuron pemenang berada di pinggir (seperti titik q pada Gambar 8.6), maka

hanya ada 5 neuron disekitarnya.

Page 61: Bahan Ajar Matematika Komputasi.pdf

61

Gambar 8.6. Box Distance

Jarak link (linkdist) dari sebuah neuron adalah jumlah langkah yang dibutuhkan

untuk menuju neuron tersebut. Jika dalam jaringan kohonen menggunakan topologi

gridtop dengan linkdist = 1 (lihat Gambar 8.7), berarti hanya neuron-neuron yang

berhubungan langsung dengan neuron pemenang saja yang diubah bobotnya.

Gambar 8.7. Link Distance

Jarak Manhattan (mandist) antar vektor x = (x1, x2, ..... xn) dan vektor y = (y1, y2, .....

yn)

didefinisikan sebagai:

Jika x = (x1, x2) dan y = (y1, y2) menyatakan koordinat neuron yang dibentuk melalui

topologi tertentu, maka jarak manhattan antara neuron x dan y adalah:

Page 62: Bahan Ajar Matematika Komputasi.pdf

62

Juha Vesanto (1999:1) Kohonen dapat berfikir sebagai jaringan yang meyebar dari

data masukan. Algoritma pelatihan kohonen memindahkan bobot vektor sehingga

jaringan hasil pembelajaran dapat menyerupai pola masukan dan oleh karena itu

jaringan dapat terorganisir, neuron yang berdekatan pada jaringan dapat menyrupai

bobot vektor. Pada contoh pelatihan sederhana, pola masukan dihubungka satu

persatu, dan algoritma hasil pelatihan secara berturut – turut memindahkan bobot

vektor ke arah jaringan hasil pelatihan, ditunjukan pada gambar 8.9. Pada proses

pelatihan, seperangkat data dipelajari oleh kohonen secara keseluruhan, dan vektor

bobot baru menimbang dari rata-rata vektor masukan. Keduanya adalah algoritma

iteratif dengan kumpulan yang banyak, sejak operasi matrix dapat menggunakan

matlab membuatnya jadi lebih efisien.

Gambar 8.9. Bobot Baru Jaringan Kohonen

Bobot baru mencocokan pada bobot masukan, dan tetangga dari vektor masukan di

tandai dengan x. Garis padat dan garis putus-putus sesuai dengan situasi sebelum dan

setelah pembelajaran pada masing – masing neuron.