• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. meneliti bagaimana mesin dapat belajar dan berpikir seperti layaknya manusia. Bidang

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. meneliti bagaimana mesin dapat belajar dan berpikir seperti layaknya manusia. Bidang"

Copied!
28
0
0

Teks penuh

(1)

LANDASAN TEORI

Intelegensia Semu (IS) adalah salah satu bidang dalam ilmu komputer yang meneliti bagaimana mesin dapat belajar dan berpikir seperti layaknya manusia. Bidang ilmu ini mempelajari bagaimana sebuah mesin dapat mempelajari hal-hal baru dan beradaptasi terhadap hal baru tersebut. Menurut Arifudin (2008) , intelegensia semu harus dapat mengambil keputusan berdasarkan kondisi yang dihadapinya, IS memiliki kemampuan untuk menganalisis masukan yang diberikan seperti layaknya otak manusia yang mampu berpikir untuk menghasilkan suatu tindakan.

Pemodelan tindakan yang perlu diambil oleh IS dapat bersifat nonlinear. Salah satu pemodelan nonlinear yang sering digunakan dalam IS adalah jaringan saraf tiruan.

2.1 Jaringan Saraf Tiruan

Jaringan saraf tiruan JST adalah mesin yang memodelkan cara otak melakukan operasi atau fungsi tertentu, jaringan ini biasanya diimplementasikan dengan menggunakan komponen-komponen elektronik atau disimulasikan dengan menggunakan perangkat lunak pada komputer. Untuk mencapai performa yang optimal, jaringan ini bergantung penuh pada sel-sel komputasi yang disebut sebagai neuron atau unit-unit pemrosesan (Haykin, 1999, p2).

(2)

Definisi jaringan saraf tiruan sebagai mesin yang dapat menyesuaikan diri (Haykin, 1999) adalah:

Jaringan saraf tiruan adalah kumpulan processor yang terdistribusi secara paralel dimana unit-unit tersebut disusun oleh unit pemrosesan sederhana, jaringan ini memiliki kecenderungan untuk menyimpan pengetahuan berdasarkan pengalaman sehingga dapat digunakan untuk keperluan mendatang.

JST meniru dua buah karakteristik otak:

1. Pengetahuan yang didapat oleh jaringan, didapat melalui proses pembelajaran.

2. Koneksi antara neuron yang dikenal debagai synaptic weight, digunakan untuk menyimpan pengetahuan.

2.1.1 Keunggulan JST

Keunggulan jaringan saraf tiruan (Haykin 1999) adalah :

1. Nonlinear (Nonlinearity)

Sebuah JST dapat memodelkan hubungan kompleks antara masukan dan luaran untuk menemukan pola data dari problem nonlinear yang dimodelkan.

2. Pemetaan masukan menjadi luaran (Input-Output mapping)

Dalam JST terdapat pembelajaran. Pengetahuan pembelajaran disimpan pada bobot sinapsis. Dalam pembelajaran dilakukan modifikasi dari bobot sinapsis

(3)

pada JST dengan berdasarkan sinyal masukan dan respons luaran yang diharapkan.

3. Adaptif (Adaptivity)

JST memiliki kemampuan untuk beradaptasi pada lingkungan yang berbeda. Sebuah jaringan saraf tiruan yang dilatih untuk beroperasi dalam lingkungan tertentu dapat tetap mengambil tindakan tepat pada lingkungan yang telah mengalami perubahan-perubahan kecil (minor).

4. Toleransi terhadap kesalahan (Fault tolerance)

JST memiliki potensi untuk mewarisi sifat fault tolerance, yaitu tetap mampu melakukan komputasi yang baik meskipun terjadi penurunan performa akibat kondisi operasi yang tidak menguntungkan.

5. Dapat diimplementasikan secara terpadu dalam skala besar (Very Large Scale Integral Implentability)

Sifat bawaan dari JST yang paralel meningkatkan kecepatan dan membuat JST cocok untuk diimplementasikan pada teknologi VLSI yang menyediakan pemetaan sifat yang kompleks secara hirarkis.

