BAB 3 PERANCANGAN SISTEM

dokumen-dokumen yang mirip
BAB 4 IMPLEMENTASI DAN EVALUASI

Membuat File Database & Tabel

Membuat File Database & Tabel

BAB 3 ANALISIS DAN PERANCANGAN SISTEM PROGRAM APLIKASI HANDS RECOGNIZER

BAB IV HASIL DAN UJI COBA

KSI B ~ M.S. WULANDARI

MEMBUAT DESAIN DAN LAY OUT PRESENTASI DENGAN MICROSOFT POWERPOINT

Pengenalan Microsoft Excel 2007

MODUL MICROSOFT OFFICE POWERPOINT 2010 KKL STMIK AMIKOM PURWOKERTO

Bab 10 Membuat, Menggunakan dan Memodifikasi Form

BAB 3 PERANCANGAN PROGRAM

BAB IX MENGENAL MS.ACCESS 2007

BAB 3 ALGORITMA DAN PERANCANGAN. membaca partitur musik ini adalah sebagai berikut : hanya terdiri dari 1 tangga nada. dengan nada yang diinginkan.

BAB 3 ANALISA DAN PERANCANGAN

BAB-I DATABASE DAN MENGENAL MICROSOFT ACCESS

BAB 3 PERANCANGAN PROGRAM

Modul 6 Mengoperasikan Perangkat Lunak Lembar Sebar (Open Source) 1 KEGIATAN BELAJAR 2

IMPLEMENTASI DAN EVALUASI

Bab 4. Visualisasi dan Penggunaan Program

KATA PENGANTAR. Ikatlah ilmu dengan menuliskannya.

BAB 3 PERANCANGAN PROGRAM APLIKASI

Buku Manual. Download, Aplikasi Aspak, dan Tanya Jawab.

A. Pengantar B. Membuka program Power Point: Programs Catatan

1. Masukkan file ETOURGUIDE.APK ke dalam memory card. 4. Pada saat muncul konfirmasi, pilih Install. 5. Tunggu hingga proses instalasi selesai

Modul ke: Aplikasi Komputer. Microsoft Word. Fakultas TEKNIK. Muhammad Rifqi, S.Kom, M.Kom. Program Studi. Ilmu Komputer.

Modul 5 Mengoperasikan Perangkat Lunak Lembar Sebar (Open Source) 1 KEGIATAN BELAJAR 2

Gambar 1. Jendela Ms. Access Pilihan: New : menu untuk membuat file basis data baru. Recent : menu untuk membuka file basis data yang sudah ada.

BAB 4 IMPLEMENTASI DAN HASIL PENELITIAN. Pada bab 4 ini akan dijelaskan hasil rancangan sistem aplikasi optimizer, yaitu

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk menjalankan alat bantu normalisasi ini dibutuhkan sarana perangkat keras

BAB III METODE PENELITIAN

MODUL I 1. MENGAKTIFKAN POWERPOINT. Untuk dapat memulai atau menjalankan program aplikasi PowerPoint dapat menggunakan perintah sebagai berikut :

Registrasi Image dengan ARC VIEW

Modul 12 Open Office Calc

Editing Video Menggunakan Adobe Premiere Pro

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. sequential (waterfall). Metode ini terdiri dari empat tahapan yaitu, analisis, perancangan,

PENGENALAN VISUAL FOXPRO

Mengoperasikan Dasar-Dasar Basis Data (Database)

Modul Praktikum Basis Data 5 Query

BAB 5. MEMBUAT DAN MENGGUNAKAN FORM

MICROSOFT ACCESS. Tombol Office/menu Tittle bar Close.

BAB 2 LANDASAN TEORI

PERTEMUAN I PENGENALAN SHEET

BAB-3 MEMBUAT DAN MENGATUR QUERY

Berikut ini adalah petunjuk pemakaian aplikasi sistem basis data. Petunjuk berikut ini disertai dengan tampilan layar. Keterangan selengkapnya

Memulai Access 2007 dan Membuat Database 1.1 Memulai Microsoft Office Access 2007

Latihan 1: Menyiapkan dan Membuat Presentasi Sederhana

Modul Praktikum Basis Data 1 Mengenal Database

Ahmad Zidni, S.T. SMK Gondang 2011

BAB-II OPERASI TABEL

2. GEO REFERENCING. A. Georeferencing menggunakan koordinat yang tertcantum dalam peta analog.

BAB 4 IMPLEMENTASI DAN EVALUASI

Petunjuk Penggunaan UjiKomKu untuk Institusi

BAB 3 METODOLOGI. Metodologi penelitian yang digunakan dalam penulisan ini adalah studi

Microsoft Excel. I. Pendahuluan

TUGAS SISTEM MANAJEMEN INFORMASI LANGKAH LANGKAH MENGGUNAKAN CRM - EXPRESS

BAB 2 LANDASAN TEORI

BAB 3 PERANCANGAN PROGRAM

