BAB IV
ANALISIS DAN PERANCANGAN Bab ini berisi analisis permasalahan pengenalan tulisan tangan karakter Jepang Katakana dengan menggunakan Induct/RDR dan teknik pengenalan tulisan tangan yang dipilih dari
penjelasan pada sub-bab sebelumnya.
IV.1 Analisis Sistem Pada sub-bab analisis sistem akan dibahas mengenai deskripsi umum sistem yang diikuti penjelasan mengenai fitur sistem pengenal tulisan tangan, karakteristik pengguna sistem, dan batasan-batasan yang dimiliki sistem.
IV.1.1 Deskripsi Umum Sistem yang akan dibangun adalah sistem pengenal tulisan tangan huruf Jepang yang ditulis tangan. Secara umum, sistem dideskripsikan sebagai suatu sistem yang:
1. menerima masukan berupa data titik koordinat penulisan huruf Jepang dan mengambil huruf Katakana untuk diproses
2. melakukan pemrosesan data titik koordinat huruf Katakana menjadi data struktur huruf
3. melakukan proses pembangunan pengetahuan berdasarkan data struktur huruf. Pengetahuan yang berhasil dibangun akan melakukan pengklasifikasian berdasarkan komponen struktural huruf ke dalam nama huruf Katakana yang sesuai.
Deskripsi tersebut akan dilakukan oleh dua komponen sistem, yaitu sub-sistem praproses dan sub-sistem Induct/RDR. Sub-sistem praproses akan melakukan pemrosesan terhadap data titik
koordinat menjadi data struktural huruf. Sub-sistem Induct/RDR melakukan proses pembangunan pengetahuan dan pengklasifikasian.
Sistem yang dibangun diberi nama KaRe. Untuk selanjutnya, sistem akan disebut menggunakan kata KaRe atau sistem.
IV.1.2 Arsitektur Berdasarkan deskripsi umum, KaRe memiliki fungsi sebagai berikut: 1. Melakukan praproses terhadap data penulisan huruf Jepang yang terdiri atas tiga macam huruf, yaitu Katakana, Hiragana, dan Kanji. Praproses akan menyaring data IV-1
IV-2 huruf Katakana dan menghasilkan deskripsi huruf Katakana berdasarkan struktur komponen penyusunnya.
2. Membangun pengetahuan berdasarkan informasi struktural menggunakan metode Induct/RDR dan menyimpan pengetahuan yang berhasil dibangun.
3. Menguji performansi struktur pengetahuan yang telah dibangun untuk mendapatkan akurasi sistem.
IV.1.2.1 Karakteristik Pengguna Tidak ada kategorisasi bagi pengguna sistem. Pengguna KaRe tidak harus memiliki latar
belakang pengetahuan mengenai karakter Jepang Katakana. Peran yang dapat dilakukan pengguna KaRe adalah sebagai berikut:
1. Pengguna mengisikan data titik koordinat dari file yang tersedia ke dalam sistem, untuk memicu terjadinya pemrosesan awal data.
2. Pengguna memicu terjadinya pembangunan pengetahuan. 3. Pengguna memicu terjadinya pengujian pengetahuan. IV.1.2.2 Batasan Sistem Batasan sistem adalah sebagai berikut: 1. Sistem tidak melakukan pengenalan secara on-line. Sistem hanya menerima masukan berupa data titik koordinat hasil penulisan on-line karakter Jepang.
2. Data titik koordinat penulisan huruf Katakana diasumsikan memiliki urutan goresan yang benar. Responden dari pengumpulan data ini sendiri adalah orang Jepang
sehingga diasumsikan responden cukup mengetahui tata cara penulisan huruf Katakana.
IV.1.3 Analisis Kebutuhan Perangkat Lunak Pada sub-bab analisis kebutuhan perangkat lunak akan dijelaskan mengenai kebutuhan dari
perangkat lunak yang dibangun, termasuk data dan proses-proses yaitu praproses, proses pelatihan, dan pengklasifikasian. IV.1.3.1 Analisis Data Data yang digunakan adalah data on-line handwriting database HANDS_kuchibue_d-97-0610 dari Nakagawa Laboratory, Tokyo University of Agriculture and Technology [NAK97] yang selanjutnya akan disebut sebagai Kuchibue_d. Data terdiri atas sepuluh file teks yang
disimpan dengan pengkodean Shift-JIS. Nama setiap file teks adalah MDB00YY.txt dengan
IV-3 YY adalah suatu angka bernilai di antara 01 sampai dengan 10. Setiap file teks merupakan hasil penulisan artikel dari surat kabar Jepang yang ditulis oleh seorang responden. Semua responden menuliskan artikel yang sama.
Setiap file teks terdiri atas dua bagian, yaitu bagian header dan bagian data. Bagian header merupakan informasi penulisan dan perangkat yang digunakan. Bagian data merupakan
informasi berupa sebuah blok yang terdiri atas jenis huruf dan titik-titik koordinat yang
merupakan lintasan penulisan huruf tersebut di bidang penulisan. Gambar IV-1 adalah contoh
potongan data.
MDB0001.IPD
header
jenis huruf
pen-down
pen movement
pen-up
koordinat x koordinat y
"writer" char 31 : '中川正樹' "input text" char 13 : 'asahi93.txt' "frame start" word 2 : 20 40 "tablet maker" char 25 : 'mutoh' … [ハ] 2 0 0 4 …
[ー] 2 0 0 4 …
112 112 111 110
276 280 288 298
175 174 175 199
284 284 284 284
Gambar IV-1 Contoh data HANDS_kuchibue_d-97-06-10 [NAK97]
Pen-down, pen-movement, dan pen-up adalah kondisi alat penulisan (stylus) pada bidang
penulisan. Pen-up menyatakan stylus menekan bidang penulisan, pen-down menyatakan
stylus bergerak pada bidang penulisan, dan pen-up menyatakan bahwa stylus terangkat dari bidang penulisan. Blok data yang terdiri atas baris pen-down, pen-movement, sampai dengan
pen-up menyatakan satu stroke (guratan).
Huruf-huruf Jepang tersebut dituliskan dalam bidang penulisan yang dibagi menjadi 36 (tiga
puluh enam) frame, tersusun dalam empat baris dan sembilan kolom. Setiap frame berukuran 60 piksel x 60 piksel. Titik koordinat (x,y) permulaan frame dinyatakan sebagai FRAME_START, terdiri atas FRAME_START_X untuk titik absis (koordinat x) dan
FRAME_START_Y untuk titik ordinat (koordinat y). Penulisan data Kuchibue_d menggunakan titik (20, 40) sebagai FRAME_START. Jarak antara permulaan sebuah frame
IV-4 dengan permulaan frame berikutnya dinyatakan dengan FRAME_STEP, yang terdiri dari FRAME_STEP_X untuk sumbu X dan FRAME_STEP_Y untuk sumbu Y.
Gambar IV-2 Bidang Penulisan untuk Pengambilan Data [NAK97]
IV.1.3.2 Analisis Proses Pengenalan Pada subbab ini akan dijelaskan mengenai proses pengenalan yang diperlukan sistem, yaitu
praproses dan pembangunan pengetahuan. Berikut adalah penjelasan rinci mengenai setiap proses.
IV.1.3.2.1 Praproses
Praproses merupakan proses awal yang melakukan pengolahan terhadap data Kuchibue_d
untuk menghasilkan feature yang diperlukan untuk membangun pengetahuan dengan metode
Induct/RDR. Praproses meliputi sub-proses normalisasi posisi, normalisasi ukuran, dan
ekstraksi feature. Kemudian diikuti dengan penjelasan rinci mengenai setiap subproses. 1. Normalisasi Posisi
Normalisasi posisi ditujukan untuk mennggeser posisi setiap frame huruf ke posisi
standar
(dengan
pangkal
koordinat
(0,0)
sebagai
pusat
penulisan).
Dengan
mempertimbangkan mekanisme penulisan, yaitu pada bidang penulisan yang terbagi
menjadi 9 (sembilan) baris dan 4 (empat) kolom, maka untuk memperoleh posisi normal
penulisan sebuah huruf, perhitungan melibatkan posisi baris (row) dan kolom (column) tempat huruf Katakana berada. Penulisan diasumsikan dilakukan per baris, yaitu dari baris pertama kolom pertama ke kolom kesembilan (ke arah kanan), dilanjutkan ke baris
IV-5 kedua, ketiga, dan keempat dengan arah yang sama [NAK03]. Perhitungan juga melibatkan variabel yang mendeskripsikan frame yang dijelaskan pada subbab IV.1.3.1.
Jika titik koordinat awal sebelum normalisasi adalah P(x,y) dan titik koordinat setelah normalisasi adalah P’(x’,y’), maka digunakan perhitungan berikut untuk melakukan normalisasi posisi. offset_X dan offset_Y adalah variabel yang menampung nilai normalisasi, yaitu variabel pergeseran frame. Normalisasi posisi pada sumbu X: offset_X = FRAME_START_X + ((column – 1) * FRAME_STEP_X) x’ = x – offset_X
Normalisasi posisi pada sumbu Y: offset_Y = FRAME_START_Y + ((row – 1) * FRAME_STEP_Y) y’ = y –offset_Y
2. Normalisasi Ukuran Normalisasi ukuran dilakukan terhadap huruf yang telah mengalami normalisasi posisi
untuk menyeragamkan ukuran huruf. Ukuran normalisasi adalah 64 piksel x 64 piksel,
artinya bahwa image huruf hasil normalisasi mempunyai ukuran tinggi 64 (enampuluh empat) piksel dan lebar 64 (enampuluh empat) piksel.
Langkah pertama untuk mendapatkan ukuran ternormalisasi, adalah mendefinisikan bounding-box dari setiap sampel image huruf.. Bounding-box ini digunakan untuk
menentukan region of interest, yaitu area yang akan digunakan sebagai objek pemrosesan.
Penentuan bounding-box dilakukan dengan mencari nilai absis dan ordinat minimum dan maksimum dari penulisan sebuah huruf. Dengan demikian, diperoleh titik-titik terluar dari sebuah huruf.
Dari titik-titik terluar tersebut, diperoleh ukuran tinggi (h) dan lebar (w) huruf.Dari nilai
tinggi dan lebar tersebut, dapat diperoleh besarnya rasio normalisasi. Penting diingat
bahwa rasio yang digunakan harus dapat menjamin bahwa aspek horizontal dan aspek vertical tetap berada dalam rasio yang tepat dan sebanding dengan kondisi aslinya. Rasio untuk normalisasi ke ukuran 64 x 64 diperhitungkan sebagai berikut: c = min(N/h, N/w)
Persamaan IV-1
Dengan nilai N = 64, yaitu ukuran normalisasi. Nilai rasio adalah pembulatan bilangan bulat yang kurang dari atau sama dengan rasio yang dihasilkan dari perhitungan.
Kemudian, setiap titik koordinat dari penulisan huruf Katakana akan dinormalisasi dengan perhitungan:
IV-6
(x’, y’) = c(x, y)
Persamaan IV-2
Dengan (x’, y’) adalah titik koordinat baru hasil normalisasi. Dengan demikian, maka setiap huruf akan mempunyai lebar maksimal 64 dan tinggi maksimal 64.
Berikut adalah contoh praproses pada potongan data image huruf ハ (Ha) yang mempunyai posisi awal penulisan di frame pada baris satu dan kolom empat. Posisi
setelah normalisasi tidak diperhitungkan, karena setiap image dipandang sebagai unit
yang mandiri, tidak lagi berada dalam barisan penulisan. Frame image setelah normalisasi selalu berada di pangkal koordinat (0,0). 2
232
62
0
233
61
0
233
62
0
233
63
0
232
67
0
231
71
0
230
76
0
229
82
0
228
86
0
227
90
0
228
91
4
229
91
2
242
71
0
244
70
0
246
71
0
248
74
0
251
77
0
253
81
0
255
84
4
258
86
Perhitungan normalisasi posisi terhadap sebuah titik koordinat dari data huruf Ha dapat dilihat pada Tabel IV-1
IV-7
Tabel IV-1 Perhitungan normalisasi posisi
Posisi awal x = 232
Perhitungan Offset
Posisi setelah normalisasi posisi
offset_x = 20 + (4 1) * 65
x’ =
offset_y = 215 y = 62
x’ = 232 – 215
offset_y = 40 + (1 -1 ) * 105
17
y’ = 62 – 40 y’ = 22
offset_y = 40
Normalisasi posisi tersebut dilakukan terhadap seluruh titik koordinat dari data huruf Ha. Kemudian, dari semua titik koordinat hasil normalisasi posisi tersebut dilakukan normalisasi ukuran dengan contoh perhitungan pada beberapa titik dapat dilihat pada Tabel IV-2
Tabel IV-2 Perhitungan normalisasi ukuran
Parameter normalisasi ukuran
Data setelah normalisasi posisi (17, (18, (12, (13, (38, (43,
22) 21) 50) 51) 41) 46)
Titik-titik terluar: X min = 12 X max = 43 Y min = 21 Y max = 51 H = y max – y min
Data setelah normalisasi ukuran
Rasio Min(64/30, 64/21)
2
round(64/30)
=
(34, (36, (24, (26, (76, (86,
44) 42) 100) 102) 82) 92)
51 – 21 = 30 w = x max – x min 43 – 12 = 21
3. Feature Extraction
Ekstraksi fitur bertujuan untuk memperoleh feature yang diperlukan untuk proses
pembangunan pengetahuan. Feature yang dihasilkan akan merepresentasikan sebuah
huruf Katakana. Feature adalah komponen struktural huruf. Feature yang sudah berhasil didefinisikan adalah jenis segmen, posisi relatif antar segmen yang berturutan, dan
kondisi perpotongan segmen. Segmentasi dilakukan terhadap titik-titik koordinat yang
telah mengalami proses normalisasi. Berikut adalah penjelasan setiap fitur yang digunakan.
IV-8 a. Sebuah segmen didefinisikan sebagai sebuah segmen garis dalam huruf yang mempunyai sudut inklinasi (θ) tertentu. Segmen diperoleh dengan memutus-mutus garis pembentuk huruf pada segmentation point/ break point. Segmentation point
adalah titik koordinat tempat terjadinya perubahan sudut yang melewati batas toleransi (∆θ).
Untuk memperoleh sebuah segmen, dilakukan penelusuran pada titik-titik koordinat
sebuah huruf. Dua buah titik koordinat yang berurutan dipilih sebagai sub-segmen, dan diukur sudut inklinasinya. Pada awal penelusuran, dua titik koordinat pertama
dan sudut inklinasinya dijadikan sebagai tumpuan untuk mencari sub-segmen berikutnya yang mempunyai sudut inklinasi dalam batas toleransi. Penelusuran
dilanjutkan pada titik-titik berikutnya. Jika dijumpai sub-segmen dengan sudut inklinasi yang menyimpang dari batas toleransi sudut
yang didefinisikan, maka
penelusuran untuk segmen sebelumnya dihentikan. Sub-segmen sebelum sub-segmen
dengan penyimpangan sudut inklinasi merupakan akhir dari segmen sebelumnya. Kemudian sub-segmen yang menyimpang merupakan awal dari segmen selanjutnya dari huruf ini. Demikian dilakukan pada seluruh titik koordinat dalam huruf.
Segmen yang telah diperoleh kemudian dikategorikan berdasarkan tabel. Untuk
menyesuaikan dengan data, maka dilakukan penyesuaian terhadap kategori segmen. Kategori segmen yang digunakan pada pengembangan sistem berdasarkan pada pengkategorian garis ke delapan arah mata angin. Penyesuaian ini dipengaruhi oleh
keadaan bahwa pengambilan data dilakukan dengan menggunakan Tablet-PC dengan pangkal koordinat berada pada posisi kiri atas. Penyesuaian kategori segmen dan peluangnya terdapat pada tabel.
Tabel IV-3 Perancangan kategori segmen untuk KaRe
Kategori Segmen lurus vertikal ke arah atas (Up Vertical, U-VER)
Lurus vertical ke arah bawah (Down Vertical, D-VER)
Gambar
Probabilitas
IV-9
Kategori Segmen
Gambar
Probabilitas
lurus horisontal ke arah kanan (Right Horizontal, R-HOR)
Lurus horisontal ke arah kiri (Left Horizontal, L-HOR)
Backslash ke arah kiri aras (Up Backslash, U-BACK)
Backslash ke arah kanan bawah (Down Backslash, D-BACK)
Slash ke arah kanan atas (Up
Slash, U-SLASH)
Slash ke arah kiri bawah (Down Slash, D-SLASH)
b. Posisi relatif antar segmen Posisi relatif antar segmen didefinisikan dengan delapan arah mata angin. Posisi relatif ini hanya didefinisikan antara dua segmen yang berturutan, misalnya segmen
pertama dengan segmen kedua, segmen kedua dengan segmen ketiga, dan seterusnya. Berikut adalah kategori dan kriteria untuk pengelompokan segmen berdasarkan delapan arah mata angin.
IV-10
Gambar IV-3 Delapan Arah Mata Angin untuk Posisi Relatif Antar Segmen
Tabel IV-4 adalah kriteria yang digunakan untuk menentukan posisi relatif antara dua
segmen, yaitu antara segmen ke-n (segn) dengan segmen ke-(n-1) (seg(n-1)) dengan n adalah urutan segmen. Jika posisi relatif adalah side, maka kriteria di bawah digunakan untuk menyatakan bahwa segn berada di side seg(n-1).
Tabel IV-4 Kriteria penentuan kategori posisi relatif antar segmen Kategori posisi relatif (side)
Utara (North, N) Selatan (South, S) Timur (East, E)
Barat (West, W) Barat daya (Nortwest, NW) Timur laut (Northeast, NE) Tenggara (Southeast, SE) Barat laut (Southwest, SW) Center
Kriteria Ord titik maks Segn ≤ ord titik min seg n-1 Ord titik min seg-n ≥ Ord titik maks seg-(n-1) Abs titik min seg-n ≥ abs titik maks seg-(n-1) Abs titik maks seg-n ≤ abs titik min seg-(n-1) Abs titik maks seg-n ≤ abs titik min seg-(n-1) Ord titik maks seg-n ≤ ord titik min seg-(n-1) kriteria WEST + kriteria NORTH Abs titik min seg-n ≥ abs titik maks seg-(n-1) Ord titik maks seg-n ≤ ord titik min seg-(n-1) kriteria EAST + kriteria NORTH Abs titik min seg-n ≥ abs titik maks seg-(n-1) Ord titik maks seg-(n-1) ≤ ord titik min seg-n kriteria EAST + SOUTH Abs titik maks seg-n ≤ abs titik min seg-(n-1) Ord titik maks seg-(n-1) ≤ ord titik min seg-n kriteria WEST + kriteria SOUTH otherwise
c. Perpotongan antar segmen
Perpotongan antar segmen dinyatakan dengan dua nilai, yaitu CROSS dan SUCCESSIVE.
IV-11 CROSS adalah perpotongan umum antara dua segmen, baik melintang maupun menyentuh. SUCCESSIVE adalah perpotongan khusus antara dua segmen, dengan titik akhir sebuah segmen adalah titik awal segmen selanjutnya.
Hasil ekstraksi fitur untuk 46 (empatpuluh enam) huruf Katakana dapat dilihat pada Lampiran A dan Lampiran B.
IV.1.3.2.2 Pembangunan Pengetahuan
Pembangunan pengetahuan dilakukan dengan menggunakan kelas dari WEKA[WEK07] yang mengimplementasi metode Induct/RDR yaitu Ridor. Untuk membangun pengetahuan
menggunakan Ridor, maka perlu pemetaan dari feature yang dihasilkan dengan
penempatannya sebagai atribut pada dataset. Pemetaan feature ke atribut dapat dilihat pada Tabel IV-5.
Tabel IV-5 Pemetaan feature ke atribut untuk Ridor
Feature
Atribut
Keterangan atribut
Jenis dan urutan segmen
Segn , n = 0, 1, …, m
Segn adalah jenis segmen
Posisi relatif antar segmen
Side_segn-segn+1 dengan n = 0, 1, …, m
Side_segn-segn+1 adalah
posisi segn+1 terhadap segn
Perpotongan antar segmen
isect_ segn-segn+1 dengan n = 0,
isect_ segn-segn+1 adalah
1, …, m
urutan ke-n
perpotongan segn terhadap
segn+1
Untuk memenuhi keperluan WEKA, maka jumlah atribut untuk setiap data dalam satu dataset
harus sama. Untuk setiap dataset yang dibangkitkan, jumlah atribut disesuaikan dengan
kondisi data. Dalam hal ini, nilai m bersifat fleksibel. Untuk data dengan jumlah feature yang
dihasilkan kurang dari jumlah atribut, maka nilai atribut yang kosong adalah NONE. IV.1.3.3 Analisis Rinci Sistem
Pada subbab ini akan dijelaskan mengenai analisis rinci sistem meliputi analisis use case dan analisis kelas.
IV.1.3.3.1 Analisis Use Case
Berdasarkan fungsi-fungsi sistem pengenal tulisan tangan dan karakteristik pengguna yang telah dijelaskan pada sub-bab IV.1.2, analisis use case antara sistem dan pengguna yang dihasilkan adalah sebagai berikut:
IV-12
1. Use case persiapan data Proses ini menerima masukan berupa file data titik koordinat penulisan huruf Jepang yang
dipilih oleh pengguna. Sistem kemudian melakukan pembacaan terhadap seluruh file untuk mengambil data huruf Katakana, menyimpan hasil pembacaan dalam struktur data,
dan kemudian melakukan proses normalisasi dan segmentasi untuk menghasilkan feature
bagi proses pembangunan pengetahuan dengan Induct/RDR. 2. Use case pembangunan pengetahuan
Proses ini menggunakan masukan berupa file berisi daftar feature segmen yang
mendeskripsikan huruf hasil dari praproses. Proses pembangunan pengetahuan dilakukan menggunakan kelas dalam WEKA yang mengimplementasikan Induct/RDR. 3. Use case pengujian pengetahuan
Proses ini ditujukan supaya pengguna dapat mengetahui dan mengukur akurasi pengetahuan yang berhasil dibangun oleh sistem. Pada Tgas Akhir ini, pengguna dapat memilih di antara dua jenis pengujian yang disediakan, yaitu:
a. Pengujian dengan menggunakan seluruh data sebagai training set b. Pengujian dengan menggunakan cross-validation dengan nilai fold ditentukan oleh pengguna. Nilai fold adalah bilangan bulat positif.
Gambar IV-4 adalah gambar diagram use-case untuk KaRe.
Gambar IV-4 Diagram Use Case KaRe IV.1.3.3.2 Analisis Kelas
Pada sub-bab ini dibahas mengenai hasil analisis kelas dari KaRe. Interaksi antar kelas digambarkan dengan sequence diagram.
Analisis kelas yang dihasilkan untuk dapat menangani permasalahan:
IV-13 1. Kelas-kelas yang menyimpan struktur data Jenis kelas ini hanya menyimpan struktur data dan beberapa operasi dasar untuk
mengakses properti dalam struktur data. Kelas-kelas berikut ini merupakan kelas penyimpan data yang didefinisikan secara hirarkis, dengan level hirarki terurut mengecil ke bawah:
a. kelas KatakanaLetter untuk menyimpan struktur data huruf b. kelas ImageData menyimpan struktur data image (sampel huruf) c. kelas ImageStroke menyimpan struktur data stroke d. kelas ImageSegment menyimpan struktur data segmen Kelas-kelas yang termasuk dalam jenis ini akan dikelompokkan dalam package datastruct.
2. Kelas-kelas yang melakukan praproses Jenis kelas ini akan melakukan praproses untuk mengubah data titik koordinat menjadi
data feature/segmen. Operasi-operasi yang dimiliki adalah operasi yang melakukan normalisasi posisi, normalisasi ukuran, pengkestraksian segmen. Kelas-kelas yang termasuk dalam jenis kelas ini adalah:
a. kelas Parser, membaca file masukan daftar titik-titik koordinat b. kelas Normalizer, melakukan proses normalisasi posisi dan ukuran c. kelas SegmentExtractor, melakukan proses ekstraksi segmen dari data huruf ternormalisasi
Kelas-kelas yang termasuk dalam jenis ini akan dikelompokkan ke dalam package
preprocessor.
3. Kelas-kelas yang proses pembangunan pengetahuan Jenis kelas ini adalah kelas yang menjadi antarmuka antara kelas-kelas yang sudah didefinisikan sebelumnya, dengan kelas-kelas dalam library WEKA yang akan digunakan untuk proses pembangunan pengetahuan. Termasuk di dalamnya adalah: a. kelas
KatakanaDataset,
membentuk
dataset
menerjemahkan feature ke atribut yang sesuai
dari
hasil
praproses,
yaitu
b. kelas ARFFGenerator, melakukan pembangkitan file dengan format arff, yaitu format yang diterima oleh WEKA
c. kelas EvaluationSummary, untuk mengambil ringkasan hasil pengujian
IV-14 Kelas-kelas yang termasuk dalam jenis ini akan dikelompokkan ke dalam package
irdr.
4. Kelas-kelas antar muka Jenis kelas ini adalah kelas yang untuk tampilan sistem yang memfasilitasi interaksi antara pengguna dengan KaRe. Kelas-kelas yang termasuk dalam jenis kelas ini adalah: a. kelas MainUI, jendela utama sistem yang menampung komponen antarmuka b. kelas Controller, kelas yang menangani aksi-aksi yang dilakukan oleh pengguna dengan memberi respon yang sesuai dengan instruksi
c. kelas-kelas Panel, kelas untuk mengorganisasi tata letak komponen antarmuka Kelas-kelas yang termasuk dalam jenis ini akan dikelompokkan ke dalam package ui.
IV.2 Perancangan Pada sub-bab ini akan dijelaskan mengenai perancangan sistem meliputi perancangan antarmuka dan lain-lain.
IV.2.1 Perancangan Alur Program Berikut ini alur program yang mungkin dilakukan oleh pengguna. 1. Membuka file data titik koordinat Pengguna harus membuka file data titik koordinat untuk dapat melakukan pembangunan pengetahuan dengan Induct/RDR. Membuka file data dilakukan dengan
menekan tombol “Open New” untuk membuka sebuah file data atau tombol “Add
More” untuk menambahkan file data masukan. Kemudian pengguna dapat memilih file data yang akan dibuka.
2. Melakukan praproses Langkah ini diperlukan untuk mengubah data mentah menjadi data feature. Aktifitas ini dilakukan bersamaan dengan proses membuka file data, yaitu ketika pengguna mengklik tombol “Open” pada dialog box untuk memilih file. 3. Membangun pengetahuan Aktifitas ini dilakukan dengan menekan tombol “Build Tree”. Induct/RDR akan dijalankan sesuai dengan parameter pengujian yang dipilih oleh pengguna. Sistem
akan memberikan peringatan jika pengguna belum melakukan praproses terhadap file data masukan, atau pengguna belum membuka file data titik koordinat. Bila proses
pembangunan pengetahuan berhasil, maka sistem akan menampilkan hasil
IV-15 pengetahuan yang dibentuk terhadap data, dan rangkuman akurasi performansi terhadap data.
4. Melakukan pengujian pengetahuan Aktifitasi ini dilakukan dengan memilih salah satu dari pilihan pengujian yang disediakan, yaitu “Use Training Set” atau “Cross Validation” dengan mengisi jumlah fold sesuai dengan jumlah fold yang diinginkan untuk pengujian.
IV.2.2 Perancangan Kelas Tabel IV-6 menunjukkan daftar kelas yang dihasilkan dari proses analisis beserta package
yang membungkusnya.
Tabel IV-6 Daftar Kelas Perancangan
Nama Package
Deskripsi
Daftar Kelas
datastruct
Berisi kelas-kelas penyimpan hirarki huruf
KatakanaLetter.java ImageData.java ImageStroke.java ImageSegment.java
prepocessor
Berisi kelas-kelas yang menjalankan praproses
Parser.java Normalizer.java SegmentExtractor.java
irdr
Berisi kelas-kelas yang melakukan proses konversi feature menjadi data masukan WEKA
ARFFGenerator.java EvaluationSummary.java KatakanaDataset.java
ui
Berisi kelas-kelas antarmuka untuk interaksi pengguna dengan sistem
MainUI.java Controller.java ControlPanel.java InputPanel.java ResultPanel.java
weka
Berisi kelas-kelas WEKA yang Kelas-kelas dalam library digunakan pada proses WEKA pembangunan pengetahuan
Diagram kelas hasil perancangan dapat dilihat pada Lampiran C.
IV.2.3 Perancangan Antarmuka Berikut adalah rancangan antarmuka yang akan digunakan dalam sistem. 1. Antarmuka KaRe terdiri atas sebuah jendela untuk menangani seluruh aktifitas pengguna dalam berinteraksi dengan sistem. Aktifitas membuka file data koordinat,
IV-16 membangun pengetahuan, dan menampilkan hasil pengetahuan yang dibangun dapat dilakukan di jendela utama ini.
2. Tombol “Open New” akan memunculkan komponen dialog box untuk memilih file data koordinat masukan. Nama file dan lokasi file yang dipilih kemudian tampil pada
komponen text field di samping tombol “Open New”. Tekan tombol “Add More” untuk menambahkan file. Pemilihan parameter untuk pengujian dilakukan dengan
memilih salah satu dari dua buah radio button dalam box Test Options. Pengguna
kemudian menekan tombol “Build Tree” untuk menjalankan proses pembangunan
pengetahuan. Hasil dari proses ini ditampilkan pada komponen text area “IRDR Output” yaitu struktur RDR yang dihasilkan, dan hasil pengujian terhadap
performansi Hasil dari pembangunan pengetahuan yang akan ditampilkan akan memiliki bagian-bagian sebagai berikut:
a. Struktur pengetahuan yang berhasil dibangun dalam representasi tekstual. b. Informasi hasil pengujian berdasarkan skema pengujian yang dipilih pengguna. Informasi ini menampilkan jumlah data yang diklasifikasikan
dengan benar, jumlah data yang salah diklasifikasikan, dan persentase akurasi sistem.