6. Keseragaman dalam analisis dan desain (Uniformity of analysis and design) JST menggunakan notasi yang sama yang dapat digunakan pada sesama domain yang melibatkan JST. Neuron, dalam bentuk yang satu atau lainnya mempresentasikan rumusan yang sama untuk semua jaringan saraf tiruan.

(4)

Kesamaan ini memungkinkan aplikasi yang berbeda dalam neural networks berbagi teori dan algoritma pembelajaran.

2.1.2 Model Neuron

Neuron adalah sebuah unit pemrosesan informasi yang paling pokok dalam melakukan operasi JST (Haykin, 1999). Berikut adalah tiga elemen dari model JST :

1. Setiap set sinapsis memiliki karakter berdasarkan bobot masing-masing sinapsis tersebut (synaptic weight).

2. linear combiner output (jumlah luaran dari synaptic yang berkaitan) ditimbang berdasarkan daya dari sinapsis yang terhubung ke neuron yang bersangkutan.

3. Sebuah fungsi aktivasi digunakan untuk membatasi jangkuan luaran dari sebuah neuron, seringkali disebut sebagai squashing function (fungsi pembatas).

(5)

Pada gambar di atas, neuron memiliki bias bk, yang berfungsi menambah atau mengurangi jumlah masukan bagi fungsi aktivasi. Penulisan matematika dari gambar di atas adalah sebagai berikut :

=

=

m j j jk k

w

x

u

1 k k k

u

b

v

=

+

)