a. Menyiapkan database

PERTEMUAN IV MEMBUAT JUDUL (TITLE)

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

Setelah membaca bab ini, anda diharapkan memperoleh gambaran singkat tentang PowerPoint dan membuat Presentasi serta menyuntingnya.

Bekerja dengan Drawings

Ringkasan Bab 1. Bab 1 ini akan membahas pemakaian dasar Access secara menyeluruh. Topik-topiknya antara lain:

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. implementasi dari program aplikasi yang dibuat. Penulis akan menguraikan

Menggunakan Microsoft Access (perhatikan untuk red text)

BAB 3 ALGORITMA DAN PERANCANGAN

BAB 3 ANALISA DAN PERANCANGAN SISTEM

MICROSOFT POWERPOINT. Pendahuluan

New Perspectives on Microsoft Office Access 2010

BAB IV IMPLEMENTASI DAN PENGUJIAN

Aplikasi SI Kemiskinan Daerah V.1. USER MANUAL APLIKASI SI Kemiskinan Daerah V.1 BAPPEDA JAKARTA

BAB II MEMBUAT OBJEK DASAR PADA GIMP

Bab IV. Aplikasi Program Penjadwalan

Gambar 4.57 Layar Ubah Pemasok. Data pemasok dapat diubah di sini. Data-data akan disimpan ke

Lampiran 1 Diagram Alir Data (DAD) level 1 Administrator

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV BASIS DATA SISTEM INFORMASI GEOGRAFIS DI DAERAH PENELITIAN

DATABASE. Visual Data Manager

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM APLIKASI

Bab 2 Entri dan Modifikasi Sel


BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk implementasi pada Oke Bakery ada spesifikasi-spesifikasi yang dibutuhkan

PERANCANGAN PROGRAM. struktur/hirarki menu, State Transition Diagram (STD), modul dan pseudocode, serta

BAB 4 IMPLEMENTASI DAN TESTING Perkiraan Kebutuhan Piranti Keras (Hardware) b. Memory DDR 512MB

MICROSOFT EXCEL (OCE RIDWANUDIN)

Belajar Dasar Microsoft Word 2003

Konsep Sistem Informasi B

Untuk dapat memasuki aplikasi KUTAHU e-learning system anda Pertama-tama memasuki login. Login ini dimaksudkan untuk memasuki sistem aplikasi.

BAB 3 PERANCANGAN PROGRAM APLIKASI

Spesifikasi: Ukuran: 14x21 cm Tebal: 68 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

Excel dan Microsoft Query

PANDUAN PRAKTIS MICROSOFT WORD 2007

TEKNIK MEMBUAT BASIS DATA PADA PROGRAM WINISIS

Entri dan Modifikasi Sel

DEPARTEMEN PENDIDIKAN NASIONAL SEKOLAH TINGGI ILMU EKONOMI RAHMANIYAH 2011

MODUL PERKULIAHAN. Aplikasi Komputer. Microsoft Power Point Bag 2. Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

MENGOPERASIKAN SOFTWARE SPREADSHEET

Cara Mengelola Isi Halaman Web

Nomor Case Penunjuk Sel Heading Variable Kotak-kotak Variabel

Transkripsi:

21 BAB 3 PERANCANGAN SISTEM 3.1 Arsitektur Sistem Template Formulir Sample Karakter Pengenalan Template Formulir Pendefinisian Database Karakter Formulir yang telah diisi Pengenalan Isi Formulir Hasil Pengenalan Gambar 3.1 Arsitektur Sistem Sistem pengenalan karakter dibagi menjadi tiga tahap yaitu pengenalan template formulir, pendefinisian database karakter dan pengenalan isi formulir. Pada pengenalan template formulir, posisi dan informasi kotak-kotak yang akan diisi oleh pengguna formulir akan dikenali dan disimpan pada suatu file berekstensi.pcr. Posisi kotak-kotak tersebut berjarak relatif dari suatu posisi dalam formulir yang ditandai dengan empat

22 kotak hitam yang berada pada empat sudut formulir yaitu kiri atas, kanan atas, kiri bawah dan kanan bawah. Database yang digunakan dalam perancangan ini adalah database access yang akan diberi nama FPE (FPE.mdb). Tabel untuk menyimpan datadata pada formulir akan didefinisikan pada tahap ini kemudian disimpan pada FPE.mdb. Pada pendefinisian database karakter, titik-titik penting pada sample karakterkarakter dihitung nilai relatifnya berdasarkan masing-masing koordinat. Nilai koordinat X mempunyai nilai relatif terhadap lebar karakter sedangkan nilai koordinat Y mempunyai nilai relatif terhadap tinggi karakter. Setelah nilai relatif koordinat X dan Y dihitung, nilai-nilai tersebut disimpan pada tabel FeaturePoints pada FPE.mdb. Pada pengenalan isi formulir, posisi kotak-kotak yang disimpan dalam tahap pertama akan dibaca dari file berekstensi.pcr. Kemudian data pada masing-masing kotak akan dikenali dengan Feature Point Extraction berdasarkan tabel FeaturePoints pada FPE.mdb dan disimpan pada tabel yang telah didefinisi pada tahap pengenalan template formulir. Penjelasan lebih lengkap untuk masing-masing tahap adalah sebagai berikut :

