BAB III LANDASAN TEORI
A.
cti tio on Text Detec Detection etection dapat diartikan diar a tiika kann se seba baga ba g i suatu proses pen encarian teks yang en Textt ddetection sebagai pencarian
terdap pat pada sebuah ah h ccitra. itra it ra. Proses text detectionn da ra dala lam la m sebuah citra raa merupakan terdapat dalam sa alah la satu m asal as alah al a yan ng se sering dihadap api dan selalu lu m e jadi ppusat en ussat pperhatian erhatian n karena salah masalah yang dihadapi menjadi prosess iini ni ssangat anga gatt dibutu ga tuhkan pada apli likasi computerr vvision isionn se sseperti pertii pe penc ncar nc a ian te tteks ks dibutuhkan aplikasi pencarian pa ada gam a baar (Neumann & Matas, 20 0122). pada gambar 2012). Pada P ada penelitian in ni prose es text ddetection etection akan ddibantu ib ban a tu u ddengan engan en ini proses menggu gunakan library gu librar aryy Op OpenCV V. Op O enCV CV ad dalah su uat atuu llibrary ibrary yangg terdiri ddari ari ar menggunakan OpenCV. OpenCV adalah suatu ffu ngsii-fungsi computer vision visio ion n dan dan API (Apl plic icattio ion Programming Interface) Inteerface) untuk untu uk fungsi-fungsi (Aplication mela laku kuka ku k n pengol olah ah han ccitra itra it ra bbaik aik secara high ai gh llevel evell maupun maup ma upun up u low level ell da dan seba aga gaii melakukan pengolahan sebagai oop timasi dalam menjalankan aplikas asii se as ecara realtime. OpenCV sangat disara raank nkaan optimasi aplikasi secara disarankan pada pa da ppengembangan engembangan aplilkasi computer vision, karena libraryy ini ini ma mamp m u mampu menc me nciptak nc kan apli lika kasi ka si yyang an hand ang dal al,, ku kuat at ddii bbidang idang digital digi di gita gi tall vi ta ision i ddan an me memp mpuunyai mp menciptakan aplikasi handal, vision mempunyai kemamp mpua mp u n ya yang ng mirip dengan ccara ara pen ngolahan visuall pa pada d man an nusi usia. Karena kemampuan pengolahan manusia. maka libraryy ini dapat digunakan secara gratis. OpenCV bersifat open source, maka V dikembangkan berdasarkan teori yang Proses text detection padaa OpenCV dikemukakan oleh Lukas Neumannn dann Jiri Matas (2012). Proses text detection tahapan a Tahap pertama pada OpenCV terdiri dari dua tahapan. pertama, secara bertahap sistem akan menghitung descriptor, berupa: area, parameter, bounding box, dan nilai euler. Hasi dari perhitungan descriptor akan menghasilkan sejumlah region r
dimana setiap region tersebut akan dijadikan ciri (features) dalam melakukan proses pendeteksian teks. Hanya External Regions r (ERs) yang memenuhi kondisi tertentu yang akan ddigunakan iguunakan ig un taha ta happ selanjutnya. Pada tahap ke-dua, ha pada tahap ERs yang dipilih aakan kan diklasifikasikan ke dalam kate ka tego te g ri karakter dan bukan kategori karakter. Pr roses os ini membutuhk hkan hk an kkomputasi ompu om puta pu t sii yyang ta ang lebih bany nyak dibandingkan ny Proses membutuhkan banyak komput utasi sebelumnya. ut sebelumnya ya. Proses ya Pro Pr oses yang digunakan ya ait itu: u: Hole Hole area ratio, o convex hull o, komputasi yaitu: ra atio, dan n me meng n hitung ng jjumlah umlah bata tasan terluarr da ddari ri inf nfle nf leeks ksii poin. Setelah ratio, menghitung batasan infleksi peny yar arin inga in gan ga n ER Rs selesa sai dilakukan, m aka langkah se elanjuttny nya ad dal alah ah m elak kukan penyaringan ERs selesai maka selanjutnya adalah melakukan pe eng n el elo lompo pok po kan ERs kee ddalam alam high-level higgh-level textt bblocks, locks, sepert rtti: i ka ata ta,, kalima at, t pengelompokan seperti: kata, kalimat, maup ma u un up n pparagraf. arag ar agraf. maupun
B B.
Thresholding S if et al.,, ((2013) Sa 2013 20 13)) dala 13 ddalam ala lam m ju jjurnalnya rnalnya me enj njel elas el aska kann ba ka bbahwa hwa thresholding hw threshol oldi ol ding adalah di adal alah al ah Saif menjelaskan
uk me memisahkan antara objek dan backgroundbackgrrou ound ndnd d suatu metode yang digunakan untu untuk ny Thresholding Th keabuaan ((grayscale) gray gr aysc ay scaale) sc nya. digunakan untuk mengatur jumlah derajat keabuan yang ada ppada ada d citr itr traa (G (Gu upta et al al., .,, 22012). 012) 01 2). C 2) itra da ddari ri hhasil asil as il thresholding thre th h sholding h ng biasanya bias bi asanya as yang citra (Gupta Citra ipak ip kai lebih leb ebih ih lanjut untuk pr proses eks ksttraksi fitur serta ks sertta pe peng ngenal ng allan objek. seringg ddipakai ekstraksi pengenalan Teknik thresholding dapa at dibedaka an atas 2 (dua) macam, yaitu: Global dapat dibedakan Thresholding dan Local Adapti tive Thres ti sholding. Pada Global Thresholding, Adaptive Thresholding. ompookan warna piksel menggunakan sebuah om proses dilakukan dengan mengelom mengelompokan d yang berlakuu untuk seluruh bagian pada citra nilai ambang (threshold) citra. Sedangkan pada Local Adaptive Thresholding, proses dilakukan dengan membagi citra
menjadi beberapa sub citra, kemudian pada setiap sub citra akan dilakukan proses segmentasi menggunakan nilai threshold yang berbeda (Al-amri et al., 2010). Metode thresholding ng g ya yang digunak kan ppada ada penelitian ini adalah metode digunakan Global Thresholdin ng. Pada Global Thresholding, meto ode yang digunakan adalah Thresholding. metode men en nentukan suatu ni ilai am amba bang ba ng (th threshold) th d yang digunakan digunakan untuk dengan menentukan nilai ambang (threshold) mengel elompokan wa el arn rnaa pi ppiksel. ksel. Seluruh piks k ell ppada adaa citra akan ddikonversikan ad i onversikan ik mengelompokan warna piksel me hita hi tam ta m at aatau au pputih, utih ut ih, dengan ket ih etentuan dim man na piksel el yyang angg leveln an nya y lebih menjadi hitam ketentuan dimana levelnya gi ddari arii llevel ar eveel threshold threshhol th o d akan diubah h menjadi putih, h, dan ssebaliknya e alik eb ikny nyaa pi ny piks k el yyang ang tinggi piksel leeve vellnya y be er erada di bawah h ddari ari level threshold thrreshold akan th an diubah menj njjad a i hitam. hiita tam. m Secar ra levelnya berada menjadi Secara umum um u , pers ppersamaan ersam a aan untuk me meng n ubah h ccitra itra grayscale gray gr ayscale menjadii ci citr trra bi ine nerr da ddapat patt umum, mengubah citra biner ebagai beri iku kut: t: ditulis ssebagai berikut:
[3,1] [3,1]
dengan dari d ngan g(x,y) adalah citra biner dar de ri ci ccitra traa grayscale f(x,y), dan T menyatakan tr n nnilai ilai ila ambang proses amba am bang ba ng ((threshold). threshold). d Nilai T memegang peranan sangat pentingg ddalam alam al am pr pros oses os pengambangan. Kualitas citra biner peng pe ngambangan. K ng uali ua lita li tass hasil ci ta citr traa bi tr bine nerr sangat ttergantung ne erga er ganntung ga nt ddari ari nilai ai T yang digunakan. diguna naka na kan. ka oh citra grayscale graayscale yang diubah ke dalam bentuk Berikut merupakan conto contoh eknik thresholding: thre resholding: re citra biner dengan menggunakan tteknik
Gambar G Ga mbar 3.1 3.1 Contoh Contohh hasil has a ill Thresholding as Thrresh Th resh shol oldi ol din di ng Dikutip Dari: Dari Da ri: Ramadijanti N.,, Se Seti tiaw ti awar aw ardh ar dhan dh anaa,& an a,& Mahsun H. H. (2009). (2009) 9 . Social S cial Network So Nettwork Setiawardhana,& ((http://digilib.its.ac.id/public/ITS-NonDegree-7548-7405040015-bab2.pdf) http ht p:/ ://d /diigilib.iits ts.ac.id/public/ITS-NonDegree-75488-74 74050400 00155-ba bab2.pdf) f
Gamb mbaar seb mb bel e ah kiri me meru r pakan ga ambar original origin nal dan gamb mb bar a seb ebel eb elah el ah kana an Gambar sebelah merupakan gambar gambar sebelah kanan adal ad alah al a ga am ambar hasil dari thresholding thrresh s oldingg adalah gambar
C.
Segmentasi Citraa Se Segm gmen enta tasi si citra (i ((image mage segmentation)) merupakan merupa paka kann ba bagi gian an dar arii pros ar osses Segmentasi bagian dari proses
segment ntas nt asii citr as ra m erupakan suatu proses pra pengola laha la hann ha pengolahan citra. Proses segmentasi citra merupakan pengolahan p da sistem pengenalan objek dalam citra. Segmentasi citra mempu pa puny pu nyaai ny ai aarti rti pada mempunyai memb me mbag mb agii su ag atu at tu ci ccitra itr tra ra me menj njad nj adii wi ad wila laya la yahh-wi ya wila wi laya la yahh ya ya ang hhomogen omog om ogen e bberdasarkan en errda dasa sark sa rkan rk n kkriteria ritteria ri membagi suatu menjadi wilayah-wilayah yang tert rtten entu u aantara ntar nt araa ti ar ting ng gka katt keabuan su suatu piksell ddengan engan ting gka kat ke keab abua ab uann pi ua piks kssel–piiksel el– tertentu tingkat tingkat keabuan piksel–piiksel seg egmentasi ini eg in n akan digunakan untuk proses tingkat tetangganya. Hasil dari proses segmentasi kaan pada su uatu citra, misalnya proses klasifikasi lebih lanjut yang dapat dilakuka dilakukan suatu uatu ob obyek (Saif et al., 2013 ; Al-amri et al., citra ataupun proses identifikasi su suatu 2010 ; Gupta et al., 2012). Saif et al. (2013) berpendapat bahwa segmentasi citra adalah suatu proses pembagian daerah citra menjadi beberapa bagian yang lebih kecil berdasarkan tata letak piksel dan intensitasnya yang saling berdekatan. Segmentasi merupakan
suatu bagian yang sangat penting dalam analisis citra secara otomatis, karena pada prosedur ini obyek hasil segmentasi akan digunakan untuk proses selanjutnya, misalnya: pada pengenalan pola. pola po la. la ekn ek nik segmentasi citra diantaranya:: thresholding, t resholding, Connected th Beberapa tteknik Component La Labeling (CCL) da an se segm gmen gm enta en tasi ta s berbasis ber e basis Clusterr rin ing seperti Iterasi, dan segmentasi Clusterring KK mean ans, fuzzy Can C meean anss da ddan n SOM. M Pada pen elit lit itia iaan in ini, i metode segm mentasi yang K-means, C-means penelitian segmentasi di igunakan n ad adal alah al a Connected Conn nnec nn e ted Compon o ent Labeli ling ng (CCL). ( CL (C L). M etode inii sangat digunakan adalah Component Labeling Metode cocok k di digu gunaka gu kaan dala am proses pemis isahan karakterr yang tterdapat e dapaat pa er pada d seb buah digunakan dalam pemisahan sebuah ci itra ra. P adaa penelitian in ini, i, proses se egmentasi kkarakter arakter digu unakann pa pada saa at citra. Pada segmentasi digunakan saat mela me lakuka la kan ka n pe pemisahan karakt kter er yang tterdapat errdapat ppada ada ekspresi mat ad tem emat attik i a. melakukan karakter matematika.
D D..
Compon nen e t La Labeling Connected Component S lah satu Sa u m etod ode de da dari segment tas asii ad adal alah al ah Connected Connectedd Compon C o nen entt Salah metode segmentasi adalah Component
La L beling. Labeling.
Connected
Componen entt en Component
L abeling Labeling
adalah
sebuah
algoori ritm tm ma algoritma
peng pe ngel ng elom el o pokan sederhana yang bertujuan untuk mengisolasi, me om eng nguk ukur uk ur, ddan ur an pengelompokan mengukur, meng me ngidentifi ng ifi fik kasii ppotensi oten ot ensi en si ddaerah aerahh ob obye yekk da ye dala lam citra (R la (Raj ajar aj araman & Chokk ar kkal kk alin al in ngam, mengidentifikasi obyek dalam (Rajaraman Chokkalingam, 2013 3). Me M todee iini ni akan menghasi silk si l an seb buah citra dengan n llabel abel bbaru ab aru yyang ang sudah 2013). Metode menghasilkan sebuah terkait satu sama lainnya antarr sesama kkomponen. omponen. Dengan metode ini, akan dilakukan segmentasi untuk mem mis i ahkan se etiap karakter yang terdapat pada citra. memisahkan setiap daera raah ob byek akan memberikan nama atau nomor Operasi pelabelan dari daerah obyek yang unik ke semua piksel bernilai 1 ya yyang ng termasuk dalam daerah tersebut tersebut. Hasil pelabelan adalah komponen individu yang dapat diekstraksi. Algoritma Connected Component Labeling dapat bekerja pada citra biner dengan
menggunakan metode 4-connectivity atau 8-connectivity (Asano & Tanaka, 2010). Proses pelabelan dilakukan dengan menggunakan sebuah penanda yang berfungsi untuk mencari titik p yang m enunjukkan pik en ikse ik sell tempat label akan diberikan pada se menunjukkan piksel daerah foreground d. Ketika kondisi bernilai benarr maka akan dilakukan foreground. n kkee seluruh titik tet etan et angg an ggaa da gg ddari ri p (tergantungg dari jumlah npengecekan tetangga connecctivity). Jika se emu mua ttetangga etangga adalah back kgrrou o nd m aka akan di ibe b rikan label connectivity). semua background maka diberikan baaru padaa p. p T etapi ap et apab abiila ab il hanya sa atu tetangga ya ang berni nila ni laii foreground la fo n maka nd baru Tetapi apabila satu yang bernilai sama m ddengan en engan label tetangga. D la engan begitu, u, setiapp karakt kter kt er aakan k n di ka dibe b ri label p sa Dengan karakter diberi laabe bell ya yyang ng g bberbeda erbeda sehin ngg gga karakterr yyang ang satu ddengan engan karakter err yan ng la lain dapa at label sehingga yang dapat dipi di pissahk pi kan berdasarkan ber e dasarkan label el yyang ang dimi milikinyya. dipisahkan dimilikinya. 2 da dan n 3.3 akan an m en nunnju ukann contohh hhasil asil as il dari penera raapan meto ode Gambar 3.2 menunjukan penerapan metode c nneccted component labeli co ling ng pa ada sebua ah ci citr ra. connected labeling pada sebuah citra.
Gambar 3.2 3.2 Contoh Coontoh citra biner (2013 13)). Connected Components Labeling 13 Dikutip dari : Rajaraman (2013). and Extraction Based Interphase Removal from Chromosome Images
Gambar 3.3 Ga 3.33 Contoh citra hasil proses proses connected component co omp mponent labeling labe la b li be ling n Diku kuti ku tip dari ri : Rajaraman (2013). (2013 13). Connected Co omp m onen nts Labeling Lab belin ng Dikutip Components and Extraction an nB ased Interphasee Removal from mC hromosomee Images es Based Chromosome
Salah h sa satu metode ya yang ddapat ap pat ddigunakan iguunakan untuk ig uk prose sees connected conn co nnec nn e tedd Salah proses compo on onent labeling adalah adal ad alah a 8-Connectivity 8-Co Conn nnecctiivity ty Seq eque uent ntia ial Connected Compon nen ent component Sequential Component L beliing. Hasil dari proses in La inii berupa matrixx llabel abel yang berasal darii citraa bbiner. inerr. Labeling. Algoriitma tma 8-connectivity 8-co conn co nneectivity nn ec y seq queent ntial conn nected ec comp ponnen entt la labe beli ling ng merupakan merupaaka kann Algoritma sequential connected component labeling je algoritma two-pass conneccteed component labeling. Algoritma in ni ak aka an jenis dari connected ini akan mene me nelusu ne suri su ri ccitra itra it ra ssebanyak eban eb anya yak k du dua kali (two-pass). (two-pa -pa pass ss)). Be ss eri riku kutt me ku meru rupa ru pakkan pa kan al alur ur ddari ari menelusuri Berikut merupakan meto me tode to de connected connecte teed co comp mpon mp onen on entt la en llabeling: beli ling li ng:: ng metode component
Gambar 3.4 8-connectivity neighbourhood
1. Telusuri citra dari kiri ke kanan, atas ke bawah 2. Fase scanning: (pass pertama), Jika piksel (A) adalah foreground maka ya. ya cek piksel tetangganya tetangganya. sam seperti label B a. Jikaa B adalah foreground maka labeli A sama b. Selain itu jika C ad adal alah al ah h fo fore regr re groound maka labeli gr lab bel elii A sama seperti adalah foreground label C cc.. Se Selain iitu tu jjika ika D adalah ik a foreground nd ma m ka llabeli abel ab elii A samaa seperti el maka lab la bel D label dd.. Jika E adala lah h foregrou und maka: adalah foreground 1) Jika A bbelum e um bberlabel el errlabel ma mak ka labeli A sama ma sseperti ep perti llabel abel ab el E maka 2) Ji Jika A sud udah ah bberlabel errlabe bel m aka ccatat atat at at hhal al ini dalam m Equivale ent sudah maka Equivalent Map e. Jika ka B ,C C,D D ddan an E adalah back ckgr ck grou gr ound nd ma maka ka labeli A de den ngan lab abel ab el B,C,D background dengan label baru dan tambahkan ju juml mlah ml ah objek yang ditemukan jumlah 33.. Tahap analisis: Dari Equivalent Map disiapkan remappingg ar arra ay un unt tuk array untuk proses perba baik ba ikan ik an pada ma atr trix ix llabel. abel ab el. el perbaikan matrix 4. Fa 4 F se La abe beli ling: ((pass kedua), li kedu dua), Perb du rbaiki label pad rb ad da ma m trix i m enggunakan Fase Labeling: Perbaiki pada matrix menggunakan remapping array.
Matrix label kemudian akan ditel lusurii untuk mendapatkan daftar dari obyekditelusuri obyek yang ada pada gambar beserta iinformasi nformasi lokasi dan ukuran dari setiap label. label
E.
Ekstraksi Fitur Choudhary & Rishi (2011) dan Kader & Deb (2012) berpendapat bahwa
proses ekstraksi fitur merupa paka pa kan proses men ka enan en a dai dan menyimpan semua fitur an merupakan menandai dari hasil segment ntaasi karakter. Fitur adalah suatu nt tu u bentuk informasi atau segmentasi karakteristik k ddari ari segmen yang bbisa issa di ddijadikan jadi ja dika di kan se ka ssebagai bagai tanda pe eng ngenal dari bentuk pengenal segmen en karakter ters rseb rs eb but ut,, oleh karena itu fi ffitur itu t r ha haru ru us unik untukk tiap bentuk tersebut, harus ka arakter. karakter. Ekst Ek s raks st kssi fitur ak aakan an menguba ah huruf / angk ka yangg terda d pa patt da dala l m ci ccitra tra Ekstraksi mengubah angka terdapat dalam menj me njad adi d su usunan su kode ang gka k (yaitu an ngka 0 dan 1) 1).. Ekstraksi fitu ur berf rffun ungs gsi untu uk menjadi susunan angka angka fitur berfungsi untuk meng me n ub bah ah ssuatu u tu pola menj ua njad adi bit-b bitt digita al sehingga dap pat ddimengerti im menge gert ge rtii oleh rt h mengubah menjadi bit-bit digital dapat kompu ute t r. komputer.
F.
Le L arningg V ecto ec torr Qu to Quan anti an t zation Learning Vector Quantization Fettan anatt ((2014), 2014), Learning Vector Quantization Quantiza zati za tiion Menurut Soleiman & Fetanat
(LVQ (L VQ)) adalah suatu metode yang melakukan pembelajaran pa VQ pada da llapisan apis ap issan (LVQ) kompetitif komp ko mpetitif mp iff yang tera terawasi. rawa ra wasi wa si. Lapisa si Lapisan an ko komp kompetitif mpet mp etit et itiif akan se it seca secara cara ca ra ot otomatis tomatis i bela belajar laja la jar uuntuk ja ntukk mengklasifikasikan meng gkl klas a iffikas as assik ikaan vektor-vektorr input. Ke KelasKelas-kelas kelas yang ddiperoleh iper ip e olleh h ssebagai ebagai hasil eb dari lapisan kompetitif ini hanya tergantungg pada jarak antara vektorvektor input. vektor-vektor Apabila beberapa vektor input me m memiliki miliki jarak yang sangat berdekatan, makaa vektor-vektor input tersebut akan ddikelompokan i elom ik ompokan dalam kelas yang sama. Metode om yang digunakan untuk menghitung jarak vektor pada jaringan LVQ adalah h Euclidian Distance, dengan demikian waktu yang diperlukan untuk melakukan proses pengenalan pola relatif cepat. Hal ini sangat cocok diterapkan pada aplikasi
berbasis mobile yang membutuhkan operasi perhitungan yang sangat cepat, sehingga aplikasi yang dibangun dapat berjalan dengan optimal.
1.
Arsitektur JJaringan aringan LVQ Metode Meto ode de LVQ dapat digunakan diguuna di naka kann untuk ka untu un uk proses p oses pengelompokan pr pengeelo lompokan dimana
jumlah h kelompok te tela laah ditentukan sesuaii de deng ngan ng an rancangan aarsitekturnya rsitekturnya telah dengan (t target/kela laas sudah suda su d h ditentukan). diite tent ntukan). Menu n rut Chen, Ts T ai & Yang Yan angg (2010), (2010) 0),, LVQ 0) (target/kelas Menurut Tsai merupa paka pa kan ka n sala lah la h satu u metode pemb mbelajaran yangg hand nddal a dal alam am m elak kukan merupakan salah pembelajaran handal dalam melakukan pe eng n kl klaasifik ikasian. Soleima ik man n & Fetan natt (2014) be erp rpendapat bahw hwa pa hw ada jjaringan aringaan pengklasifikasian. Soleiman Fetanat berpendapat bahwa pada LVQ LV Q, la api pisa san n kompetitif aakan kan bela ka ajaar untu uk mengklasifikas sik ikan an n vek kto torr iinput nputt LVQ, lapisan belajar untuk mengklasifikasikan vektor terhada ap lapisan input inp put yang yang terdapat terd dap pat a pada pad da jaringan jariingan LVQ. ja LVQ VQ. terhadap 007 07)) be ber rpendapaat bbahwa ahw hwa arsitektur jaringann LVQ ddapat apaat Umer & Khiyal (20 (2007) berpendapat dikelo lom lo mp mpokan atass ti tiga ga bbagian agia ag ian ia n ya yyaitu: itu: input la aye yerr, ccompetitive ompe om peti pe t ti ti tive layer ((hidden hiidd dden lay yer er), ), dikelompokan layer, layer), dda n dan
output layer.
mend me ndes nd eskripsikan es mendeskripsikan
Pada
inputt la ayer layer
berisi
vektor-vektor
input
yyang ang an
fitur / ciri dari sekumpulan pola yang akan dik ikeenal ik enal ali. i. P ada dikenali. Pada
comp co mpetitive llayer, mp ayer, se seti tiap ti ap llapisan apisan uunit nitt ak ni akan an m elakuk kan clustering clus cl ustering us i / peng gel elom omppokan om competitive setiap melakukan pengelompokan terhad adap ad ap vekto or in input. Hasil cluste tering dipe te peroleh dari perhi pe hitu hi tung tu ngan jjarak ng arak ar ak ((euclidian euclidian terhadap vektor clustering diperoleh perhitungan disctance) antara vektor input dengan lap pisan unit. Vektor-vektor input yang lapisan memiliki jarak euclidian yang san angat berd an dekatan dengan salah satu lapisan unit, sangat berdekatan maka vektor input dan lapisan unit itt terse sebut akan dikelompokan ke dalam kelas se tersebut (class) yang sama sama. Sedangkan padaa output layer berisi jumlah target yang merepresentasikan jumlah kelas yang terdapat pada jaringan LVQ.
Gambar 3.5 Contoh Ga oh Arsitektur Jaring Jaringan ngaan LVQ Dikutip dari K usumadewi (2004). us (200 004). Jaringan Syaraf Syaraf Tiruan. Hal Haal 296 Kusumadewi
dimana: dimana a: X
= Vektor Masukan Masuk ukan a (x (x1,…,x2,… ,…,x …,xn)
F
Lapi p sa pi san n ko komp mp pet etit itif it i = Lapisan kompetitif
Y_in
= Masukan kelapisan kompetitif koomp mpet etiitif et
Y
= Keluaran (Output)
W
Vektor keluaran =V ek ktor or bbobot obot untukk uunit ob nitt ke ni kelu luaaran lu
||x - w|| w||| = Se w| Seli lisih nilai jarak Euclidean li Eu n antara vektor input in inpu npu putt deng ng gan vvektor ektor Selisih dengan bobot untuk unit O utput Output
Gambar
3.5
adalah
arsit i ektu it tu ur arsitektur
jaringan
LVQ
(Learning
Vector
Quantization) yang terdiri dari 6 no ode lapisan masukan (Input layer), layer) 2 node node lapisan tersembunyi (Hidden layer) serta 2 node lapisan keluaran (Output layer). Lapisan input memiliki 6 node yang disimbolkan dengan nilai x1, x2, x3, x4, x5,
dan x6. Pada tiap lapis masukan terlebih dahulu diberikan dua nilai bobot yang berbeda yaitu w1 dan w2. Dimana tujuan dari pemberian bobot tersebut adalah agar nilai tiap masukan me memi miliki penimba mi bang ba ng (bobot) yang kemudian akan memiliki penimbang dihitung nilainya da dan n diselesaikan dengan persamaan ya yang n dimiliki oleh metode memiliki LVQ (LearningVector ((Learni ningVector Quantization). ni Quantizat a io on)). Sehingga Sehi Se hing hi ngga ng ga jaringan memi ili liki k dua buah kelas yang bberbeda, kelas memiliki erbeda, yaitu ke kela las 1 dan kelas 2. Kelas 1 m la em mil iliiki bobot w1 dan da kelas dua me bbobot obot ob ot w2. Ke Keluaran elu luaaran dari lapi lapisan isan ini akan nm menjadi e jadi m en masukan asuuka as k n bagi gii lapisan memiliki tersem mbu buny nyi (h ny hid idden la layer) sebanyakk 2 node yaitu u Y_in1 Y_in11 dan Y_ Y_in in2. in 2. Dengan Den nga g n tersembunyi (hidden Y_in2. men me nggu gunaka kan prinsip bahw ka hwa nilai pa alinng kecil yyang ang dihasilkan aadalah an dalaah pe pemenang ng menggunakan bahwa paling dan da n mer rupaka rupa k n kelas dari iinput nput ter np rseebut ma maka ka pada lapisann ke kelu luaran lu an n ((Output Outputt Ou merupakan tersebut keluaran layer) digunakan d gunakan seb di ebua uah h fungsi si ppembanding embaanddin em ingg yang bberguna ergu er guna memband ndingkan ddua nd ua sebuah membandingkan nni lai te ttersebut rsebut untuk dicar ri ni nila laii terkec cil ilnyya. Dalam jaringan di iatas ffungsi ungssi nilai dicari nilai terkecilnya. diatas pemb mban mb anding tersebu an bu ut di ditu tuli tu lisk li skan sk an ddengan engan simb bol F1 dan dan F2. pembanding tersebut dituliskan simbol
22..
Algoritma Jaringan LVQ Dallam bbuku uku ku K usumadew us wi (2 (200 004) 00 4) di dij jelaskkan n aalgoritma lgor lg o itma ddari ari me eto tode de LVQ Dalam Kusumadewi (2004) dijelaskan metode
((Lear rni ning ng Vec eccto torr Quantization). Quantization). ) Metod de ini terdiri da dari ri 2 alg lgor lg orit or itma yaitu it (Learning Vector Metode algoritma algoritm ma pengujia an. Berikut merupakan alur dari setiap algoritma pelatihan dan algoritma pengujian. algoritma: a.
Algoritma Pelatihan: 1) Tetapkan: a) Bobot awal variable input ke-j menuju ke kelas (cluster) ke-i: Wij, dengan i = 1,2,…, K; dan j = 1,2,…, m
b) Maksimum epoh:MaxEpoh c) Parameter learning rate:α d) Penguranan le lear arning rate: Decα ar learning e) Mi ini nimal learning rate yang diperbolehkan: diperbolehkan n: Mi M nα Minimal Min Masukan: 2) Masukan: D ta iinput: Da nput np u : Xij, deng dengan gan i= 1,2,…n; ddan ann j = 1,2, 1,2,…,m 2,…,m 2, a) Data b) Target T rget Ta ett bberupa erupa kelas: Tk; dengan k= 1,2, 1,2,…,n. 2,… …,n. Teeta tapkan kkondisi ondisi awal: eo on oph p =0 3) Tetapkan eoph 4) Kerjakan jika: ((epoh epoh ≤ Max ep axEpoh) dann (α ≥ Minα) MaxEpoh) Epoh = epoh +1 +1;; a) Ep kan uuntuk n uk i = 1 ssampai nt am mpa pai n b) Kerjak Kerjakan (1)
Tentukan n J sed demikian hingga hinngga |Xi - Wj| minimum hi minimum; m; deng dengan gan j = sedemikian 1,2,,…,,K 1, 1,2,…,K
(2)
denga gann ketentuan: ga Perbaiki W dengan (a) (a)
Jika T = Cj, maka: Jika Wj = Wj + α (Xi - Wj)
(b)
Jika T ≠ Cj, ma maka: aka: Wj = Wj - α (Xi - Wj)
c) Kurangi nilai α. ilaakukan dengan: α = α - Decα; atau dengan il (Pengurangan α bias ddilakukan cara: α = α - α * Decα)
Setelah dilakukan pelatihan, akan diperoleh bobot-bobot akhir (W). Bobot-
bobot ini nantinya akan digunakan untuk melakukan simulasi atau pengujian.
b.
n Algoritma Pengujian Masukaan ddata ata yang akan diuji, missal: Xij; de deng n an i = 1,2,…,np; dan j 1) Masukan dengan = 11,2,…,m ,2,…,m 22)) Kerjakan n uuntuk ntuk nt uk i = 1 sampai np a) Te Tentuka an J sedemikian n hingga Q% %Xi – WjQ% %m minimum; inimum; de in ddengan ngan j Tentukan Q%X 1,2,…, …,K = 1,2,…,K b) J adalah kelas kel elas a untuk Xi b)
G.
Infix dan Po Post stfi fix x Postfix Infix adalah suatu m ettod ode penu uli lissan nnotasi otasi aritmatika dim mana pposisi osissi metode penulisan dimana
operat ato at or berada di aantara or ntar nt araa du ar duaa op operand. Dala am ha hall in inii pe pema m kaian tand ndaa kkurung nd urungg (()) operator Dalam pemakaian tanda sangat menentukan hasil operasi. Co Cont ntoh nt oh penulisan infix adalah: (A+B)*(C-D). (A+B)*(C (C--D) (C D). Contoh Seda Se daang ngak a an Postfix adalah suatu metode penulisan notasi aritma maati tikka ka ddimana imaana im Sedangakan aritmatika posi po sisi si s operat tor be bera rada ra da setelah ah ooperand. pera pe rand ra nd. Contoh nd oh ppenulisan enullisan postfix ix x ad adalah: d posisi operator berada AB+C +CD +C D-*. AB+CD-*. penggunnaan notas si infix lebih sering digunakan pada Pada umumnya penggunaan notasi diband ndingkan ddengan nd engan penggunaan notasi postfix. Akan perhitungan aritmatika jika dibandingkan notassi postfix poostfix merupakan notasi yang digunakan tetapi pada mesin kompilasi notasi perhitungan Hal inii dikarenakan dengan menggunakan metode dalam melakukan perhitungan. postfix mesin kompolasi dapat dengan mudah melakukan pengkodean dan
perhitungan. Salah satu metode untuk mengubah notasi infix menjadi notasi postfix adalah dengan menggunakan operasi Stack. m jjurnalnya urnalnya mem emba em b has tentang cara mengkonversi Arianty (2008) dalam membahas menjad di nnotasi otasi postfix menggunakan operasi operassi stack s ack pada struktur data. st notasi infix menjadi pada dasarnya me erupa p ka pa k n array arra ar ray ya ra yang memuat 2 in iinformasi formasi penting Suatu stackk pada merupakan NO yang be erf rfun ungs un g i untuk menget ahui h ju juml mlah ml ah tumpukan da an TOP yang yaitu NOEL berfungsi mengetahui jumlah dan beerfungsi un untu tuk tu km enent ntuk nt ukan posisi pu uk uncak dari suat atuu st at sstack. ack. berfungsi untuk menentukan puncak suatu Stac St ack dapat ac daapat diar artikan sebagai tu umpukan, dima mana pad adaa kons ad nssep iini n mem ni mori Stack diartikan tumpukan, dimana pada konsep memori koomp m ut uter t ddiibaratkan iibaratkan seb bag agai suatu tu umpukan ya yan ng memiliki ccara ara kkerja, erja er ja, “yang ja ng komputer sebagai tumpukan yang tera te rak ra khir m asuk as u ke kotak, ak kan diamb bil yang pe per rtama kali” atau u ““last lasst in first la firs fi rstt out”. rs out”. terakhir masuk akan diambil pertama perasi stack k, da data t yangg ad ada ak kan dio iolah de eng ngan an menggunak ak kan operato tor to Pada ooperasi stack, akan diolah dengan menggunakan operator Createe, Isempty, Push, dan Pop. Po A rianty (2 (200 008) 8) mengatakan bahwa da dalam pr prose es Create, Arianty (2008) proses konv ver ersi s notasi in infi fixx ke po fi post stfi st f x, terdapat att bbeberapa eber eb ber erap apaa at ap aaturan uran yan ng ddigunakan igunaka kann ka konversi infix postfix, yang d antaranya: di diantaranya: 11.. Jika ditemukan symbol kurung buka ‘(’, Operasi push pada da stack stac ackk akan ac ak digunak kan un untu tuk tu k menyimpa pann sy pa symb mbol mb ol tersebu b t ke ddalam bu allam stack. t digunakan untuk menyimpan symbol tersebut 2. Ji 2 JJika ka dit ittemukan k symbol ku kurung tut utup ‘)’, Operasii po ut popp di ddigunakan gunnak gu nakan untuk ditemukan tutup mengeluarkan operator-op perator yan ng berada di dalam stack. operator-operator yang 3. Jika terdapat symbol op perator pa pada notasi infix maka operasi yang operator dilakukan pada stack adalah h ssebagai ebag agai berikut: ag aa. Jika TOP(S) dari stackk tersebut kosong atau berisi simbol ‘(’ maka operasi push akan digunakan untuk memasukan operator tersebut pada posisi di TOP(S)
b. Jika operator yang berada di puncak stack merupakan elemen yang memiliki tingkat yang sama atau lebih tinggi maka operasi pop digunakan ut tuk mengeluarka kann operator tersebut diikuti operasi ka utuk mengeluarkan pushh uuntuk ntuk menyimpan operator hasil scan anning untai. an scanning ang bberada e ad er adaa di ppuncak u cak stack memi un m liki tingkat yang mi c. Jika operator ya yang memiliki rend ndah nd ah dari operator yang di di-sc scan an, maka operato an tor baru akan to lebih re rendah di-scan, operator lan la ngsung ng ddimasukan im imasukan kee dalam stackk dengan deng de n an ooperasi pera pe rasi ra si push. langsung 4 Jika Jika ditem emukan em n suatu operand, nilai operand ya yyang ng aada d langs da gsun gs ungg di un ddijadikan jadi dikan di 4. ditemukan langsung outp tpu tp ut dari notasi postfix. po output
meru rupa paka k n ting gka kata t n ooperator per erat atoor yangg di disu susun berdasa arkan urut tan Berikut merupakan tingkatan disusun berdasarkan urutan l vel tertinggi le te dapat dilihat ppada ada Ta ad Tabel 3.1 level
Tabe Ta bel 3.1 be Tabel Leve el ooperator perator dalam Stack Level
Operator
Tingkatan Operator dal dalam alam al am st stac stack ackk ac
** * aatau tau ta u pa pang pangkat ngka katt ka
Te Tertinggi ert rtin ingg in ggii gg
* atau at /
Mene Me neng ne ngah ng ah Menengah
+ atau -
Rend Rendah dah h
Arianty (2008) dalam jurnalnya jur urnalnya menjelaskan bahwa algoritma untuk ur mengubah notasi infix menjadi notasi si postix poostix adalah sebagai berikut: 1. Read Panjang suatu untai karakter 2. Create Stack 3. n := 0
4. For K := 1 To Panjang untai + 1 do If untai ke k adalah operand then Keluar rka kann untai ke K ddalam alam al a bentuk Output Keluarkan Elsee While ni ila lai op oper erat er ator at or ddalam allam stack ≥ opera ato tor yang dibaca do nilai operator operator Pop isi operator ddari arri da dala lam la m stack dalam Keluarka an operator ttersebut errse sebut da ala lam m be bbentuk ntuk Ou Output Keluarkan dalam E nd While End IF op operator ke K = ‘)’ then n Po P p isi op peratorr ddari ari stack Pop operator El E se Else Pu ush shoperator or kkee da dal lam stack Pushoperator dalam End En d If End If Panjang untai ;= n d For For End
contooh perubah han dari notasi infix ke postfix. Notasi Berikut merupakan contoh perubahan (( * B) + C / D – E ** F) * G; dimana hasil infix yang akan diubah adalah: ((A posstfi stf x-nnya digambarkan sebagai berikut: konversi ke dalam bentuk notasi postfix-nya
Gambarr 3.6 3.6 Proses konversi ko onv versi dari notasi no otaasi infix ke notasi po postfix ostfixx Di iku kuti t p dar : Ar rianti (20 008 08)). Social Network. Dikutip Arianti (2008). (http://isjd.pdii.lipi.go.id/admin/jurnal/13308207214.pdf) f)
B rdassarkan gambar di atas, da Be dapa p t dijelask kan sebagai seb ebagai berikut: Berdasarkan dapat dijelaskan 1. In Inpu put ya yyang ng ddibaca ibaca adalah ib ah ‘(’ ( , maka ddimasukan imasukan kkee da im dala lam la m st tac ackk. Input ‘(’, dalam stack. 2. Input yang dibaca adalah ‘(’, ma mak ka dimasukan ke dalam stack. maka 3. In 3 Inpu putt ya pu yyang ng g ddibaca ibac ib acaa ad adalah operand ‘A’ A , ma maka ka llangsung angs an g un gs ungg di dima asu suka kann ke ka Input ‘A’, dimasukan dalam Ou utp tput ut Output 4. In Inpu putt yang pu ya dibaca adalah operato or ‘*’, karena posi isi tteratas erat er atas pada stack at Input operator posisi adalah ‘(’, maka ‘*’ dima asukan ke da alam stack. dimasukan dalam 5. Input yang dibaca adala ah operan ah nd ‘B’, maka langsung dimasukan ke adalah operand dalam Output 66. IInput yang dib d l h ‘)’ k kkeluarkan l k semua operator yang ada d di dibaca adalah ‘)’, maka stacks ampai menemukan simbol ‘)’, kemudian masukan ke dalam Output
(simbol ‘(’ dan ‘)’ tidak perlu dimasukan ke dalam Output). Sehingga operator * yang ada di stack dipindahkan ke Output. dalah h operand ‘‘+’, + , karena posisi teratas pada stack +’ 7. Input yang dibaca ad adalah mak ka ‘+’ dimasukan ke dalam stack. adalah ‘(’ ma maka Inpu ut yang dibaca adalah adal alah al h ooperand pera pe rand ra nd ‘C’ C , maka langsun ungg dimasukan ke un 8. Input ‘C’, langsung dalam Output utt dalam 9. Inpu putt ya pu yan ng dib bac acaa adalah ope erator ‘/’, kkarena arren ena posi sisi si si tteratas eratas pad er ad da stack Input yang dibaca operator posisi pada adal ad alah ‘‘+’ al +’ dan an tingkat ope era rator ‘/’ lebihh tinggi gi darii ‘+ ‘+’, ’,, m akaa ‘/’ adalah operator maka dima masukan ke dalam ma am stack. dimasukan 110. 0. In Inpu putt ya yyang ng dibaca ad adal a ah ope perand ‘D’ D’, maka langsun ungg ddimasukan imaasu suka kann ke ka Input adalah operand ‘D’, langsung dalam Output ut 11.. Input yang dibaca ad adal lah operato or ‘‘-’, -’,, kkarena arena posisi teratass pada sstack tacck adalah operator aad alah ‘/’ /’ ddan an ttingkat ingk ingk gkat at operator ‘-’ le lebi bihh re bi rend ndah h dari ‘/ /’, maka ‘/’ ‘/’ adalah lebih rendah ‘/’, dipindahkan ke dalam Outp put. Ke Kemudian cek lagi di stack,karena po pos sisi sis Output. posisi teratas pada stack adalah ‘+’ dan tingkat operator ‘-’ samaa ddengan enga gann ‘+ ga ‘+’, mak ka ‘‘+’ +’’ ddipindahkan ipin ip inda in dah da hkan kkee da dala lam la m Ou Out tput. Ka Kare rena re na pposisi osiisii tteratas eratas pa pada da stack maka dalam Output. Karena aadalah ad allah ‘(’ ( , maka ‘-’ dimasu ukan ke ddalam alam stack. ‘(’, dimasukan 12. Input I yang dibaca adalah operand ‘E E’, maka langsung dimasukan ke dalam ‘E’, Output 13. Input yang dibaca adalah ooperator perato tor ‘**’, karena posisi teratas pada stack to adalah ‘-’ dan tingkat operat attor ‘**’ lebih tinggi dari ‘-’ operator ‘-’, maka ‘**’ dimasukan ke dalam stack.
14. Input yang dibaca adalah operand ‘F’, maka langsung dimasukan ke dalam Output 15. Input yang dibaca ad dal alah ah ‘)’, maka kkeluarkan elua el u rkan semua operator yang ada di adalah stacksampai aii m enemukan simbol ‘)’, kemudian masukan ma ke dalam Output. menemukan Sehi ing ngga operator ‘**’ ddan an n ‘-’ ya yang ng aada daa di stack dipindahkan dipinddah ahkan ke Output. Sehingga ‘-’ 16.. IInput nput yang ddibaca ibac ib aca adalah operator ‘*’, ac ’ kkarena aren ar ena sstack en tack masih ko kosong, maka ‘*’ di dima massukan ke ddalam ma alam stack. dimasukan 17 7. In Inpu p t ya pu yang n dib ibac a a adalah ope perand ‘G’, ma aka k lan ngs g ung di dima masu ma s kann ke 17. Input dibaca operand maka langsung dimasukan dala am Output dalam 118. 8. In Inpu putt ya yyang ng dibaca ad adal a ah ‘;’ ’, maka ssemua emua operator ya em yang ngg adaa ddii sstack tackk Input adalah ‘;’, dipindahkan n ke Outpu ut. Se ehiingg gga operat tor ‘* *’ yang ad da di stac ackk ac Output. Sehingga operator ‘*’ ada stack dipindahkan ke Outpu put. Output.
De D ngan demikian, hasil konversi da dari ri nnotasi otasi infix berupa ((A * B) + C / D – E ** ot Dengan F) * G ke notasi postfix adalah A B * C D / + E F ** - G *