48
ANALISIS DAN PERANCANGAN
3.1 ANALISIS SISTEM
3.1.1 Analisis Masalah
SPA (Surat Pengajuan Asuransi) adalah dokumen yang ditujukan kepada calon pengguna asuransi untuk proses pengajuan pasuransi, dokumen ini diisi oleh calon pengguna asuransi yang kemudian diserahkan kembali kepada pihak penyedia jasa asuransi. Dokumen SPA masih berbentuk lembaran kertas.
Dokumen yang telah diisi kemudian diproses oleh pihak penyedia jasa
asuransi, pemrosesan ini dilakukan dengan cara meng-input data-data pada
dokumen kertas ke dalam database sistem informasi yang dimiliki oleh penyedia
jasa asuransi. Proses input data ini masih dilakukan secara manual. Untuk proses
input data yang mencapai ratusan lembar / hari maka memerlukan setidak-
tidaknya 10-20 orang. Selain itu masalah yang dihadapi adalah human error
ketika melakukan input data.
3.1.2 Analisis Kebutuhan dan Sistem yang Diharapkan
Akan banyak waktu yang terbuang untuk melakukan input ulang data dari dokumen-dokumen tersebut, selain itu penggunaan human resource juga sangat besar, karena dalam setiap hari bisa saja data yang harus diinput ada ratusan lembar.
Dalam hal ini penulis dapat memberikan solusi guna pemecahan masalah di atas yaitu dengan membuat suatu sistem aplikasi “Implementasi OCR (Optical Character Recognition) Pada Automatic Data Entry System”.
Aplikasi ini bekerja dengan memindahkan karakter / teks yang terdapat di dokumen SPA (Surat Pengajuan Asuransi) ke dalam database secara otomatis.
Pada studi kasus ini tools yang digunakan adalah Visual Studio 2008 untuk men- develop aplikasi dan Microsoft SQL Server sebagai penunjang database, sedangkan OCR library yang digunakan adalah Tesseract-OCR. Dokumen yang akan di-input harus discan terlebih dahulu supaya bisa dikenali oleh aplikasi, hasil scan dokumen yang dibaca adalah image file yang berformat .jpg.
Dengan aplikasi ini diharapkan akan meminimalisir tingkat human error dan penghematan di sisi penggunaan resource cukup dengan 1-5 orang saja. Alur system yang diharapkan bisa dilihat di gambar 3.1 berikut
Gambar 3.1 Work Flow Automatic Data Entry
Secara singkat penjelasan gambar 3.1 adalah sebagai berikut :
1. Dokumen kertas di scan terlebih dahulu sehingga menghasilkan image file yang berformat jpg.
2. Operator memproses dokumen tersebut menggunakan aplikasi Automatic Data Entry.
3. Data dari dokumen masuk secara otomatis ke database.
3.2 PERANCANGAN
Perancangan dari aplikasi Automatic Data Entry ini meliputi perancangan dengan User Interface, UML, dan Database.
3.2.1 User Interface
Perancangan User Interface dari aplikasi ini dibagi menjadi 2 (tiga), yaitu
mainform dan module form. Mainform merupakan form utama yang memuat
menu-menu yang akan dipanggil, sedangkan module form adalah form-form yang
dipanggil oleh menu yang ada di mainform. Proses pembuatan template dilakukan
di menu template. Proses capture data dilakukan di menu capture data, dan proses
melihat hasil data dilakukan di menu data. Struktur hirarki menu dari aplikasi
Automatic Data Entry System ini bisa dilihat di gambar 3.2 sebagai berikut
Gambar 3.2 Struktur Hirarki Aplikasi Automatic Data Enty System
Bentuk interface dari struktur hirarki di atas sebagai berikut :
3.2.1.1 Mainform
MainForm adalah form utama dari aplikasi Automatic Data Entry System,
berisi kumpulan menu-menu yang akan memanggil child form lainnya, dan
berfungsi sebagai container dari form-form yang dipanggil.
Gambar 3.3 Disain MainForm
3.2.1.2 Template Manager
Form Template Manager adalah form untuk create, edit, delete dari template yang akan digunakan untuk proses capture data.
Gambar 3.4 Disain Template Manager Form
3.2.1.3 Mapping Template Form
Form Mapping Template adalah form untuk menyocokkan koordinat dari file dokumen yang akan diambil karakter / teks nya dengan kolom yang ada di tabel database.
Gambar 3.5 Disain Mapping Template Form
3.2.1.4 Capture Data
Form Capture Data adalah form yang digunakan untuk proses mengambil data dari file dokumen secara otomatis.
Gambar 3.6 Disain Capture Data Form
3.2.1.5 Data
Form Data adalah form yang digunakan untuk melihat hasil dari data-data yang telah di capture oleh sistem.
Gambar 3.7 Disain Data Form
3.2.2 Perancangan UML
Perancangan UML dari Aplikasi ini dibatasi, dan hanya menggunakan Use Case Diagram, Activity Diagram, Class Diagram, StateChart Diagram, Component Diagram, dan Deployment Diagram.
3.2.2.1 Use Case Diagram
Use case yang akan dibuat pada Automatic Data Entry System terdiri dari Login, Create Template , Capture Data dan View Captured Data bisa dilihat pada Gambar 3.8 di bawah.
Gambar 3.8 Use Case Diagram Automatic Data Entry System
Dan penjelasan dari use case tersebut bisa dilihat pada Tabel 3.1, Tabel
3.2, Tabel 3.3, Tabel 3.4 untuk setiap use casenya.
Use case name Login
Actor Operator / Admin
Brief Description Use case ini merupakan bagian dimana Admin dan Operator melakukan login ke sistem .
Exception -
Basic Flow Masukkan login code – masukkan password – tekan tombol login
Alternative Flow Tekan tombol cancel
Pre-condition -
Post-condition -
Tabel 3.1 Narasi Use Case Login
Use case name Create Template
Actor Admin
Brief Description Use case ini merupakan bagian dimana Admin harus membuat template yang akan digunakan untuk proses capture data secara otomatis
Exception -
Basic Flow 1. Tekan tombol + - isi nama template – deskripsi template – pilih file dokumen yang dijadikan template – tekan tombol save 2. Pilih template – tekan tombol mapping
3. Pilih kolom tabel – pilih koordinat – tekan tombol save
Alternative Flow Pada Menu Template juga tersedia pilihan Edit dan Delete yang bisa dipilih sesuai kebutuhan
Pre-condition Belum ada data yang tersimpan
Post-condition Data sudah tersimpan ke dalam database dan tampilan hasil data yang sudah dimasukkan langsung bisa ditampilkan
Tabel 3.2 Narasi Use Case Create Template
Use case name Capture Data
Actor Operator
Brief Description Use case ini merupakan bagian dimana Operator melakukan proses capture data.
Exception -
Basic Flow Tekan tombol open doc – pilih file – pilih template – tekan tombol load template mapping – tekan tombol capture – tekan tombol save
Alternative Flow Tekan tombol open doc – pilih file – pilih template – tekan tombol load template mapping – tekan tombol capture – edit captured data – tekan tombol save
Pre-condition Hasil capture data belum ada
Post-condition Data hasil capture bisa langsung ditampilkan dan diedit kemudian di save
Tabel 3.3 Narasi Use Case Capture Data
Use case name Data
Actor Operator / Admin
Brief Description Use case ini merupakan bagian dimana Admin dan Operator melihat data – data yang sudah masuk ke database.
Exception -
Basic Flow Tekan tombol data
Alternative Flow Tekan tombol data – tekan tombol view doc file
Pre-condition -
Post-condition -
Tabel 3.4 Narasi Use Case View Captured Data
3.2.2.2 Activity Diagram
Gambar 3.9 di bawah menjelaskan tentang aktivitas yang dilakukan oleh user dan system. Dimulai dengan aktivitas operator melakukan proses capture data atau langsung view captured data, kemudian aktivitas Administrator melakukan proses membuat template atau view captured data.
Gambar 3.9 Activity Diagram Automatic Data Entry System
3.2.2.3 Class Diagram
Gambar 3.10 dan 3.11 menunjukkan class diagram pembuatan aplikasi Automatic Data Entry System. Terdapat 12 class yaitu class LoginForm, class MainForm, class DataImageForm, class DataView, class TemplateForm, class CaptureDataView, class TemplateView, class App, class AppInfo, class CDA, class SqlUtils, class Mis, class ChangePassworForm, class Application, class Template, class TemplateColumn, class Agent, dan class AgentType.
Proses aplikasi ini dijalankan menggunakan fungsi-fungsi yang ada pada setiap class tersebut. Class LoginForm dan MainForm adalah class yang membentuk Mainform dan LoginForm, class CaptureDataView berperan dalam proses capture data. Class TemplateView dan TemplateForm berperan dalam proses create template dan mapping nya. Class DataView berperan dalam proses melihat data hasil proses capture data. Class App, AppInfo, SqlUtils, Misc, dan CDA adalah class-class yang berperan sebagai penunjang dari aplikasi.
Sedangkan Application, Template, TemplateColumn, Agent, dan AgentType
adalah class tabel dari database.
+isLogin() : bool +Login() : void +LoginForm() -AgentCode : string -AgentID : int -DBConstring : string -AppInfo : object
LoginForm
-InitTheme() : void -Login() : void -Logout() : void -LoadMenu() : void -LaunchForm() : void -FindChild() : void -MainForm_Load() : void -ribbon_ItemClick() : void -MainForm() -CurrDir : string -AppInfo : object -AppInfoList : object
MainForm
-BindGridResult() : void -BindImageList() : void -BindLue() : void
-CaptureDataView_Load() : void -GetImages() : void -getRectangles() : void -LoadSelection() : void -SaveData() : void -SetImageToEditor() : void -CaptureDataView() -AppInfo : object -AppInfoList : object -CDA : object -currentPost : object -m_image : object -m_words : object -rectangles : object -startPost : object -getResultText : string -SelectedImageFilePath : string -StoredProcedureName : string -TemplateID : int
CaptureDataView
+DataImageForm_Load() : void +DataImageForm() -AppInfo : object -AppInfoList : object -xImageViewer : object -ImagePath : string
DataImageForm -BindGrid() : void -BindGridDetail() : void -DataView() -DataView_Load() : void -getResultValue() : void -AppInfo : object -AppInfoList : object -CDA : object -SelectedApplicationID : int -SelectedTemplateID : int -SelectedImagePath : string
DataView
-BindGrid() : void -BindLue() : void
+GenerateApplicationStoredProcedure() : void -getRectangle() : object
-LoadSelection() : void -pictureEdit1_MouseDown() : void -pictureEdit1_MouseMove() : void -pictureEdit1_MouseUp() : void -pictureEdit1_Paint() : void -SaveData() : void -TemplateForm() +TemplateForm_Load() : void -AppInfo : object -CDA : object -currentPos : object -drawing : bool -isLoadSelection : bool -m_image : object -rectangles : object -startPos : object -ImagePath : string -TemplateID : int
TemplateForm -BindGrid() : void
-SaveData() : void -TemplateView() +TemplateView_Load() : void -AppInfo : object -AppInfoList : object -CDA : object
TemplateView
+CDA()
+ExecuteDatasetUpdate() : int +ExecuteNonQuery() : int +ExecuteQueryWithTransaction() : int +ExecuteReader() : object +ExecuteReaderSingleRow() : object +ExecuteScalar() : object +GetDataSet() : object +GetDataTable() : object +GetDBConnection : string
CDA +SqlUtils()
+OnRowUpdate() : void
SqlUtils +App()
+ByteToDLL() : void +EncryptString() : string +DecryptString() : string +GetCtor() : object +GetFileName() : object +objDataToImage() : object +ReadFile() : object +UserGUID() : string
App
+AppInfo() +AgentCode : string +AgentID : int
+ApplicationImagePath : string +DBConString : string +TemplateImagePath : string +TessDataPath : string -TessLang : string -Themes : string
AppInfo
+Misc()
+ShowConfirmation() : bool +ShowInfo() : void +ShowError() : void +ShowWarning() : void
Misc
1
1 1
1
1
1
«uses»
«uses»
«uses»
+ChangePasswordForm() -ChangePassword() : void +AgentID : int
ChangePasswordForm
«uses»
«uses» «uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»