3.1.1 Pengenalan Template Formulir Gambar 3.2 Garis Besar Tahap Pengenalan Template Formulir

24 3.1.1.1 Membuka Template Formulir Template formulir yang akan dikenali discan terlebih dahulu dalam format hitam dan putih kemudian disimpan dalam file dengan ekstensi.bmp. Template formulir dirancang sedemikian rupa sehingga memenuhi syarat : terdapat empat kotak hitam pada ujung-ujung formulir ( kiri atas, kanan atas, kanan bawah dan kiri bawah ), dan terdapat kotak-kotak tempat penampungan karakter tulisan tangan pada setiap field seperti nama, alamat, dan lain-lain. Hasil scan siap dibaca oleh aplikasi Pengenalan Karakter dengan Feature Point Extraction. Contoh template formulir yang valid : Gambar 3.3 Contoh Template Formulir

25 3.1.1.2 Membersihkan Pinggir Formulir Formulir hasil scan biasanya tidak bersih. Kadang-kadang terdapat noda-noda hitam pada pinggir formulir (bagian paling kiri, kanan, atas dan bawah). Noda-noda ini akan mengurangi akurasi aplikasi Pengenalan Karakter dengan Feature Point Extraction sehingga harus dibersihkan dengan mengubah warna pixel dari hitam menjadi putih pada bagian paling kiri, kanan, atas dan bawah formulir. 3.1.1.3 Mencari Koordinat Kotak-Kotak Hitam Kotak-kotak hitam yang terletak pada ujung-ujung formulir diperlukan untuk mendeteksi kemiringan formulir dan menghitung jarak relatif kotak-kotak tempat penampungan karakter tulisan tangan. Formulir yang miring akan mengurangi akurasi pencarian kotak-kotak tempat penampungan karakter tulisan tangan yang secara langsung akan mempersulit pengenalan karakter di dalamnya. Algoritma untuk mencari koordinat kotak-kotak hitam : Hitung jumlah pixel hitam yang berdekatan pada setiap baris Jika jumlah pixel hitam > 18 maka simpan koordinat awal baris sebagai koordinat Y Hitung jumlah pixel hitam yang berdekatan pada setiap kolom Jika jumlah pixel hitam > 18 maka simpan koordinat awal kolom sebagai koordinat X Algoritma di atas diterapkan pada empat sudut formulir untuk mendapatkan koordinat masing-masing kotak hitam.

26 3.1.1.4 Rotasi Formulir Rotasi formulir sebesar kemiringan kotak-kotak hitam pada ujung-ujung formulir agar akurasi pengenalan karakter lebih optimal. Algoritma untuk rotasi formulir : Hitung sudut kemiringan keempat kotak hitam dari formulir Rotasi semua pixel pada formulir sebesar rata-rata keempat sudut tersebut 3.1.1.5 Definisi Tabel Definisi tabel yang dimaksud adalah definisi nama tabel dan nama field-field yang akan menampung data-data formulir. Jika tabel yang didefinisi telah ada pada database (FPE.mdb), tabel yang ada di database (FPE.mdb) akan dihapus terlebih dahulu kemudian tabel yang baru akan dibuat dengan field-field yang sudah ditentukan. 3.1.1.6 Mencari Kotak-Kotak yang akan Dikenali Sebagai Field Pengguna aplikasi menentukan kotak-kotak yang mana saja yang akan didefinisikan sebagai suatu field dengan click and drag mouse pada tampilan template formulir yang muncul pada aplikasi. Algoritma untuk mencari kotak : Tentukan tempat penyimpanan kolom sebesar lebar daerah yang ditentukan pengguna aplikasi Tentukan tempat penyimpanan baris sebesar tinggi daerah yang ditentukan pengguna aplikasi Isi tempat penyimpanan kolom sesuai jumlah pixel hitam pada masingmasing kolom dan cari maksimumnya

27 Isi tempat penyimpanan baris sesuai jumlah pixel hitam pada masingmasing baris dan cari maksimumnya Simpan indeks tempat penyimpanan kolom yang berdekatan yang nilainya sama atau berbeda sedikit dengan nilai maksimumnya sebagai batas kiri dan batas kanan masing-masing kotak Simpan indeks tempat penyimpanan baris yang berdekatan yang nilainya sama atau berbeda sedikit dengan nilai maksimumnya sebagai batas atas dan batas bawah masing-masing kotak 3.1.1.7 Simpan Posisi Kotak dan Informasi Field Setelah posisi masing-masing kotak diperoleh, kotak-kotak tersebut diklasifikasikan sebagai suatu field yang telah didefinisikan sebelumnya. Kotak-kotak tersebut diberi indeks yang berurutan kemudian disimpan ke dalam file berekstensi.pcr.