(

k k

v

y

=

ϕ

dimana :

m = jumlah node masukan yang mempunyai sinapsis ke node k.

x1, x2, ... xm = sinyal masukan.

w1k, w2k, ... , wmk = bobot sinapsis dari neuron.

uk = linear combiner output.

bk = bias.

vk = potensial aktivasi atau neuron induced local field.

) (v

(6)

2.1.3 Tipe Fungsi Aktivasi

Fungsi aktivasi yang dinotasikan oleh φ(υ) menentukan luaran dari v. Berikut adalah tipe-tipe fungsi aktivasi :

a. Threshold Function

Fungsi yang memberikan nilai luaran 1 jika nilai masukan sama atau melebihi nilai threshold tertentu dan selain kondisi tersebut diberikan nilai luaran 0.

{

10

)

(

v

=

ϕ

0 0 ≥ < v v b. Piecewise-linear Function

Fungsi yang memberikan nilai luaran berdasarkan range dari nilai masukan yang diberikan. Contoh :

c. Sigmoid Function

Fungsi yang menghasilkan kurva sigmoid (kurva berbentuk S). Merupakan fungsi aktivasi yang seringkali digunakan dalam jaringan saraf tiruan karena bersifat nonlinear. Sebuah contoh dari fungsi sigmoid adalah fungsi logistik, yang

(7)

memiliki nilai keluaran non-linear antara 0 dan 1. fungsi logistik didefinisikan sebagai berikut : v

e

v

+

=

1

1

)

(

ϕ

(8)

2.1.4 Mutilayer Perceptron

Multilayer Perceptron (MP) adalah sebuah JST yang terdiri dari beberapa set unit sensori berupa sebuah input layer, satu atau lebih hidden layer dan sebuah output layer dari node-node yang melakukan komputasi (Haykin, 1999). JST ini berdasarkan pada algoritma error-corection learning rule.

Multilayer Perceptron memiliki tiga karakteristik utama

1. Neuron di dalam jaringan ini memiliki sebuah fungsi aktivasi nonlinear. Contohnya fungsi logistik:

v

e

v

+

=

1

1

)

(

ϕ

2. Jaringan memiliki satu atau lebih layer dari hidden neuron yang bukan merupakan bagian dari masukan ataupun luaran. Hidden neuron memungkinkan jaringan untuk mempelajari tugas rumit dengan melakukan ekstrasi secara progresif pada fitur-fitur penting dari pola masukan.

3. Jaringan memiliki derajat konektivitas yang tinggi, ditunjukkan oleh sinapsis dari jaringan. Perubahan konektivitas dari jaringan akan mengakibatkan perubahan dari populasi koneksi sinapsis atau berat.

(9)

Gambar 2.3 Arsitektur multilayer perceptron

Arsitektur Multilayer Perceptron memiliki 3 layer yaitu masukan layer, hidden layer, dan output layer. Setiap layer memiliki node yang saling berhubungan pada setiap node yang lainnya. Arsitektur Multilayer Perceptron dapat dilihat pada gambar 2.3

2.1.5 Backpropagation

Pada penelitian ini, digunakan algoritma Backpropagation untuk melatih MP. Menurut Simon Haykin (1999, p161) Algoritma ini terdiri dari dua bagian yaitu foward dan backward. Pada bagian foward, masukan diaplikasikan keseluruh node masukan dan disebarkan ke layer selanjutnya untuk menghitung luaran dari setiap node. Pada bagian backward, bobot sinapsis yang ada disesuaikan.

Algoritma Backpropagation : 1. Inisialisasi bobot sinapsis

2. Pada proses foward bobot dari sinapsis tidak mengalami perubahan dan luaran dari setiap node dihitung berdasarkan masukan neuron, synaptic weight dan bias.

(10)

Perhitungan dimulai dari tiap node di layer pertama hidden layer hingga ouput layer. Misalkan k adalah node yang ingin dihitung sinyal luaran-nya (Y). Maka Yk dihitung dengan persamaan :

=

=

m j j jk k

w

x

u

1 k k k

u

b

v

=

+

)

(

k k

v

y

=

ϕ

dimana:

m = jumlah node masukan yang mempunyai sinapsis ke node k.

x1, x2, ... xm = sinyal masukan ke node k.

w1k, w2k, ... , wmk = bobot sinapsis dari neuron masukan ke node k.

uk = linear combiner output.

bk = bias ke node k.

vk = potensial aktivasi atau neuron induced local field dari node k.

) (v

ϕ = fungsi aktivasi.

(11)

3. Pada proses backward, bobot dari sinapsis dan bias mengalami perubahan. Besar perubahan bobot dan bias dihitung berdasarkan luaran seharusnya, luaran yang didapat, dan learning rate. Perhitungan dilakukan mundur dimulai dari tiap node di output layer hingga input layer. Perhitungan besar perubahan menggunakan persamaan sebagai berikut :

Untuk luaran layer :

)

(

'

k k k k

t

y

ϕ

v

δ

=

j k jk

y

w

=

αδ

Δ

k k

b

=

αδ

Δ

setiap node luaran k, dihitung informasi errornya atau gradien local (δk). dimana:

tk = nilai luaran seharusnya.

Yk = nilai luaran yang didapat.

) ( ' v

ϕ = turunan pertama dari fungsi aktivasi.

k

v = potensial aktivasi atau neuron induced local field dari node k.

= besar koreksi bobot sinapsis dari neuron masukan j ke neuron k.

jk

w Δ

α = learning rate.

j

(12)

k

b

Δ = besar koreksi bias ke node k.

Untuk hidden layer :

=

=

m k j jk k j

w

v

1

)

(

'

ϕ

δ

δ

i j ij

y

w

=

αδ

Δ

j j

b

=

αδ

Δ

setiap node hidden j, dihitung informasi errornya atau gradien local (δj). dimana:

k

δ = informasi error pada node k.

jk

w = nilai bobot sinapsis dari node j ke node k.

j

v = potensial aktivasi atau neuron induced local field dari node j.

= besar koreksi bobot sinapsis dari neuron masukan i ke neuron j.

ij

w Δ

i

y = luaran dari neuron j yang menjadi masukan bagi neuron k.

j

b

(13)

Gambar 2.4 Aliran sinyal error dari komputasi backward

Untuk melakukan komputasi nilai δ untuk setiap neuron, diperlukan turunan dari fungsi aktivasi ϕ' v( ). Fungsi turunan dari fungsi logistik adalah sebagai berikut :

))

