BAB 2 LANDASAN TEORI Dalam landasan teori ini, pada dasarnya aan dielasan mengenai teori yang relevan, lengap, dan terini sealan dengan permasalahan yang dihadapi. Di sini uga terdapat hubungan antara permasalahan dan teni yang digunaan dalam perancangan program apliasi ini. 2.1 System Development Life Cycle (SDLC) Dalam membuat sebuah program apliasi terdapat beberapa paradigma atau model proses, lima di antaranya adalah The Classic Life Cycle atau yang biasa dienal dengan Waterfall Model, Prototyping Model, Fourth Generation Techniques (4GT), Spiral Model, dan Combine Model. Dalam pengembangan program apliasi Motion Detection ini model proses yang digunaan adalah Waterfall Model. Menurut Winston W. Royce (1929 1995), secara umum ada enam tahapan dalam Waterfall Model, seperti gambar di bawah ini:
8 Gambar 2.1 Waterfall Model Sumber: http://www.varsys.com/images/nowledgecenter/waterfallmodel.gif Tahap-tahap tersebut disusun seperti model aliran air terun sehingga disebut dengan Waterfall Model. Model ini menadi panduan langah-langah pembuatan program apliasi yang sesuai dengan ebutuhan dan harapan dari pengguna, supaya proye pengembangan program apliasi tersebut dapat diselesaian dengan sempurna. 2.2 Use Case Diagram Use Case menunuan hubungan interasi antara ator dengan use case di dalam suatu sistem (Mathiassen, 2000, p343) yang bertuuan untu menentuan bagaimana ator berinterasi dengan sebuah sistem. Ator adalah orang atau sistem lain yang berhubungan dengan sistem.
9 Ada tiga simbol yang mewaili omponen sistem seperti terlihat pada gambar dibawah ini. Gambar 2.2 Notasi Use Case Diagram Sumber : Mathiassen (2000, p343) Menurut Schneider dan Winters, ada lima hal yang harus diperhatian dalam pembuatan diagram use case (Schneider dan Winters, 1997, p26): 1) Ator: segala sesuatu yang berhubungan dengan sistem dan melasanaan use case yang terait. 2) Precondition: ondisi awal yang harus dimilii ator untu masu e dalam sistem untu terlibat dalam suatu use case. 3) Postcondition: ondisi ahir atau hasil apa yang aan diterima oleh ator setelah menalanan suatu use case. 4) Flow of Events: egiatan-egiatan yang dilauan pada sebuah proses use case. 5) Alternative Paths: egiatan yang memberian serangaian eadian berbeda yang digunaan dalam Flow of Events.
10 2.3 Flowchart Flowchart adalah representasi semati dari sebuah algoritma atau sebuah proses yang teratur, menunuan langah-langah dalam ota-ota yang bervariasi dan urutannya dengan menghubungan ota-ota tersebut dengan panah. Flowchart digunaan dalam mendesain atau mendoumentasian sebuah proses atau program (Wiipedia 2008). Flowchart pertama ali diperenalan oleh Fran Gilbreth epada anggota ASME (American Society of Mechanical Engineers) pada tahun 1921 sebagai representasi Process Charts First Steps in Finding the One Best Way dan saat ini menadi alat yang sering digunaan untu menunuan aliran proses dalam suatu algoritma. Sebuah Flowchart pada umumnya memilii simbol-simbol sebagai beriut: 1) Start and end symbols Direpresentasian dalam bentu oval, atau persegi panang dengan uung yang membulat, biasanya mengandung ata Start atau End atau frase lainnya yang menuuan awal proses atau ahir dari proses, seperti submit enquiry atau receive product. 2) Arrows Menunuan apa yang disebut sebagai flow of control dalam ilmu computer. Sebuah arrow datang dari sebuah simbol dan berahir pada simbol lainnya merepresentasian bahwa ontrol berpindah pada simbol yang ditunuan oleh arrow. 3) Processing steps Direpresentasian sebagai sebuah persegi panang. Contoh: tambahan 1 pada X ; ganti bagian yang diidentifiasi ; simpan data.
11 4) Input / Output Direpresentasian sebagai sebuah aaran genang. Contoh: ambil X dari user ; tampilan X. 5) Conditional or decision Direpresentasian sebagai sebuah belah etupat / bentu berlian. Biasanya berisi pertanyaan yang mempunyai awaban yes atau no, ataupun true atau false. Simbol ini uni arena ada dua arrows yang eluar dari simbol ini. Biasanya terdapat pada bagian bawah dan anan, dan berorespondensi pada awaban yes atau no, ataupun true atau false. Tiap arrow harus diberi label di dalamnya. Lebih dari dua arrows dapat digunaan, tetapi secara normal berarti bagian tersebut dapat dipecah lagi secara lebih mendalam.
12 Gambar 2.3 Flowchart Sumber: http://www.novagraph.com/images/howtoflowchart.png 2.4 Sequence Diagram Sequence Diagram digunaan untu memodelan scenario penggunaan (Hariyanto 2004, p309). Senario penggunaan adalah barisan eadian yang teradi selama satu eseusi system. Caupan scenario dapat beragam, mulai dari semua eadian di sistem atau hanya eadian pada obe-obe tertentu. Senario menadi reaman historis eseusi sistem atau gagasan esperimen eseusi sistem yang diusulan. Sequence Diagram menunuan obe sebagai garis vertial dan tiap eadian sebagai panah horizontal dari obe pengirim e obe penerima. Watu
13 berlalu dari atas e bawah dengan lama watu tida relevan. Diagram ini hanya menunuan barisan eadian, buan pewatuan nyata. Kecuali untu sistem watu nyata (Real Time System) yang mengharusan onstrain barisan eadian. Sequence Diagram digunaan untu: 1) Overview perilau sistem, 2) menunuan obe-obe yang diperluan, 3) mendoumentasian scenario dari suatu use case diagram, 4) memerisa alur-alur pengasesan. 2.5 State Transition Diagram Ide dasar dari State Transition Diagram adalah untu menelasan sebuah mesin yang memilii beberapa eadaan. Mesin tersebut mendapatan masuan dari luar dan setiap masuan aan merubah eadaan dari mesin tersebut. Gambar beriut ini adalah salah satu contoh State Transition Diagram yang menunuan eadaan sebuah botol osong, yang lalu diisi emudian ditutup. Selama diisi, ia belum penuh maa masih aan menunuan eadaan osong.
14 Gambar 2.4 State Transition Diagram Sumber: http://www.cs.unc.edu/~stotts/145/crc/smstate.gif 2.6 Interasi Manusia dan Komputer (IMK) Berdasaran evaluasi dari sudut interasi manusia dan omputer, program simulasi yang dirancang harus bersifat interatif. Suatu program yang interatif dan bai harus bersifat user friendly, dengan lima riteria (Shneiderman 2005, p15) sebagai beriut: 1) Watu belaar yang tida lama. 2) Kecepatan penyaian informasi yang tepat. 3) Tingat esalahan pemaaian rendah. 4) Penghafalan sesudah melampaui anga watu. 5) Kepuasan pribadi.
15 Menurut (Shneiderman 2005, p74), dalam merancang sistem interasi manusia dan omputer yang bai uga harus memperhatian delapan aturan utama (eight golden rules), yaitu: 1) Strive for consistency (berusaha untu onsisten). 2) Enable frequent user to use shortcuts (memunginan pengguna untu menggunaan alan pintas). 3) Offer informative feedbac (memberian umpan bali yang informatif). 4) Design dialogs to yield closure (pengorganisasian yang bai sehingga pengguna mengetahui apan awal dan ahir dari suatu asi). 5) Offer simple error handling (memberian pencegahan esalahan dan penanganan esalahan yang sederhana). 6) Permit easy reversal of actions (memunginan embali e asi sebelumnya dengan mudah). 7) Support internal locus of control (memunginan pengguna untu menguasai dan mengontrol sistem). 8) Reduce short term memory load (mengurangi beban ingatan anga pende, sehingga pengguna tida perlu banya menghafal). 2.7 Motion Detection Definisi dari motion detection adalah sebuah asi dalam merasaan pergeraan fisi pada suatu area yang diberian. Motion dapat didetesi dengan menguur adanya perubahan pada ecepatan atau vetor dari sebuah obe atau obe pada sebuah sudut pandang. Hal ini dapat dicapai dengan alat meani yang secara fisi berinterasi dengan
16 lingungan yang diamati ataupun dengan alat eletroni yang dapat menguur perubahan pada lingungan yang diberian. Sebuah algoritma sederhana untu motion detection oleh sebuah amera aan membandingan gambar atual saat ini dengan sebuah gambar referensi dan secara sederhana aan menghitung banyanya pixel yang berbeda. Gambargambar aan berbeda arena secara natural tergantung pada beberapa fator seperti pencahayaan yang bervariasi, edipan amera, dan intensitas cahaya. Oleh sebab itu, pre-processing sangat berguna untu mengurangi tingat esalahan pengenalan gambar. Algoritma yang lebih omples diperluan untu mendetesi geraan apabila ameranya uga iut bergera, atau apabila geraan dari suatu obe yang spesifi harus didetesi pada suatu lingungan yang terdiri dari pergeraan lain yang dapat diabaian. 2.8 Image Processing Pemrosesan gambar adalah salah satu bentu dari pemrosesan sinyal, di mana input yang diberian adalah sebuah gambar, seperti foto atau frame dari sebuah video; sedangan output dari pemrosesan gambar dapat berupa sebuah gambar atau sebuah set dari arateristi atau parameter yang terait dengan gambar tersebut.
17 2.8.1 Grayscale Dalam istilah pemrosesan gambar, sebuah grayscale atau gambar digital grayscale adalah sebuah gambar di mana nilai dari tiap-tiap pixel adalah sebuah single sample, sebagai satu-satunya yang membawa informasi penuh tentang intensitasnya. Gambar yang termasu dalam ategori ini tersusun secara eslusif dari bayangan abu-abu netral, bervariasi dari warna hitam pada intensitas terlemah sampai dengan warna putih pada intensitas yang teruat. Gambar grayscale berbeda dengan gambar hitam dan putih, di mana pada ontes gambar omputer adalah gambar yang hanya mempunyai dua warna, hitam dan putih (uga disebut sebagai bilevel, gambar biner); gambar grayscale memilii banya bayangan abu-abu diantaranya. Pada ebanyaan ontes di luar penggambaran digital, ata hitam dan putih digunaan untu menggantian grayscale ; sebagai contoh, fotografi pada bayangan abu-abu disebut sebagai fotografi hitam dan putih. Intensitas dari sebuah pixel diespresian dalam batasan minimum dan masimum yang diberian. Batasan ini direpresentasian dalam sebuah langah abstra sebagai ara dari 0 (etiadaan cahaya, hitam) dan 1 (eberadaan cahaya, putih), dengan nilai-nilai frasional diantaranya. Mengonversi sebuah gambar berwarna menadi grayscale tidalah uni; perbedaan berat dari channel warna secara efetif merepresentasian efe dari film hitam dan putih dengan pewarnaan berbeda dari filter fotografi pada amera. Sebuah strategi umum adalah untu menyamaan pencahayaan dari gambar grayscale dengan pencahayaan dari gambar berwarna.
18 Untu mengonversi warna apapun menadi representasi grayscale dari pencahayaannya, pertama-tama nilai dari warna primer yaitu merah, hiau dan biru (RGB) pada encoding intensitas linear harus ditemuan terlebih dahulu dengan menggunaan espansi gamma. Kemudian ditambahan sebanya 30% e dalam value warna merah, 59% e dalam value warna hiau, dan sisanya 11% e dalam value warna biru (berat tersebut tergantung pada pemilihan dari warna primer RGB, tetapi secara tipial sama). Apapun sala yang dimasuan (0.0 sampai 1.0, 0 sampai 255, 0% sampai 100%, dan lain sebagainya), bilangan resultannya adalah value dari pencahayaan linear yang diinginan; hal ini secara tipial memerluan gamma yang diompresi untu embali pada representasi grayscale onvensional. 2.8.2 Binary Threshold Definisi dari binary threshold adalah filter yang melauan binerisasi gambar dengan menggunaan value pembatas yang spesifi. Semua pixel dengan intensitas yang sama atau lebih tinggi dari value pembatas aan dionversi menadi pixel putih. Semua pixel lainnya dengan intensitas di bawah value pembatas aan dionversi menadi pixel hitam. Hal ini aan menghasilan gambar yang hanya mempunyai warna hitam dan putih. 2.9 Histogram Histogram gambar adalah sebuah tipe dari histogram yang berfungsi sebagai representasi grafi dari distribusi tonal pada sebuah gambar digital. Histogram gambar membuat bagian pada banya pixel untu setiap tonal value.
19 Dengan melihat pada histogram untu gambar yang spesifi, pengamat aan dapat mengetahui semua distribusi tonal dalam seali pandang. Dalam statistia, sebuah histrogram adalah gambar grafi dari freuensi yang ditabulasi, ditampilan dalam bentu batang. Histogram menunuan umlah proporsi bagian yang masu pada beberapa ategori yang ada. Sebuah histogram berbeda dengan diagram batang pada area yang menotasian value, buan sebagai tinggi sebagaimana yang terdapat pada diagram batang, perbedaan rusial apabila pada ategori yang ada tida mempunyai lebar yang seragam. Kategori-ategori yang ada biasanya dispesifiasian sebagai interval yang tida melebihi batas dari variabel yang telah ditentuan. Kategori-ategori tersebut (batang) haruslah berdeatan. Gambar 2.5 Histogram Sumber: http://upload.wiimedia.org/wiipedia/commons/thumb/d/d9/blac_cherry_tree_hi stogram.svg/180px-blac_cherry_tree_histogram.svg.png
20 2.10 Artificial Neural Networs Manusia, demiian uga dengan binatang memproses informasi dengan aringan syaraf. Jaringan tersebut terbentu dari trillions (10 12 ) dari neuron (sel saraf) yang saling bertuar sinyal listri dan sering disebut sebagai potensial asi. Algoritma omputer yang meniru strutur biologis tersebut secara formal disebut sebagai aringan syaraf tiruan untu membedaannya dengan apa yang dimilii oleh binatang. Tetapi, ebanyaan ilmuwan dan insinyur tida menggunaannya secara formal dan tetep menggunaan ungapan aringan syaraf untu mencaup semua sistem biologis dan non-biologis. Penelitian aringan syaraf tiruan dimotivasi oleh dua sebab, yaitu untu mendapatan pengertian yang lebih mendalam tentang ota manusia, dan untu mengembangan omputer yang dapat menghadapi masalah abstra dan masalah yang sulit untu dielasan. Sebagai contoh, omputer onvensional mengalami masalah untu mengerti percaapan dan mengenali waah masing-masing orang. Sebagai perbandingan, manusia sangat bai dalam melauan egiatan tersebut. Banya strutur aringan syaraf yang telah dicoba, beberapa didasaran dari meniru apa yang dilihat oleh ilmuwan di bawah mirosop, beberapa lebih didasaran pada analisis matematia dari masalah yang ada. Strutur yang paling banya digunaan dapat dilihat pada pembahasan lebih lanut mengenai macammacam arsitetur neural networs.
21 Gambar 2.6 Generalized Networ. Sumber: http://www.seattlerobotics.org/encoder/nov98/nnfig1.pg Salah satu apliasi dari aringan syaraf buatan yang paling umum adalah pemrosesan gambar. Beberapa contoh antara lain: mengidentifiasi tulisan tangan, mencocoan foto dari waah seseorang dengan foto lain pada database, melauan ompresi data pada sebuah gambar dengan ehilangan yang minimal. Apliasi lainnya bisa untu: pengenalan suara, analisis RADAR signature, predisi stoc maret. Masalah-masalah tersebut mencaup data yang sangat banya, dan hubungan yang sangat omples di antara parameter yang berbeda. Sangatlah penting untu diingat bahwa dengan solusi dari aringan syaraf buatan, user tida harus mengerti solusinya sama seali. Ini adalah euntungan terbesar dari pendeatan aringan syaraf buatan. Dengan teni yang lebih tradisional, user harus mengerti input, algoritma, dan output dalam detil yang banya. Dengan aringan syaraf buatan, cuup ditunuan bahwa : ini adalah output yang benar, apabila diberian input ini. Dengan latihan yang cuup, maa aringan aan meniru fungsi yang didemonstrasian. Dengan aringan syaraf buatan, bisa uga untu mengapliasian input yang tida relevan dengan
22 solusinya, arena pada proses latihan, aringan aan belaar untu menola input yang tida memberian ontribusi pada output. Aan tetapi, ia tida dimasuan input yang penting, maa aringan aan gagal untu membuat solusi. 2.11 Algoritma Bac Propagation Dalam algoritma Bacpropagation terdapat proses training yang meliputi feedforward, bacward serta perbaian bobot dan bias. Sedangan proses selanutnya untu mengenali pola yang telah dilatih, aan disebut dengan proses recall yang dilauan hanya dengan mengulangi proses feedforward. Beriut ini merupaan langah-langah yang digunaan dalam proses training dan recall menggunaan algoritma Bacpropagation: 1) Inisialisasi bobot 2) Selama ondisi berhenti false, lauan langah 3 10 3) Untu setiap pasangan data pelatihan, lauan langah 4 9 Feed Forward (langah mau) 4) Setiap unit input (X i, i = 1,, n) menerima sinyal input x i dan menerusan sinyal tersebut e semua unit pada lapis di atasnya (hidden layer). 5) Setiap unit tersembunyi (Z, = 1,, p) menumlahan sinyal-sinyal input berbobot, z _ in = v 0 + n i= 1 x v i i
23 Gunaan fungsi ativasi untu menghitung sinyal output-nya, z = f ( z _ ) in Lalu iriman sinyal tersebut e semua unit di lapis atasnya (unit-unit output). 6) Setiap unit output (Y, = 1,, m) menumlahan sinyal-sinyal input berbobot, y _ in = w 0 + p = 1 z w Gunaan fungsi ativasi untu menghitung sinyal output-nya, y = f ( y _ ) in Bacward (langah mundur) 7) Tiap-tiap unit output (Y, = 1,, m) menerima pola target yang berhubungan dengan pola input pembelaaran, hitung informasi errornya, δ = ( t y ) f ( y _ in ) Hitung oresi bobot (yang nantinya aan digunaan untu memperbaii nilai w ), Δ w = αδ z Hitung uga oresi bias (yang nantinya aan digunaan untu memperbaii nilai w 0 ), Δ w αδ 0 Dan iriman nilai δ e unit-unit yang ada di lapis bawahnya.
24 8) Tiap-tiap hidden unit (z, = 1,, p) menumlahan delta input-nya (dari unit yang berada pada lapis atasnya), m δ _ in = δ w = 1 Kalian nilai ini dengan turunan dari fungsi ativasinya untu menghitung informasi error-nya, δ = d _ in f ( z _ in ) Kemudian hitung oresi bobot (yang nantinya digunaan untu memperbaii nilai v i ), Δ v i = αδ x i Hitung uga oresi bias (yang nantinya digunaan untu memperbaii nilai v 0 ), Δv 0 = αδ Perbaian bobot dan bias 9) Setiap unit output (y, = 1,, m) memperbaii bobot dan biasnya ( = 0,, p), w ( baru) = w ( lama) + Δw Setiap unit tersembunyi (z, = 1,, p) memperbaii bobot dan biasnya (I = 0,, n), 10) Tes ondisi berhenti. v i ( baru) = vi ( lama) + Δvi
25 Setelah proses training, sebuah aringan syaraf bacpropagation aan diapliasian dengan hanya menggunaan fase feedforward dari algoritma training saa. Prosedur apliasi tersebut adalah sebagai beriut: 1) Inisialisasi matris bobot (dari algoritma training). 2) Untu setiap vetor input, lauan langah 3-5. 3) Untu i = 1,, n: set nilai ativasi untu setiap input unit x. 4) Untu = 1,, p: 5) Untu = 1,, m: z _ in z = v = f 0 + n i= 1 ( z _ ) in x v i i y _ in = w 0 + p = 1 z w y = f ( y _ ) in. Jadi, pada landasan teori ini, telah dibahas teori-teori yang berhubungan dengan perancangan program apliasi, seperti metode perancangan program, image processing, histogram, Artificial Neural Networs, dan algoritma Bac Propagation. Penggunaan dari teori-teori tersebut aan dielasan lebih lanut pada bab selanutnya.