3.1.1 Pendefinisian Database Karakter Gambar 3.4 Garis Besar Tahap Pendefinisian Database Karakter

29 3.1.2.1 Membuka Sample Karakter Sample karakter berupa image berekstensi.bmp yang akan diambil titik-titik pentingnya sebagai referensi pengenalan karakter dibuka terlebih dahulu. Sample karakter ini dapat berasal dari berbagai sumber seperti : hasil scan tulisan tangan, buku. Semakin banyak sample karakter yang dijadikan referensi pengenalan karakter maka semakin tinggi pula akurasi pengenalan karakter. Contoh sample karakter : Gambar 3.5 Sample Karakter V 3.1.2.2 Mencari Batas Image Batas image adalah koordinat (x,y) dari pixel hitam pada ujung kiri, kanan, atas dan bawah image. Daerah yang akan diproses ditentukan dari batas image. Tidak semua daerah pada image diproses karena akan memperlambat proses skeletonize pada image sehingga batas image harus dicari untuk menentukan daerah yang akan diproses. Algoritma untuk mencari batas image : Periksa warna setiap pixel dari kolom paling kiri sampai kolom paling kanan pada setiap baris.

30 Simpan koordinat X pixel paling kiri yang berwana hitam sebagai koordinat X awal. Periksa warna setiap pixel dari kolom paling kanan sampai kolom paling kiri pada setiap baris. Simpan koordinat X pixel paling kanan yang berwana hitam sebagai koordinat X akhir Periksa warna setiap pixel dari baris paling atas sampai baris paling bawah pada setiap kolom. Simpan koordinat Y pixel paling atas yang berwana hitam sebagai koordinat Y awal Periksa warna setiap pixel dari baris paling bawah sampai baris paling atas pada setiap kolom. Simpan koordinat Y pixel paling bawah yang berwana hitam sebagai koordinat Y akhir 3.1.2.3 Skeletonize Metode Feature Point Extraction hanya berfungsi jika tebal pixel pada image adalah 1 atau 2 pixel sedangkan image hasil scan biasanya mempunyai tebal lebih dari 2 pixel. Dengan demikian skeletonize perlu dilakukan pada image agar titik-titik penting yang diperoleh mewakili titik-titik penting yang dihasilkan oleh metode Feature Point Extraction. Algoritma Skeletonize :

31 Hitung jumlah pixel hitam pada setiap tetangga pixel hitam yang sedang diproses Jika jumlahnya diantara 2 sampai 6, beri tanda Hitung jumlah transisi dari pixel putih ke pixel hitam mulai dari tetangga di Utara sampai Barat Laut dari pixel hitam yang sedang diproses Jika jumlahnya 1, beri tanda Jika tetangga dari pixel hitam yang sedang diproses yang berada di Utara, Timur, Selatan berwarna putih dan Timur, Selatan, Barat berwarna putih, beri tanda Ubah warna pixel yang mempunyai tanda sebanyak 3 dari hitam menjadi putih Hitung jumlah pixel hitam pada setiap tetangga pixel hitam yang sedang diproses Jika jumlahnya diantara 2 sampai 6, beri tanda Hitung jumlah transisi dari pixel putih ke pixel hitam mulai dari tetangga di Utara sampai Barat Laut dari pixel hitam yang sedang diproses Jika jumlahnya 1, beri tanda Jika tetangga dari pixel hitam yang sedang diproses yang berada di Utara, Timur, Barat berwarna putih dan Utara, Selatan, Barat berwarna putih, beri tanda Ubah warna pixel yang mempunyai tanda sebanyak 3 dari hitam menjadi putih Algoritma di atas diulang terus sampai tidak ada pixel yang diubah dari hitam menjadi putih.

32 Contoh karakter V yang telah melalui proses skeletonize : Gambar 3.6 Sample Karakter V Setelah Melalui Proses Skeletonize 3.1.2.4 Membersihkan Image Image perlu dibersihkan dari titik-titik yang seharusnya tidak ada (noise) karena noise sering kali mengganggu perhitungan batas image (X awal, Y awal, X akhir dan Y akhir) yang berperan dalam perhitungan nilai relatif koordinat titik penting. Algoritma untuk membersihkan Image : Ubah warna seluruh pixel yang tidak mempunyai tetangga atau jumlah tetangganya hanya 1 dari hitam menjadi putih Contoh sample karakter V setelah dibersihkan : Gambar 3.7 Sample Karakter V Setelah Dibersihkan

