Post on 05-Mar-2019
8
BAB 2
LANDASAN TEORI
Dalam bab ini dijelaskan teori-teori yang akan dipakai untuk merancang program
aplikasi ini. Metode yang dipakai terdiri dari Metode Fourier Descriptors dan metode
Backpropagation. Dalam bab ini juga diuraikan tentang definisi yang mencakup citra,
pengolahan citra, pengenalan pola, konsep dasar pengenalan objek, Fourier Descriptors
dari suatu kurva tertutup, metode Backpropagation, model rekayasa piranti lunak,
interaksi manusia dan komputer, serta pengertian dan jenis simulasi.
2.1 Definisi Citra, Pengolahan Citra dan Pengenalan Pola
Citra merupakan representasi dari suatu objek nyata baik dalam bentuk dua
dimensi maupun tiga dimensi menjadi bentuk gambar digital yang dimengerti oleh
komputer (Anil K. Jain, 1989, p2). Definisi citra lainnya adalah sebuah fungsi intensitas
warna dua dimensi f(x,y) di mana x dan y mewakili lokasi koordinat suatu titik dan nilai
dari fungsi yang merupakan tingkat intensitas warna atau tingkat keabu-abuan dari titik
tersebut (Robert J. Schalkoff, 1989, p9). Pengolahan citra (Image Processing)
merupakan bidang yang berhubungan dengan proses transformasi citra (image). Proses
ini bertujuan untuk mendapatkan kualitas citra yang lebih baik (Michael G. Fairhurst,
1988, p5). Pengenalan pola (Pattern Recognition) merupakan bidang yang berhubungan
dengan proses identifikasi objek pada citra atau interpretasi citra. Proses ini bertujuan
untuk mengekstrak informasi atau pesan yang disampaikan oleh gambar atau citra
(Michael G. Fairhurst, 1988, p5).
9
2.2 Konsep Dasar Pengenalan Objek
Zadeh menyatakan bahwa manusia dapat mengenal pola dengan bantuan opaque
mapping atau pemetaan tidak transparan (Zadeh, L.A., 1977, p251). Situasi atau pola
yang baru dengan cermat dapat dikenali dan diklasifikasi oleh seorang peninjau. Namun
prosedur memetakan pola ke dalam keanggotaan kelas yang tepat juga bersifat opaque.
Tidak hanya rincian proses yang tidak dapat diakses oleh peninjau lainnya, tetapi juga
proses yang umumnya tidak dipahami oleh pengenalnya sendiri. Oleh sebab itu tugas
implementasi, pengenalan objek atau pola yang berbasiskan komputer harus
menggantikan opaque mapping dengan pemetaan yang transparan yang dapat
dilukiskan dengan tepat ke komputer.
2.3 Representasi Parametrik
Computer vision merupakan ilmu yang mempelajari bagaimana komputer dapat
mengenali objek yang diamati (Michael G. Fairhurst, 1988, p5). Computer vision adalah
kombinasi antara pengolahan citra dan pengenalan pola. Computer vision bersama
intelegensia semu (Artificial Intelligence) akan mampu menghasilkan sistem intelegen
visual (Visual Intelligence System). Hal yang penting dari pengenalan objek adalah
pemrosesan serentak pada informasi, semua parameter yang terdapat pada waktu yang
sama. Secara umum objek adalah suatu struktur data dari sifat-sifat (karakteristik-
karakteristik) termasuk informasi mengenai nama karakteristik dan nilai karakteristik,
dan informasi yang eksplisit atau implisit tentang hubungan di antara sifat (karakteristik)
jika ada. Sebagai contoh, aspek tertentu dari sebuah kuda mungkin dapat dilukiskan
dalam bentuk pola:
kuda : ((kategori hewan), (warna coklat), (berkaki empat))
10
Dalam computer vision, semua karakteristik atau parameter harus berupa
numerik, yang disebut DESCRIPTOR. Menggunakan bilangan untuk descriptor akan
menjadi efektif untuk digunakan secara simultan untuk melukiskan suatu objek. Karena
sebuah descriptor hanya berupa sebuah bilangan, maka menggabungkannya dengan
observasi partikuler merupakan hal yang penting. Oleh sebab itu objek dapat dikenali
dengan suatu vektor yang komponennya adalah descriptor. Inilah yang dikenal sebagai
OBJECT VECTOR atau DESCRIPTOR VECTOR, benar-benar vektor biasa yang tanpa
komplikasi, tetapi pasti secara mutlak sehingga kita dapat membuat objek yang benar di
mana yang harus kita catat karakteristik pentingnya:
a. Mempunyai jumlah elemen yang tetap disebut DESCRIPTOR.
b. Nilai untuk semua descriptor senantiasa diketahui dan berupa numerik.
c. Urutan descriptor dalam vektor tetap.
Maka objek X dapat dipresentasikan sebagai sebuah vektor yang tersusun dari n
nilai komponen dalam koordinat n dimensi dan dapat digambarkan sebagai sebuah titik
dalam ruang koordinat.
[ ]nxxx X ,...,, 21= (2.1)
11
X
1x
2x
M
nx
( )xRop ( ) xxC =
Generic object or class
Class Index
Instantiations of generic object
Opaque mapping
X
1x
2x
M
nx
( )xRtr ( ) xxC =
Generic object or class
Class Index
Instantiations of generic object
Transparent mapping
Representations of instantiations in terms of features
( )1xf( )2xf
( )nxf
(a)
(b)
Gambar 2.1 Representasi skematik konsep pengenalan objek.
(a) secara alami. (b) dalam implementasi komputer.
2.4 Seleksi Parametrik
Sesudah mengetahui bahwa objek dapat direpresentasikan sebagai vektor yang
tersusun dari n nilai komponen, sekarang nilai komponen dari vektor itu sendiri harus
dapat ditentukan, sehingga objek dapat dikenali dengan benar. Parameter-parameter
tidak harus invarian posisi, invarian rotasi, invarian penskalaan dan invarian shear,
tetapi juga invarian perspektif. Invariansi posisi berarti tidak menjadi soal di mana letak
12
objek itu dalam medan visual sepanjang objek yang sama, objek tersebut harus dapat
dikenali. Invariansi rotasi juga serupa, tetapi lebih ditekan kepada orientasi objek.
Invariansi penskalaan biasanya tidak menjadi masalah, karena hanya mengenai ukuran
objek. Ketiga invariansi yang pertama tersebut telah dibahas oleh Deutsch dalam
persepsi penglihatan manusia (Deutsch, J.A., 1958, p30). Invariansi shear dan perspektif
biasa diterapkan dalam pengenalan pola tiga dimensi.
Untuk memperjelas konsep ini diberikan dua parameter yang telah banyak
dipakai oleh peneliti. Yang pertama faktor bentuk atau p2/A (kuadrat parameter dari
kontur sebuah objek dibagi luasnya) sering dipakai sejak permulaan munculnya
pengenalan pola, yang mencakup ketiga invariansi yang pertama tersebut. Akan tetapi
Rosenfeld telah membuktikan penyimpangan dari p2/A yang berkaitan dengan objek
yang berbentuk sederhana secara digitalisasi seperti persegi panjang, tanda silang, dan
sebagainya (A. Rosenfeld, 1974, p221). Yang kedua μ/σ (rata-rata radius vektor dari
kontur dibagi simpangan baku), yang memenuhi ketiga invariansi yang pertama.
Kemudian Harralick telah mempelajari sifat-sifat dari μ/σ untuk menentukan apakah
cocok bagi lingkaran atau tidak. Ternyata untuk σ = 0 , μ/σ mendekati tak berhingga
bagi lingkaran, sehingga metode ini gagal (R.M. Harralick, 1974, p349). Dan juga
Veillon telah membuktikan bangun-bangun atau bentuk-bentuk dalam Gambar 2.2 tidak
dapat didiskriminasikan dengan menggunakan kedua parameter di atas (F. Veillon,
1986, p81).
Gambar 2.2 Bangun yang tidak diskriminan menggunakan p2 / A or μ / σ
13
2.5 Fourier Descriptors Dari Suatu Kurva Tertutup
Dianggap C adalah kurva tertutup sederhana yang orientasinya searah jarum
jam dengan representasi parameter ( ) ( )( ) ( )lZlylx , = di mana l panjang busur dan
( ) ( )nWOW jiijji Δ+=+Δ 1n αδη . Arah sudut C dinyatakan mulus menurut Buck
dan diberikan ( )0 0 θδ = sebagai arah sudut yang absolut pada titik awal Z(0).
Didefinisikan fungsi angular kumulatif φ(l) sebagai besar sudut angular jaringan antara
titik awal dan titik l seperti Gambar 2.3.
Dengan definisi ini, tidak sulit untuk memahami bahwa ( )0 0 θδ = dan
( ) πφ 2 −=L , karena semua kurva tertutup sederhana yang mulus dengan orientasi
searah jarum jam mempunyai sudut angular jaringan sebesar -2π. Untuk memperjelas
diberikan sebuah contoh seperti pada Gambar 2.4.
Y
X( )lθ ( )0o θ=δ
( )lφ ( ) ( )( )ly,lx
( ) ( )( )0y,0x
Gambar 2.3 Representasi parametrik dari sebuah kurva bidang tertutup dengan sudut
tangensial θ(l) and fungsi bend kumulatif
14
π
π−
π− 2
0
( )lφ
(b)
(a)
Gambar 2.4 (a) Kurva bidang tertutup dengan titik awal dari batasan karakter “H”.
(b) Fungsi bend angular kumulatif φ(l).
Daerah asal dari selang [0,L] , dari φ(l) mempunyai informasi ukuran absolut
dan akan dinormalisasi ke dalam selang [0,2π] yang standar untuk fungsi periodik. Jadi
didefinisikan varian yang dinormalisasikan φ∗(t) sedemikian rupa, sehingga
( ) ( ) 0 2 0 == ∗∗ πφφ (2.2)
Definisi normalnya adalah :
( ) t +⎟⎠⎞
⎜⎝⎛=∗
πφφ
2 tL 0 (2.3)
dan φ∗ bersifat invarian dalam translasi, rotasi dan perubahan keliling L. φ∗ diperluas
menjadi deret Fourier :
( ) ( )∑∞
=
∗ ++=1
0 sincos k
kk kt bkt at μφ (2.4)
atau dalam bentuk polar persamaan (3.3) menjadi :
( ) ( )∑∞
=
∗ −+=1
0 cos k
kk ktAt αμφ (2.5)
15
di mana (Ak,αk) adalah koordinat polar dari (ak,bk) . Bilangan Ak dan αk merupakan
Fourier descriptor untuk kurva C dan masing-masing disebut amplitudo harmonik ke-k
dan sudut fase ke-k. Jika C kurva poligon dan diberikan xi , yi untuk i = 0, 1, …, N
sebagai koordinat dari N verteks dan ti sebagai nilai parameternya. Lebih lanjut
(xN,yN) = (x0,y0) dan tN = t0 + T.
Transformasi Fourier diberikan sebagai:
( )
( ) ( )( )
( )∑
∑−
=+
+
+
−
=++
+
+
+
−Φ⎟⎟⎠
⎞⎜⎜⎝
⎛−−
+
+−−Φ−Φ⎟⎟⎠
⎞⎜⎜⎝
⎛−−
−=⎟⎟
⎠
⎞⎜⎜⎝
⎛
1
01,
1
1
1
01,1,
1
1
12
2
1 1 2
N
iiiik
ii
ii
N
iiiikik
ii
ii
iik
k
ttyyxx
kj
ttyyxx
ttkT
YX
δπ
δπ
(2.6)
di mana
⎭⎬⎫
⎩⎨⎧−=Φ
Tt
kj iik 2 exp , π (2.7)
dan
( )⎩⎨⎧
≠=
=−+
++
ii
iiii t tjika
t tjikatt
1
11 0
1 δ (2.8)
Dengan rancangan program pada Bab3, maka dapat diperoleh parameter-
parameter Fourier Descriptors yaitu an dan bn yang diperoleh dari deret Fourier.
2.6 Jaringan Saraf Tiruan
Menurut Valluru Rao dan Hayagriva Rao (1995, p1), Jaringan Syaraf Tiruan
(Artificial Neural Network) adalah suatu sistem komputasi yang mengikuti mekanisme
kerja syaraf biologis manusia. Sistem ini diharapkan dapat menghasilkan fleksibiliti dan
kekuatan otak manusia. Sistem ini juga menggunakan representasi dari sebuah neuron
(sel syaraf) manusia dan interaksi di antara neuron-neuron tersebut sebagai dasar dari
16
prinsip kerjanya. Jadi input untuk jaringan saraf dapat berupa sifat-sifat yang kasar dari
objek tersebut. Kelebihan penggunaan pengklasifikasi jaringan saraf adalah dapat
belajar sendiri dan sekali dilatih mampu mencakup masukan sifat yang tersembunyi
sebagian atau tidak lengkap.
Konsep dasarnya dapat digambarkan dalam bentuk susunan sambungan pengali
dan penjumlahan, seperti pada Gambar 2.5. Dari ilustrasi di atas nilai karakteristik
objek menjadi input ke “kotak hitam” (black box). Kita dapat melihat ke dalam kotak
itu dan tampak bahwa setiap input dihubungkan ke output dengan suatu link (rantai)
yang mempunyai sebuah pengali sedemikian rupa sehingga node dari input ke output
merupakan jumlah semua bobot input yang bersesuaian. Untuk masalah klasifikasi dua
kelas hanya diperlukan satu output dan dua nilai output mungkin 1 dan -1 , masing-
masing untuk kedua kelas c1 dan c2.
Tugasnya adalah mempelajari himpunan nilai bobot, sehingga semua objek dapat
diklasifikasi secara tepat dengan menggunakan satu himpunan bobot saja.
Input objectX
X1
X2
Xn
Outputb
bWX t =
Weight vector W
Gambar 2.5 Representasi skematik konsep dasar jaringan saraf
17
Secara pendekatan analitis, objek dilukiskan dalam bentuk vektor X seperti
pada persamaan (2.1) dan kelompok traning set dalam bentuk vektor kolom W
sedemikian rupa, sehingga :
bWX = (2.9)
di mana elemen-elemen b adalah nilai “output” yang ditentukan dengan sample traning
set. Untuk mendapatkan nilai bobot agar jaringan saraf dapat mengklasifikasi objek
dengan tepat, kita harus mempunyai M input training set. Jadi persamaan (2.9) dapat
dikembangkan menjadi
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
MNMNMM
N
N
b
bb
W
WW
xxx
xxxxxx
MM
K
MKMM
K
K
2
1
2
1
21
22221
11211
(2.10)
Kita dapat menyelesaikan persamaan (2.10) dengan pseudoinverse dari X, yaitu:
bXWXX tt = (2.11)
dan ( ) bXXXW t1t −= (2.12)
atau ( ) bXIeXXW t1t lim 0
−
→ε+= (2.13)
Prosedur analitis yang eksak tersebut tidak praktis, tidak hanya disebabkan oleh
kesukaran analitis, tetapi juga karena prosedur tersebut tampak tidak bersesuaian dengan
kenyataan dalam situasi yang sebenarnya. Untuk kasus yang lebih realitis, persamaan
yang sesuai menjadi :
K1,2, puntuk == bWXp (2.14)
18
dan yang dibutuhkan adalah satu himpunan bobot W yang memadai untuk menghasilkan
himpunan output b yang tepat bagi himpunan semua input Xp , K1,2, p = .
Prosedur iteratif untuk mencari W mengikuti aturan berikut:
(W1 ditentukan bebas)
( ) kktk
kkk XX Wb WW 1 −+=∴ + η (2.15)
di mana bk adalah nilai b yang sesuai untuk objek input Xk dan bisa bernilai +1
untuk kelas c1 dan -1 untuk kelas c2 , dan Xk adalah input yang ke-k.
Persamaan (2.15) merupakan aturan untuk memperbarui vektor bobot sampai
semua vektor input diklasifikasikan dengan benar. Prosedurnya adalah menambahkan
jumlah tertentu Xk pada Wk jika Xk belum diklasifikasikan dengan benar. Faktor
proporsionalnya adalah ( )ktk
k X Wb − η , yang nilainya nol atau sangat kecil jika Xk
sudah diklasifikasikan dengan benar.
Secara umum persamaan (2.15) dapat dituliskan sebagai :
XW δη=Δ (2.16)
Tugas klasifikasi multikelas memerlukan beberapa output, seperti digambarkan
pada Gambar 2.6. Lebih lanjut, solusinya berupa matriks bobot, dan output yang
diperlukan juga membentuk suatu matriks. Prosedurnya tetap seperti di atas. Konsep
dasar ini dikenal sebagai pengklasifikasi linear.
19
1th layer(input layer nodes)
X1
X2
Xi
Xn
kth layer(output layer nodes)
∑==i
ikik O W layeroutput in nodekth input to net
OiOk
kiW knet
Untuk kasus linear, tidak ada keuntungan jika mempunyai layer lebih dari satu
dalam struktur yang ditunjukkan pada Gambar 2.6. Komplikasi sebuah layer internal
juga tidak berguna. Hasil perkalian matriks linear masih berupa matriks, dan sifat
solusinya sama dengan sebelumnya. Akan tetapi jika tidak ada layer internal, jaringan
saraf tidak dapat menyelesaikan problem XOR. Oleh sebab itu kita harus menggunakan
jaringan saraf non linear.
Pada umumnya jaringan saraf non linear terbuat dari himpunan-himpunan node
yang tersusun dalam layer-layer seperti pada Gambar 2.7. Output node dalam satu
layer ditransmisikan ke node pada layer lain melalui link yang dapat memperkuat atau
menahan output tersebut dengan faktor bobot. Terkecuali untuk node pada layer input.
Input jaringan pada setiap node merupakan jumlah output terbobot dari node-node pada
layer sebelumnya. Setiap node diaktifkan sesuai dengan input ke node yang
bersangkutan, fungsi aktivasi dan bias dari node tersebut.
Gambar 2.6 Representasi skematik dari konsep klasifikasi multikelas yang dasar
20
2.7 Back Propagation
Back Propagation adalah suatu model JST yang didesain untuk beroperasi secara
multi layer, berarsitektur umpan maju (feedforward network), menggunakan metode
supervised learning dan antara lapisan yang satu dengan lapisan yang lain saling
berhubungan (fully interconnected by layer).
Model jaringan propagasi balik merupakan model yang paling sering dipakai
dalam pengembangan JST dan memiliki unjuk kerja yang baik dari sisi tingkat
ketelitian. Model ini mempunyai dua fase dalam proses pelatihannya, yaitu fase
propagasi maju (forward propagation) dan fase propagasi mundur (backward
propagation). Setelah suatu pola masukan diberikan kepada lapisan pertama dari
jaringan akan diteruskan (propagated) ke masing-masing lapisan berikutnya sampai
dihasilkan suatu keluaran akhir (actual output). Keluaran akhir ini kemudian
dibandingkan dengan nilai keluaran ideal (target output) sehingga dihasilkan sinyal galat
bagi masing-masing keluaran. Sinyal ini kemudian ditransmisikan balik (backward
propagation) dari lapisan keluaran ke masing-masing sel-sel pada lapisan sebelumnya.
Dalam pengoperasian model jaringan ini terdapat 2 mekanisme kerja atau sering
disebut dengan modus operasi yang akan bekerja menurut suatu aturan tertentu. Kedua
modus tersebut adalah :
• Modus latihan atau belajar (Training Mode).
Pada modus ini, jaringan akan dilatih untuk dapat menghasilkan data sesuai dengan
target yang diharapkan melalui satu atau lebih pasangan data masukan dan data
keluaran. Semakin lama latihan atau semakin banyak pasangan data yang digunakan
untuk latihan maka kinerja jaringan akan semakin baik.
21
• Modus produksi (Production Mode) atau disebut juga dengan modus pengujian
(TryOut Mode).
Pada modus ini, jaringan diuji apakah dapat mengeluarkan data (mengenali) sesuai
dengan yang diharapkan setelah melalui suatu latihan terlebih dahulu.
Pada dasarnya untuk membentuk suatu sistem neural, hanya 3 tahap saja yang
diperlukan, yaitu forward propagation, backward propagation dan update weight.
Wkj
Input layer Hidden Layer Output Layer
Inputobject
Outputobject
Wji
Gambar 2.7 Skema umum jaringan saraf non-linear
Input jaringan ke node pada layer j adalah
∑=
=N
jijij OWnet
0 (2.17)
Output dari node j adalah
( )jj netfO = (2.18)
di mana f adalah fungsi aktivasi. Fungsi itu naik monoton dan tidak linear. Untuk
training fungsi tersebut juga harus dapat diturunkan dan biasanya menggunakan fungsi
signoida:
22
( )o
jjnetj
e
Oθ
θ
1
1 +
−
+
= (2.19)
juga diperoleh:
∑=
=M
jjkjk OWnet
0 (2.20)
dan ( )kk netfO = (2.21)
Pada fase belajar dari training jaringan demikian, diberikan objek input
[ ]nxxx ,,, 21 K=pX sebagai input dan jaringan diminta mengatur himpunan bobot dalam
semua link yang terhubung dan juga semua threshold (nilai ambang) dalam node,
sedemikian rupa sehingga output yang diharapkan tpk diperoleh pada node output.
Sekali penyesuaian ini diselesaikan jaringan, diberikan pasangan Xp dan {tpk} lain, dan
jaringan diminta mempelajari asosiasi tersebut. Pada kenyataannya jaringan diminta
untuk mencari sebuah himpunan bobot dan bias yang akan memenuhi semua pasangan
input-output yang diberikan. Proses ini dapat ditunjukkan tugas belajar yang sangat
berat dan tidak selalu dapat diselesaikan dengan mudah.
Pada umumnya output {Opk} tidak akan sama dengan sasaran atau nilai yang
diharapkan {tpk}. Untuk setiap pola , kuadrat galat adalah:
( )∑ −=k
pkpkp OtE 2 21 (2.22)
Dengan mengabaikan indeks p untuk kemudahan, persamaan dapat ditulis sebagai
( )∑ −=k
kk OtE 2 21 (2.23)
diharapkan
jinji
nji WWW Δ+=+ 1
(2.24)
23
dan
kjn
kjn
kj WWW Δ+=+ 1 (2.25)
Konvergensi yang dicapai menuju nilai untuk bobot dan threshold yang
diperbaiki dengan menggunakan:
kj
kj WEW
δδη −=Δ dan
jiji W
EWδδη −=Δ (2.26)
Namun demikian, rata-rata kuadrat galat E dinyatakan dalam bentuk output Ok,
masing-masing merupakan output non linear dari node k (2.20) , dan netk adalah output
ke node k dan dengan didefinisikan sebagai jumlah linear terbobot dari semua output
pada layer sebelumnya (2.21).
Dan akhirnya, diperoleh :
jkkj OW δη=Δ dan ijji OW δη=Δ (2.27)
( ) ( )kkkkk OOOt −−= 1 δ (2.28)
( ) ∑−=k
kjkjj WO 1 O j δδ (2.29)
Ada beberapa isu lain yang harus diperhatikan jika ingin menggunakan jaringan
tersebut. Sebagai contoh pertanyaan tentang bagaimana nilai h dipilih. Nilai h yang
besar sebanding dengan belajar cepat, tetapi juga bisa menghasilkan osilasi. Rumelhart,
Hilton, dan Williams menganjurkan agar persamaan (2.25) dimodifikasi dengan memuat
urutan suku momentum.
Jadi dapat dituliskan:
( ) ( )nWOW jiijji Δ+=+Δ 1n αδη (3.22)
24
di mana kuantitas (n+1) digunakan untuk menunjukkan langkah ke-(n+1), dan α adalah
konstanta yang proporsional. Suku kedua dalam persamaan (2.28) digunakan untuk
menentukan bahwa perubahan dalam Wji pada langkah ke-(n+1) harus hampir sama
dengan perubahan yang terjadi pada langkah ke-n.
2.8 Simulasi
Simulasi dapat dipandang sebagai suatu model matematis yang menerangkan
perilaku sistem dari waktu ke waktu. Simulasi merupakan teknik numerik untuk
melakukan percobaan pada suatu komputer digital, di mana di dalamnya mengandung
sejumlah hubungan matematis dan logis yang diperlukan untuk menggambarkan struktur
dan tingkah laku sistem dunia nyata yang kompleks pada periode yang cukup panjang
(Watson, 1981).
2.8.1 Jenis-jenis Simulasi
Simulasi dapat dikelompokkan ke dalam beberapa jenis, di antaranya adalah
simulasi menurut sifat dan waktunya, simulasi menurut ada atau tidaknya peubah acak,
serta simulasi menurut peubah acaknya.
a. Simulasi Menurut Sifat dan Waktu
Simulasi menurut sifat dan waktu dibagi menjadi simulasi statis, yaitu simulasi model
yang menggambarkan suatu proses yang tidak dipengaruhi oleh waktu / suatu proses
yang terjadi pada suatu waktu tertentu saja, dan simulasi dinamis, yaitu simulasi model
yang menggambarkan proses yang dipengaruhi oleh waktu / berlangsung pada suatu
rentang waktu.
25
b. Simulasi Menurut Ada Tidaknya Peubah Acak
Simulasi menurut ada tidaknya peubah acak dibagi menjadi simulasi deterministik, yaitu
Simulasi yang menggambarkan suatu proses yang pasti terjadi (tidak mengandung
ketidaktentuan), dan simulasi stokastik atau probabilistik, yaitu simulasi yang
menggambarkan suatu proses yang mengandung sifat ketidakpastian atau probabilistik
atau random.
c. Simulasi Menurut Peubah Acaknya
Simulasi menurut peubah acaknya dibagi menjadi simulasi diskret, yaitu simulasi yang
komponen-komponen sistemnya bersifat diskret. Sementara simulasi kontinu adalah
simulasi yang komponen-komponen sistemnya bersifat kontinu, dan simulasi Monte
Carlo yang menggunakan dasar data empiris atau percobaan.
2.9 Model Rekayasa Piranti Lunak
Model rekayasa piranti lunak yang dipakai penulis adalah model sekuensial
linear. Model ini biasa disebut juga model “air terjun” (waterfall). Model ini merupakan
sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan
sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain,
kode, pengujian dan pemeliharaan. Penjelasan tahapan dalam Waterfall Model adalah
sebagai berikut :
a. Analisis Kebutuhan
Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada
perangkat lunak. Tujuan dari tahap ini adalah untuk mengetahui kebutuhan piranti lunak,
26
sumber informasi piranti lunak, fungsi-fungsi yang dibutuhkan, kemampuan piranti
lunak dan antar muka piranti lunak tersebut.
b. Perancangan
Proses perancangan merupakan representasi kebutuhan ke bentuk perangkat lunak
yang dapat dinilai kualitasnya sebelum dilakukan pengkodean. Tahap ini meliputi
perancangan struktur data, perancangan arsitektur piranti lunak, perancangan rincian
prosedur dan perancangan user interface.
c. Pengkodean
Tahapan ini mengkodekan hasil perancangan ke bahasa pemrograman.
d. Implementasi dan Pengujian
Setelah program aplikasi selesai dikode, program akan diujicobakan dan juga
dilakukan pengujian. Pengujian dilakukan secara menyeluruh hingga semua perintah dan
fungsi telah diuji sampai output yang dihasilkan oleh program sesuai dengan yang
diharapkan.
e. Pemeliharaan
Pemeliharaan perangkat lunak dilakukan karena sering terjadinya perubahan dan
peningkatan fungsi piranti lunak. Hal ini sesuai permintaan pemakai, maka piranti lunak
yang telah selesai dibuat perlu dipelihara agar dapat mengantisipasi permintaan pemakai
terhadap fungsi-fungsi baru. Bila terjadi perubahan berarti membalikkan tahapan ke
tahapan yang lebih awal.
27
Gambar 2.8 Model Waterfall
2.10 Interaksi Manusia dan Komputer
Saat ini program yang baik selain dituntut dari segi fungsi, sangatlah
memperhatikan segi interaktif dan penggunaan yang mudah dimengerti (user friendly).
Shneiderman (1998, p15) menjelaskan lima kriteria yang harus dipenuhi oleh suatu
program yang user friendly yaitu :
a. Waktu belajar yang tidak lama
b. Kecepatan penyajian informasi yang tepat.
c. Tingkat kesalahan pemakaian rendah
d. Penghafalan sesudah melampaui jangka waktu.
e. Kepuasan pribadi.
Suatu program yang interaktif dapat dengan mudah dibuat dan dirancang dengan suatu
perangkat bantu pengembang sistem antarmuka, seperti Visual Basic, PHP, dan
sebagainya. Menurut Shneiderman (1998, p74-75) untuk merancang sistem interaksi
ANALISIS
DESAIN
CODING DAN DEVELOPMENT
IMPLEMENTASI DAN TESTING
MAINTENANCE
28
manusia dan komputer yang baik, harus memperhatikan delapan aturan utama dibawah
ini, yaitu :
a. Strive for consistency (Bertahan untuk konsistensi)
b. Enable frequent user to use shortcuts (Memperbolehkan pengguna sering memakai
shortcut)
c. Offer informative feed back (Memberikan umpan balik yang informatif).
d. Design dialogs to yield closure (Pengorganisasian yang baik sehingga pengguna
mengetahui kapan awal dan akhir dari suatu aksi).
e. Offer simple galat handling (Penanganan kesalahan yang sederhana).
f. Permit easy reversal of actions (Mengizinkan pembalikan aksi (undo dengan
mudah).
g. Support internal locus of control (Pemakai menguasai sistem atau inisiator, bukan
responden)
h. Reduce short term memorcy load (Mengurangi beban ingatan jangka pendek, di
mana manusia hanya dapat mengingat 7 ± 2 satuan informasi sehingga
perancangannya harus sederhana).