(

1

)(

(

)

(

'

v

ϕ

v

ϕ

v

ϕ

=

2.1.6 Kriteria Pemberhentian

Berikut ini beberapa kriteria pemberhentian pada algoritma backpropagation (Haykin, 1999) adalah sebagai berikut :

1. Algoritma backpropagation mengalami konvergensi ketika norma Euclidean dari vector gradient mencapai batasan gradient.

2. Algoritma backpropagation mencapai konvergensi ketika tingkat perubahan dari kuadrat rata-rata eror untuk setiap epoch (perulangan) cukup kecil

3. Algoritma backpropagation konvergen ketika performa generalisasi dari jaringan mencapai titik puncaknya.

(14)

2.1.7 Inisialisasi Bobot Sinapsis

Inisialisasi bobot sinapsis pada JST dapat dilakukan dengan memberikan inisialisasi acak pada interval nilai tertentu. Untuk inisialisasi secara acak bisa mengambil bilangan acak dari 0 – 1 atau dari -0.5 sampai 0.5. Tapi penentuan bobot sinapsis yang terlalu random bisa memicu lambatnya proses training

Menurut I Putu Sundika (2008) untuk mempercepat proses training, bisa dipakai teknik inisialisasi bobot sinapsis yang dikemukakan oleh Nguyen dan Widrow (Derrick Nguyen dan Bernard Widrow, 1990). Umumnya, inisialisasi Nguyen-Widrow memberikan waktu training yang lebih singkat dibandingkan inisialisasi random. Untuk melakukan inisialisasi Nguyen-Widrow pertama-tama dicari beta (β ).

n n

p

p

)

0

.

7

(

7

.

0

1/

=

=

β

dimana:

n = jumlah node masukan.

p =jumlah node hidden.

Algoritma Nguyen-Widrow adalah sebagai berikut :

1. Ambil nilai nilai bobot sinapsis secara acak dari -0.5 sampai dengan 0.5 atau antara – y dan y. 2.

(

)

)

(

old

v

old

v

v

ij ij ij

β

=

(15)

Setelah bobot sinapsis dinisialisasi dengan metode Nguyen-Widrow Proses belajar akan menjadi lebih cepat seperti terlihat pada perbandingan dibawah.

Tabel 2.1 Perbandingan iterasi inisialisasi random dan Nguyen-Widrow

Random (perulangan) Nguyen-Widrow (perulangan) Binary XOR 2,891 1,935 Bipolar XOR 387 224 2.1.8 Learning Rate

Learning Rate (α ) adalah salah satu parameter yang menentukan kecepatan belajar dan tingkat efektivitas training JST. Learning rate dibutuhkan ketika menghitung besar koreksi bobot sinapsis wΔ dan koreksi bobot bias bΔ . Contoh : Dalam sebuah JST terdapat sebuah bobot sinapsis sebesar 0.3. Ketika JST diberikan training sample baru, algoritma BP membutuhkan bobot sinapsis tersebut diubah menjadi 0.7. Jika bobot sinapsis langsung diubah menjadi 0.7, JST akan dapat mengenali sample baru tersebut dengan baik. Namun, cenderung akan melupakan semua semua sample yang telah dipelajari sebelumnya karena nilai bobot sinapsis 0.3 merupakan hasil dari semua proses belajar yang dialami oleh JST sebelum sample baru. Karenanya, bobot sinapsis tidak langsung diubah menjadi 0.7, melainkan dibawa mendekati 0.7 perlahan. Bobot sinapsis tersebut diubah sebagian, misalkan 0.25% dari perubahan yang dibutuhkan sehingga bobot sinapsis yang baru menjadi 0.4. Faktor 0.25 ini disebut sebagai learning rate.

(16)

Ketika siklus ini diulang dalam jumlah yang besar selama training, JST mempelajari semua sample secara efektif.

2.1.9 Momentum

Performa Algoritma BP dapat ditingkatkan dengan menggunakan momentum dan jitter. Momentum diasosiasikan terhadap sinapsis untuk menentukan kecenderungan sinapsis mempertahankan bobot perubahan sinapsis sebelumnya. Faktor ini berkisar dari angka 0 hingga 1. Dalam BP dengan momentum, perubahan bobot sinapsis dipengaruhi oleh perubahan bobot sinapsis sebelumnya. Untuk memastikan proses pembelajaran JST terhindar dari penyimpangan yang disebabkan oleh noise dalam data training. Momentum juga membantu fungsi tujuan konvergen lebih cepat sehingga mempercepat proses pembelajaran. 1

*

Δ

+

=

Δ

w

n

αδ

momentum

w

n 2.1.10 Jitter

Kurva kesalahan dari JST BP biasanya memiliki bentuk yang kompleks. Diawali dengan kesalahan pada titik tertentu di awal, kesalahan akan berkurang / berubah seiring dengan proses training. Agar training memberikan JST terbaik, kesalahan diharapkan mencapai global minimum dari kurva. Ketika training, tingkat error JST dapat terperangkap pada lokal minimum. Selama JST bereaksi dengan tepat pada training dan data tes, tidak masalah apakah JST mencapai global minimum atau local minimum. Namun pada keadaan tertentu, hal ini dapat membawa JST pada keadaan kesetimbangan (equilibrium) dimana terjadi training yang tidak bermanfaat. Masalah ini biasa dapat diselesaikan dengan menginisialisasi ulang JST dengan nilai random dan training

(17)

kembali. Namun hal ini tidak praktis dan memakan waktu. Jitter diberikan pada JST ketika training untuk membantu JST keluar dari local minimum

Jitter adalah proses penambahan noise acak dalam jumlah kecil pada bobot sinapsis pada interval waktu tertentu. Sehingga membantu mencegah JST menetap pada local minimum. Interval waktu dimana noise acak ini diberikan disebut dengan Jitter Epoch.

Setiap interval Jitter Epoch pada setiap sinapsis dalam JST dilakukan :

w

=

w

+

JitterNois

e

Gambar 2.5 Local Minimun dan Global Minimum

2.2 Analisis struktur persamaan matematika

Pada persamaan matematika, simbol saling berhubungan satu sama lain,

contohnya superscript seperti

2

3, atau above dan under seperti 3 2

, dan inside seperti

2, dan sebagainya.

Sebuah simbol dapat memiliki relasi berbeda jika dikaitkan dengan simbol lain. Misalnya pada −2 tanda minus mempunyai row relasi row dengan 2 sedangkan pada

(18)

3 2

simbol 2 mempunyai relasi above dengan fraksi dan simbol 3 mempunyai relasi

below dengan fraksi.

Berdasarkan hubungan antar simbol, struktur matematika dari persamaan dapat dibentuk. Untuk menganalisis struktur pada persamaan matematika yang diberikan, diperlukan identifikasi relasi antara simbol satu dengan yang lainnya baru kemudian ditentukan struktur persamaannya.

2.2.1 Relasi antar simbol

Untuk menentukan relasi antar simbol, diperlukan perhitungan posisi relatif antar simbol. Persamaan matematika bisa direpresentasikan dalam dua dimensi, untuk menganalisis strukturnya dapat digunakan pendekatan geometri dengan konsep kotak pembatas. Kotak pembatas adalah bangun 2 dimensi berupa kotak yang dapat didefiniskan sebagai kotak terkecil yang melingkupi sebuah simbol secara keseluruhan.

(19)

Titik merah mewakili titik tengah dari simbol. Setiap kotak pembatas mempunyai batas top, bottom, left dan right. Relasi dalam ekspresi matematika :

Gambar 2.7 Perbedaan tipe-tipe dalam relasi simbol

1. Row : jika batas kiri sebuah simbol lebih kecil dari batas kiri simbol setelahnya dan kedua simbol tidak beririsan serta terletak dalam baseline yang sama. Baseline dihitung berdasarkan posisi relatif y simbol satu terhadap simbol lain. 2. Superscript : jika batas atas dari sebuah simbol lebih kecil dari batas atas simbol

setelahnya dan kedua simbol tidak beririsan serta simbol setelahnya terletak pada baseline yang lebih tinggi dan tidak tepat berada di atas simbol pertama.

3. Subscript : jika batas bawah dari sebuah simbol lebih kecil dari batas bawah simbol setelahnya dan kedua simbol tidak beririsan serta simbol setelahnya terletak pada baseline yang lebih rendah dan tidak tepat berada di bawah simbol pertama.

(20)

4. Prescript : jika batas atas dari sebuah simbol lebih kecil dari batas atas simbol sebelumnya dan kedua simbol tidak beririsan serta simbol sebelumnya terletak pada baseline yang lebih tinggi dan tidak tepat berada di atas simbol pertama. 5. Inside / Outside : jika kotak pembatas sebuah simbol beririsan dengan kotak

pembatas simbol setelahnya, batas kiri simbol setelahnya lebih besar daripada batas kiri simbol tersebut dan batas atas simbol setelahnya lebih besar daripada simbol itu.

6. Above : jika batas atas dari sebuah simbol lebih kecil dari batas atas simbol setelahnya dan kedua simbol tidak beririsan serta simbol setelahnya terletak pada baseline yang lebih tinggi dan tepat berada di atas simbol pertama.

7. Under : jika batas bawah dari sebuah simbol lebih kecil dari batas bawah simbol setelahnya dan kedua simbol tidak beririsan serta simbol setelahnya terletak pada baseline yang lebih rendah dan tepat berada di bawah simbol pertama.

2.2.2 Progressive Structural Analysis

Merupakan metode untuk menganalisis struktur persamaan matematika yang dikemukakan oleh Ba-Quoy Vuong (2007, p2) dan merupakan adaptasi dari metode-metode yang sudah ada sebelumnya. Dalam studi-studi sebelumnya, beberapa teknik analisis struktur matematika telah dikemukakan, diantaranya : Grammar-based approaches (Chou, 1989), baseline tree structure (Zannibbi et al, 2002), dan Minimum Spanning Tree (Tapia dan Rojas, 2003, 2005). Teknik seperti Grammar-based approaches dinilai lambat, sementara yang lain sensitif terhadap kesalahan penulisan yang dilakukan oleh user.

Secara umum, metode-metode ini memiliki kesamaan yaitu menganalisis struktur persamaan ketika pengguna selesai memberi masukan persamaan matematika secara

(21)

keseluruhan. Hal ini menimbulkan jeda waktu yang cukup lama antar kesalahan pengenalan terutama untuk ekspresi yang panjang.

Gambar 2.8 Progressive Structural Analysis

Pada PSA, simbol dan struktur dikenali secara dinamis selama user menuliskan ekspresi matematika yang diinginkan. Pendekatan ini membantu pengguna mendeteksi kesalahan pengenalan simbol dan memperbaikinya segera setelah ditulis. Pengguna tidak harus menunggu sampai penulisan ekspresi matematika selesai secara keseluruhan lalu memperbaiki kesalahan yang terjadi. Proses konversi persamaan berlangsung secara rekursif dari kiri ke kanan. Luaran yang dikembalikan dari proses ini berupa persamaan matematika yang dikenali dalam format text linear. Analisis struktur matematika yang dilakukan menggunakan algoritma sebagai berikut :

1. Urutkan urutan simbol dari kiri ke kanan. 2. Baca simbol dari kiri ke kanan

3. Jika simbol yang sedang dibaca merupakan simbol khusus (memiliki relasi selain row dengan simbol lain), cari elemen persamaan yang berkaitan dengan simbol khusus itu. Pada setiap pencarian elemen yang berkaitan

(22)

lakukan kembali pengecekan apakah dari simbol-simbol yang berkaitan juga memiliki simbol khusus (rekursif)

Presedensi urutan pencarian :

- cari elemen above dan below dari simbol fraksi - cari elemen inside dari simbol pangkat

- cari elemen superscript dari simbol berpangkat

4. Jika simbol yang sedang dibaca merupakan simbol yang memiliki relasi row, maka tambahkan ke hasil.

2.3 Analisis hasil persamaan matematika

Untuk mengevaluasi hasil perhitungan, dilakukan penelusuran terhadap persamaan dalam format text linear oleh penganalisis hasil persamaan matematika (expression analyzer)

Algoritma penganalisis hasil persamaan matematika adalah sebagai berikut : 1. Mencari operator. Dicari indeks operatornya

2. Untuk tiap operator yang ditemukan, cari hasil operasi antara ekspresi matematika di kiri operaror dengan ekspresi matematika di kanan operator. Setiap pencarian hasil dari ekspresi matematika baik kiri maupun kanan dilakukan langkah 1 dan 2 secara rekursif

3. presedensi operator dijaga dengan mengatur urutan pencarian operator (operator yang dicari terlebih dahulu) :

a. + dan – b. * dan /

(23)

d. sqr e. log f. pangkat g. ( dan )

2.4 Perancangan Aplikasi 2.4.1 Rekayasa Piranti Lunak

Rekayasa Piranti Lunak menurut Fritz Bauer (Pressman, 2005, p23) adalah penetapan dan pemakaian prinsip-prinsip rekayasa dalam rangka mendapatkan piranti lunak yang ekonomis yaitu terpecaya dan bekerja efisien pada mesin (komputer).

Dalam perancangan software dikenal istilah software life cycle yaitu serangkaian kegiatan yang dilakukan selama masa perancangan software.

Secara umum dalam membuat sebuah sistem terdapat beberapa pemodelan proses, salah satu diantaranya adalah waterfall model. Menurut Dix (1997, p180), berikut adalah visualisasi dari kegiatan pada software life cycle model waterfall:

1. Spesifikasi kebutuhan (Requirement specification)

Pada tahap ini, pihak pengembang dan konsumen mengidentifikasi apa saja fungsi-fungsi yang diharapkan dari sistem dan bagaimana sistem memberikan layanan yang diminta. Pengembang berusaha mengumpulkan berbagai informasi dari konsumen.

2. Perancangan arsitektur (Architectural design)

Pada tahap ini, terjadi pemisahan komponen-komponen sistem sesuai dengan fungsinya masing-masing.

(24)

3. Detailed design

Setelah memasuki tahap ini, pengembang memperbaiki deskripsi dari komponen-komponen dari sistem yang telah dipisah-pisah pada tahap sebelumnya.

4. Coding and unit testing

Pada tahap ini, disain diterjemahkan ke dalam bahasa pemrograman untuk dieksekusi. Setelah itu komponen-komponen dites apakah sesuai dengan fungsinya masing-masing.

5. Integration and testing

Setelah tiap-tiap komponen dites dan telah sesuai dengan fungsinya, komponen-komponen tersebut disatukan lagi. Lalu sistem dites untuk memastikan sistem telah sesuai dengan kriteria yang diminta konsumen.

6. Pemeliharaan (maintenance)

Setelah sistem diimplementasikan, maka perlu dilakukannya perawatan terhadap sistem itu sendiri. Perawatan yang dimaksud adalah perbaikan error yang

ditemkan setelah sistem diimplementasikan.

Gambar 2.9 Software Life Cycle Model Waterfall Sumber: Dix (1997, p181)

(25)

2.4.2 Unified Modelling Language

Unified Modelling Language (UML) adalah bahasa visual pemodelan yang digunakan untuk menentukan, memberi gambaran, gagasan dan dokumentasi dari sebuah sistem piranti lunak, juga untuk mengambil keputusan dan mengerti mengenai sistem yang akan dibangun. UML digunakan agar sistem yang dibuat dapat dimengerti, dirancang, dibangun, dipelihara, dan dikontrol informasinya (Booch et. al., 1999, p3)

UML merupakan suatu bahasa untuk memvisualisasikan, menspesifikasi, mengonstruksi, dan mendokumentasikan artifacts dari suatu sistem piranti lunak. UML digunakan mengekspresikan model-model dari sistem yang akan dibuat dan tidak mengajarkan bagaimana cara mengembangkan suatu piranti lunak.

2.4.2.1 Flowchart

Flowchart adalah representasi skema dari suatu algoritma atau suatu proses ( Wikipedia , 2008 ). Pertama kali diperkenalkan oleh Frank Gilbreth pada tahun 1921 dan saat ini menjadi alat yang sering digunakan untuk menunjukkan aliran proses dalam sebuah algoritma.

Sebuah flowcart umumnya terdiri dari simbol-simbol antara lain: 1. Simbol oval atau persegi panjang dengan ujung-ujung tumpul

Simbol ini menandakan “mulai” atau “selesai” yang menunjukkan awal atau akhir dari sebuah proses.

2. Anak panah

Simbol ini menunjukan “alur kontrol” dalam suatu algoritma. Anak panah keluar dari suatu simbol dan berakhir pada simbol lain yang menunjukkan kontrol beralih kepada simbol yang ditunjukkan oleh anak panah.

(26)

3. Persegi panjang

Simbol ini mewakili langkah proses , input atau output. Contoh : “ nilai x dikurang 1”.

4. Belah ketupat

Simbol ini mewakili kondisi atau keputusan yang umumnya mempunyai dua jawaban saja.

Gambar 2.10 Contoh Flowchart Sumber: http://en.wikipedia.org/wiki/Flowchart

2.4.2.2 Use Case Diagram

Use Case menunjukkan hubungan interaksi antara aktor dengan use case di dalam suatu sistem (Mathiassen, 2000, p343) yang bertujuan untuk menentukan bagaimana aktor berinteraksi dengan sebuah sistem. Aktor adalah orang atau sistem lain yang berhubungan dengan sistem.

(27)

Ada tiga simbol yang mewakili komponen sistem seperti terlihat pada gambar dibawah ini.

Gambar 2.11 Notasi Use Case Diagram Sumber : Mathiassen (2000, p343)

2.4.2.3 Class Diagram

Class Diagram adalah penggambaran struktur relasi antara class-class dan objek-objek dalam suatu model (Mathiassen, 2000, p69-70). Class merupakan pembentuk utama dari sistem berorientasi objek yang digambarkan dalam bentuk segi empat yang terbagi menjadi tiga bagian. Bagian atas merupakan nama dari class, bagian tengah berisi atribut dari class, dan bagian bawah berisi behaviour dari class (Booch, et. al., 1999, pp42-45).

(28)

2.4.2.4 Sequence Diagram

Menggambarkan bagaimana objek berinteraksi satu sama lain melalui pesan pada pelaksanaan use case atau operasi. Sequence diagram mengilustrasikan bagaimana pesan dikirim dan diterima antar objek secara berurutan. (Whitten et. al., 2004, p441). Beberapa notasi sequence diagram terlihat pada gambar dibawah ini.

Gambar 2.13 Notasi Sequence Diagram Sumber: Whitten (2004, p441)

Gambar

Gambar 2.2  Tipe-tipe fungsi aktivasi
Gambar 2.3  Arsitektur multilayer perceptron
Gambar 2.4  Aliran sinyal error dari komputasi backward
Tabel 2.1 Perbandingan iterasi inisialisasi random dan Nguyen-Widrow
+7

Referensi

Dokumen terkait

Kedua, adakah indikator kebenaran tersebut boleh dijadikan sebagai indikator kesahan data untuk diguna pakai dalam penyelidikan yang berkaitan dengan Islam.. Kertas

 bagian dari dari rongga rongga mulut) mulut) dan dan palatum palatum molle molle (merupakan (merupakan bagian bagian dari dari oropharyn'). Palatum memisahkan

2010- 2015: sebanyak 35 anak mengalami ekpsloitasi seksual di ranah maya. Data hasil studi Indonesia Sejiwa Foundation: sebanyak 2 dari 10 anak Indonesia yang mengakses sosial

Dalam kaitannya dengan hal tersebut, BBKSDA Jawa Timur selaku UPT yang menangani langsung lembaga konser- vasi telah mengadakan pembinaan yang disambut baik oleh pihak

PAGnet mempertemukan petugas kesehatan masyarakat di pintu masuk dengan mitra untuk mengkoordinasikan kegiatan kesehatan masyarakat di pelabuhan, bandara dan lintas darat

Berdasarkan hasil dari keseluruhan subjek penelitian sebagian besar subjek yang orang tuanya bercerai tiga dari empat subjek mampu menerima kenyataan yang

Experinces Terhadap Store Attitude Pada Speciality Store “Stroberi” Tunjungan Plaza Surabaya”, karena ingin mengetahui bagaimana konsumen di Surabaya dalam perilaku

tegangan dari saluran itu pada faktor-daya tertentu yang dinyatakan de.. Iam prosen (perserahrs) tertradap nilai tegangan penerJma pada