33 3.1.2.5 Simpan Image yang Telah Diproses Image yang telah diproses disimpan dalam file berekstensi.bmp yang akan diproses selanjutnya. 3.1.2.6 Buka Image yang Telah Diproses Image yang telah diproses dibuka dengan Microsoft Paint secara manual untuk menentukan titik-titik penting pada image tersebut yang akan disimpan pada tabel FeaturePoints dalam database FPE.mdb. 3.1.2.7 Beri Tanda pada Titik-Titik Penting Karakter Image yang telah dibuka dengan Microsoft Paint diberi tanda pada titik-titik pentingnya dengan warna selain hitam dan putih secara manual. Contohnya : Gambar 3.8 Sample Karakter V Setelah Diberi Tanda pada Titik-Titik Pentingnya

3.1.2.8 Hitung Nilai Relatif Masing-Masing Koordinat Nilai relatif untuk koordinat X dari titik penting yang diberi tanda pada image dihitung dengan rumus : X relatif = X titik penting - X awal X akhir - X awal Nilai relatif untuk koordinat Y dari titik penting yang diberi tanda pada image dihitung dengan rumus : Y relatif = Y titik penting - Y awal Y akhir - Y awal Perhitungan di atas dilakukan secara manual. 3.1.2.9 Simpan Informasi Sample Karakter ke dalam Database Karakter Informasi sample karakter yang disimpan pada tabel FeaturePoints dalam database FPE.mdb adalah nama karakter misalnya A, indeks, X relatif dany relatif. Sample karakter diberi indeks secara menaik mulai dari 1 untuk masing-masing karakter. Struktur tabel FeaturePoints adalah sebagai berikut : manual. Pengentrian informasi sample karakter ke dalam database dilakukan secara

3.1.3 Pengenalan Isi Formulir Gambar 3.9 Garis Besar Tahap Pengenalan Isi Formulir

36 3.1.3.1 Membuka Formulir yang Sudah Diisi Formulir yang sudah diisi oleh pengguna discan terlebih dahulu dalam format hitam dan putih kemudian disimpan dalam file dengan ekstensi.bmp. Formulir yang akan dikenali oleh aplikasi harus mempunyai empat kotak hitam pada ujung-ujungnya ( kiri atas, kanan atas, kanan bawah dan kiri bawah ), dan kotak-kotak tempat penampungan karakter tulisan tangan. Hasil scan siap dibaca oleh aplikasi Pengenalan Karakter dengan Feature Point Extraction. 3.1.3.2 Membersihkan Pinggir Formulir Formulir hasil scan biasanya tidak bersih. Kadang-kadang terdapat noda-noda hitam pada pinggir formulir (bagian paling kiri, kanan, atas dan bawah). Noda-noda ini akan mengurangi akurasi aplikasi Pengenalan Karakter dengan Feature Point Extraction sehingga harus dibersihkan dengan mengubah warna pixel dari hitam menjadi putih pada bagian paling kiri, kanan, atas dan bawah formulir. 3.1.3.3 Mencari Koordinat Kotak-Kotak Hitam Kotak-kotak hitam yang terletak pada ujung-ujung formulir diperlukan untuk mendeteksi kemiringan formulir dan menghitung jarak relatif kotak-kotak tempat penampungan karakter tulisan tangan. Formulir yang miring akan mengurangi akurasi pencarian kotak-kotak tempat penampungan karakter tulisan tangan yang secara langsung akan mempersulit pengenalan karakter di dalamnya. Algoritma untuk mencari koordinat kotak-kotak hitam : Hitung jumlah pixel hitam yang berdekatan pada setiap baris

37 Jika jumlah pixel hitam > 18 maka simpan koordinat awal baris sebagai koordinat Y Hitung jumlah pixel hitam yang berdekatan pada setiap kolom Jika jumlah pixel hitam > 18 maka simpan koordinat awal kolom sebagai koordinat X Algoritma di atas diterapkan pada empat sudut formulir untuk mendapatkan koordinat masing-masing kotak hitam. 3.1.3.4 Rotasi Formulir Rotasi formulir sebesar kemiringan kotak-kotak hitam pada ujung-ujung formulir agar akurasi pengenalan karakter lebih optimal. Algoritma untuk rotasi formulir : Hitung sudut kemiringan keempat kotak hitam dari formulir Rotasi semua pixel pada formulir sebesar rata-rata keempat sudut tersebut 3.1.3.5 Membaca Posisi Kotak dan Informasi Database Kotak-kotak akan ditampilkan pada posisi yang diperoleh pada file berekstensi.pcr dan diberi keterangan sesuai informasi yang telah didefinisikan dalam file tersebut. 3.1.3.6 Mengenali Isi Formulir Isi formulir yang dimaksud adalah isi masing-masing kotak yang muncul pada tampilan aplikasi. Masing-masing kotak termasuk field yang mana, dapat diketahui berdasarkan informasi yang ada pada file berekstensi.pcr. Pengenalan isi kotak terdiri dari beberapa tahap yaitu :

