BAB III ANALISIS DAN PERANCANGAN
3.1 3.1.1
ANALISIS SISTEM 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 setidaktidaknya 10-20 orang. Selain itu masalah yang dihadapi adalah human error ketika melakukan input data.
48
49
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 mendevelop 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
50
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
51
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.
52
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
53
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
54
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
55
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
56
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.
57
Use case name Actor Brief Description Exception Basic Flow
Login Operator / Admin Use case ini merupakan bagian dimana Admin dan Operator melakukan login ke sistem. Masukkan login code – masukkan password – tekan tombol login
Alternative Flow Pre-condition Post-condition
Tekan tombol cancel -
Tabel 3.1 Narasi Use Case Login
Use case name Actor Brief Description Exception Basic Flow
Alternative Flow Pre-condition Post-condition
Create Template Admin Use case ini merupakan bagian dimana Admin harus membuat template yang akan digunakan untuk proses capture data secara otomatis 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 Pada Menu Template juga tersedia pilihan Edit dan Delete yang bisa dipilih sesuai kebutuhan Belum ada data yang tersimpan 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 Actor Brief Description Exception Basic Flow Alternative Flow
Pre-condition Post-condition
Capture Data Operator Use case ini merupakan bagian dimana Operator melakukan proses capture data. Tekan tombol open doc – pilih file – pilih template – tekan tombol load template mapping – tekan tombol capture – tekan tombol save Tekan tombol open doc – pilih file – pilih template – tekan tombol load template mapping – tekan tombol capture – edit captured data – tekan tombol save Hasil capture data belum ada Data hasil capture bisa langsung ditampilkan dan diedit kemudian di save
Tabel 3.3 Narasi Use Case Capture Data
58
Use case name Actor Brief Description Exception Basic Flow
Data Operator / Admin Use case ini merupakan bagian dimana Admin dan Operator melihat data – data yang sudah masuk ke database. Tekan tombol data
Alternative Flow Pre-condition Post-condition
Tekan tombol data – tekan tombol view doc file -
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
59
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.
60
«uses» AppInfo
«uses»
+AgentCode : string +AgentID : int +ApplicationImagePath : string +DBConString : string +TemplateImagePath : string +TessDataPath : string -TessLang : string -Themes : string +AppInfo()
«uses»
«uses» App
SqlUtils +SqlUtils() +OnRowUpdate() : void
ChangePasswordForm +AgentID : int
1
Misc
+App() «uses» +ByteToDLL() : void +EncryptString() : string +DecryptString() : string +GetCtor() : object +GetFileName() : object «uses» +objDataToImage() : object +ReadFile() : object +UserGUID() : string «uses»
+Misc() +ShowConfirmation() : bool +ShowInfo() : void +ShowError() : void +ShowWarning() : void
«uses»
+ChangePasswordForm() -ChangePassword() : void
-AgentCode : string -AgentID : int -DBConstring : string -AppInfo : object +isLogin() : bool +Login() : void +LoginForm() DataView -AppInfo : object -AppInfoList : object -CDA : object -SelectedApplicationID : int -SelectedTemplateID : int -SelectedImagePath : string -BindGrid() : void -BindGridDetail() : void -DataView() -DataView_Load() : void -getResultValue() : void 1
-CurrDir : string -AppInfo : object -AppInfoList : object -InitTheme() : void -Login() : void -Logout() : void -LoadMenu() : void -LaunchForm() : void -FindChild() : void -MainForm_Load() : void -ribbon_ItemClick() : void -MainForm()
TemplateView «uses»
-AppInfo : object -AppInfoList : object -CDA : object -BindGrid() : void -SaveData() : void -TemplateView() +TemplateView_Load() : void
-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 -BindGridResult() : void -BindImageList() : void -BindLue() : void -CaptureDataView_Load() : void -GetImages() : void -getRectangles() : void -LoadSelection() : void -SaveData() : void -SetImageToEditor() : void -CaptureDataView()
«uses»
1 DataImageForm 1 -AppInfo : object «uses» -AppInfoList : object -xImageViewer : object CDA -ImagePath : string +GetDBConnection : string +DataImageForm_Load() : void +DataImageForm() +CDA() +ExecuteDatasetUpdate() : int +ExecuteNonQuery() : int +ExecuteQueryWithTransaction() : int +ExecuteReader() : object +ExecuteReaderSingleRow() : object +ExecuteScalar() : object +GetDataSet() : object +GetDataTable() : object
«uses»
CaptureDataView
MainForm LoginForm
«uses»
«uses»
TemplateForm 1 «uses»
1
«uses»
-AppInfo : object -CDA : object -currentPos : object -drawing : bool -isLoadSelection : bool -m_image : object -rectangles : object -startPos : object -ImagePath : string -TemplateID : int -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
Gambar 3.10 Class Diagram Automatic Data Entry System
61
Gambar 3.11 Lanjutan Class Diagram Automatic Data Entry System
62
3.2.2.4
StateChart Diagram Gambar 3.12 menunjukkan statechart diagram pembuatan aplikasi
Automatic Data Entry System yang menggambarkan transisi dan perubahan keadaan dimulai saat aplikasi dibuka, saat create template data dan mapping, mulai proses capture data, sampai pada hasil data yang dicapture.
Gambar 3.12 StateChart Diagram Automatic Data Entry System
3.2.2.5
Component Diagram Gambar 3.13 menunjukkan diagram komponen pembuatan sistem
Automatic Data Entry, diagram ini menunjukkan hubungan antar komponen –
63
komponen. Komponen Automatic Data Entry, terdiri dari sub komponen MainForm merupakan komponen executable yang akan memanggil komponen utils, DataAccess, dan Module.Application. Komponen utils, dan library adalah komponen penunjang dan digunakan oleh komponen MainForm dan komponen Module.Application. Komponen Module.Application berisi kelas – kelas dan form untuk proses membuat template, capture, dan view data. Komponen Tesseract OCR adalah library yang berisi metode dan fungsi untuk proses pendeteksian karakter. Komponen SQL Server Database digunakan sebagai storage untuk menyimpan data
yang digunakan.
Sedangkan komponen
Microsof.NET
merupakan framework yang berisi library untuk pembuatan sistem.
Gambar 3.13 Component Diagram Automatic Data Entry System
64
3.2.2.6
Deployment Diagram Gambar 3.14 menunjukkan Diagram Deployment pembuatan system
Automatic Data Entry. Di server terdapat komponen SQL Server Database sebagai storage penyimpanan data, sedangkan di Work Station terdapat komponen Microsoft .NET, Automatic Data Entry, dan Tesseract OCR.
Gambar 3.14 Deployment Diagram Automatic Data Entry System