4.1 Spesifikasi Kebutuhan Fungsionalitas
4.1.4 Use Case Specification: Pengujian Aksara
untuk melakukan pengujian JST dengan konversi citra aksara Jawa masukan aktor.
2. Primary Actor User
3. Supporting Actor None
4. Basic Flow a.Use case ini dimulai ketika
aktor memilih untuk
melakukan pengujian jaringan guna mengenal citra aksara Jawa.
b.Sistem menampilkan antarmuka untuk pengujian.
c.Sistem meminta aktor untuk memasukkan citra yang digunakan untuk pengujian. d.Aktor memasukkan file citra
pengujian ke dalam sistem. e.Sistem mengecek apakah citra
masukan berukuran 128 x 128 piksel.
A-1 Ukuran citra masukan tidak sesuai.
f.Citra ditampilkan pada antarmuka sistem.
g.Aktor memilih untuk
pengenalan pola citra.
h.Sistem menampilkan data-data hasil pengujian.
5. Alternative Flow A-1 Ukuran citra masukan tidak sesuai.
1. Sistem melakukan
penskalaan ulang citra menjadi 128 x 128 piksel.
2. Kembali ke Basic Flow bagian (f).
6. Error Flow None.
7. PreConditions Pelatihan jaringan telah dilakukan.
8. PostConditions Suku kata hasil pengujian jaringan ditampilkan ke sistem.
5 Entity Relationship Diagram
z{|}~| {~ {~ } } |
w
w
¡¢ ¡ £¤ ¢ ¥ ¢¦ ¢ §¨ © ¦ ¢¢ ¢ ª« ¡¢« ¢ ¬ ® ª¢«® ¯¢ ¥¢ ¦ ¢ ° ¡© ±² ³ ´ µ ´ ¶ ´ ·¸ µ ¹ ² ¨© ¢¤ º» ¼ ½ ¾¨ ¤¢¢ ¿ ¢¢¡ ¼ ¨¨ © ½ »¡ ¡¢ ¡ £¤ ¢ ¥ ¢¦ ¢ §¨ © ¦ ¢¢ ¢ ÀÁ ÂÁ à ÄÁÅuÂÆÇ ÈÉ ÊÉ ÂÉ ÇDPPL-Parawa
Ë ÌÍ3
PrÎÏrÐÑ ÒtuÓ Ô Õ Öר Ô× ÙØÚ ÎrÑÐtÔ×Ð ÛÐ ×uÜtÐs Õ Ö ×Ø ÎÜ ÎÏÔ ÙØ ÓustrÔ z !" #$ %&' ( ) * + , - . /01u20 3 4 256 7 8 /095:0;3< 4 256 /0351u=u0 4 256
defgeh iejekel mnhopeiel
¢£¤¥£¦ §¨§ © Pª « ¬ ® ¯° ¯ « ...± ©.© ² ¯³ ¯«...± ©.´ µ¯ «¶ · ¸«¶ ¹¯º...± ©.» ¼ª ½¸«¸¾¸¿ À¹Á «¸Ã ¿ ¬ « ĸ«¶¹Å«...Æ ©.Ç µª ½ª Áª «¾¸...È ´ Pªr « É «¶ « ĸ¾ÅªÃ ...Ê ´ Ë© Pªr «É «¶ « ÀÁ ¾¸Åª¹Å ¯Á...Ê ´ Ë´ Pªr «É «¶ « µ¸« ɸ...©Ì ´ Ë´ Ë© Īͯª« É ª ¼¸¶Á Ã...©Ì ´ Ë´ ˩˩ ΪÃÁ¾ª ¾ « ÀÏ ° иÅÁ ...©Ì ´ Ë´ ˩˴ Ñ Ò ® ĪŠΪ° Ÿ® «...© © ´ Ë´ ˩˻ Ϊ °Å¸®« À¹¾ Á ...©´ ´ Ë´ Ë©ËÇ Îª «¶¯ ³¸« À¹¾ Á ...© » ´ Ë´ Ë´ а ¾ ¾ ¼¸¶Á Ã...©Ç ´ Ë´ Ë» а ¾ ¾ ¼¸¶Áà ĺª ɸ½¸É ¼ª ¾ ÉÁ¸ºÅ¸Â« ¾...©Ç ´ Ë´ ˻˩ ĺª ɸ½¸É ¼ª ¾¸¶« а ¾¾ Ó ÂÁ Ã Ô Õª °ªÅ...©Ç ´ Ë´ ˻˴ ĺª ɸ½¸É ¼ª ¾¸¶« а ¾¾ Ó ÂÁ à Ī Å...©Ö ´ Ë´ ˻˻ ĺªÉ¸½¸É ¼ª¾¸¶« а ss Ó ÂÁÃΪ° Ÿ®«...©Ö ´ Ë´ Ë»ËÇ ÄºªÉ¸½¸É ¼ª¾¸¶« а ¾ ¾ ÓÂÁà Ϊ «¶¯ ³¸ «...©± ´ Ë´ Ë»ËÖ ÄºªÉ¸½¸É ¼ª¾¸¶« а ¾ ¾ ÎÁªºÁ ÂÉ ª¾ ¾¸«¶...©± ´ Ë´ ˻˱ ĺªÉ¸½¸É ¼ª¾¸¶« а ¾ ¾ ×ɹºÁº¶ Ÿ«...©± ´ Ë´ Ë»ËÆ ĺªÉ¸½¸É ¼ª¾¸¶« а ¾ ¾ ¼ ÅÒ ¾ ª...©Æ » Pªr « É «¶ « À«ÅÁà ¯¹ ...©È »Ë© ت«¯ ÑÅÃ...©È »Ë´ ÓÂÁà ² ®Á ª ¾ ® °¬ Ù ÔÕ ª° ªÅ...©Ê »Ë» ÓÂÁÃ Ñ Ò ® ĪŠΪ ° Ÿ® «... ´ Ì »ËÇ ÓÂÁà Ϊ° Ÿ® « ÚÄ ²...´© »ËÖ ÓÂÁà Ϊ«¶¯³¸ « ÚÄ ²...´ ´
P ... ! " # $ ... % & ' () ! # ) * ! #) + ! , & -. $# ! ... * .. P / ' ...0 0 ! 1" 2))"#3 4 56 # ! 1" '() ! #) % % ! 1" ! # ) 72 ... ! 1" ! , 72
_`abcd ecfgcfhih f ejih kl ahmh nh
w
h o ehmhw
h p q rs tu v wx yx v t qzq {x|x v t }~ } P P (} P u s t P P~ (P ) y }~ } t u ~ u s t u t s qz x v t t x ¡ P P tu u ~ ~¢ t ( P P - s £ ¤¥ ~ r s ¦ P ~ t ut thresholding ~ ~ r wavelet Haar. § ¥ ¦ ~ backpropagation s s ~ ~ ~ u -t ~ . y tÐ Ñ Ò ÓÔ Õ Ö× Ö Ø ÖÙ Ú ÛÜ Ý×ÖÞ Ù ßà× á Ö× â Ûà ãà × äå æ çå è éê æ ëì ë í ë éå ì å î èïìëð yå ì ñ é ë ñòì å îåì éå óåð éï î òð ê ìô õ ö÷ ø ùú ûü ý þú ÿ ö ÓÔÕÖ× Ö ØÖ Påèåå ë íçê ð Pêìñêì åóå ì Pïóå îíåèå åå ð êèò å îåì ê èå ì ñ îåç óòì å î uì ç ò î ð ê ì ñê ìåó ïóå ë ç èå åîíå èå åå éåì ð ê ì ñ îïìêè íë îê éåóå ð òè òæ åç ëì ä äêíî è ëíë Pêèåì å ìñå ì Pêèå ì ñ îå ç òì å î åçå ò yå ìñ é ëíêò ç òñå Software Design Description (ä ä ð êèòå îåì éêíî è ëíë éå è ë êèåì åìñå ì èï é ò îêèåìñîåç ó òì å î yå ì ñ å îå ì é ë îê ðå ì ñ îåì åèëìñå ì å èåæ ë è òå ì ðêèò å îå ì ð êçïéê éå óå ð ë éå ìñ êìñêì åóå ì ïóå yå ì ñ ð êìëè ò îï ì íê åèëì ñå ì såèå æ ëï óïñë í. Thresholding O ê èåíë uìçò î ðê ìñòå ëç èå ð êìå é ë ë çèå ëì êè ( ë çå ð éåì ò ç ë êèéåíåèîå ì ì ë óå ë åðå ìñ threshold. Wavelet Prï íêí çèå ì íæïèðåí ë íëì åó éåóåð åó ëìë ëç èå é òå éëðê ìíë) uì ç òî ð ê ì ñ ò èå ì ñ ë êå ì îïð ò çå í ë Wavelet Haar ê ì ë í å í ë í wavelet yåìñ å ó ëì ñ
sêéêè å ìå éëíêò ç òñå å í ëí îïçå î Backpropagation ó ñïè ëçðå çê èëðëìñ åìñ
ð ê ì ñ å í ëó îåì ìë óåë ïïç uìçò î ç ëå -tëå ìïéê éåóå ð óå ë íå ì åèëì ñå ì.
Database ; <= > <? @A B@C @ D @A E F @?GAE
H IJ K<H<AE@AL BGMJE@AGF @ FGN@A FI KGA EE@ B@ >@ C BG=@AO@@ CN@A NI=H@?G =IAP@BG GAOM J= @ F G FIQ @J@ QI> @ CR
Class Diagram S IA <AP<NN@A N I H IJ@B @ @A N I?@F B@A
rI? @ F G @AC @J NI? @ F. Sequence
Diagram
S IJ< > @N@A B G @EJ@= GACIJ@NF G D@A E =IAIN@AN@A > @B@ <J<C @A T@NC< R
U V W XY ZY [Y\] ^
_M N<=IA y@AE B GE<A@N@A sIH@E @ G @ Q<@A B@?@= rIAQ @A@ >I=H@A E <A@A >IJ@AEN@C ? <A@N ` @J@T@ @B @?@Ka
bRc IF=GN@L Pu><B d? G C R e f fgR Pembangunan Aplikasi Konversi Tulisan Jepang ke Bentuk Alfabet Menggunakan Backpropagation dengan Alihragam Wavelet. PrMEJ@= hC <BG i INAGN jAOM J= @ CGN@ kAGl IJF GC @ F dC=@ m@D @ n MED@N@JC @L n ME D @N@JC @ R
eRh<JD @AGL SIJ JD R effoR Pengenalan Pola Angka Menggunakan Learning Vector Quantization dengan Pemrosesan Awal Wavelet. PrMEJ@= hC <BG iINA GN jAOM J=@ CGN@ kAGlIJF G C@ F dC=@ m@D @ n MED@N@JC @L n ME D @N@JC @ R
p R
qIGF? GA EL _ @>KAI rN@ m@ D@ACG R efb bR Spesifikasi Kebutuhan Perangkat Lunak Parawa. kA Gl IJFG C @F dC=@ m@ D@ n ME D @N@JC @ R
¡ ¢ £¤ ¥ ¦
§ ¨ ¡ © ¤£¥ ª ¥«
æ çæ èé ê ëì í ëì î ëì ï ðìíð æ çæ ç ñ òé ó ôé ì íé õ ð ëîê ë ö æ çæ ç ñçñ èéöê÷øéøëì ù úëû üðýê ë
: User
: User : FormWavelet : FormWavelet : Preprocessing : Preprocessing 1: FormWavelet() 2: 3: btnOpen_Click() 4: ShowThresholdImg(val) 5: ThresholdByValue(bmp,val) 6: 7: 8: btnWavelet_Click() 9: WaveletHaar2D(bmp,lvl) 10: 11:
2.2.1.2 Ubah Set Pelatihan
: User
: User : FormSet : FormSet 1: FormSet()
2:
3: btnSimpan_Click()
4: Simpan(temp) 5:
2.2.1.3 Pelatihan Aksara
: User
: User : FormPelatihan : FormPelatihan : Backpropagation : Backpropagation : Database : Database 1: FormPelatihan(bp) 2: 3: LoadDataPelatihan(sPel) 4: 5: btnLatih_Click() 6: InisialisasiPelatihan(data,alp,mmtm,eps,max) 7: InisialisasiBobot() 8: 9: Pelatihan() 10: 11: BentukGrafik() 12: 13: FormPelatihan_Closing() 14: SimpanBobotInput(bobot) 15: 16: SimpanBobotOutput(bobot) 17: 18:
2.2.1.4 Pengujian Aksara
: User
: User : FormPengujian : FormPengujian : Preprocessing : Preprocessing : Backpropagation : Backpropagation : Database : Database 1: FormPengujian(bp) 2: 3: BacaBobotInput() 4: 5: BacaBobotOutput() 6: 7: btnBukaFile_Click() 8: 9: btnKonversi_Click() 10: ThresholdByValue(bmp,val) 11: 12: WaveletHaar2D(bmp,lvl) 13: 14: InisialisasiPengujian() 15: 16: Pengujian() 18: SelectCitraByIndex(index) 17: 19: 20:
2.2.2 Class Diagram FormSet FormSet() btnSimpan_Click() <<boundary>> FormWavelet FormWavelet() btnOpen_Click() ShowThresholdImg(val) btnWavelet_Click() <<boundary>> FormPelatihan FormPelatihan(bp) btnLatih_Click() BentukGrafik() FormPelatihan_Closing() <<boundary>> Preprocessing ThresholdByValue(bmp, val) WaveletHaar2D(bmp, lvl) <<control>> Database LoadDataPelatihan(sPel) SimpanBobotInput(bobot) SimpanBobotOutput(bobot) BacaBobotInput() BacaBobotOuput() SelectCitraByIndex(index) <<entity>> Backpropagation
InisialisasiPelatihan(data, alp, mmtm, eps, max) InisialisasiBobot() Pelatihan() InisialisasiPengujian() Pengujian() <<control>> FormPengujian FormPengujian(bp) btnBukaFile_Click() btnKonversi_Click() <<boundary>>
Gambar 6. Class Diagram Parawa
2.2.3 Class Diagram Specific Descriptions 2.2.3.1 Specific Design Class FormWavelet
FormWavelet <<boundary>>
+FormWavelet()
Default konstruktor, digunakan untuk inisialisasi atribut kelas ini.
+btnOpen_Click()
Operasi ini digunakan untuk membuka file berupa citra dari media penyimpanan komputer.
thresholding s user.
+btnWavelet_Click()
Operasi ini digunakan untuk melakukan dekomposisi citra hasil threshold dengan transformasi wavelet Haar sesuai level masukan user.
2.2.3.2 Specific Design Class FormSet
FormSet <<boundary>>
+FormSet()
Default konstruktor, digunakan untuk inisialisasi atribut kelas ini.
+btnSimpan_Click()
Operasi ini digunakan untuk menyimpan set data pelatihan yang sudah dipilih ke dalam atribut.
2.2.3.3 Specific Design Class FormPelatihan
FormPelatihan <<boundary>>
+FormPelatihan(bp)
Konstruktor dengan parameter dari kelas Backpropagation.
+btnLatih_Click()
Operasi ini digunakan untuk melakukan pelatihan JST sesuai masukan-masukan nilai dari user.
+BentukGrafik()
Operasi ini digunakan untuk membentuk grafik MSE dan menampilkannya.
+FormPelatihan_Closing()
2.2.3.4 Specific Design Class FormPengujian
FormPengujian <<boundary>>
+FormPengujian(bp)
Konstruktor dengan parameter dari kelas Backpropagation.
+btnBukaFile_Click()
Operasi ini digunakan untuk membuka file citra dari media penyimpanan komputer.
+btnKonversi_Click()
Operasi ini digunakan untuk melakukan konversi citra aksara Jawa ke dalam bentuk alfabet.
2.2.3.5 Specific Design Class Preprocessing
Preprocessing <<control>>
+ThresholdByValue(bmp,val)
Operasi ini digunakan untuk melakukan thresholding pada sebuah citra bmp dengan nilai ambang val.
+WaveletHaar2D(bmp,lvl)
Operasi ini digunakan untuk melakukan transformasi citra hasil threshold dengan wavelet Haar.
2.2.3.6 Specific Design Class Backpropagation
!" # $% ! & ' ( ) ' *# ( %' ) ' + ! ,- . !# / ' 0 12 3 +InisialisasiBobot()
Operasi ini digunakan untuk menginisialisasi bobot-bobot pada tiap lapisan JST.
+Pelatihan()
Operasi ini digunakan untuk melakukan pelatihan pada JST sesuai atribut yang telah ditentukan.
+InisialisasiPengujian()
Operasi ini digunakan untuk menginisialisasi atribut yang akan digunakan untuk pengujian JST.
+Pengujian()
Operasi ini digunakan untuk melakukan konversi citra aksara Jawa ke dalam huruf Latin sekaligus menguji JST yang telah dilatih.
2.2.3.7 Specific Design Class Database
Database <<entity>>
+LoadDataPelatihan(sPel)
Operasi ini digunakan untuk mengambil seluruh data pelatihan yang telah ditentukan dari database.
+SimpanBobotInput(bobot)
Operasi ini digunakan untuk menyimpan bobot jaringan pada lapisan input ke dalam bentuk file.
+SimpanBobotOutput(bobot)
Operasi ini digunakan untuk menyimpan bobot jaringan pada lapisan output ke dalam bentuk file.
+BacaBobotInput()
Operasi ini digunakan untuk membaca bobot input yang telah disimpan ke dalam bentuk matriks.
+BacaBobotOutput()
Operasi ini digunakan untuk membaca bobot output yang telah disimpan ke dalam bentuk matriks.
+SelectCitraByIndex(index)
Operasi ini digunakan untuk mengambil data citra sampel berdasarkan nilai index.
3 Perancangan Antarmuka 3.1 Menu Utama
Gambar 7. Perancangan Antarmuka Menu Utama
Antarmuka Menu Utama ini merupakan antarmuka utama yang berisi menu untuk mengakses form-form lain. Form diakses dengan melakukan klik pada menu yang hendak ditampilkan. Dalam antarmuka ini, terdapat 3 (tiga) menu utama antara lain ‘Pemrosesan Awal’, ‘Pengenalan
45 6 7 ‘Pemrosesan Awal’ berisi submenu ‘Threshold & Wavelet’ untuk masuk ke form demo pemrosesan awal citra. Menu ‘Pengenalan Pola’ berisi submenu ‘Pelatihan JST’ untuk melakukan pelatihan pada jaringan, ‘Pengujian JST’ untuk menguji jaringan dengan konversi citra aksara Jawa, dan ‘Ubah Set Pelatihan’ untuk mengubah set pelatihan yang digunakan dalam pelatihan (yang aktif). Menu ‘Lainnya’ berisi submenu ‘Tentang Aplikasi’ untuk menampilkan sekilas tentang aplikasi Parawa dan ‘Keluar’ untuk keluar dari sistem.
3.2 Form Threshold & Wavelet
Gambar 8. Perancangan Antarmuka Form Threshold & Wavelet
Antarmuka Form Threshold & Wavelet merupakan form yang bertujuan untuk memberi demo kepada pengguna bagaimana pemrosesan awal citra yang digunakan untuk pengujian JST dilakukan. Pada bagian atas form terdapat
8 9 : picturebox, y:; < => ?@:A : u; @9 B C D@?: A: E9B:; 8:;
y:;< B >8 9: u;@ 9B A>;: A= DFB:; CD@? : G:EDF threshold.
H G?> EG IF8 8 DF:BuB:; J> ?8:E : ?B: ; ;DF: D : AJ:; < y:;< 8DA :E9 BB:; A>F:F9 D trackbar :@ :9 A>F:F9D textbox.
P:8 : J: < D:; J:K :G form t> ?8:= :@ tD< : J9:G option button y:;< A> ;9;L9 BB:; L9 AF:G F>M>F wavelet Haar :B:; 8DF:B 9 B :;N O> @>F:G tIAJIF P:M>F>t 8 DBFDBQ C D@?: G: EDF 8 >BIA =IE D ED :B: ; 8D@ : A= DFB:; = :8 : picturebox, 8:; A :@?DBE JD; > ?;R: :B :; 8 D@:A = DFB:; = :8: textbox 8 D
s:A =D;<;R:N
3.3 Form Ubah Set Pelatihan
Gambar 9. Perancangan Antarmuka Form Ubah Set Pelatihan
S; @ : ?A9 B : TI? A UJ:G O> @ P>F:@ DG: ; A> ?9=:B :; form y:;< J>?@9L9:; u; @ 9B A> AJ> ? D => ;<<9 ; : B >J>J: E:; u;@ 9B A> A DFDB s> @ 8 :@ : =>F:@ DG:; A :;: y:;< :B:; 8DF:@ DGN H I@:F :8: tD <: s> @ =>F:@DG:;Q 8:; => ; < <9;: JI F>G
sW X YWZ[ X\ ][ ^ y[ ^ _ `\ aW b\ t[^` [ [ c [^ `\d\ eY [^ u^ Xfc ^ [^X\ ^g[ `\Z\] [X s[[X Y WZ[X\] [^ h ij k h\c [ tlealZ m[ X[Z `\cZ\ c e[ c [ s\dtWe [c [ ^ Z[ ^_df^ _ eW ^ f XfY form `[^ eW e a[X[ Zc [^ Y W bfa[ ] [^ g[ ^_ XW b n[`\k
3.4 Form Pelatihan JST
Gambar 10. Perancangan Antarmuka Form Pelatihan JST
o^X[ bef c [ p lb e PWZ[X\] [^ hij eW buY [ c[ ^ form y[ ^_ aWbXf n f[ ^ u^Xf c eW Z[ cf c[ ^ Y WZ[X\] [ ^ Y [ `[ hi j `[^ eW^ [ eY \ Zc [^ ][d\Z YWZ[X\] [ ^ tWbd W af X cW Y [ `[ Y W ^__ f^ [k
PW^ __ f ^[ `\e\^X[ u^ Xfc eWe[ df cc [^ ^ \ Z[\-^ \ Z[ \ [Xr\afX [ ^ X[b [ Z[\ ^ Z[n f aWZ[ n [bq eleW^tueq tlZW b[ ^d\ error,
`[^ n f e Z[ ] e[cd \ e[ Z epoch. i[[t tle alZ r[X\] s[ X[ `\cZ\ cq Y W Z[ X\][ ^ [ c[ ^ `\Z[ c fc [^ Y[`[ Y bldWd background, sWZ[ _\ Y bldW d tW bdWaut [ ^\e[d\ loader [c [^ aWb n[Z[^k
tu vu w x y zuwxv { yx | suw u } x { ~ {wxx | x | { x} { loader x x | uyu|v{ | {w x { t tu xy { ~x| wxy epoch yx| ~ {x zx{ x x | ~{vx z {w x| tu w x { | {v x{ zux yx | t suw x x suw y epoch x x | ~ {vx z {wx |.
t xxv form ~{v vuz zu| | x x x| ~ { {|v x |{rx}{,
x zx x y |{w x { v yx}{w zu wxv{yx | x x| ~ {}{ zx | xvxu t{~x
3.5 Form Pengujian JST
Gambar 11. Perancangan Antarmuka Form Pengujian JST
|v xx Pu |{ x| t uuz x x | form yx | ~{ | x x | u|v u|{ t ~ u|x| xx |u}{ {vx x }xx x x x} x | zu| | x Pu| | x u {w{ y {vx
Pr ¡ ¢ ¡ £ ¡ ¤ ¡ ¡¢ y¡ ¤¥ ¦ ¤¡ s¡ § ¢ £ ¡ ¥¥¨ ©¡¤ ª «¤ ¡ s¡§ ¢ ¡ ¡ ¡ ¬¡¡ £¤¡ §¢ ¡ §¡ £ ¡ picturebox £¡ ¥¥ ¨ ©¡¤ £¤¡§¢ ¡ §¡ £¡ s ®¥¡ ¢ ¡® ¢ª ¯ ¢¥¡ ¡ ¬°± u¤¥ ¦ ¤¡ u² ²¥ ¡ £ ¤¡§¢ ¡ §¡£ ¡ textbox. ¬ ¡ ¬°± t£ ¡ ¡¢ ¦ ¤¡ ¡¥¡³ picturebox ¡ ¡ t ¤¡§ £ ¡ ¥¦¥¢ ¤ ¡ ¡ ®¡ ¡ ¦ ¤ ¡ ¤ £ ¡ £¡§¡ ¤ £¡¢ª