38 a. Mencari Batas Image Batas image adalah koordinat (x,y) dari pixel hitam pada ujung kiri, kanan, atas dan bawah karakter yang terdapat dalam kotak. Daerah yang akan diproses oleh aplikasi ditentukan dari batas image. Tidak semua daerah dalam kotak diproses karena akan memperlambat proses pengenalan karakter sehingga batas image harus dicari untuk menentukan daerah yang akan diproses oleh aplikasi. Algoritma untuk mencari batas image : Periksa warna setiap pixel dari kolom paling kiri sampai kolom paling kanan pada setiap baris. Simpan koordinat X pixel paling kiri yang berwana hitam sebagai koordinat X awal. Periksa warna setiap pixel dari kolom paling kanan sampai kolom paling kiri pada setiap baris. Simpan koordinat X pixel paling kanan yang berwana hitam sebagai koordinat X akhir Periksa warna setiap pixel dari baris paling atas sampai baris paling bawah pada setiap kolom. Simpan koordinat Y pixel paling atas yang berwana hitam sebagai koordinat Y awal Periksa warna setiap pixel dari baris paling bawah sampai baris paling atas pada setiap kolom. Simpan koordinat Y pixel paling bawah yang berwana hitam sebagai koordinat Y akhir

39 Algoritma di atas diterapkan pada masing-masing kotak untuk mencari batas daerah yang akan diproses oleh aplikasi. b. Skeletonize Metode Feature Point Extraction hanya berfungsi jika tebal pixel pada image adalah 1 atau 2 pixel sedangkan image hasil scan biasanya mempunyai tebal lebih dari 2 pixel. Dengan demikian Skeletonize pada image perlu dilakukan agar metode Feature Point Extraction dapat berfungsi dengan baik. Algoritma Skeletonize : Hitung jumlah pixel hitam pada setiap tetangga pixel hitam yang sedang diproses Jika jumlahnya diantara 2 sampai 6, beri tanda Hitung jumlah transisi dari pixel putih ke pixel hitam mulai dari tetangga di Utara sampai Barat Laut dari pixel hitam yang sedang diproses Jika jumlahnya 1, beri tanda Jika tetangga dari pixel hitam yang sedang diproses yang berada di Utara, Timur, Selatan berwarna putih dan Timur, Selatan, Barat berwarna putih, beri tanda Ubah warna pixel yang mempunyai tanda sebanyak 3 dari hitam menjadi putih Hitung jumlah pixel hitam pada setiap tetangga pixel hitam yang sedang diproses Jika jumlahnya diantara 2 sampai 6, beri tanda

40 Hitung jumlah transisi dari pixel putih ke pixel hitam mulai dari tetangga di Utara sampai Barat Laut dari pixel hitam yang sedang diproses Jika jumlahnya 1, beri tanda Jika tetangga dari pixel hitam yang sedang diproses yang berada di Utara, Timur, Barat berwarna putih dan Utara, Selatan, Barat berwarna putih, beri tanda Ubah warna pixel yang mempunyai tanda sebanyak 3 dari hitam menjadi putih Algoritma di atas diulang terus sampai tidak ada pixel yang diubah dari hitam menjadi putih. c. Membersihkan Image Image perlu dibersihkan agar daerah yang diproses oleh aplikasi lebih kecil dan akurasi pengenalannya lebih besar. Dengan kecilnya daerah yang diproses, proses pengenalan karakter akan menjadi lebih cepat. Algoritma untuk membersihkan Image : Ubah warna seluruh pixel yang tidak mempunyai tetangga atau jumlah tetangganya hanya 1 dari hitam menjadi putih Setelah algoritma di atas diterapkan, Algoritma untuk mencari batas image dieksekusi lagi untuk memperbaharui batas image yang diproses. d. Feature Point Extraction Feature Point Extraction dieksekusi untuk memperoleh titik-titik penting pada karakter di dalam kotak yang nantinya akan digunakan untuk mengidentifikasikan karakter tersebut.

