BAB 2 LANDASAN TEORI Intelegensia Semu (IS) adalah salah satu bidang dalam ilmu omputer yang meneliti bagaimana mesin dapat belajar dan berpiir seperti layanya 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 eputusan berdasaran ondisi yang dihadapinya, IS memilii emampuan untu menganalisis masuan yang diberian seperti layanya ota manusia yang mampu berpiir untu menghasilan suatu tindaan. Pemodelan tindaan yang perlu diambil oleh IS dapat bersifat nonlinear. Salah satu pemodelan nonlinear yang sering digunaan dalam IS adalah jaringan saraf tiruan. 2.1 Jaringan Saraf Tiruan Jaringan saraf tiruan JST adalah mesin yang memodelan cara ota melauan operasi atau fungsi tertentu, jaringan ini biasanya diimplementasian dengan menggunaan omponen-omponen eletroni atau disimulasian dengan menggunaan perangat luna pada omputer. Untu mencapai performa yang optimal, jaringan ini bergantung penuh pada sel-sel omputasi yang disebut sebagai neuron atau unit-unit pemrosesan (Hayin, 1999, p2).
8 Definisi jaringan saraf tiruan sebagai mesin yang dapat menyesuaian diri (Hayin, 1999) adalah: Jaringan saraf tiruan adalah umpulan processor yang terdistribusi secara paralel dimana unit-unit tersebut disusun oleh unit pemrosesan sederhana, jaringan ini memilii ecenderungan untu menyimpan pengetahuan berdasaran pengalaman sehingga dapat digunaan untu eperluan mendatang. JST meniru dua buah arateristi ota: 1. Pengetahuan yang didapat oleh jaringan, didapat melalui proses pembelajaran. 2. Konesi antara neuron yang dienal debagai synaptic weight, digunaan untu menyimpan pengetahuan. 2.1.1 Keunggulan JST Keunggulan jaringan saraf tiruan (Hayin 1999) adalah : 1. Nonlinear (Nonlinearity) Sebuah JST dapat memodelan hubungan omples antara masuan dan luaran untu menemuan pola data dari problem nonlinear yang dimodelan. 2. Pemetaan masuan menjadi luaran (Input-Output mapping) Dalam JST terdapat pembelajaran. Pengetahuan pembelajaran disimpan pada bobot sinapsis. Dalam pembelajaran dilauan modifiasi dari bobot sinapsis
9 pada JST dengan berdasaran sinyal masuan dan respons luaran yang diharapan. 3. Adaptif (Adaptivity) JST memilii emampuan untu beradaptasi pada lingungan yang berbeda. Sebuah jaringan saraf tiruan yang dilatih untu beroperasi dalam lingungan tertentu dapat tetap mengambil tindaan tepat pada lingungan yang telah mengalami perubahan-perubahan ecil (minor). 4. Toleransi terhadap esalahan (Fault tolerance) JST memilii potensi untu mewarisi sifat fault tolerance, yaitu tetap mampu melauan omputasi yang bai mesipun terjadi penurunan performa aibat ondisi operasi yang tida menguntungan. 5. Dapat diimplementasian secara terpadu dalam sala besar (Very Large Scale Integral Implentability) Sifat bawaan dari JST yang paralel meningatan ecepatan dan membuat JST coco untu diimplementasian pada tenologi VLSI yang menyediaan pemetaan sifat yang omples secara hiraris. 6. Keseragaman dalam analisis dan desain (Uniformity of analysis and design) JST menggunaan notasi yang sama yang dapat digunaan pada sesama domain yang melibatan JST. Neuron, dalam bentu yang satu atau lainnya mempresentasian rumusan yang sama untu semua jaringan saraf tiruan.
10 Kesamaan ini memunginan apliasi yang berbeda dalam neural networs berbagi teori dan algoritma pembelajaran. 2.1.2 Model Neuron Neuron adalah sebuah unit pemrosesan informasi yang paling poo dalam melauan operasi JST (Hayin, 1999). Beriut adalah tiga elemen dari model JST : 1. Setiap set sinapsis memilii arater berdasaran bobot masing-masing sinapsis tersebut (synaptic weight). 2. linear combiner output (jumlah luaran dari synaptic yang beraitan) ditimbang berdasaran daya dari sinapsis yang terhubung e neuron yang bersangutan. 3. Sebuah fungsi ativasi digunaan untu membatasi janguan luaran dari sebuah neuron, seringali disebut sebagai squashing function (fungsi pembatas). Gambar 2.1 Model linear dari sebuah neuron
11 Pada gambar di atas, neuron memilii bias b, yang berfungsi menambah atau mengurangi jumlah masuan bagi fungsi ativasi. Penulisan matematia dari gambar di atas adalah sebagai beriut : u = m j= 1 w j x j v = u + b y = ϕ ( v ) dimana : m = jumlah node masuan yang mempunyai sinapsis e node. x 1, x 2,... x m = sinyal masuan. w 1, w 2,..., w m = bobot sinapsis dari neuron. u = linear combiner output. b = bias. v = potensial ativasi atau neuron induced local field. ϕ (v) = fungsi ativasi. y adalah nilai luaran dari neuron.
12 2.1.3 Tipe Fungsi Ativasi Fungsi ativasi yang dinotasian oleh φ(υ) menentuan luaran dari v. Beriut adalah tipe-tipe fungsi ativasi : a. Threshold Function Fungsi yang memberian nilai luaran 1 jia nilai masuan sama atau melebihi nilai threshold tertentu dan selain ondisi tersebut diberian nilai luaran 0. ϕ( v) = { 1 0 v 0 v< 0 b. Piecewise-linear Function Fungsi yang memberian nilai luaran berdasaran range dari nilai masuan yang diberian. Contoh : c. Sigmoid Function Fungsi yang menghasilan urva sigmoid (urva berbentu S). Merupaan fungsi ativasi yang seringali digunaan dalam jaringan saraf tiruan arena bersifat nonlinear. Sebuah contoh dari fungsi sigmoid adalah fungsi logisti, yang
13 memilii nilai eluaran non-linear antara 0 dan 1. fungsi logisti didefinisian sebagai beriut : ϕ ( v) 1 = 1 + e v Gambar 2.2 Tipe-tipe fungsi ativasi
14 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 melauan omputasi (Hayin, 1999). JST ini berdasaran pada algoritma error-corection learning rule. Multilayer Perceptron memilii tiga arateristi utama 1. Neuron di dalam jaringan ini memilii sebuah fungsi ativasi nonlinear. Contohnya fungsi logisti: ϕ ( v) 1 = 1 + e v 2. Jaringan memilii satu atau lebih layer dari hidden neuron yang buan merupaan bagian dari masuan ataupun luaran. Hidden neuron memunginan jaringan untu mempelajari tugas rumit dengan melauan estrasi secara progresif pada fitur-fitur penting dari pola masuan. 3. Jaringan memilii derajat onetivitas yang tinggi, ditunjuan oleh sinapsis dari jaringan. Perubahan onetivitas dari jaringan aan mengaibatan perubahan dari populasi onesi sinapsis atau berat.
15 Gambar 2.3 Arsitetur multilayer perceptron Arsitetur Multilayer Perceptron memilii 3 layer yaitu masuan layer, hidden layer, dan output layer. Setiap layer memilii node yang saling berhubungan pada setiap node yang lainnya. Arsitetur Multilayer Perceptron dapat dilihat pada gambar 2.3 2.1.5 Bacpropagation Pada penelitian ini, digunaan algoritma Bacpropagation untu melatih MP. Menurut Simon Hayin (1999, p161) Algoritma ini terdiri dari dua bagian yaitu foward dan bacward. Pada bagian foward, masuan diapliasian eseluruh node masuan dan disebaran e layer selanjutnya untu menghitung luaran dari setiap node. Pada bagian bacward, bobot sinapsis yang ada disesuaian. Algoritma Bacpropagation : 1. Inisialisasi bobot sinapsis 2. Pada proses foward bobot dari sinapsis tida mengalami perubahan dan luaran dari setiap node dihitung berdasaran masuan neuron, synaptic weight dan bias.
16 Perhitungan dimulai dari tiap node di layer pertama hidden layer hingga ouput layer. Misalan adalah node yang ingin dihitung sinyal luaran-nya (Y). Maa Y dihitung dengan persamaan : u = m j= 1 w j x j v = u + b y = ϕ ( v ) dimana: m = jumlah node masuan yang mempunyai sinapsis e node. x 1, x 2,... x m = sinyal masuan e node. w 1, w 2,..., w m = bobot sinapsis dari neuron masuan e node. u = linear combiner output. b = bias e node. v = potensial ativasi atau neuron induced local field dari node. ϕ (v) = fungsi ativasi. y = nilai luaran dari neuron yang dicari.
17 3. Pada proses bacward, bobot dari sinapsis dan bias mengalami perubahan. Besar perubahan bobot dan bias dihitung berdasaran luaran seharusnya, luaran yang didapat, dan learning rate. Perhitungan dilauan mundur dimulai dari tiap node di output layer hingga input layer. Perhitungan besar perubahan menggunaan persamaan sebagai beriut : Untu luaran layer : δ = t y ϕ' ( v ) Δ w j = αδ y j Δ b = αδ setiap node luaran, dihitung informasi errornya atau gradien local ( δ ). dimana: t = nilai luaran seharusnya. Y = nilai luaran yang didapat. ϕ '( v) = turunan pertama dari fungsi ativasi. v = potensial ativasi atau neuron induced local field dari node. Δw j = besar oresi bobot sinapsis dari neuron masuan j e neuron. α = learning rate. y j = luaran dari neuron j yang menjadi masuan bagi neuron.
18 Δ b = besar oresi bias e node. Untu hidden layer : δ j = m = 1 δ w j ϕ' ( v j ) Δ w Δ b ij j = αδ y = αδ j j i setiap node hidden j, dihitung informasi errornya atau gradien local ( δ ). dimana: j δ = informasi error pada node. w j = nilai bobot sinapsis dari node j e node. v j = potensial ativasi atau neuron induced local field dari node j. Δw ij = besar oresi bobot sinapsis dari neuron masuan i e neuron j. y i = luaran dari neuron j yang menjadi masuan bagi neuron. Δ b j = besar oresi bias e node j.
19 Gambar 2.4 Aliran sinyal error dari omputasi bacward Untu melauan omputasi nilai δ untu setiap neuron, diperluan turunan dari fungsi ativasi ϕ '( v). Fungsi turunan dari fungsi logisti adalah sebagai beriut : ϕ' ( v) = ϕ( v)(1 ϕ( v)) 2.1.6 Kriteria Pemberhentian Beriut ini beberapa riteria pemberhentian pada algoritma bacpropagation (Hayin, 1999) adalah sebagai beriut : 1. Algoritma bacpropagation mengalami onvergensi etia norma Euclidean dari vector gradient mencapai batasan gradient. 2. Algoritma bacpropagation mencapai onvergensi etia tingat perubahan dari uadrat rata-rata eror untu setiap epoch (perulangan) cuup ecil 3. Algoritma bacpropagation onvergen etia performa generalisasi dari jaringan mencapai titi puncanya.
20 2.1.7 Inisialisasi Bobot Sinapsis Inisialisasi bobot sinapsis pada JST dapat dilauan dengan memberian inisialisasi aca pada interval nilai tertentu. Untu inisialisasi secara aca bisa mengambil bilangan aca 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 Sundia (2008) untu mempercepat proses training, bisa dipaai teni inisialisasi bobot sinapsis yang diemuaan oleh Nguyen dan Widrow (Derric Nguyen dan Bernard Widrow, 1990). Umumnya, inisialisasi Nguyen-Widrow memberian watu training yang lebih singat dibandingan inisialisasi random. Untu melauan inisialisasi Nguyen-Widrow pertama-tama dicari beta ( β ). β = 0.7( 1/ n p) = 0. 7n p dimana: n = jumlah node masuan. p =jumlah node hidden. Algoritma Nguyen-Widrow adalah sebagai beriut : 1. Ambil nilai nilai bobot sinapsis secara aca dari -0.5 sampai dengan 0.5 atau antara y dan y. 2. v ij βv = v ij ij ( old) ( old) 3. Untu biasnya ambil nilai aca dari bilangan antara - β sampai β.
21 Setelah bobot sinapsis dinisialisasi dengan metode Nguyen-Widrow Proses belajar aan 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 menentuan ecepatan belajar dan tingat efetivitas training JST. Learning rate dibutuhan etia menghitung besar oresi bobot sinapsis Δw dan oresi bobot bias Δ b. Contoh : Dalam sebuah JST terdapat sebuah bobot sinapsis sebesar 0.3. Ketia JST diberian training sample baru, algoritma BP membutuhan bobot sinapsis tersebut diubah menjadi 0.7. Jia bobot sinapsis langsung diubah menjadi 0.7, JST aan dapat mengenali sample baru tersebut dengan bai. Namun, cenderung aan melupaan semua semua sample yang telah dipelajari sebelumnya arena nilai bobot sinapsis 0.3 merupaan hasil dari semua proses belajar yang dialami oleh JST sebelum sample baru. Karenanya, bobot sinapsis tida langsung diubah menjadi 0.7, melainan dibawa mendeati 0.7 perlahan. Bobot sinapsis tersebut diubah sebagian, misalan 0.25% dari perubahan yang dibutuhan sehingga bobot sinapsis yang baru menjadi 0.4. Fator 0.25 ini disebut sebagai learning rate.
22 Ketia silus ini diulang dalam jumlah yang besar selama training, JST mempelajari semua sample secara efetif. 2.1.9 Momentum Performa Algoritma BP dapat ditingatan dengan menggunaan momentum dan jitter. Momentum diasosiasian terhadap sinapsis untu menentuan ecenderungan sinapsis mempertahanan bobot perubahan sinapsis sebelumnya. Fator ini berisar dari anga 0 hingga 1. Dalam BP dengan momentum, perubahan bobot sinapsis dipengaruhi oleh perubahan bobot sinapsis sebelumnya. Untu memastian proses pembelajaran JST terhindar dari penyimpangan yang disebaban oleh noise dalam data training. Momentum juga membantu fungsi tujuan onvergen lebih cepat sehingga mempercepat proses pembelajaran. Δw = αδ + momentum n * Δwn 1 2.1.10 Jitter Kurva esalahan dari JST BP biasanya memilii bentu yang omples. Diawali dengan esalahan pada titi tertentu di awal, esalahan aan berurang / berubah seiring dengan proses training. Agar training memberian JST terbai, esalahan diharapan mencapai global minimum dari urva. Ketia training, tingat error JST dapat terperangap pada loal minimum. Selama JST bereasi dengan tepat pada training dan data tes, tida masalah apaah JST mencapai global minimum atau local minimum. Namun pada eadaan tertentu, hal ini dapat membawa JST pada eadaan esetimbangan (equilibrium) dimana terjadi training yang tida bermanfaat. Masalah ini biasa dapat diselesaian dengan menginisialisasi ulang JST dengan nilai random dan training
23 embali. Namun hal ini tida pratis dan memaan watu. Jitter diberian pada JST etia training untu membantu JST eluar dari local minimum Jitter adalah proses penambahan noise aca dalam jumlah ecil pada bobot sinapsis pada interval watu tertentu. Sehingga membantu mencegah JST menetap pada local minimum. Interval watu dimana noise aca ini diberian disebut dengan Jitter Epoch. Setiap interval Jitter Epoch pada setiap sinapsis dalam JST dilauan : w = w + JitterNoise Gambar 2.5 Local Minimun dan Global Minimum 2.2 Analisis strutur persamaan matematia Pada persamaan matematia, simbol saling berhubungan satu sama lain, contohnya superscript seperti 2, dan sebagainya. 3 2, atau above dan under seperti 2, dan inside seperti 3 Sebuah simbol dapat memilii relasi berbeda jia diaitan dengan simbol lain. Misalnya pada 2 tanda minus mempunyai row relasi row dengan 2 sedangan pada
24 2 simbol 2 mempunyai relasi above dengan frasi dan simbol 3 mempunyai relasi 3 below dengan frasi. Berdasaran hubungan antar simbol, strutur matematia dari persamaan dapat dibentu. Untu menganalisis strutur pada persamaan matematia yang diberian, diperluan identifiasi relasi antara simbol satu dengan yang lainnya baru emudian ditentuan strutur persamaannya. 2.2.1 Relasi antar simbol Untu menentuan relasi antar simbol, diperluan perhitungan posisi relatif antar simbol. Persamaan matematia bisa direpresentasian dalam dua dimensi, untu menganalisis struturnya dapat digunaan pendeatan geometri dengan onsep ota pembatas. Kota pembatas adalah bangun 2 dimensi berupa ota yang dapat didefinisan sebagai ota terecil yang melingupi sebuah simbol secara eseluruhan. Gambar 2.6 Kota pembatas pada simbol
25 Titi merah mewaili titi tengah dari simbol. Setiap ota pembatas mempunyai batas top, bottom, left dan right. Relasi dalam espresi matematia : Gambar 2.7 Perbedaan tipe-tipe dalam relasi simbol 1. Row : jia batas iri sebuah simbol lebih ecil dari batas iri simbol setelahnya dan edua simbol tida beririsan serta terleta dalam baseline yang sama. Baseline dihitung berdasaran posisi relatif y simbol satu terhadap simbol lain. 2. Superscript : jia batas atas dari sebuah simbol lebih ecil dari batas atas simbol setelahnya dan edua simbol tida beririsan serta simbol setelahnya terleta pada baseline yang lebih tinggi dan tida tepat berada di atas simbol pertama. 3. Subscript : jia batas bawah dari sebuah simbol lebih ecil dari batas bawah simbol setelahnya dan edua simbol tida beririsan serta simbol setelahnya terleta pada baseline yang lebih rendah dan tida tepat berada di bawah simbol pertama.
26 4. Prescript : jia batas atas dari sebuah simbol lebih ecil dari batas atas simbol sebelumnya dan edua simbol tida beririsan serta simbol sebelumnya terleta pada baseline yang lebih tinggi dan tida tepat berada di atas simbol pertama. 5. Inside / Outside : jia ota pembatas sebuah simbol beririsan dengan ota pembatas simbol setelahnya, batas iri simbol setelahnya lebih besar daripada batas iri simbol tersebut dan batas atas simbol setelahnya lebih besar daripada simbol itu. 6. Above : jia batas atas dari sebuah simbol lebih ecil dari batas atas simbol setelahnya dan edua simbol tida beririsan serta simbol setelahnya terleta pada baseline yang lebih tinggi dan tepat berada di atas simbol pertama. 7. Under : jia batas bawah dari sebuah simbol lebih ecil dari batas bawah simbol setelahnya dan edua simbol tida beririsan serta simbol setelahnya terleta pada baseline yang lebih rendah dan tepat berada di bawah simbol pertama. 2.2.2 Progressive Structural Analysis Merupaan metode untu menganalisis strutur persamaan matematia yang diemuaan oleh Ba-Quoy Vuong (2007, p2) dan merupaan adaptasi dari metodemetode yang sudah ada sebelumnya. Dalam studi-studi sebelumnya, beberapa teni analisis strutur matematia telah diemuaan, diantaranya : Grammar-based approaches (Chou, 1989), baseline tree structure (Zannibbi et al, 2002), dan Minimum Spanning Tree (Tapia dan Rojas, 2003, 2005). Teni seperti Grammar-based approaches dinilai lambat, sementara yang lain sensitif terhadap esalahan penulisan yang dilauan oleh user. Secara umum, metode-metode ini memilii esamaan yaitu menganalisis strutur persamaan etia pengguna selesai memberi masuan persamaan matematia secara
27 eseluruhan. Hal ini menimbulan jeda watu yang cuup lama antar esalahan pengenalan terutama untu espresi yang panjang. Gambar 2.8 Progressive Structural Analysis Pada PSA, simbol dan strutur dienali secara dinamis selama user menulisan espresi matematia yang diinginan. Pendeatan ini membantu pengguna mendetesi esalahan pengenalan simbol dan memperbaiinya segera setelah ditulis. Pengguna tida harus menunggu sampai penulisan espresi matematia selesai secara eseluruhan lalu memperbaii esalahan yang terjadi. Proses onversi persamaan berlangsung secara reursif dari iri e anan. Luaran yang diembalian dari proses ini berupa persamaan matematia yang dienali dalam format text linear. Analisis strutur matematia yang dilauan menggunaan algoritma sebagai beriut : 1. Urutan urutan simbol dari iri e anan. 2. Baca simbol dari iri e anan 3. Jia simbol yang sedang dibaca merupaan simbol husus (memilii relasi selain row dengan simbol lain), cari elemen persamaan yang beraitan dengan simbol husus itu. Pada setiap pencarian elemen yang beraitan
28 lauan embali pengecean apaah dari simbol-simbol yang beraitan juga memilii simbol husus (reursif) Presedensi urutan pencarian : - cari elemen above dan below dari simbol frasi - cari elemen inside dari simbol pangat - cari elemen superscript dari simbol berpangat 4. Jia simbol yang sedang dibaca merupaan simbol yang memilii relasi row, maa tambahan e hasil. 2.3 Analisis hasil persamaan matematia Untu mengevaluasi hasil perhitungan, dilauan penelusuran terhadap persamaan dalam format text linear oleh penganalisis hasil persamaan matematia (expression analyzer) Algoritma penganalisis hasil persamaan matematia adalah sebagai beriut : 1. Mencari operator. Dicari indes operatornya 2. Untu tiap operator yang ditemuan, cari hasil operasi antara espresi matematia di iri operaror dengan espresi matematia di anan operator. Setiap pencarian hasil dari espresi matematia bai iri maupun anan dilauan langah 1 dan 2 secara reursif 3. presedensi operator dijaga dengan mengatur urutan pencarian operator (operator yang dicari terlebih dahulu) : a. + dan b. * dan / c. sin, cos, dan tan
29 d. sqr e. log f. pangat g. ( dan ) 2.4 Perancangan Apliasi 2.4.1 Reayasa Piranti Luna Reayasa Piranti Luna menurut Fritz Bauer (Pressman, 2005, p23) adalah penetapan dan pemaaian prinsip-prinsip reayasa dalam ranga mendapatan piranti luna yang eonomis yaitu terpecaya dan beerja efisien pada mesin (omputer). Dalam perancangan software dienal istilah software life cycle yaitu serangaian egiatan yang dilauan selama masa perancangan software. Secara umum dalam membuat sebuah sistem terdapat beberapa pemodelan proses, salah satu diantaranya adalah waterfall model. Menurut Dix (1997, p180), beriut adalah visualisasi dari egiatan pada software life cycle model waterfall: 1. Spesifiasi ebutuhan (Requirement specification) Pada tahap ini, piha pengembang dan onsumen mengidentifiasi apa saja fungsi-fungsi yang diharapan dari sistem dan bagaimana sistem memberian layanan yang diminta. Pengembang berusaha mengumpulan berbagai informasi dari onsumen. 2. Perancangan arsitetur (Architectural design) Pada tahap ini, terjadi pemisahan omponen-omponen sistem sesuai dengan fungsinya masing-masing.
30 3. Detailed design Setelah memasui tahap ini, pengembang memperbaii desripsi dari omponenomponen dari sistem yang telah dipisah-pisah pada tahap sebelumnya. 4. Coding and unit testing Pada tahap ini, disain diterjemahan e dalam bahasa pemrograman untu dieseusi. Setelah itu omponen-omponen dites apaah sesuai dengan fungsinya masing-masing. 5. Integration and testing Setelah tiap-tiap omponen dites dan telah sesuai dengan fungsinya, omponenomponen tersebut disatuan lagi. Lalu sistem dites untu memastian sistem telah sesuai dengan riteria yang diminta onsumen. 6. Pemeliharaan (maintenance) Setelah sistem diimplementasian, maa perlu dilauannya perawatan terhadap sistem itu sendiri. Perawatan yang dimasud adalah perbaian error yang diteman setelah sistem diimplementasian. Gambar 2.9 Software Life Cycle Model Waterfall Sumber: Dix (1997, p181)
31 2.4.2 Unified Modelling Language Unified Modelling Language (UML) adalah bahasa visual pemodelan yang digunaan untu menentuan, memberi gambaran, gagasan dan doumentasi dari sebuah sistem piranti luna, juga untu mengambil eputusan dan mengerti mengenai sistem yang aan dibangun. UML digunaan agar sistem yang dibuat dapat dimengerti, dirancang, dibangun, dipelihara, dan diontrol informasinya (Booch et. al., 1999, p3) UML merupaan suatu bahasa untu memvisualisasian, menspesifiasi, mengonstrusi, dan mendoumentasian artifacts dari suatu sistem piranti luna. UML digunaan mengespresian model-model dari sistem yang aan dibuat dan tida mengajaran bagaimana cara mengembangan suatu piranti luna. 2.4.2.1 Flowchart Flowchart adalah representasi sema dari suatu algoritma atau suatu proses ( Wiipedia, 2008 ). Pertama ali diperenalan oleh Fran Gilbreth pada tahun 1921 dan saat ini menjadi alat yang sering digunaan untu menunjuan 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 menandaan mulai atau selesai yang menunjuan awal atau ahir dari sebuah proses. 2. Ana panah Simbol ini menunjuan alur ontrol dalam suatu algoritma. Ana panah eluar dari suatu simbol dan berahir pada simbol lain yang menunjuan ontrol beralih epada simbol yang ditunjuan oleh ana panah.
32 3. Persegi panjang Simbol ini mewaili langah proses, input atau output. Contoh : nilai x diurang 1. 4. Belah etupat Simbol ini mewaili ondisi atau eputusan yang umumnya mempunyai dua jawaban saja. Gambar 2.10 Contoh Flowchart Sumber: http://en.wiipedia.org/wii/flowchart 2.4.2.2 Use Case Diagram Use Case menunjuan hubungan interasi antara ator dengan use case di dalam suatu sistem (Mathiassen, 2000, p343) yang bertujuan untu menentuan bagaimana ator berinterasi dengan sebuah sistem. Ator adalah orang atau sistem lain yang berhubungan dengan sistem.
33 dibawah ini. Ada tiga simbol yang mewaili omponen sistem seperti terlihat pada gambar 2.4.2.3 Class Diagram Gambar 2.11 Notasi Use Case Diagram Sumber : Mathiassen (2000, p343) Class Diagram adalah penggambaran strutur relasi antara class-class dan obje-obje dalam suatu model (Mathiassen, 2000, p69-70). Class merupaan pembentu utama dari sistem berorientasi obje yang digambaran dalam bentu segi empat yang terbagi menjadi tiga bagian. Bagian atas merupaan nama dari class, bagian tengah berisi atribut dari class, dan bagian bawah berisi behaviour dari class (Booch, et. al., 1999, pp42-45). Gambar 2.12 Notasi Class Diagram
34 2.4.2.4 Sequence Diagram Menggambaran bagaimana obje berinterasi satu sama lain melalui pesan pada pelasanaan use case atau operasi. Sequence diagram mengilustrasian bagaimana pesan diirim dan diterima antar obje 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)