32
BAB III ANALISIS DAN PERANCANGAN
Pada bab ini akan dibahas tentang analisis sistem melalui pendekatan secara terstruktur dan perancangan yang akan dibangun dengan tujuan menghasilkan model atau representasi entitas.
3.1 Analisis Sistem 3.1.1 Deskripsi Perangkat Lunak Aplikasi
Pengenalan
Tulisan
Tangan
Huruf
Hijaiyah
Tunggal
Menggunakan Backpropagation adalah suatu model simulasi yang dapat melakukan unjuk kerja algoritma backpropagation dalam mengenali huruf hijaiyah. Cara aplikasi ini mengenali huruf hijaiyah yang dites dengan menggunakan algoritma backpropagation. Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan untuk mengenali pola yang digunakan selama training serta memberikan respon yang benar terhadap pola masukan yang serupa (tapi tak sama) dengan pola yang dipakai selama training. 3.1.2 Fungsi Utama Perangkat Lunak Berikut ini akan dipaparkan fungsi utama dari Aplikasi Pengenalan Tulisan Tangan Huruf Hijaiyah Tunggal Menggunakan Backpropagation, yaitu : 1. Melakukan pelatihan (training) atau pembelajaran terhadap data citra digital. 2. Melakukan pengetesan (testing) atau pengenalan terhadap data citra digital, baik yang telah dikenakan pelatihan atau belum dikenakan pelatihan.
33
3. Menampilkan informasi pelatihan dan pengetesan. 4. Menampilkan tutorial mengenai aplikasi ini. Selain itu, manfaat aplikasi ini untuk user diantaranya : 1. Sebagai contoh penerapan Intelegensi Buatan pada aplikasi pengenalan pola huruf. 2. User dapat belajar menulis huruf hijaiyah tunggal secara baik dan benar. 3.1.3 Deskripsi Kebutuhan Perangkat Lunak Dalam bagian ini akan dijelaskan mengenai deskripsi kebutuhan dari Aplikasi Pengenalan Tulisan Tangan Huruf Hijaiyah Tunggal Menggunakan Backpropagation ini. 3.1.3.1 Kebutuhan Fungsional Tabel 3.1 Kebutuhan Fungsional No
Deskripsi Kebutuhan
1.
Pelatihan data citra digital
2.
Menampilkan informasi pelatihan
3.
Menyimpan informasi pelatihan
4.
Membuka informasi pelatihan
5.
Menguji hasil pelatihan
6.
Menyimpan hasil pengujian
Keterangan Aplikasi harus mampu melakukan pelatihan terhadap data-data citra digital yang dimasukkan. Aplikasi harus mampu menampilkan informasi pelatihan Aplikasi harus mampu meyimpan informasi pelatihan Aplikasi harus mampu mrnampilkan kembali informasi pelatihan yang telah tersimpan Aplikasi harus mampu menguji pengenalan hasil pelatihan Aplikasi harus mampu menyimpan hasil pengujian
34
7
8.
9. 10.
11.
Pengetesan data citra digital
Aplikasi harus mampu mengetes data yamh telah dikenakan pelatihan maupun yang belum Menampilkan informasi pengetesan Aplikasi harus mampu dan pengenalan menampilkan informasi pengetesan dan pengenalan data Pengetesan data secara berkelompok Aplikasi harus mampu mengetes data yamg banyak Menyimpan hasil pengetesan data Aplikasi harus mampu berkelompok menyimpan hasil pengetesan data berkelompok Menampilkan tutorial Aplikasi harus mampu menampilkan tutorial pembelajaran. Tabel di atas menjelaskan kebutuhan fungsional dari Aplikasi Pengenalan
Tulisan Tangan Huruf Hijaiyah Tunggal Menggunakan Backpropagation, yang dituntut harus mampu melakukan berbagai proses. Dengan dipenuhinya kebutuhan fungsional maka diharapkan aplikasi dapat dibuat dengan baik. 3.1.3.2 Kebutuhan Antarmuka Kebutuhan antarmuka merupakan kebutuhan yang sangat penting, karena perangkat lunak dinilai dari external performance yaitu tampilan luar yang disesuaikan dengan kebiasaan pengguna agar mudah digunakan dan mudah diadaptasi karena sudah familiar. Hal ini dimaksudkan untuk mempermudah pekerjaan karena pengguna sudah terbiasa dengan tampilan yang biasa digunakan. Kebutuhan ini diharapkan dapat disesuaikan oleh kebiasaan pengguna, hal ini dimaksudkan untuk mempermudah pekerjaan karena pengguna sudah terbiasa dengan tampilan yang biasa digunakan.
35
Pada tampilan menu awal adalah form menu. Pengguna bisa memilih pilihan yang terdapat pada form menu, yaitu: 1. Pelatihan 2. Pengetesan 3. Tutorial 4. Keluar Pada menu Pelatihan mempunyai pilihan : 1. File , terdiri atas : a. Simpan hasil pelatihan b. Buka hasil pelatihan c. Pengujian hasil pelatihan d. Tentang program e. Keluar 2. Tutorial Pada menu Pengetesan mempunyai pilihan : 1. File , terdiri atas : a. Pengetesan data tes b. Tentang program c. Keluar 2. Tutorial Pada menu Tutorial mempunyai pilihan : 1. File , terdiri atas : a. Tentang program
36
b. Keluar 2. Tutorial, terdiri atas : a. Jaringan syaraf tiruan b. Backpropagation c. Pengenalan pola d. Petunjuk penggunaan aplikasi 3.1.4 Model Analisis Aplikasi
Pengenalan
Tulisan
Tangan
Huruf
Hijaiyah
Tunggal
Menggunakan Backpropagation ini berfungsi melatih dan mengetes pengenalan huruf hijaiyah dalam bentuk citra digital. Selain itu, aplikasi ini juga menampilkan informasi hasil pelatihan dan pengetesan. 3.1.4.1 Use Case Diagram Use-case diagram menggambarkan secara grafis perilaku software aplikasi menurut perspektif user dari software aplikasi tersebut.
pel ati han
Pengetesan
user
tutori al
Kel uar
Gambar 3.1 Use Case Diagram
37
Use case diagram : pelatihan
parameter
training
info hasil trainng user
pengujian hasil training
Gambar 3.2 Use Case Diagram Pelatihan
Use case diagram : pengetesan
info hasil training input data tes <
>
testing info hasil testing user
pengetesan data testing
Gambar 3.3 Use Case Diagram Pengetesan
38
Berikut adalah skenario dari use case di atas : 1. Skenario Pelatihan
Nomor Nama Tujuan Tipe Aktor Kondisi Awal Aksi Aktor 1. User mengklik button pelatihan
Kondisi Akhir
Identifikasi APHH.UC-01 Pelatihan Menampilkan form pelatihan Deskripsi Primary, Essential User Skenario Utama Menu utama tampil Reaksi Sistem 2. Form pelatihan muncul
Form pelatihan akan ditampilkan.
2. Skenario Pengetesan
Nomor Nama Tujuan
Identifikasi APHH.UC-02 Pengetesan Menampilkan form pengetesan
Deskripsi Primary, Essential Tipe User Aktor Skenario Utama Menu utama tampil Kondisi Awal Aksi Aktor Reaksi Sistem 1. User mengklik button 2. Form pengetesan muncul pengetesan
Kondisi Akhir
Form pengetesan akan ditampilkan.
39
3. Skenario Tutorial
Nomor Nama Tujuan
Identifikasi APHH.UC-03 Tutorial Menampilkan form tutorial
Deskripsi Primary, Essential User Skenario Utama Menu utama tampil Kondisi Awal Aksi Aktor Reaksi Sistem 1. User mengklik button 2. Form tutorial muncul tutorial Tipe Aktor
Kondisi Akhir
Form tutorial akan ditampilkan.
4. Skenario Keluar
Nomor Nama Tujuan
Identifikasi APHH.UC-04 Keluar Keluar dari program
Deskripsi Primary, Essential User Skenario Utama Menu utama tampil Kondisi Awal Aksi Aktor Reaksi Sistem 1. User mengklik button 2. program akan di tutup keluar Tipe Aktor
Kondisi Akhir
Program di tutup
40
5. Skenario Parameter
Nomor Nama Tujuan
Identifikasi APHH.UC-05 Parameter Meng-input-kan parameter training
Deskripsi Primary, Essential User Skenario Utama Parameter default, ada yang kosong Kondisi Awal Aksi Aktor Reaksi Sistem 1. User mengisi 2. parameter training dimasukan ke parameter training sistem. yang diinginkan, klik button tambahkan. Tipe Aktor
Kondisi Akhir
Program siap melakukan pelatihan data.
6. Skenario Training
Nomor Nama Tujuan
Identifikasi APHH.UC-06 Training Mengolah data training
Deskripsi Primary, Essential Tipe User Aktor Skenario Utama Parameter masuk dalam sistem Kondisi Awal Aksi Aktor Reaksi Sistem 1. User menekan button 2. sistem melakukan pelatihan data. pelatihan.
Kondisi Akhir
Program melakukan pelatihan data.
41
7. Skenario Info Hasil Training
Nomor Nama Tujuan
Identifikasi APHH.UC-07 Info hasil training Menampilkan hasil training
Deskripsi Primary, Essential User Skenario Utama Sistem selesai melakukan training Kondisi Awal Aksi Aktor Reaksi Sistem 1. User dapat melihat 2. menyajikan hasil training informasi hasil training Tipe Aktor
Kondisi Akhir
Informasi hasil training tersaji
8. Skenario Pengujian Hasil Training
Nomor Nama
Identifikasi APHH.UC-08 Pengujian Hasil Training
Tujuan
Menguji hasil training
Deskripsi Primary, Essential User Skenario Utama Sistem selesai melakukan training Kondisi Awal Aksi Aktor Reaksi Sistem 1. User mengklik menu 2. sistem melakukan pengujian pengujian hasil pelatihan Tipe Aktor
Kondisi Akhir
Informasi hasil pengujian tersaji
42
9. Skenario Input Data tes
Nomor Nama Tujuan Tipe Aktor Kondisi Awal Aksi Aktor 1. User memasukan data tes.
Kondisi Akhir
Identifikasi APHH.UC-09 Input data tes Meng-input-kan data testing Deskripsi Primary, Essential User Skenario Utama form kosong Reaksi Sistem 2. data tes dimasukan ke dalam sistem.
Program siap melakukan pengetesan data.
10. Skenario Testing
Nomor Nama Tujuan
Identifikasi APHH.UC-10 Testing Mengolah data testing
Deskripsi Primary, Essential Tipe User Aktor Skenario Utama Data tes masuk dalam sistem Kondisi Awal Aksi Aktor Reaksi Sistem 1. User menekan button 2. sistem melakukan pengetesan Test. data.
Kondisi Akhir
Program melakukan pengetesan data.
43
11. Skenario Info Hasil Testing
Nomor Nama Tujuan
Identifikasi APHH.UC-11 Info hasil testing Menampilkan hasil testing
Deskripsi Primary, Essential User Skenario Utama Sistem selesai melakukan testing Kondisi Awal Aksi Aktor Reaksi Sistem 1. User dapat melihat 2. Menyajikan hasil testing informasi hasil testing Tipe Aktor
Kondisi Akhir
Informasi hasil testing tersaji
12. Skenario Pengetesan Data Testing
Nomor Nama Tujuan
Identifikasi APHH.UC-12 Pengetesan data testing Mengetes data kelompok (banyak)
Deskripsi Primary, Essential User Skenario Utama Kondisi Awal Aksi Aktor Reaksi Sistem 1. User mengklik menu 2. Sistem melakukan pengetesan Pengetesan data tes Tipe Aktor
Kondisi Akhir
Program melakukan pengetesan data.
44
3.1.4.2 Activity Diagram Activity diagram memodelkan alur kerja (work flow) sebuah proses bisnis dan urutan aktivitas dalam suatu proses. Diagram inin mirip dengan flow chart karena dapat memodelkan sebuah alur kerja dan satu aktivitas ke aktivitas lain atau dari satu aktivitas ke dalam keadaan sesaat (state). Activity diagram juga sangat berguna untuk menggambarkan perilaku paralel atau menjelaskan bagaimana perilaku dalam berbagai use case beraksi. Activity diagram Pengenalan Huruf Hijaiyah disajikan pada gambar di bawah ini.
menampilkan menu
tutorial
pengetesan
pelatihan
input parameter input data tes pengetesan data tes melakukan pelatihan
melakukan pengetesan
menampilkan info pelatihan
keluar menampilkan informasi pengetesan
melakukan pengujian
menampilkan hasil pengujian
Gambar 3.4 Activity Diagram
45
3.1.4.3 Class Diagram Class diagram merupakan hubungan modul-modul setiap kelas dengan kelas lain, berikut adalah gambar class diagram Aplikasi Pengenalan Tulisan Tangan Huruf Hijaiyah Tunggal Menggunakan Backpropagation :
fpelatihan + parameter : float + data set : int + Tambahkan () + pelatihan ()
fhasil pengenalan
fmenu ftutorial + + + +
pelatihan () pengetesan () tutorial () keluar ()
+ simpan ()
+ pilih tutor ()
feditor fpengetesan
+ gambar : image
+ data tes : image
+ + + +
+ hapus () + test ()
line () freehand () hapus () apply ()
Gambar 3.5 Class Diagram Berikut adalah deskripsi dari class diagram di atas. Tabel 3.2 Deskripsi Atribut Nama Kelas fmenu fpelatihan fpengetesan ftutorial feditor fhasil pengenalan
Nama parameter data set data tes gambar -
Tipe float int image image -
Scope public public public public -
Deskripsi inisialisasi nilai pelatihan jumlah set data pelatihan gambar yang akan dites gambar yang digambar -
46
Tabel 3.3 Deskripsi Layanan Nama Kelas fmenu
fpelatihan
fpengetesan ftutorial feditor
fhasil pengenalan
Nama
Scope
pelatihan()
public
pengetesan()
public
tutorial()
public
keluar()
public
tambahkan()
public
pelatihan() hapus() test() pilih tutor() line() freehand() hapus() apply()
public public public public public public public public
simpan()
public
Deskripsi Membuka halaman pelatihan (form training) Membuka halaman pengetesan (form training) Membuka halaman tutorial(form tutorial) Keluar program Menambahkan parameter ke sistem Melakukan pelatihan Menghapus data tes Melakukan pengetesan Menggambar garis Menggambar bebas Menghapus gambar Memindahkan gambar ke pengetesan Menyimpan hasil pengenalan
3.1.4.4 Sequence Diagram Sequence diagram menunjukan interaksi objek yang diatur dalam satuan waktu. Sequence diagram menangkap objek dan kelas yang terlibat dalam skenario dan urut-urutan message yang ditukar diantara objek, diperlukan untuk melaksanakan fungsionalitas skenario. Sequence diagram berasosiasi dengan use case selama proses pengembangan. Berikut adalah sequence diagram pelatihan dan pengetesan :
47
form pelatihan
proses training
proses pengujian
user input parameter menambahkan data training
informasi
data uji
pengujian
informasi
Gambar 3.6 Sequence Diagram Pelatihan
form pengetesan
proses pengetesan
hasi l trai ni ng
user data trai ni ng
i nput data tes
data tes
i nformasi
pi l i h tes kel ompok
data tes kel ompok
i nformasi
Gambar 3.7 Sequence Diagram Pengetesan
48
3.2 Analisis Backpropagation Dalam membangun JST (Jaringan Syaraf Tiruan) Backpropagation maka dibutuhkan langkah-langkah sebagai berikut : 1. Menentukan masukan. Jumlah masukan ditentukan berdasarkan ukuran citra yang digunakan ke dalam sistem, dalam simulasi ini citra berukuran 20 x 20 pixel. 2. Menentukan jumlah neuron pada learning rate. Banyaknya jumlah neuron yang digunakan pada learning rate adalah 50 sampai 100 neuron, karena neuron pada learning rate yang akan menentukan dalam kinerja sistem ketika mengenali sample citra. Fenomena ini disebabkan karena semakin banyak neuron yang digunakan dalam learning rate membuat setiap neuron semakin sedikit beban dalam menanggung data-data yang harus dipelajari. 3. Menentukan parameter training, yaitu maksimum epoch, MSE, learning rate dan momentum. Parameter-parameter ini akan berpengaruh pada kinerja sistem dalam proses pembelajaran terhadap citra sample. 4. Menentukan fungsi bobot yang akan digunakan berdasarkan fungsi aktivasi. Penentuan nilai bobot minimum dan maksimum ditentukan atas dasar -1
49
jika dibandingkan dengan binary sigmoid yang mempunyai range nilai 0 sampai dengan 1. 5. Menentukan keluaran. Jumlah output ditentukan berdasarkan hasil yang diinginkan. Sistem ini akan menggunakan jumlah neuron pada output layer sebanyak 29 neuron dilihat dari banyaknya gambar yang dimasukkan untuk proses training. Demikian juga untuk vektor target, digunakan jumlah neuron yang sama yaitu sebanyak 29 neuron. 3.2.1 Analisis Proses Backpropagation Adapun alur proses dari jaringan syaraf tiruan backpropagation adalah sebagai berikut :
Mulai
inisialisasi
Input gambar
Konversi citra ke monochrom
Ekstraksi ciri
Feed forward Error backpropagation
Target error tercapai
tidak
ya selesai
Gambar 3.8 Alur Proses JST Backpropagation
50
Gambar diatas menjelaskan bahwa data yang menjadi input jaringan akan mengalami proses pembelajaran. Proses pembelajaran sendiri diawali dari proses feed forward, yang kemudian dilanjutkan dengan proses backpropagation. Setelah proses backpropagation, akan dicek apakah target error dicapai, maka proses pembelajaran selesai, yang menghasilkan koreksi dari bobot jaringan. Jika tidak maka akan kembali ke proses feed forward sebagaimana dijelaskan diatas sampai mencapai nilai epoch maksimum. Alur proses feed forward sendiri dijelaskan pada gambar berikut:
mulai
Input layer
aktivasi
Output layer aktivasi
selesai
Hidden layer
Gambar 3.9 Alur Proses Feed Forward Gambar di atas menjelaskan alur feed forward mulai dari input layer yang dimasukkan ke dalam hitungan keluaran unit tersembunyi kemudian ke fungsi aktivasi. Dari hidden layer dimasukkan ke dalam perhitungan semua keluaran unit jaringan kemudian ke fungsi aktivasi hingga output layer. Sedangkan alur proses backpropagation akan dijelaskan pada gambar dibawah ini:
51
mulai
Periksa kesalahan di lapisan output Koreksi bobot
Koreksi bobot Update bobot dari hidden ke output
Menjumlahkan input delta Update bobot dari input ke hidden Hitung informasi kesalahan di lapisan tersembunyi
selesai
Gambar 3.10 Alur Proses Backpropagation Gambar diatas menjelaskan bahwa alur backpropagation akan mengalami proses periksa kesalahan dan koreksi bobot. Proses periksa kesalahan sendiri terjadi di lapisan output dan hidden, yang kemudian dilanjutkan dengan proses koreksi bobot. Setelah itu akan meng-update bobot dari hidden ke output dan dari input ke hidden.
3.3 Perancangan Sistem Tujuan proses perancangan adalah sebagai tahapan untuk mendapatkan data yang nantinya akan dianalisis. Tahap ini sangat penting dalam menentukan baik atau tidaknya hasil perancangan sistem yang diperoleh. Proses yang dirancang diuraikan menjadi beberapa bagian yang dapat membentuk sistem tersebut menjadi satu komponen.
52
3.3.1 Perancangan Arsitektur dengan Structure Chart Perancangan arsitektur Aplikasi Pengenalan Tulisan Tangan Huruf Hijaiyah Tunggal Menggunakan Backpropagation dapat dideskripsikan oleh structurer chart berikut ini.
Gambar 3.11 Perancangan Arsitektur Menu Utama Gambar di atas menjelaskan menu utama terdiri dari Pelatihan, Pengetesan, Tutorial dan Keluar.
Gambar 3.12 Perancangan Arsitektur Menu Pelatihan Gambar di atas mendeskripsikan sub menu dari Pelatihan, yaitu Tambahkan, Pelatihan, File dan Tutorial. Sub menu File terdiri atas Simpan Hasil Pelatihan,
53
Buka Hasil Pelatihan, Pengujian Hasil Pelatihan, Tentang Program dan Keluar. Sub menu Pengujian Hasil Pelatihan akan menampilkan Hasil Pengenalan.
Gambar 3.13 Perancangan Arsitektur Menu Pengetesan Gambar di atas mendeskripsikan sub menu dari Pengetesan, yaitu Buka Gambar, Menggambar, File dan Tutorial. Sub menu Buka Gambar akan menampilkan Editor. Sub menu File terdiri atas Pengetesan Data Tes, Tentang Program dan Keluar. Sub menu Pengetesan Data Tes akan menampilkan Hasil Pengenalan.
Tutorial
File Tutorial
Tentang program
Keluar
Jaringa syaraf tiruan
Backpropagation
Pengenalan pola
Petunjuk penggunaan aplikasi
Gambar 3.14 Perancangan Arsitektur Menu Tutorial
54
Gambar di atas mendeskripsikan sub menu dari Tutorial, yaitu File dan Tutorial. Sub menu File terdiri atas Tentang Program dan Keluar. Sub menu Tutorial terdiri atas Jaringan Syaraf Tiruan, Backpropagation, Pengenalan Pola dan Petunjuk Penggunaan Aplikasi.
Editor
Line
Freehand
Hapus
Apply
Gambar 3.15 Perancangan Arsitektur Menu Editor Gambar di atas mendeskripsikan sub menu dari Editor, yaitu Line, Freehand, Hapus dan Apply.
Hasil pengenalan
Simpan hasil pengenalan
Gambar 3.16 Perancangan Arsitektur Menu Hasil Pengetesan Gambar di atas mendeskripsikan sub menu Hasil Pengenalan, yaitu Simpan Hasil Pengenalan.
55
3.3.2 Perancangan Antarmuka Dalam membangun suatu perangkat lunak dibutuhkan suatu perancangan, sehingga dapat dilihat kelebihan maupun kekurangan dari perangkat lunak yang dibangun
tersebut.
Perancangan
antarmuka
dapat
membantu
dalam
mendeskripsikan antarmuka aplikasi yang akan dibuat. Dibawah ini merupakan rancangan antarmuka yang akan dibangun dalam pengembangan aplikasi Pengenalan Huruf Hijaiyah.
1
2
3
4
5
Gambar 3.17 Form Menu Tabel 3.4 Keterangan Form Menu No 1
Objek Label
2 3
Button Button
Text Aplikasi Pengenalan Tulisan Tangan Huruf Hijaiyah Tunggal Menggunakan Backpropagation Pelatihan Pengetesan
4 5
Button Button
Tutorial Keluar
Keterangan judul
Menampilkan form pelatihan Menampilkan form pengetesan Menampilkan form tutorial Keluar program
56
1
2
11
3
12
4
13
5
14
6
15
7
22
17
9
18
10
19
23
21
16
8
20
24
25
26
Gambar 3.18 Form Training
Tabel 3.5 Keterangan Form Training No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Objek Main menu Main menu Label Label Label Label Label Label Label Edit Edit Edit Edit Edit Edit Edit Edit Edit Button
Text File Tutorial Learning Rate Threshold pengetesan Threshold nilai ambang Momentum Jumlah hidden Jumlah epoch Mean Square Error 0,125 0,5 12,8 0,2 50 100 0,001 0,125 0,5 Tambahkan
20
Button
Pelatihan
Keterangan
Learning rate Treshold pengetesan Treshold nilai ambang Momentum Jumlah hidden Jumlah epoch MSE Learning rate Treshold pengetesan Untuk konversi data menjadi input-an JST Untuk melakukan proses training
57
21 22 23
24
25 26
GroupBox
Informasi proses pelatihan GroupBox Informasi jaringan setelah proses pelatihan PageControl Nilai bobot tiap neuron pada lapisan output
Daftar informasi yang terjadi ketika proses training Daftar informasi jaringan setelah di-training Untuk menampilkan informasi nilai bobot tiap neuron pada lapisan output PageControl Nilai error tiap neuron Untuk menampilkan informasi pada lapisan output nilai error tiap neuron pada lapisan output PageControl Grafik pembelajaran Melihat grafik hasil pada proses pelatihan pembelajaran PageControl Daftar huruf hijaiyah Melihat daftar huruf hijaiyah yang dilatih yang di-training
1
2
3
4
8 5
9 6
7
10
11
12
Gambar 3.19 Form Testing Tabel 3.6 Keterangan Form Testing No 1 2 3 4
Objek Main menu Main menu Button Button
Text File Tutorial Buka gambar Menggambar
Keterangan
Memilih gambar untuk dites Membuka form editor gambar
58
5
Image
-
6 7 8
Button Button Image
Test Hapus -
9 10
Edit Memo
-
11
Memo
-
12
Memo
-
1
Menampilkan gambar akan dites Melakukan pengetesan
yang
Menampilkan gambar yang dikenali Menampilkan hasil pengetesan Melihat hasil nilai pengetesan dari gambar huruf asli yang ditraining Melihat hasil nilai pengetesan dari gambar huruf yang dites Melihat hasil nilai convert hasil pengetesan
2
3
Gambar 3.20 Form Tutorial Tabel 3.7 Keterangan Form Tutorial No Objek 1 Main menu 2 Main menu 3 Memo
Text
Keterangan
File Tutorial Menampilkan tutorial
informasi
59
1
2
3
4
5
Gambar 3.21 Form Editor Tabel 3.8 Keterangan Form Editor No Objek 1 Label 2 Label
Text Line Free Hand
3
Label
Hapus
4
Label
Apply
5
Image
-
Keterangan Untuk menggambar garis Untuk menggambar dengan pen Untuk menghapus editor gambar Untuk input gambar yang telah dibuat untuk dites Editor untuk menggambar
1
2
3
Gambar 3.22 Form Hasil Pengenalan Tabel 3.9 Keterangan Form Hasil Pengenalan No Objek 1 Label 2 Memo 3 Button
Text Hasil pengenalan Simpan hasil pengenalan
Keterangan Judul Informasi hasil pengenalan Menyimpan hasil pengenalan
60
3.3.3 Perancangan Algoritma 1. Perancangan algoritma untuk form menu FMenu {Algoritma untuk Form menu } Kondisi Awal : menu tampil Kondisi Akhir : Tampil form yang dipilih Kamus Deskripsi If Pelatihan then Output (form Pelatihan) Else If Pengetesan Kegiatan then Output (form pengetesan) Else If Tutorial Pendanaan then Output (form tutorial) Else If Keluar then Close End if
2. Perancangan algoritma untuk form pelatihan Form1 {Algoritma untuk form pelatihan } Kondisi Awal : parameter default Kondisi Akhir : tampil hasil training Kamus Lr, tp, tna, mom, hid, epoch, mse: real Set data : integer Deskripsi Output (‘Learning rate’); input (lr) Output (‘Threshold pengetesan); input (tp) Output (‘Threshold nilai ambang); input (tna) Output (‘Momentum); input (mom) Output (‘Jumlah hidden); input (hid) Output (‘Jumlah epoch); input (epoch) Output (‘Mean Square Error); input (mse) Output (‘jumlah data’); input (set data) If (Tambahkan) and (Pelatihan) then Output(hasil training) Else If Simpan hasil pelatihan then Hasil pelatihan saved Else If Buka hasil pelatihan then Open hasil pelatihan Else If Pengujian hasil pelatihan then Output (form hasil pengenalan)
61
Else If tentang program then Output (info program) Else If Keluar then Form training close Else If Tutorial then Output (form tutorial) End if
3. Perancangan algoritma untuk form pengetesan FTesting {Algoritma untuk form pengetesan} Kondisi Awal : form kosong Kondisi Akhir : tampil hasil testing Kamus Data tes : image Deskripsi If Buka gambar then input (Data tes ) Else If hapus then Hapus data tes Else If Test then Ouput (Hasil pengetesan) Else If Pengetesan data tes then Output (form hasil pengenalan) Else If tentang program then Output (info program) Else If Keluar then Form testing close Else If Tutorial then Output (form tutorial) End if
4. Perancangan algoritma untuk form tutorial FTutorial {Algoritma untuk form tutorial} Kondisi Awal : Kondisi Akhir : info tutorial tampil Kamus Deskripsi
62
If tentang program then Output (info program) Else If Keluar then Form testing close Else If Jaringan syaraf tiruan then Output (Jaringan syaraf tiruan) Else If Backpropagation then Output (Backpropagation) Else If Pengenalan pola then Output (Pengenalan pola) Else If Petunjuk penggunaan aplikasi then Output (Petunjuk penggunaan aplikasi) End if
5. Perancangan algoritma untuk form editor FEditor {Algoritma untuk form editor} Kondisi Awal : form kosong Kondisi Akhir : apply to form pengetesan Kamus Deskripsi If line then Output (drawing line) Else If freehand then Output (free drawing) Else If hapus then Output (clear image) Else If apply then Output (apply to form pengetesan) End if
6. Perancangan algoritma untuk form hasil pengenalan Form2 {Algoritma untuk form hasil pengenalan} Kondisi Awal : Tampil hasil pengenalan Kondisi Akhir : hasilpengenalan dapat tersimpan Kamus Deskripsi
63
If Simpan hasil pengenalan then Hasil pengenalan saved End if
3.4 Perancangan Backpropagation 3.4.1 Perancangan Arsitektur Backpropagation Arsitektur JST dengan backpropagation pada sistem yang akan dibangun adalah arsitektur JST berlapis banyak yang terdiri dari lapisan masukan (input layer), lapisan tersembunyi (hidden layer) dan lapisan keluaran (output layer), penghubung setiap lapisan adalah bobot. Sistem akan memberikan nilai random pada setiap bobot di lapisan masukan dan lapisan keluaran. Inisialisasi bobot yang digunakan pada sistem ini adalah 0,5. Pada sistem ini ditambahkan sebuah unit masukan yaitu bias ynag memiliki nilai selalu 1. Berikut ilustrasi gambar dari arsitektur backpropagation yang akan dibangun :
Input layer
Hidden layer
Output layer
Vektor target
N = 50...100 N = 29
N = 29
N = 400 bias
Gambar 3.23 Perancangan Arsitektur Backpropagation
64
Gambar 3.23 menggambarkan arsitektur backpropagation yang terdiri dari lapisan masukan (input layer), lapisan tersembunyi (hidden layer) dan lapisan keluaran (output layer) da vektor target sebagai target untuk keluaran. 3.4.2 Pengenalan Citra Sebagai masukan pada neuron digunakan 29 citra digital dengan ukuran 20 x 20 pixel dan berformat grayscale. Proses
komputasi yang dilakukan untuk membaca gambar dilakukan
dengan cara membaca koordinat tiap-tiap pixel. Pembacaan dimulai pada pixel ke0 kemudian beralih ke kanan sampai pixel ke-20. setelah mencapai pixel ke-20, diarahkan ke pixel ke-21, dan seterusnya. Proses pembacaan citra tersebut dapat dilihat pada gambar 3.9 di bawah.
Gambar 3.24 Proses Pembacaan Gambar Setelah mengalami proses pembacaan citra, maka citra masukan akan berbentuk matrik (m x n). Matrik (m x n) atau matrik dua dimensi akan dikonversi menjadi satu dimensi yang disebut matrik citra. Masing-masing matrik citra disatukan ke dalam matrik kumpulan dari citra. Sebagai masukan ke dalam JST adalah matrik jumlah citra yang didalamnya terdapat matrik citra. Susunan matrik masukan JST dapat diilustrasikan pada gambar 3.10 di bawah.
Gambar 3.25 Input Berupa Matrik 1 Dimensi
65
3.4.3 Ekstraksi Citra Setelah citra-citra yang ada dikonversi menjadi format biner yang dilakukan pada tahap sebelumnya, berikutnya adalah mengekstraksi setiap pixel dari citra ke dalam sebuah vektor. Vektor yang bernilai 1 dan -1. Ciri-ciri citra adalah pixel-pixel yang memiliki nilai 1 dan 0. Pixel 0 adalah pixel berwarna hitam, sebaliknya pixel 1 adalah pixel berwarna putih. Pixel-pixel tadi dicek, jika berwarna hitam nilainya tetap 1, sebaliknya jika berwarna putih akan digantikan dengan -1. Alasannya karena fungsi aktivasi yang digunakan pada proses backpropagation adalah sigmoid bipolar yang mempunyai range antara 1 sampai -1. Nilai-nilai tersebut akan dimasukan ke dalam vektor ciri sebagai bahan input tehadap jaringan. 3.4.4 Pengidentifikasian Citra Proses pengidentifikasian citra menggunakan bobot hasil dari proses pelatihan JST, bobot ini digunakan untuk proses feed forward saja. Berdasarkan pengetahuan yang dimilikinya, JST mengenali masukan yang diberikan berupa data-data ciri citra yang telah dilatih sebelumnya. Pada prinsipnya sistem pengidentifikasian citra sama dengan proses pelatihan, namun pengidentifikasian hanya menggunakan proses feed forward saja, dan bobot diambil dari hasil pelatihan yang telah dilakukan. Berikut adalah gambar alur proses dari proses pengidentifikasian citra yang berformat greyscale.
66
mulai
Baca citra
Proses pengambangan tunggal
Ekstraksi ciri
Baca bobot
Feed forward
pengenalan
selesai
Gambar 3.26 Alur Proses Pengidentifikasian Citra
Gambar proses pengidentifikasian citra di atas dimulai dari pembacaan citra kemudian proses pengambangan tunggal, diteruskan ke ekstraksi ciri, feed forward dan proses pengenalan. Sehingga akhirnya akan didapat hasil pengenalan citra. 3.4.5 Penyimpanan Target Latih Proses belajar pada JST memerlukan pola latih yang berfungsi sebagai aliasing citra yang dipelajarinya. Dalam perangkat lunak simulasi ini pola target akan disimpan dalam variabel FTarget. JST seakan-akan dipaksa untuk memenuhi target yang telah ditentukan untuk setiap citra yang dilatihkan. Sehingga dalam proses uji coba yang dipanggil adalah target yang bernilai -1 dan 1. Apabila
67
keluaran JST belum memenuhi target, maka akan terjadi pengulangan sampai keluaran mencapai nilai yang diinginkan. Nilai target telah ditentukan dalam tipe real (-1 dan 1). Nilai keluaran yang sebenarnya merupakan nilai dari keluaran FOutputLayer akan dibulatkan sesuai ketentuan yang telah dibuat. Setelah mengetahui nilai batasan threshold sebagai nilai pembulatan maka kita dapat mengidentifikasi nilai-nilai target yang kita inginkan sebagai aliasing yang akan dipakai JST sebagai proses belajar.
Gambar 3.27 Penyimpanan Target Latih