41 Algoritma Feature Point Extraction secara garis besar : Cari titik ujung dari image di dalam kotak Jika tidak ada, ambil sembarang titik yang belum diproses pada image di dalam kotak Jika titik yang diambil adalah titik ujung, masukkan titik tersebut ke dalam daftar titik-titik penting Ulangi sampai tidak ditemukan titik-titik baru : Cari tetangga dari titik tersebut Simpan titik-titik yang belum diproses sebagai titik baru Jika tidak punya arah : Jika ada titik di Timur Laut atau Barat Daya, arahnya adalah diagonal naik, jika tidak : Jika ada titik di Barat Laut atau Tenggara, arahnya adalah diagonal turun, jika tidak : Jika ada titik di Timur atau Barat, arahnya adalah horisontal, jika tidak : Jika ada titik di Utara atau Selatan, arahnya adalah vertikal Jika punya arah : Jika tidak ada perubahan arah selama Yakhir Yawal + 4 Xakhir Xawal / 2 4 iterasi, masukkan titik tersebut ke dalam daftar titik-titik penting. Jika arahnya diagonal naik dan ada titik di Barat Laut atau Tenggara atau ( Barat dan Timur ) atau ( Utara dan Selatan

42 ), masukkan titik tersebut ke dalam daftar titik-titik penting dan hilangkan arahnya. Jika arahnya diagonal turun dan ada titik di Timur Laut atau Barat Daya atau ( Barat dan Timur ) atau ( Utara dan Selatan ), masukkan titik tersebut ke dalam daftar titiktitik penting dan hilangkan arahnya. Jika arahnya horisontal dan ada titik di (Barat Laut atau Utara atau Timur Laut) dan ( Barat Daya atau Selatan atau Tenggara), masukkan titik tersebut ke dalam daftar titiktitik penting dan hilangkan arahnya. Jika arahnya vertikal dan ada titik di (Barat Laut atau Barat atau Barat Daya) dan ( Timur Laut atau Timur atau Tenggara), masukkan titik tersebut ke dalam daftar titiktitik penting dan hilangkan arahnya. Ambil satu titik baru sebagai titik yang akan diproses selanjutnya. Algoritma di atas dieksekusi berulang-ulang sampai semua titik di dalam kotak telah diproses. Contoh image hasil dari Feature Point Extraction :

43 Gambar 3.10 Contoh Image Hasil Feature Point Extraction e. Mendefinisikan Database Karakter Database karakter pada tabel FeaturePoints berisi nilai relatif koordinat X dan Y dari titik-titik penting huruf A Z dan angka 0 9. Untuk melakukan proses pengenalan karakter diperlukan nilai absolut koordinat X dan Y dari titik-titik penting setiap karakter. Nilai absolut untuk koordinat X dihitung dengan rumus : X = X awal + (X relatif * ( X akhir X awal)) Nilai absolut untuk koordinat Y dihitung dengan rumus : Y =Y awal + (Y relatif * (Y akhir Y awal)) Kumpulan nilai absolut koordinat X dan Y inilah yang menjadi database karakter yang akan digunakan dalam pengenalan karakter dengan Feature Point extraction.

44 f. Membandingkan Hasil Feature Point Extraction dengan Database Karakter Titik-titik penting hasil eksekusi Feature Point Extraction dibandingkan dengan titik-titik penting yang ada di database karakter. Jarak antara titiktitik tersebut dihitung nilai minimumnya kemudian dihitung rata-ratanya. Karakter yang titik-titik pentingnya mempunyai rata-rata jarak minimum dengan titik-titik penting hasil Feature Point Extraction adalah hasil dari proses pengenalan karakter. Tahap-tahap yang baru disebutkan di atas diterapkan pada setiap kotak yang ada pada formulir sampai semua isi kotak telah dikenali. 3.1.3.7 Simpan Isi Formulir ke Database Setelah hasil proses pengenalan karakter ditemukan, hasil tersebut disimpan pada database yang telah didefinisi pada tahap pengenalan template formulir. 3.2 STD ( State Transition Diagram ) Dalam bagian ini akan diberi STD secara keseluruhan yang menggambarkan perpindahan proses dan tampilan yang terjadi pada aplikasi Pengenalan Karakter dengan Feature Point Extraction.

3.2.1 STD Pengenalan Template Formulir Gambar 3.11 STD Pengenalan Template Formulir

3.2.2 STD Pendefinisian Database Karakter Gambar 3.12 STD Pendefinisian Database Karakter

3.2.3 STD Pengenalan Isi Formulir 3.3 Rancangan Tampilan Layar 3.3.1 Layar Utama Gambar 3.13 STD Pengenalan Isi Formulir

Gambar 3.14 Layar Utama Layar utama merupakan tampilan awal dari aplikasi Pengenalan Karakter dengan Feature Point Extraction. Aplikasi hanya dapat dihentikan secara normal dengan mengklik tombol EXIT pada layar utama kecuali pengguna menghentikan aplikasi secara paksa melalui windows. Melalui layar utama, pengguna dapat mengakses tiga bagian besar dari aplikasi yaitu : Pengenalan Template Formulir (dengan mengklik tombol Recognize Form Template ), Pengambilan Sample Karakter (dengan mengklik tombol Character Sampling ) dan Pengenalan Isi Formulir (dengan mengklik tombol Recognize Form Content ).

49 3.3.2 Layar Recognize Form Template File Database Exit Open Save Position Load Position Gambar 3.15 Layar Recognize Form Template Layar Recognize Form Template berfungsi untuk mengenali posisi-posisi dan informasi kotak yang nantinya akan diisi oleh pengguna formulir. Informasi kotak yang dimaksud adalah informasi mengenai pengelompokan kotak-kotak ke dalam field-field, contohnya kotak-kotak yang mana saja yang termasuk field nama. Pada saat menampilkan template formulir pada layar dengan klik File Open, noda-noda pada pinggir formulir dibersihkan terlebih dahulu kemudian pemeriksaan terhadap empat kotak hitam yang ada di sudut-sudut formulir dilakukan untuk mendeteksi adanya kemiringan. Jika ada kemiringan maka akan dilakukan rotasi agar akurasi pengenalan karakter lebih optimal. Database yang akan digunakan untuk menampung informasi field-field pada formulir didefinisi melalui menu Database. Penjelasan layar Database akan dibahas dalam bagian selanjutnya.

Pengelompokan kotak-kotak ke dalam field tertentu dilakukan dengan mengklik tampilan formulir pada layar dan menggeser mouse sehingga terbentuk kotak dengan garis putusputus sampai meliputi kotak-kotak yang akan didefinisi. Setelah daerah kotak-kotak telah ditentukan, akan muncul layar untuk mendefinisikan kotak-kotak tersebut sebagai suatu field. Pembahasan mengenai layar untuk mendefinisikan kotak-kotak akan dibahas pada bagian selanjutnya. Setelah semua kotak didefinisikan berdasarkan field-field yang diinginkan, informasi kotak-kotak disimpan dengan mengklik File Save Position. Untuk mengedit informasi kotak-kotak yang telah disimpan dapat dilakukan dengan mengklik File Load Position. 3.3.2.1 Layar Database Gambar 3.16 Layar Database

Pada layar ini akan didefinisikan database yang akan digunakan untuk menampung informasi field-field pada formulir. Yang didefinisikan adalah nama tabel dan nama field-field dalam tabel tersebut. Tombol Add berfungsi untuk menambah field pada textbox di sebelah Field Name : ke dalam daftar Field(s). Tombol Remove berfungsi untuk menghapus field pada daftar Field(s) yang dipilih oleh pengguna. Tombol Save berfungsi untuk menyimpan informasi database yang telah didefinisikan. 3.3.2.2 Layar Untuk Mendefinisikan Field Gambar 3.17 Layar Untuk Mendefinisikan Field Kotak-kotak yang telah dipilih oleh pengguna akan dikelompokkan sebagai suatu field pada layar ini. Daftar field yang muncul sesuai dengan field yang dientri pada layar database. Selain menentukan kotak-kotak sebagai field apa, jenis (type) field juga ditentukan. Jenis field terbagi menjadi 3 antara lain : Letter ( huruf ), Numeric ( angka ) dan Both ( huruf dan angka ). Informasi jenis field diperlukan untuk mempercepat proses

definisi database dan perbandingan titik-titik penting dari image dan database. Jika jenis field adalah Letter, database yang akan didefinisi adalah database huruf A-Z saja. Jika jenis field adalah Numeric, database yang akan didefinisi adalah database angka 0-9 saja. Semakin kecil database yang didefinisi maka semakin cepat pula proses perbandingan titik-titik penting dari image dan database. Tombol Delete berfungsi untuk menghapus kotak-kotak yang telah didefinisi sebelumnya. Tombol Cancel berfungsi untuk membatalkan pemilihan kotak-kotak. Tombol Save berfungsi untuk menyimpan informasi nama dan jenis field dari kotak-kotak yang dipilih. 3.3.3 Layar Character Sampling Gambar 3.18 Layar Character Sampling

Layar Character Sampling berfungsi untuk mencari rangka (skeleton) dari sample karakter yang akan diambil koordinat titik-titik pentingnya sebagai referensi pengenalan karakter. Tombol Browse berfungsi untuk mengambil sample karakter yang berekstensi.bmp. Tombol Skeletonize berfungsi untuk mencari rangka dari sample karakter kemudian membersihkan image tersebut. Tombol Save berfungsi untuk menyimpan image hasil proses ke dalam file berekstensi.bmp. Tombol Exit berfungsi untuk kembali ke layar utama. 3.3.4 Layar Recognize Form Content Gambar 3.19 Layar Recognize Form Content

54 Pengenalan karakter dengan Feature Point Extraction akan diterapkan pada layar ini. Sebelumnya, formulir yang telah diisi ditampilkan pada layar dengan mengklik File Open. Noda-noda pada pinggir formulir akan dibersihkan terlebih dahulu kemudian jika ada kemiringan pada keempat kotak hitam pada sudut-sudut formulir, maka akan dirotasi terlebih dahulu untuk meningkatkan akurasi pengenalan karakter. Menu File Load Position berfungsi untuk membaca posisi kotak dan informasi field yang disimpan pada tahap Pengenalan Template Formulir, kemudian menampilkan kotak-kotak tersebut pada layar. Tombol Recognize berfungsi untuk mengenali isi kotak-kotak yang muncul pada layar dengan menggunakan metode Feature Point Extraction. Hasil pengenalan karakter pada kotak-kotak akan ditampilkan pada tabel di sebelah kiri bawah dari layar. Tombol Save berfungsi untuk menyimpan hasil pengenalan karakter yang ada pada tabel ke dalam database yang telah didefinisikan pada tahap Pengenalan Template Formulir.