Perancangan aplikasi penelurusan informasi persuratan berbasiskan optical character recognition (OCR) (studi kasus Fakultas Sains dan Teknologi UIN Jakarta)

(1)

i SKRIPSI

PERANCANGAN APLIKASI PENELURUSAN INFORMASI PERSURATAN BERBASISKAN OPTICAL CHARACTER

RECOGNITION (OCR)

(STUDI KASUS FAKULTAS SAINS DAN TEKNOLOGI UIN JAKARTA)

Disusun Oleh: MUHAMMAD FAJAR

108091000083

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA


(2)

ii

PERANCANGAN APLIKASI PENELURUSAN INFORMASI PERSURATAN BERBASISKAN OPTICAL CHARACTER

RECOGNITION (OCR)

(STUDI KASUS FAKULTAS SAINS DAN TEKNOLOGI UIN JAKARTA)

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik Informatika

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

MUHAMMAD FAJAR 108091000083

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA


(3)

iii

PERANCANGAN APLIKASI PENELURUSAN INFORMASI PERSURATAN BERBASISKAN OPTICAL CHARACTER

RECOGNITION (OCR)

(STUDI KASUS FAKULTAS SAINS DAN TEKNOLOGI UIN JAKARTA)

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik Informatika

Pada Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

MUHAMMAD FAJAR 108091000083

Menyetujui, Pembimbing I,

Hendra Bayu Suseno, M.Kom NIP. 19821211 200912 1 003

Pembimbing II,

Feri Fahrianto, M.Sc NIP. 19800829 201101 1 002

Mengetahui,

Ketua Program Studi Teknik Informatika

Arini, MT


(4)

iv

PENGESAHAN UJIAN

Skripsi yang berjudul PERANCANGAN APLIKASI PENELUSURAN INFORMASI PERSURATAN BERBASISKAN OPTICAL CHARACTER RECOGNITION (OCR) (STUDI KASUS FAKULTAS SAINS DAN TEKNOLOGI UIN JAKARTA) yang ditulis oleh Muhammad Fajar, NIM 108091000083 telah diuji dan dinyatakan lulus dalam Sidang Munaqosyah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Rabu, 1 April 2015, skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Strata Satu (S1) Program Studi Teknik Informatika

Menyetujui,

Mengetahui, Penguji I

Nashrul Hakiem, Ph.D NIP. 19710608 200501 1 005

Penguji II

Rizal Bahaweres, M.Kom

Pembimbing I

Hendra Bayu Suseno, M.Kom NIP. 19821211 200912 1 003

Pembimbing II

Feri Fahrianto, M.Sc NIP. 19800829 201101 1 002

Dekan

Fakultas Sains dan Teknologi

DR. Agus Salim, M.Si. NIP. 19720816 199903 1 003

Ketua

Program Studi Teknik Informatika

Arini, MT


(5)

v

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SAYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAUPUN LEMBAGA MANAPUN.

Jakarta, Maret 2015

MUHAMMAD FAJAR 108091000083


(6)

vi

ABSTRAK

Muhammad Fajar - 108091000083, Perancangan Aplikasi Penelurusan Informasi Persuratan Berbasiskan Optical Character Recognition (OCR) (Studi Kasus: Fakultas Sains Dan Teknologi UIN Jakarta) di bawah bimbingan Hendra Bayu, M.Kom dan Feri Fahrianto, M.Sc.

Dalam dunia professional, kita bekerja tidak terlepas dengan surat, baik membuat surat, mencetak surat maupun menyimpan surat baik dalam bentuk digital maupun dalam bentuk fisik. Namun terkadang ada 1 hal yang jarang kita beri perhatian yang lebih terhadap kelangsungan surat tersebut yaitu bagaimana surat-surat tersebut setelah kegunaannya dianggap telah selesai. Setelah selesai digunakan maka surat tersebut diarsipkan. Terjadi permasalahan saat kita melakukan penelusuran informasi terhadap surat yang telah diarsipkan yaitu lama dan sering tidak praktis.

Dari permasalahan ini penulis mempunyai solusi agar untuk memudahkan penelusuran informasi surat arsip dibuatkan aplikasi penelusuran informasi berbasis Optical Character Recognition (OCR). Aplikasi ini dibuat dengan metodologi Rapid Application Development yang cepat dengan proses Scope Definition, Analysis System, Design, Construction & Testing.

Dengan aplikasi ini dapat membantu mengarsipkan surat dalam bentuk digital (image file) dengan cara memilih surat digital yang diinginkan, lalu aplikasi akan melakukan konversi dari bentuk image kedalam karakter dengan metode Optical Character Recognition dengan bantuan tesseract library agar semua teks yang ada didalam image dapat terkonversi dengan baik kedalam bentuk karakter, lalu dapat dilakukan penyimpanan kedalam database dan dapat melakukan pencarian dengan kata kunci tertentu kemudian aplikasi akan melakukan pencarian ke database terhadap kata kunci tersebut lalu memunculkan hasil pencarian dengan mudah & cepat. Pada akhir riset ini penulis menyimpulkan kalau aplikasi ini dapat membantu mempercepat & membuat praktis proses pencarian surat arsip digital.

Kata Kunci: Penelusuran Informasi, Arsip Digital, Optical Character Recognition, OCR, Rapid Application Development, RAD, Tesseract

Bab I-V + xv Halaman + 86 Halaman + 25 Gambar + 12 Tabel + 18 Daftar Pustaka + 2 Lampiran


(7)

vii

KATA PENGANTAR

Puji syukur kehadirat Allah SWT,atas limpahan rahmat, hidayah dan nikmat-Nya, sehingga penyusunan skripsi ini dapat diselesaikan dengan baik. Shalawat serta salam semoga senantiasa tercurah kepada Nabi Muhammad SAW beserta keluarga, sahabat serta para pengikutnya hingga akhir zaman. Penyusunan skripsi ini adalah salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta. Judul skripsi ini adalah ”Perancangan Aplikasi Penelurusan Informasi Persuratan Berbasiskan Optical Character Recognition (OCR) (Studi Kasus Fakultas Sains Dan Teknologi UIN Jakarta)”.

Dalam penyusunan skripsi ini, telah banyak bimbingan dan bantuan yang didapatkan baik dari segi moral maupun segi material dari berbagai pihak. Oleh karena itu, ucapan terima kasih disampaikan kepada:

1. Bapak DR. Agus Salim, M.Si. selaku Dekan Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah.

2. Ibu Arini, MT. selaku Ketua Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.

3. Bapak Hendra Bayu, M.Kom, selaku Dosen Pembimbing I, yang telah memberikan motivasi, bimbingan dan bantuan, baik moral maupun teknis.


(8)

viii

4. Bapak Feri Fahrianto, M.Sc. Selaku Dosen Pembimbing II, yang telah mengerti dan memahami mahasiswa/I bimbingannya.

5. Bapak Tata Taftadjani, SE selaku Kasubag Umum Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta yang telah membantu memberikan informasi yang berhubungan dengan kebutuhan penulis, terima kasih atas keramahan dan bantuan dalam memperoleh kelengkapan data yang dibutuhkan.

Akhir kata, semoga skripsi ini dapat bermanfaat bagi pembaca sekalian.

Jakarta,

Muhammad Fajar 108091000083


(9)

ix

LEMBAR PERSEMBAHAN

Skripsi ini dipersembahkan kepada seluruh pihak yang telah membantu, baik moral maupun material, terutama kepada:

1. Papa Abdul Aziz dan Mama Nasrul Hadiah, terima kasih atas dukungan, semangat, doa dan kasih sayang sepanjang masa. You are My Everything. 2. Kepada kakak-kakak tercinta, Abdul Rachman, Suryaningsih, dan Syarifah

yang sudah memberikan sumbang saran, ide yang sering tak kenal waktu dalam berdiskusi. Juga kepada 2 keponakan saya tercinta, Zahratusyeeta dan Humaira Razeefa yang selalu mengusir rasa lelah saat melihat senyum tawanya.

3. Partner in Crime tercinta, Vina Alfiani, Fadlan Reza, Aji Prastio Wibowo, Indah Permata Sari, Putri Jahidatufachri. Terima kasih telah setia dalam suka duka dan berjuang bersama selama beberapa tahun ini.

4. Teman-teman TI C 2008 dan teman-teman lainnya yang tidak bisa disebutkan satu per satu.

5. Teman-teman Teknik Informatika angkatan 2008. Terima kasih untuk kebersamaan dan kerjasamanya.

6. Dan special thanks to my “Kuda Terbang” B 6530 BWC yang menemani saya dimanapun, kapanpun dalam cuaca apapun.

7. Seluruh pihak yang telah banyak berjasa terhadap proses penyelesaian skripsi ini yang tidak bisa disebutkan satu persatu namun tidak mengurangi sedikitpun rasa terima kasih dari Penulis.


(10)

x

DAFTAR ISI

HALAMAN SAMPUL ... i

HALAMAN JUDUL ... ii

HALAMAN PENGESAHAN ... iii

HALAMAN PENGESAHAN UJIAN ... iv

HALAMAN PERNYATAAN ... v

ABSTRAK ... vi

KATA PENGANTAR ... vii

LEMBAR PERSEMBAHAN ... ix

DAFTAR ISI ... x

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xv

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Perumusan Masalah ... 4

1.3. Batasan Masalah ... 5

1.4. Tujuan Penelitian ... 5

1.5. Manfaat Penelitian ... 6

1.6. Metodologi Penelitian ... 6

1.6.1. Metode Pengumpulan Data ... 6

1.6.2. Metode Pengembangan Sistem ... 6

1.7. Sistematika Penulisan ... 6

BAB II LANDASAN TEORI ... 9

2.1. Optical Character Recognition ... 9

2.2. Tesseract OCR ... 11

2.2.1. Arsitektur Tesseract ... 12

2.2.2. Pencarian Teks-Line dan Kata ... 13

2.2.3. Baseline Fitting ... 14

2.2.4. Perkiraan Ketinggian X Pada Teks ... 15


(11)

xi

2.2.6. Pemisahan Karakter Terhubung... 16

2.2.7. Asosiasi Karakter Patah ... 17

2.2.8. Klasifikasi Bentuk... 17

2.2.8.1. Static Classifier ... 17

2.2.8.2. Adaptive Classifier ... 18

2.3. Penelusuran Informasi (Information Retrieval) ... 19

2.3.1. Definisi ... 19

2.3.2. Arsitektur Sistem Penelusuran Informasi... 20

2.3.3. Proses Indexing ... 22

2.3.4. Proses Searching ... 26

2.4. Pemrograman Berorientasi Objek (PBO) ... 27

2.5. Java ... 31

2.6. MySQL ... 35

2.7. Unified Modelling Language (UML) ... 36

2.7.1. Diagram UML ... 37

2.7.2. Use Case Diagram ... 38

2.7.3. Activity Diagram ... 38

2.7.4. Sequence Diagram ... 39

2.7.5. Class Diagram ... 39

2.8. Black Box Testing ... 39

2.9. Rapid Application Development ... 40

2.9.1. Definisi Lingkup (Scope Definition)... 41

2.9.2. Analisis Sistem (Analysis System) ... 41

2.9.3. Perancangan Sistem (Design) ... 42

2.9.4. Implementasi Sistem (Construction & Testing) ... 44

2.9.4.1. Pemrograman ... 44

2.9.4.2. Pengujian (Testing) ... 44

BAB III METODOLOGI PENELITIAN ... 46

3.1. Metode Penelitian ... 46

3.2. Teknik Pengumpulan Data... 46


(12)

xii

3.2.2. Wawancara ... 47

3.2.3. Studi Pustaka ... 47

3.3. Metode Pengembangan Sistem ... 48

3.4. Rapid Aplication Development (RAD) ... 48

3.4.1. Definisi Lingkup (Scope Definition) ... 48

3.4.2. Analisis Sistem (Analysis)... 48

3.4.3. Perancangan Sistem (Design) ... 49

3.4.4. Implementasi Sistem (Construction & Testing) ... 51

3.4.5. Kerangka Penelitian ... 52

BAB IV HASIL DAN PEMBAHASAN ... 55

4.1. Mendefinisikan Ruang Lingkup (Scope Definition) ... 55

4.2. Analisis Sistem (Analysis) ... 56

4.2.1. Analisis Masalah (Problem Analysis) ... 56

4.2.2. Analisis Persyaratan (Requirement Analysis) ... 60

4.2.3. Analisis Keputusan (Decision Analysis) ... 62

4.3. Perancangan Sistem (System Design) ... 64

4.3.1. Identifikasi Use Case dan Aktor ... 64

4.3.2. Use Case Diagram ... 65

4.3.3. Activity Diagram ... 69

4.3.4. Sequence Diagram ... 73

4.3.5. Class Diagram ... 74

4.3.6. Rancangan Sistem Basis Data ... 76

4.3.7. Rancangan Interface... 77

4.4. Implementasi ... 78

4.4.1. Konstruksi Perangkat Lunak ... 78

4.4.2. Hardware ... 79

4.4.3. Pengujian Mandiri ... 80

4.4.4. Pengujian Penerimaan (Acceptance Testing) ... 80

BAB V PENUTUP ... 83

5.1. Kesimpulan ... 83


(13)

xiii

DAFTAR PUSTAKA ... 85 LAMPIRAN ... 87


(14)

xiv

DAFTAR GAMBAR

Gambar 2.1 Proses pengenalan oleh OCR secara umum ... 10

Gambar 2.2 Arsitektur tesseract ... 12

Gambar 2.3 Contoh halaman dengan baseline miring ... 15

Gambar 2.4 Pemotongan karakter ... 16

Gambar 2.5 Kandidat Titik Potong ... 16

Gambar 2.6 Sebuah kata yang rusak bisa dikenali ... 17

Gambar 2.7 Proses Dalam Information Retrieval System ... 21

Gambar 2.8 Proses Indexing ... 25

Gambar 2.9 Proses Searching ... 26

Gambar 2.10 Proses Kompilasi dan Interpretasi Kode Java ... 35

Gambar 3.1 Kerangka Penelitian ... 54

Gambar 4.1 Rich Picture Analisis Sistem Berjalan ... 58

Gambar 4.2 Rich Picture Sistem Usulan ... 58

Gambar 4.3 Use case Mengkonversi, Menyimpan dan Menulusuri Informasi .... 66

Gambar 4.4 Activity Diagram dari Use Case Mengkonversi surat ... 70

Gambar 4.5 Activity Diagram dari Use Case Menyimpan Surat. ... 71

Gambar 4.6 Activity Diagram dari Use Case Menelusuri Informasi ... 72

Gambar 4.7 Sequence Diagram Sistem Usulan ... 74

Gambar 4.8 Class Diagram untuk Sistem yang Diusulkan ... 75

Gambar 4.9 Rancangan Halaman Aplikasi Penulusuran Informasi ... 77

Gambar 4.10 Rancangan Halaman Detail Aplikasi Penulusuran Informasi ... 78

Gambar 4.11 Tampilan Awal Aplikasi ... 80

Gambar 4.12 Penyimpanan Surat ... 81

Gambar 4.13 Hasil Pencarian ... 81


(15)

xv

DAFTAR TABEL

Tabel 4.1 Cause and Effect Analysis (analisis sebab akibat) ... 59

Tabel 4.2 System Improvements Objective (Tujuan-tujuan Perbaikan Sistem) .... 60

Tabel 4.3 Nonfunctional Requirements ... 61

Tabel 4.4 Requirement Actor & Use Case ... 65

Tabel 4.5 Spesifikasi Naratif untuk Use Case Mengkonversi Surat ... 67

Tabel 4.6 Spesifikasi Naratif untuk Use Case Menyimpan Surat ... 68

Tabel 4.7 Spesifikasi Naratif untuk Use Case Menelusuri Informasi ... 68

Tabel 4.8 Tabel surat ... 76

Tabel 4.9 Tabel history ... 76

Tabel 4.10 Daftar Tools Pengembangan Perangkat Lunak Sistem ... 79

Tabel 4.11 Pengujian Mandiri ... 80


(16)

BAB I PENDAHULUAN

1.1. Latar Belakang

Dalam dunia professional, kita bekerja tidak terlepas dengan surat, baik membuat surat, mencetak surat maupun menyimpan surat baik dalam bentuk digital maupun dalam bentuk fisik.

Termasuk dalam dunia kependidikan, surat menjadi sangat penting dalam kegiatan operasional sehari-hari. Khususnya ruang lingkup universitas yang memiliki warga civitas akademika paling banyak diantara lembaga / tingkat pendidikan yang lain. Civitas akademika di universitas terdiri dari banyak aktor yaitu mahasiswa, dosen, staff dan jajaran eksekutif (Dekan, Rektor dan jajarannya). Semua civitas akademika ini sehari-hari menggunakan surat sebagai sarana beraktifitas. Mahasiswa dengan tugas kuliah atau tugas akhir mereka, dosen dan jajaran eksekutif dengan surat-surat keputusan, surat-surat dinas, dll. Serta staff dengan surat-surat-surat-surat keputusan, surat-surat operasional yang berhubungan dengan mahasiswa seperti surat riset, surat izin, surat perbaikan nilai dll.

Surat-surat diatas sangat penting untuk keberlangsungan proses bisnis di universitas. Namun terkadang ada satu hal yang jarang kita beri perhatian yang lebih terhadap kelangsungan surat tersebut yaitu bagaimana surat-surat tersebut setelah perancangannya dianggap telah selesai. Surat-surat atau Surat-surat-Surat-surat yang ada sangat penting untuk di simpan / diarsipkan di suatu tempat agar apabila terjadi suatu hal yang tidak diinginkan kita tetap


(17)

memiliki bukti otentik sebagai landasan kita dalam bertindak atau mengambil keputusan.

Proses penyimpanan / pengarsipan surat untuk lembaga-lembaga Negara memiliki aturan khusus yang diatur dalam Undang-Undang Nomor 7 Tahun 1971 tentang Ketentuan-ketentuan pokok kearsipan yang tertuang dalam pasal 2 mengenai fungsi arsip dibedakan menjadi 2:

a. Arsip dinamis yang dipergunakan secara langsung dalam perencanaan, pelaksanaan, penyelenggaraan, kehidupan kebangsaan pada umumnya atau dipergunakan secara langsung dalam penyelenggaraan administrasi Negara.

b. Arsip-arsip yang tidak dipergunakan secara langsung untuk perencanaan, penyelenggaraan kehidupan-kebangsaan pada umumnya maupun untuk penyelenggaraan sehari-hari administrasi Negara.

Dari kedua fungsi diatas menurut undang-undang dapat penulis simpulkan bahwa surat-surat arsip dapat digunakan secara langsung ataupun tidak langsung. Dan ini berlaku untuk seluruh lembaga-lembaga Negara termasuk instansi kependidikan dalam hal ini adalah Universitas.

Kearsipan di dunia Pendidikan khususnya Universitas sangat dibutuhkan baik untuk mengarsipkan skripsi / tugas akhir, surat-surat dinas, penelitian dll. Terdapat 2 bentuk pengarsipan yaitu pengarsipan dalam bentuk fisik dan pengarsipan dalam bentuk digital.


(18)

Pengarsipan surat dalam bentuk fisik masih sangat dibutuhkan di instansi pendidikan seperti universitas di Indonesia. Banyak sekali lemari-lemari penyimpanan yang berisi map yang didalamnya terdapat surat-surat arsip yang telah digunakan untuk menunjang proses bisnis universitas. Seiring berjalannya waktu, semakin banyak surat yang di produksi maka akan berbanding lurus dengan banyaknya lemari dan outner yang harus disediakan. Dan dampak yang lebih besar adalah menyediakan tempat khusus untuk lemari-lemari pengarsipan dengan skala yang lebih luas. Dari segala kondisi yang ada terdapat satu kondisi dimana apabila staff / yang berkepentingan untuk melakukan pencarian terhadap arsip tertentu maka yang bersangkutan harus mencari dan menyeleksi berdasarkan lemari-lemari, outner-outner dan surat-surat yang diinginkan yang sangat tidak praktis dan memakan waktu yang cukup lama hanya untuk mencari 1 surat saja.

Pada dewasa ini era digital sangat meningkat pesat, semua proses bisnis yang memiliki proses manual sekarang sudah mulai pindah ke proses digital. Termasuk juga proses pengarsipan surat di universitas yang mengarah ke pengarsipan surat dalam bentuk digital.

Di Universitas Islam Negeri Syarif Hidayatullah Jakarta, khususnya di Fakultas Sains dan Teknologi proses pengarsipan surat juga sudah mengarah ke dalam bentuk digital. Informasi ini didapat dari wawancara dengan Kepala Bagian Umum Fakultas Sains dan Teknologi Bapak Tata Taftadjani, SE yang diambil pada tanggal 23 Oktober 2014. Dari wawancara


(19)

penulis dengan Bapak Tata Taftadjani dapat disimpulkan bahwa saat ini di Fakultas Sains dan Teknologi proses pengarsipan surat masih dalam bentuk fisik yang mengakibatkan apabila disuatu hari nanti ingin melakukan penelusuran akan memakan waktu yang lama, kendala yang tidak praktis dan terkadang hasil tidak sesuai. Namun Bapak tata Taftadjani memiliki visi agar arsip persuratan dapat disimpan dalam bentuk digital agar mudah melakukan penelusuran di kemudian hari.

Berdasarkan kondisi diatas penulis melakukan riset agar permasalahan tempat pengarsipan surat dan pencarian arsip surat dapat dilakukan dengan lebih praktis dan cepat. Hal ini dimungkinkan dengan menggunakan Aplikasi Penulusuran Informasi Persuratan Berbasiskan Optical Character Recognition.

1.2. Perumusan Masalah

Berdasarkan latar belakang diatas, maka penelitian ini akan merancang suatu aplikasi penelusuran informasi persuratan berbasis Optical Character Recognition. Pada penelitian ini akan dibahas mengenai :

1. Bagaimana merancang aplikasi penelusuran informasi persuratan berbasis Optical Character Recognition (OCR) di Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta. 2. Bagaimana aplikasi dapat membantu melakukan pencarian arsip


(20)

1.3.Batasan Masalah

Agar di dalam pembahasan persoalan dapat lebih terarah, maka batasan masalah yang dikerjakan dalam tugas akhir ini adalah :

1. Penelitian ini menggunakan aplikasi berbasis desktop yang dibangun dengan bahasa pemrograman Java.

2. Penelitian ini menggunakan Tesseract sebagai library yang digunakan untuk melakukan konversi image to text.

3. Penelitian ini hanya membahas mengenai surat surat menyurat yang terdapat pada Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.

4. Penelitian ini hanya membahas output dari surat-menyurat tidak membahas proses pembuatan surat-menyurat.

5. Penelitian ini hanya membahas hasil konversi dari dalam bentuk image file dengan ekstensi .jpg dan .png kedalam karakter dengan menganggap performa konversi dalam kondisi baik.

6. Penelitian ini hanya melakukan konversi terhadap arsip persuratan yang berbahasa Indonesia.

1.4. Tujuan Penelitian

Membuat aplikasi penelusuran informasi persuratan berbasis Optical Character Recognition.


(21)

1.5. Manfaat Penelitian

Hasil penelitian dapat digunakan oleh Fakultas Sains Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta sebagai sarana melakukan pencarian arsip dengan lebih praktis dan mudah.

1.6. Metodologi Penelitian

1.6.1. Metode Pengumpulan Data

Metode pengumpulan data yang penulis lakukan ada 2 cara, yaitu: 1. Observasi

Observasi (observation) merupakan teknik atau metodologi untuk mendapatkan data primer dengan cara mengamati langsung objek datanya (Jogiyanto, 2008).

2. Studi Literatur

Studi literatur adalah studi yang dilakukan dengan menggunakan literatur sebagai objek kajiannya. Tujuan studi literatur adalah untuk mendapatkan peta tentang domain penelitian yang dilaksanakan. 1.6.2. Metode Pengembangan Sistem

Metode pengembangan sistem yang di gunakan adalah Rapid Application Development (RAD).

1.7. Sistematika Penulisan

Dalam penulisan skripsi ini terdiri dari 5 (lima) bab dengan beberapa sub pokok bahasan. Adapun sistematika penulisan dari skripsi ini adalah sebagai berikut:


(22)

BAB I PENDAHULUAN

Bab ini membahas secara kesuluruhan mengenai penulisan laporan. Bab ini berisi latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian serta sistematika penulisan.

BAB II LANDASAN TEORI

Menguraikan Landasan teori yang berhubungan erat dengan pokok-pokok pemikiran yang relevan dengan topik penyusunan tugas akhir. Landasan teori pada penelitian ini mengupas mengenai pengertian Image Processing, information retrieval, Optical Character Recognition dan metodologi Rapid Application Development. BAB III METODOLOGI PENELITIAN

Berisi uraian langkah-langkah penelitian yang terangkum dalam tahapan-tahapan pembuatan aplikasi dengan metodologi Rapid Aplication Development.

BAB IV HASIL DAN PEMBAHASAN

Berisi Uraian dan kegiatan proses kerja perancangan aplikasi archiving information retrieval berbasis Optical Character Recognition.

BAB V PENUTUP

Pada bab ini penulis berusaha menyimpulkan temuan-temuan dari hasil penelitian ini. Selanjutnya penulis mencoba memberikan saran-saran untuk memanfaatkan rekomendasi perbaikan dari


(23)

penelitian ini demi kepentingan kemajuan teknologi informasi di masa yang akan datang.


(24)

BAB II

LANDASAN TEORI

2.1. Optical Character Recognition

Manusia mengenali objek-objek yang ada di sekelilingnya, dengan cara ini mata menerapkan mekanisme optik. Namun sementara otak melihat input, kemampuan untuk memahami sinyal-sinyal ini bervariasi pada setiap orang sesuai dengan banyak faktor. Begitu halnya dengan OCR (Optical Character Recognition). Teknologi ini memungkinkan mesin untuk secara otomatis

mengenali karakter melalui mekanisme optik. (AIM.Inc, 2000)

AIM. Inc dalam artikel berjudul Optical Character Recognition pada tahun

2000 juga menjelaskan, OCR banyak digunakan untuk mengkonversi buku-buku dan surat ke dalam bentuk file elektronik, misalnya dalam bentuk PDF dan lain sebagainya, untuk mengkomputerisasi sistem pencatatan misalnya di kantor, atau untuk mempublikasikan teks pada website.

OCR memungkinkan untuk mengedit teks, mencari kata atau frase, dan menerapkan teknik seperti mesin penerjemahan, text-to-speech dan text mining. OCR biasa digunakan untuk bidang penelitian dalam pengenalan pola,

kecerdasan buatan (artificial intelligent) dan computer vision.

Sistem OCR memerlukan kalibrasi untuk membaca font yang spesifik, versi awal harus diprogram dengan gambar karakter masing-masing, dan bekerja pada satu font pada suatu waktu. Sistem cerdas (intelligent system) dengan tingkat akurasi yang tinggi pengakuan untuk font yang paling sekarang umum. Beberapa sistem mampu mereproduksi output diformat yang erat mendekati


(25)

halaman yang dipindai asli termasuk gambar, kolom dan non-tekstual komponen. (Nelson, 2007).

Secara umum, proses pengenalan karakter yang dilakukan oleh OCR disajikan pada diagram di bawah ini.

Gambar 2.1 Proses pengenalan oleh OCR secara umum

Proses segmentasi bertujuan untuk memisahkan wilayah (region) objek dengan wilayah latar belakang agar objek dalam citra mudah dianalisis dalam rangka mengenali objek. Dengan demikian citra yang besar terdiri dari objek karakter dapat disegmentasi menjadi masing-masing karakter.

Proses selanjutnya adalah normalisasi, yang di dalamnya masih terdapat 2 proses lagi yaitu:

Scalling, adalah fungsi untuk mengubah ukuran suatu gambar dimana scalling merupakan istilah yang cenderung untuk memperbesar gambar,

dan shrink untuk memperkecil gambar.

Thinning, adalah operasi morfologi yang digunakan untuk menghapus piksel foreground yang terpilih dari gambar biner, biasanya digunakan untuk proses mencari tulang dari sebuah objek.

Segmentasi

Normalisasi

Ekstraksi Fitur


(26)

Langkah selanjutnya adalah ekstraksi fitur (feature extraction). Feature Extraction adalah suatu proses analisis citra dalam mengidentifikasi sifat-sifat

yang melekat dari tiap-tiap karakter atau disebut juga dengan fitur dari sebuah objek yang terdapat dalam citra. Karakteristik ini digunakan dalam mendeskripsikan sebuah objek atau atribut dari sebuah obyek, kemudian fitur yang dimiliki oleh karakter dapat digunakan sebagai proses recognition.

Setelah langkah-langkah di atas selesai dilakukan, maka OCR siap untuk melakukan tahap pengenalan dan akan memberikan output atau hasil pengenalan karakter angka maupun huruf.

Saat ini banyak sekali OCR yang ada, salah satunya adalah tesseract ocr yang akan dibahas selanjutnya.

2.2. Tesseract OCR

Tesseract adalah engine open source OCR yang awalnya dikembangkan HP

(Hewlett-Packard) antara tahun 1984 dan 1994. Tesseract dimulai dari sebuah proyek penelitian PhD di HP Laboratorium, Bristol oleh Ray Smith. Setelah penelitian bersama antara HP Labs Bristol dan Scanner HP divisi di Colorado, tesseract secara signifikan memimpin dalam akurasi atas mesin komersial tetapi

tidak menjadi produk. (Ray Smith, 2005, p1)

Tahap perkembangan berikutnya kembali di HP Lab Bristol sebagai investigasi OCR untuk kompresi. Pada akhir proyek ini, pada tahun 1994, pengembangan berhenti sepenuhnya. Mesin ini dikirim ke UNLV (University Nevada Las Vegas) pada tahun 1995 menjalani tes akurasi tahunan OCR. (Ray Smith, 2005)


(27)

2.2.1. Arsitektur Tesseract

Gambar 2.2 Arsitektur Tesseract

Tesseract OCR mengasumsikan input yang diterima berupa sebuah binary

image. Pertama, analisis dilakukan pada komponen terhubung/Connected

Component (CC) untuk menemukan di mana outline komponen disimpan. Pada tahap ini outlines dikumpulkan bersama menjadi blob. Blob disusun menjadi baris teks, sedangkan garis dan region dianalisis untuk pitch tetap dan teks proporsional. Baris teks dipecah menjadi kata-kata berbeda menurut jenis spasi karakter. Teks dengan pitch tetap dibagi menjadi sel-sel karakter. Teks proporsional dipecah menjadi kata-kata dengan menggunakan ruang pasti dan ruang fuzzy. Pengenalan kata pada image dilakukan pada dua tahap proses yang disebut pass-two (Smith, 2009).

Pada pass pertama dilakukan untuk mengenali masing-masing kata pada gilirannya. Kata-kata yang sukses pada pass pertama yaitu kata-kata yang terdapat di kamus dan tidak ambigu kemudian diteruskan ke adaptive classifier sebagai data pelatihan. Begitu adaptive classifier memiliki sampel yang cukup, adaptive


(28)

classifier ini dapat memberikan hasil klasifikasi bahkan pada pass pertama. Proses

pass kedua dilakukan untuk mengenali kata-kata yang mungkin saja kurang

dikenali atau terlewatkan pada pass pertama, pada tahap ini adaptive classifier telah memperoleh informasi lebih dari pass pertama. Tahap terakhir menyelesaikan ruang fuzzy dan memeriksa hipotesis alternatif pada ketinggian-x untuk mencari teks dengan smallcap.

Tesseract dirancang untuk mengenali teks putih di atas latar hitam dan teks

hitam di atas latar putih. Hal ini menyebabkan rancangan mengarah pada analisis komponen terhubung/connected component (CC) dan operasi pada outline komponen. Langkah pertama setelah analisis CC ialah menemukan blob pada region teks. Sebuah blob merupakan unit putatif yang dapat diklasifikasikan, yang

mana bisa satu atau lebih komponen-komponen yang saling tumpang tindih secara horizontal.

Menurut Smith (2009) ada beberapa langkah yang dilakukan oleh tesseract untuk pengenalan karakter adalah sebagai berikut :

2.2.2. Pencarian Teks-Line dan Kata

Algoritma line finding dirancang supaya halaman yang miring dapat dikenali tanpa harus de-skew (proses untuk mengubah halaman yang miring menjadi tegak lurus) sehingga tidak menurunkan kualitas gambar. Kunci bagian proses ini adalah blob filtering dan line construction. (Smith, 2009,p1).

Filtered blob lebih cenderung cocok dengan model non-overlapping, parallel, tetapi berupa garis-garis miring (sloping line). Pemrosesan blob


(29)

oleh koordinat x memungkinkan untuk menetapkan blob ke sebuah baris teks yang unik. Sementara penelusuran kemiringan di seluruh halaman, dengan banyak mengurangi bahaya penugasan ke baris teks yang salah dengan adanya kemiringan (skew). Setelah blob tersaring ditetapkan ke garis, sebuah median terkecil dari kotak-kotak yang cocok digunakan untuk memperkirakan baseline, dan blob yang sudah difilter dengan baik dipasang kembali ke garis yang sesuai. (Ray Smith, 2009, p2).

Langkah terakhir dari proses pembuatan garis (line creation) adalah menggabungkan blob yang overlapping, menempatkan diacritical marks dengan dasar yang tepat, dan menghubungkan bagian-bagian dari beberapa karakter yang rusak secara benar. (Ray Smith, 2009, p2)

2.2.3. Baseline Fitting

Setelah baris teks telah ditemukan, garis pangkal (baseline) dicocokan secara lebih tepat menggunakan quadratic spline. Hal ini merupakan salah satu kelebihan sistem OCR dan memungkinkan tesseract untuk menangani halaman dengan garis pangkal (baseline) yang miring. (Ray Smith, 2009, p2).

Baseline dicocokan oleh partisi blob menjadi beberapa kelompok

dengan sebuah perpindahan kontinu yang cukup layak untuk garis pangkal lurus yang asli. Quadratic spline dicocokan ke partisi yang paling padat (diasumsikan sebagai baseline) dengan kuadrat terkecil. Quadratic spline memiliki keuntungan bahwa perhitungan ini cukup stabil tetapi merugikan


(30)

jika muncul diskontinuitas ketika beberapa segmen spline diperlukan. Dalam hal ini, cubic spline bekerja lebih baik. (Ray Smith, 2009, p2).

Gambar 2.3 Contoh halaman dengan baseline miring

2.2.4. Perkiraan Ketinggian X Pada Teks

Setelah menemukan baris teks dan menyusun blok blob menjadi baris-baris, Tesseract mengestimasi ketinggian-x untuk setiap baris teks. Pertama, algoritma estimasi ketinggian-x menentukan batas-batas maksimum dan minimum dari ketinggianx yang dapat diterima berdasarkan ukuruan garis inisial yang dihitung untuk blok. Kemudian, setiap baris secara terpisah, ketinggian bounding box blob terjadi pada garis dikuantisasi dan dikumpulkan menjadi sebuah histogram. Dari histogram ini, algoritma pencarian ketinggian-x mencari ketinggian dua mode yang paling sering terjadi yang cukup jauh terpisah untuk menjadi x dan ketinggian-ascender. Untuk mengantisipasi noise, algoritma memastikan mode

ketinggian yang diambil menjadi ketinggian-x dan ketinggian-ascender memiliki jumlah yang cukup atau kejadiankejadian relatif terhadap jumlah keseluruhan blob pada baris.


(31)

2.2.5. Chopping atau Pemotongan Karakter

Tesseract menguji garis teks (text line) untuk menentukan apakah

mereka merupakan fixed pitch. Bila ditemukan fixed pitch text, tesseract memotong kata-kata menjadi karakter-karakter. (Ray Smith, 2009, p2).

Gambar 2.4 Pemotongan karakter

2.2.6. Pemisahan Karakter Terhubung

Apabila hasil dari pengenalan kata tidak memuaskan, tesseract berusaha untuk memperbaiki hasil dengan memisahkan blob dengan keyakinan terburuk dari pengklasifikasian (classifier) karakter. Kandidat untuk titik-titik pemisahan ditemukan dari simpul cekung dari pendekatan poligonal outline dan mungkin saja terdapat titik cekung berlawanan lainnya atau segmen garis. Ini akan menghabiskan sampai 3 pasang titik pemotongan untuk memisahkan karakter yang terhubung dari set ASCII. (Ray Smith, 2009, p3).

Gambar 2.5 Kandidat Titik Potong


(32)

Gambar 2.5 di atas menunjukkan satu set calon titik potong (chop points) dengan tanda panah dan potongan terpilih sebagai sebuah garis

melintasi kerangka dimana huruf ‘r’ bersentuhan dengan ‘m’. (Ray Smith, 2005, p3).

2.2.7. Asosiasi Karakter Patah

Ketika potongan yang potensial tidak ada lagi, ketika kata tersebut masi belum cukup baik, hal ini diberikan kepada associator. Associator membuat pencarian A* (best first search) dari segmentasi grafik yang mungkin kombinasi dari blob yang dipotong secara maksimal ke dalam kandidat karakter. Ketika A* segmentation digunakan untuk diimplementasikan pertama kali pada tahun 1989, akurasi tesseract terhadap karakter yang rusak cukup baik yang menjadikan tesseract mesin komersial pada saat itu. (Ray Smith, 2005, p3).

Gambar 2.6 Sebuah kata yang rusak bisa dikenali

2.2.8. Klasifikasi Bentuk 2.2.8.1. Static Classifier

Sebuah versi awal dari tesseract digunakan topologi fitur yang dikembangkan dari karya Shillman. Ide selanjutnya melibatkan PERANCANGAN segmen dari poligonal pendekatan sebagai fitur, tapi pendekatan ini juga tidak cukup kuat untuk karakter yang rusak. Solusi


(33)

terobosan yang digunakan adalah gagasan bahwa fitur yang tidak diketahui tidak perlu sama dengan fitur dalam data pelatihan.

Selama pelatihan, segmen dari pendekatan poligonal digunakan untuk feature, namun pada proses pengenalan, feature kecil yang panjangnya tetap

(dalam unit ternormalisasi) diekstraksi dari outline dan dicocokkan secara many-to-one terhadap prototipe feature yang ter-cluster pada data pelatihan.

(Ray Smith, 2009,p3) 2.2.8.2.Adaptive Classifier

Tesseract tidak menggunakan template classifier, tetapi menggunakan feature yang sama seperti static classifier. Perbedaan yang signifikan antara

static classifier dan adaptive classifier, terlepas dari data pelatihan, adaptive

classifier menggunakan normalisasi isotropic baseline/x-height, sedangkan

static classifier menormalisasi karakter oleh centroid (momen pertama) untuk posisi dan momen kedua untuk normalisasi ukuran yang anisotropic. (Ray Smith, 2005, p4) .

Feature merupakan komponen pendekatan poligonal dari outline

sebuah bentuk. Pada training, vektor fitur 4 dimensi (x, posisi-y, arah, panjang) diturunkan dari setiap elemen pendekatan poligonal dan dikelompokkan untuk membentuk prototipikal vektor fitur. Pada pengenalan, elemen-elemen poligon dipecah menjadi bagian-bagian yang lebih pendek dengan panjang yang sama, sehingga dimensi panjang dieliminasi dari vektor fitur. Beberapa fitur pendek dicocokkan dengan


(34)

setiap fitur prototipikal dari training, hal ini membuat proses klasifikasi lebih kuat terhadap karakter yang terputus. (Ray Smith, 2005, p5).

2.3.Penelusuran Informasi (Information Retrieval)

2.3.1. Definisi

Information Retrieval System atau Sistem Temu Balik Informasi

merupakan bagian dari computer science tentang pengambilan informasi dari surat-surat yang didasarkan pada isi dan konteks dari surat-surat itu sendiri. Menurut Gerald J. Kowalski di dalam bukunya “Information Storage and Retrieval Systems Theory and Implementation”, sistem temu balik informasi adalah suatu sistem yang mampu melakukan penyimpanan, pencarian, dan pemeliharaan informasi. Informasi dalam konteks ini dapat terdiri dari teks (termasuk data numerik dan tanggal), gambar, audio, video, dan objek multimedia lainnya.

Tujuan dari sistem IR adalah memenuhi kebutuhan informasi pengguna dengan me-retrieve semua surat yang mungkin relevan, pada waktu yang sama me-retrieve sesedikit mungkin surat yang tidak relevan. Sistem IR yang baik memungkinkan pengguna menentukan secara cepat dan akurat apakah isi dari surat yang diterima memenuhi kebutuhannya. Agar representasi surat lebih baik, surat-surat dengan topik atau isi yang mirip dikelompokkan bersama-sama.

Model Information Retrieval adalah model yang digunakan untuk melakukan pencocokan antara term-term dari query dengan term-term


(35)

dalam document collection, Model yang terdapat dalam Information retrieval terbagi dalam 3 model besar, yaitu:

1. Set-theoritic models, model merepresentasikan surat sebagai himpunan kata atau frase. Contoh model ini ialah standard Boolean model dan extended Boolean model.

2. Algebratic model, model merepresentasikan surat dan query sebagai vektor atau matriks similarityantara vektor surat dan vektor query yang direpresentasikan sebagai sebuah nilai skalar. Contoh model ini ialah vektor space model (model ruang vektor) danlatent semantic indexing (LSI).

3. Probabilistic model, model memperlakukan proses pengambilan surat sebagai sebuah probabilistic inference. Contoh model ini ialah penerapan teorema bayes dalam model probabilistik.

2.3.2. Arsitektur Sistem Penelusuran Informasi

Ada dua pekerjaan yang ditangani oleh sistem ini, yaitu melakukan preprocessing terhadap database dan kemudian menerapkan metode tertentu untuk menghitung kedekatan (relevansi atau similarity) antara surat di dalam database yang telah dipreprocess dengan query pengguna.

Pada tahapan preprocessing, sistem yang berurusan dengan surat semi-structured biasanya memberikan tag tertentu pada term-term atau

bagian dari surat, sedangkan pada surat tidak terstruktur proses ini dilewati dan membiarkan term tanpa imbuhan tag.


(36)

Query yang dimasukkan pengguna dikonversi sesuai aturan

tertentu untuk mengekstrak term penting yang sejalan dengan term-term yang sebelumnya telah diekstrak dari surat dan menghitung

relevansi antara query dan surat berdasarkan pada term-term tersebut. Sebagai hasilnya, sistem mengembalikan suatu daftar surat terurutsesuai nilai kemiripannya dengan query pengguna.

Setiap surat (termasuk query) direpresentasikan menggunakan model bag-of-words yang mengabaikan urutan dari kata-kata di dalam surat, struktur sintaktis dari surat dan kalimat. Surat ditransformasi ke dalam suatu “tas“ berisi kata-kata independen. Term disimpan dalam suatu database pencarian khusus yang ditata sebagai sebuah inverted index.

Index ini merupakan konversi dari surat asli yang mengandung sekumpulan kata ke dalam daftar kata yang berasosiasi dengan surat terkait dimana kata-kata tersebut muncul.

Proses dalam Information Retrievaldapat digambarkan sebagai sebuah proses untuk mendapatkan retrieve document dari collection documents yang ada melalui pencarian query yang diinputkan user.

Gambar 2.7 Proses dalam Information Retrieval System

Information

Retrieval System

Retrieve Document query

Collecting document


(37)

2.3.3. Proses Indexing

Indexing subsystem adalah proses subsystem yang merepresentasikan koleksi surat kedalam bentuk tertentu untuk memudahkan dan mempercepat proses pencarian dan penemuan kembali surat yang relevan.

Pembangunan index dari koleksi surat merupakan tugas pokok pada tahapan preprocessing di dalam IR. Kualitas index mempengaruhi efektifitas dan efisiensi sistem IR. Index surat adalah himpunan term yang menunjukkan isi atau topik yang dikandung oleh surat. Index akan membedakan suatu surat dari surat lain yang berada di dalam koleksi. Ukuran index yang kecil dapat memberikan hasil buruk dan mungkin beberapa item yang relevan terabaikan. Index yang besar memungkinkan ditemukan banyak surat yang relevan tetapi sekaligus dapat menaikkan jumlah surat yang tidak relevan dan menurunkan kecepatan pencarian (searching).

Pembuatan inverted index harus melibatkan konsep linguistic processing yang bertujuan mengekstrak term-term penting dari surat yang

direpresentasikan sebagai bag-of-words. Ekstraksi term biasanya melibatkan dua operasi utama berikut:

1. Penghapusan stop-words. Stop-word didefinisikan sebagai term yang tidak berhubungan (irrelevant) dengan subyek utama dari database meskipun kata tersebut sering kali hadir di dalam surat. Berikut ini adalah Contoh stop wordsdalam bahasa inggris :a, an, the, this, that,


(38)

these, those, her, his, its, my, our, their, your, all, few, many,

several, some, every, for, and, nor, bit, or, yet, so, also, after, although,

if, unless, because, on, beneath, over, of, during, beside, dan etc. Contoh

stop words dalam bahasa Indonesia : yang, juga, dari, dia, kami, kamu,

aku, saya, ini, itu, atau, dan, tersebut, pada, dengan, adalah, yaitu, ke, tak, tidak, di, pada, jika, maka, ada, pun, lain, saja, hanya, namun, seperti, kemudian, dll. Stop-words termasuk pula beberapa kata tertentu yang didefinisikan terkait dengan topik database, misal pada database yang menampung daftar karya tulis (paper) penelitian

terkait dengan heart diseases, maka kata heart dan disease sebaiknya dihapus.

2. Stemming. Kata-kata yang muncul di dalam surat sering mempunyai

banyak varian morfologik. Karena itu, setiap kata yang bukan stop-words direduksi ke bentuk stemmed word (term) yang cocok. Kata

tersebut distem untuk mendapatkan bentuk akarnya dengan menghilangkan awalan atau akhiran. Dengan cara ini, diperoleh kelompok kata yang mempunyai makna serupa tetapi berbeda wujud sintaktis satu dengan lainnya. Kelompok tersebut dapat direpresentasikan oleh satu kata tertentu. Sebagai contoh, kata menyebutkan, tersebut, disebut dapat dikatakan serupa atau satu kelompok dan dapat diwakili oleh satu kata umum tersebut.


(39)

1. Penghapusan format dan markup dari dalam surat.

Tahap ini menghapus semua tag markup dan format khusus dari surat, terutama pada surat yang mempunyai banyak tag dan format seperti surat (X)HTML.

2. Pemisahan rangkaian kata (tokenization).

Tokenization adalah tugas memisahkan deretan kata di dalam kalimat,

paragraf atau halaman menjadi token atau potongan kata tunggal atau termmed word. Tahapan ini juga menghilangkan karakter-karakter tertentu

seperti tanda baca dan mengubah semua token ke bentuk huruf kecil (lower case).

3. Penyaringan (filtration)

Pada tahapan ini ditentukan term mana yang akan digunakan untuk merepresentasikan surat sehingga dapat mendeskripsikan isi surat dan membedakan surat tersebut dari surat lain di dalam koleksi. Term yang sering dipakai tidak dapat digunakan untuk tujuan ini, setidaknya karena dua hal. Pertama, jumlah surat yang relevan terhadap suatu query kemungkinan besar merupakan bagian kecil dari koleksi. Term yang

efektif dalam pemisahan surat yang relevan dari surat tidak relevan kemungkinan besar adalah term yang muncul pada sedikit surat. Kedua, term yang muncul dalam banyak surat tidak mencerminkan definisi dari

topik atau sub-topik surat. Karena itu, term yang sering digunakan dianggap sebagai stop-word dan dihapus.


(40)

4. Konversi term ke bentuk dasar (stemming).

Stemming adalah proses konversi term ke bentuk umumnya,

sebagaimana dijelaskan sebelumnya. Surat dapat pula diekspansi dengan mencarikan sinonim bagi term-term tertentu di dalamnya. Sinonim adalah kata-kata yang mempunyai pengertian serupa tetapi berbeda dari sudut pandang morfologis. Seperti stemming, operasi ini bertujuan menemukan suatu kelompok kata terkait. Akan tetapi sinonim bekerja berdasarkan pada thesaurus, tidak berbagi-pakai term stem. Jika pengguna memasukkan query heart disease” maka query diekspansi untuk mengakomodasi semua sinonim dari disease seperti ailment, complication, condition, disorder, fever, ill, illness, infirmity, malady,

sickness, dan lain-lain.

5. Pemberian bobot terhadap term (weighting).

Setiap term diberikan bobot sesuai dengan skema pembobotan yang dipilih, apakah pembobotan lokal, global atau kombinasi keduanya. Banyak aplikasi menerapkan pembobotan kombinasi berupa perkalian bobot lokal term frequency dan global inverse document frequency, ditulis tf .idf.

Gambar 2.8 Proses Indexing

Documents

Markup-free document text

Tokenization

Filtration

Stemming

Term weighting

Index database

text delete tag

tokens

stop word removal

stemmed term


(41)

2.3.4. Proses Searching

Dibawah ini adalah gamabar ilustrasi proses pencarian dalam Information Retrieval System.

Gambar 2.9 Proses Searching

Beberapa proses yang terjadi saat melakukan search sesuai dengan ilustrasi gambar 2.9 yaitu :

1. Parse query yaitu memecah query menjadi bentuk token 2. Proses Stopword filtration

Token-token query yang telah dihasilkan pada proses parse query kemudian di filter melalui proses pembuangan token yang termasuk Stopword. parse query stop word filtration stemming transformasi query vektor space model ranking index database query query tokens stop word token stemmed terms transformed query

retrieved document set ranked document set


(42)

3. Proses Stemming

Stopword tokens dari proses stopword sebelumnya kemudian di filter

kembali melalui proses Stemming sehingga menghasilkan stemmed term query.

4. Transformasi Query

Stemmed term query yang dihasilkan kemudian ditransformasikan apabila memerlukan. Artinya, apabila query yang diinputkan membutuhkan terjemahan ke dalam bentuk query bahasa lain maka sebelum mencari surat pada koleksi surat, query tersebut diterjemahkan duhulu melalui proses penerjemahan query. Sistem akan membandingkan query tersebut dengan koleksi surat sehingga mengembalikan surat-surat yang relevan dalam suatu bahasa yang berbeda dengan bahasa query.

5. Pemodelan dalam model ruang vektor

Tiap term atau kata yang ditemukan pada surat dan query diberi bobot dan disimpan sebagai salah satu elemen vektor dan dihitung nilai kemiripan antara query dan surat. Perangkingan surat atau konten berdasarkan nilai kemiripan antara query dan surat.

2.4. Pemrograman Berorientasi Objek (PBO)

Pemograman berorientasi objek (Obhect oriented programming – OOP) merupakan paradigma pemograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelaskelas atau


(43)

objek-objek.Bandingkan dengan logika pemrograman terstruktur.Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar.Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

2.4.1. Konsep Pemrograman Berorientasi Objek

Pemrograman berorientasi objek menekankan konsep berikut:

1. Kelas, kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman

berorientasi oobjek. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.


(44)

2. Objek, membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

3. Abstraksi , kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

4. Enkapsulasi, memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

5. Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan


(45)

menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan denganbahasa fungsional yang mencapai polimorfisme melalui perancangan fungsi kelaspertama.

6. Inheritas mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas).

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada


(46)

kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

2.5. Java

JAVA™ merupakan bahasa pemograman yang dikembangkan Sun Microsystem yang dirilis pada tahun 1995 sebagai komponen utama dari Sun

Microsystem Lingkungan (Platform) Java. Bahasa ini dikembangkan dengan

model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer. Bahasa ini juga dirancang untuk pemograman di Internet sehingga dirancang agar aman dan portable.

Proyek Java dimulai pada bulan Juni tahun 1991 oleh James Gosling. Pada mulanya bahasa ini disebut Oak yang berasal dari pohon oak yang berada di luar kantor Gosling, selain itu juga pernah berubah menjadi Greendon dan akhirnya dinamakan Java yang berasal dari kumpulan kata acak. Gosling bertujuan untuk mengimplementasikan sebuah mesin virtual dan bahasa yang mirip dengan notasi C / C++. Sun merilis implementasi publik pertamanya Java 1.0 di tahun 1995 yang menjanjikan “Write Once, Run Anywhere” (WORA) dimana dapat dijalankan dengan baik pada platform popular, cukup aman, dan menyediakan fitur keamanan yang dapat dikonfigurasi.


(47)

Berdasarkan white paper resmi dari Sun, Java memiliki karakteristik sebagai berikut :

1. Sederhana (Simple)

Bahasa pemrograman Java menggunakan sintaks mirip dengan C++, namun sintaks pada Java merupakan penyederhanaan dari bahasa C++. Penyederhanaan dilakukaan dengan menambahkan fitur-fitur pendukung yang belum terdapat dalam C++ dan menghilangkan PERANCANGAN pointer yang rumit dan multiple inheritance. Java sederhana karena hanya

memiliki 3 (tiga) tipe angka data primitive, boolean, dan array. Selebihnya, semua yang ada di dalam Java adalah kelas. Fitur yang tidak terdapat dalam C++, yang ditawarkan java, dua diantaranya automatic memori allocation dan memori garbage collection (pengumpulan sampah).

Dengan mekanisme ini, user tidak perlu membebaskan memori yang dialokasikan, karena semua dilakukan oleh Mesin Virtual Java. Java juga mendukung penulisan program multi jalinan, yaitu suatu program yang dapat melakukan lebih dari satu pekerjaan dalam waktu yang bersamaan. 2. Berorientasi Objek (Object Oriented)

Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.


(48)

3. Terdistribusi (Distributed)

Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.

4. Interpreted

Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.

5. Robust

Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai Runtime-Exception handling untuk membantu mengatasi error pada

pemrograman. 6. Secure

Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.

7. Architecture Neutral

Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine(JVM).


(49)

8. Portabel

Source code maupun program Java dapat dengan mudah dibawa ke

platform yang berbeda-beda tanpa harus dikompilasi ulang.

9. Performance

Performance pada Java sering dikatakan kurang tinggi. Namun

performance Java dapat ditingkatkan menggunakan kompilasi Java

lain.

10. Multithreaded

Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan. 11. Dynamic

Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properti ataupun metode dapat dilakukan tanpa menggangu program yang menggunakan class

tersebut.

Kode Java diproses melalui 2 (dua) tahap, yaitu fase kompilasi dan interpretasi. Dalam fase kompilasi, source code dari Java (file .java) akan diterjemahkan menjadi sebuah bahasa penengah (intermediate language) yang disebut Java Bytecode (file .class). Setelah itu,bytecode siap untuk diinterpretasikan atau dijalankan dengan menggunakan Java Virtual Machine (JVM).


(50)

Gambar 2.10 Proses Kompilasi dan Interpretasi Kode Java

2.6.MySQL

Pada awalnya, MySQL merupakan proyek internal sebuah firma asal Swedia, TcXDataKonsult.MySQL kemudian dirilis untuk publik pada tahun 1996. Karena

MySQL menjadi sangat populer, pada tahun 2001 firma tersebut mendirikan sebuah

perusahaan baru, MySQLAB, yang khusus menawarkan layanan dan produk berbasis MySQL (Gilmore, 2006).

Dari awal pembuatannya, para pengembang MySQL menitikberatkan pengembangan MySQL pada sisi performa dan skalabilitasnya. Hasilnya adalah sebuah perangkat lunak yang sangat teroptimasi, walaupun dari sisi fitur memiliki kekurangan dibandingkan solusi basis data kelas enterprise lain. Akan tetapi MySQL menarik minat banyak pengguna. Saat ini, tercatat lebih dari lima juta basis

data MySQL yang terpasang dan aktif di seluruh dunia. Beberapa perusahaan dan instansi penting dunia seperti Yahoo!, Google dan NASA menggunakan MySQL untuk mengolah basis data mereka.

Ada beberapa kelebihan yang dimiliki MySQL sehingga dapat menarik banyak pengguna. Kelebihan tersebut yaitu:

1. Fleksibilitas

Saat ini, MySQL telah dioptimasi untuk duabelas platform seperti HP-UX, Linux, Mac OS X, Novell Netware, OpenBSD, Solaris, Microsoft Windows dan


(51)

lain-lain. MySQL juga menyediakan source code yang dapat diunduh secara gratis, sehingga pengguna dapat mengkompilasi sendiri sesuai platform yang digunakan. Selain itu, MySQL juga dapat dikustomisasi sesuai keinginan penggunanya, misalnya mengganti bahasa yang digunakan pada antarmukanya.

2. Performa

Sejak rilis pertama, pengembang MySQL fokus kepada performa. Hal ini masih tetap dipertahankan hingga sekarang dengan terus meningkatkan fiturnya.

3. Lisensi

MySQL menawarkan berbagai pilihan lisensi kepada penggunanya. Lisensi

open source yang ditawarkan yaitu lisensi GNU General Public License dan

Free/Libre and Open Source Software (FLOSS) License Exception. Selain itu

ditawarkan juga lisensi komersil berbayar yang memiliki fasilitas dukungan teknis.

2.7. Unified Modelling Language (UML)

Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk

mensurattasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Unified Modeling Language (UML) adalah himpunan struktur danteknik untuk

pemodelan desain program berorientasi objek (OOP) serta aplikasinya.UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model,


(52)

teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.

UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mensurattasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mensurattasikan setiap sistem informasi.PERANCANGAN UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

2.7.1. Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:

1. Use Case Diagram untuk memodelkan proses bisnis.

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objek.

4. Collaboration Diagram untuk memodelkan interaksi antar objek. 5. State Diagram untuk memodelkan perilaku objek di dalam sistem. 6. Activity Diagram untuk memodelkan perilaku userdan objek di dalam


(53)

7. Class Diagram untuk memodelkan struktur kelas. 8. Objek Diagram untuk memodelkan struktur objek.

9. Component Diagram untuk memodelkan komponen objek. 10. Deployment Diagram untuk memodelkan distribusi aplikasi.

Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi objek, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.

2.7.2. Use Case Diagram

Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi. Use case merepresentasikan operasi-operasi yang dilakukan oleh actor.

Use case digambarkan berbentuk elips dengan nama operasi dituliskan

didalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.

2.7.3. Activity Diagram

1. Activity Diagram menggambarkan berbagai alur aktifitas dalam system yang sedang dirancang bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Actifity Diagram juga dapat menggambarkan proses parallel yang mungkin terjadi pada beberapa eksekusi.


(54)

2. Actifity Diagram merupakan state diagram khusus yang sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu, actifity diagram tidak menggambarkan perilaku internal sebuah system dan interaksi antar subsistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktifitas dari leverl atas secara umum.

2.7.4. Sequence Diagram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case. Interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.

2.7.5. Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan.

2.8. Black Box Testing

Menurut Black (2009 :3), Tester menggunakan behavioral test (disebut juga Black-Box Tests), sering digunakan untuk menemukan bug dalam high level operations, pada tingkatan fitur, profil operasional dan skenario customer. Tester dapat membuat pengujian fungsional black box berdasarkan pada apa yang harus sistem lakukan. Behavioral testing melibatkan pemahaman rinci mengenai domain aplikasi, masalah bisnis


(55)

yang dipecahkan oleh sistem dan misi yang dilakukan sistem. Behavioral test paling baik dilakukan oleh penguji yang memahami desain sistem,

setidaknya pada tingkat yang tinggi sehingga mereka dapat secara efektif menemukan bug umum untuk jenis desain.

Menurut Nidhra dan Dondeti (2012:1), black box testing juga disebut functional testing, sebuah teknik pengujian fungsional yang merancang

test case berdasarkan informasi dari spesifikasi.

2.9. Rapid Application Development

Pada saat RAD diimplementasikan, maka para pemakai dapat menjadi bagian dari keseluruhan proses pengembangan sistem dengan bertindak sebagai pengambil keputusan pada setiap tahapan pengembangan. RAD bisa menghasilkan suatu sistem dengan cepat karena sistem yang dikembangkan dapat memenuhi keinginan dari para pemakai sehingga dapat mengurangi waktu untuk pengembangan ulang setelah tahap implementasi.

Berdasarkan penjelasan sebelumnya dapat disimpulkan bahwa alasan digunakannya metode RAD dalam sistem ini adalah sistem ini nantinya lebih menekankan pada pembuatan aplikasi atau prototype dengan pendekatan kepada user atau pengguna sistem ini.

Pada pengembangan aplikasi Sistem Informasi Ketinggian Air dalam alur proses RAD hanya digunakan beberapa tahapan yaitu dari Scope Definition sampai dengan tahapan Construction & Testing.Adapun penjelasan alur dalam RAD yang akan digunakan dalam penelitian ini sebagai berikut.


(56)

2.9.1. Definisi Lingkup (Scope Definition)

Fase pertama pengembangan sistem ini adalah mendefinisikan lingkup sistem yang artinya menentukan tingkat atau ukuran dan batas-batas pengembangan sistem. Tahap ini juga menggambarkan dengan jelas dan singkat tentang masalah, kesempatan dan perintah yang memicu pengembangan aplikasi. Lingkup dapat didefinisikan dengan istilah informasi, fungsi dan antarmuka. Lingkup memang dapat dan sering berubah selama proses pelaksanaannya. Tetapi dengan mensurattasikan lingkup awal, maka dapat dibentuk tahap awal untuk mengontrol scope creep, yaitu persyaratan dan harapan dalam meningkatkan pengembangan

sistem informasi.

2.9.2. Analisis Sistem (Analysis System)

Tujuan utama dari analisis berorientasi objek adalah memodelkan sistem yang nyata dengan penekanan pada apa yang harus dilakukan bukannya bagaimana melakukannya. Hasil utama dari analisis sistem adalah pemahaman sistem seutuhnya sebagai persiapan menuju ke tahap perancangan.

Terdapat tiga fase dalam tahapan analisis sistem pada alur pengembangan sistem RAD, yaitu:

a. Analisis Masalah, yaitu mempelajari sistem yang ada atau sistem berjalan dengan pemahaman mendalam akan masalah-masalah pengembangan sistem.


(57)

b. Analisis Persyaratan, yaitu mendefinisikan dan memprioritaskan persyaratan-persyaratan bisnis.

c. Analisis Keputusan, dilakukan setelah mengetahui permasalahan dan persyaratan sistem yang diinginkan fase ini akan menghasilkan arsitektur aplikasi untuk solusi yang disetujui.

Tahapan analisis Sistem Informasi Ketinggian Airakan diperlihatkan dengan menggunakan beberapa metode, yaitu Rich Picture dan Matriks Masalah serta Kesempatan, Tujuan dan Batasan (Problems, Opportunities, Objectives, and Constraints Matrix) pada tahap analisis masalah. Matriks

ini akan dijabarkan dalam dua tabel yaitu Analisis Sebab dan Akibat (Cause and Effect Analysis). Sementara pada analisis persyaratan dibagi menjadi

dua bagian yaitu Functional Requirement yaitu aktivitas dan service yang harus disediakan oleh sistem yang akan dikembangkan. Bagian kedua adalah Nonfunctional Requirement yaitu fitur-fitur lain yang diperlukan oleh sistem agar sistem dapat lebih memuaskan.

2.9.3. Perancangan Sistem (Design)

Perancangan sistem merupakan cara bagaimana mengorganisasi sistem ke dalam subsistem-subsistem, serta alokasi subsistem tersebut ke komponen-komponen perangkat keras, perangkat lunak, serta prosedur-prosedur.

Perancangan sistem dilakukan setelah tahap analisis telah rampung. Adapun metode yang digunakan adalah Desain Berorientasi Objek atau Object Oriented Design (OOD) dengan menggunakan UML (Unified


(58)

Modelling Language) sebagai tools untuk perancangan dan pengembangan

aplikasinya.

Namun tidak semua diagram yang disediakan oleh UML akan digunakan dalam perancangan sistem ini. Hanya beberapa diagram UML saja yang digunakan. Adapun diagram tersebut diantaranya:

1. Use Case Diagram: merupakan diagram yang menjelaskan aktivitas apa saja yang dilakukan oleh sistem yang akan dibangun dan siapa yang berinteraksi dengan sistem tersebut.

2. Activity Diagram: merupakan diagram yang menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity Diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

3. Class Diagram: merupakan diagram yang selalu ada pada pemodelan sistem yang berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan.

4. Sequence Diagram: merupakan diagram yang menjelaskan secara detail urutan proses yang dilakukan oleh sistem untuk mencapai tujuan dari usecase, interaksi yang terjadi antar class, operasi apa saja yang terlibat serta urutan antar operasi dan informasi yang diperlukan oleh masing-masing operasi.


(59)

2.9.4. Implementasi Sistem (Construction & Testing)

Tahap perancangan diikuti oleh tahap implementasi. Pada tahap ini dilakukan beberapa proses. Berikut adalah penjabarannya:

2.9.4.1. Pemrograman

Menerjemahkan perancangan ke kode program adalah proses yang relatif sederhana dan bersifat mekanis sebab perancangan yang baik sudah dapat mengambarkan dengan baik apa yang harus dilakukan dengan bahasa-bahasa pemrograman. Jika telah melakukan pemodelan dengan baik (misalnya dengan menggunakan UML) dan mempergunakan banyak perangkat-perangkat lunak berjenis CASE (Computer Aided Software Engineering) yang baik (misalnya Ms. Visio) maka proses penerjemahan

model-model yang dibuat kedalam sintak beberapa bahasa pemrograman akan berjalan dengan mudah.

Pada tahapan pemograman aplikasi ”Penelusuran Informasi Persuratan” akan digunakan bahasa pemograman Java. Sebagai software yang menunjang database pada aplikasi ini, akan digunakan MySQL karena mendukung infrastruktur jaringan.

2.9.4.2. Pengujian (Testing)

Pada tahap ini dilakukan pengujian masing-masing modul atau unit program guna mengetahui apakah mereka bekerja sesuai dengan tugasnya. Setelah itu dilakukan uji coba terhadap integrasi keseluruhan unit program untuk mengetahui apakah sistem yang telah dibuat sudah memenuhi kriteria


(60)

yang diinginkan. Pengetesan ini dilakukan dengan metode pengujian black box.

Pengujian secara black boxyang dilakukan dalam sistem ini diantaranya adalah fungsi-fungsi yang tidak benar, baik input maupun output, kesalahan interface serta kesalahan dalam struktur data atau akses


(61)

BAB III

METODOLOGI PENELITIAN

3.1.Metode Penelitian

Metodologi penelitian ini bertujuan untuk mengetahui sistematika proses yang berjalan pada pembuatan penulisan. Pada tahapan ini banyak teknik yang dilakukan seperti observasi/studi lapangan dan studi pustaka. Pada penelitian ini perlu diperhatikan pemahaman tentang cara berpikir dan cara melaksanakan hasil berpikir menurut langkah-langkah ilmiah.

3.2. Teknik Pengumpulan Data

Teknik pengumpulan data berguna pada saat melakukan analisis terkait tentang penelitian yang sedang dilakukan. Data yang didapat nantinya akan digunakan untuk acuan lebih lanjut. Proses pengumpulan data dapat dilakukan dengan teknik-teknik tertentu, tergantung pada karakteristik penelitian.

3.2.1. Observasi / Studi Lapangan

Pada observasi ini penulis langsung mengamati alur proses pengarsipan surat yang terjadi di Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Hal ini sangat dibutuhkan agar penulis dapat melakukan analisis untuk membuat suatu solusi terhadap permasalahan penulusuran informasi terhadap arsip / surat yang saat ini telah berjalan serta menentukan rancangan pengembangan sistem yang akan dibangun agar sesuai dengan untuk menjawab kendala-kendala yang ada. Adapun pelaksanaan observasi dilakukan pada tanggal 23 Oktober 2014 di Gedung Fakultas Sains dan


(62)

Teknologi Lantai 2 Bagian Akademik Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Selain menganalisis kebutuhan, penulis juga mengumpulkan Informasi yang diperlukan untuk pembangunan aplikasi. Informasi yang dimaksud adalah informasi proses yang saat ini terjadi untuk proses pengarsipan persuratan.

3.2.2. Wawancara

Penulis melakukan wawancara secara langsung dengan pihak terkait yang ada di Bagian Akademik Fakultas Sains dan Teknologi yaitu Bapak Tata Taftadjani yaitu selaku Kasubag Umum. Wawancara yang dilakukan untuk mengetahui apa permasalahan dan kendala mengenai pengarsipan dan juga mengetahui bagaimana proses pengarsipan persuratan yang saat ini berjalan. Secara detail, hasil wawancara dapat dilihat pada lampiran 1. 3.2.3. Studi Pustaka

Pada tahapan pengumpulan data dengan cara studi pustaka, penulis mencari referensi-referensi yang relevan dengan objek yang akan diteliti. Pencarian referensi dilakukan di perpustakaan, toko buku, maupun secara online

melalui internet. Setelah mendapatkan referensi-referensi yang relevan tersebut, penulis lalu mencari berbagai informasi yang dibutuhkan dalam penelitian ini. Adapun informasi yang didapat digunakan dalam penyusunan landasan teori, metodologi penelitian serta pengembangan aplikasi secara langsung. Referensi yang dijadikan acuan dapat dilihat di Daftar Pustaka yang terdiri dari 18 sumber.


(63)

3.3. Metode Pengembangan Sistem

Berikut akan dibahas dengan lebih jelas alasan peneliti menggunakan strategi pengembangan sistem RAD dalam pengembangan Aplikasi Penelusuran Informasi Persuratan dan tahapan dari alur RAD tersebut.

3.4. Rapid Aplication Development (RAD)

Pada pengembangan aplikasi Pennelusuran Informasi Persuratan dalam alur proses RAD digunakan 4 tahapan yaitu :

1. Scope Definition

2. Analysis System

3. Perancangan Sistem (Design)

4. Implementasi Sistem (Construction & Testing)

3.4.1. Definisi Lingkup (Scope Definition)

Fase pertama pengembangan sistem ini adalah mendefinisikan lingkup sistem, yang artinya batas-batas pengembangan sistem. Berikut adalah batas-batas pengembangan sistem:

1. Pengembangan aplikasi ini hanya sebuah prototype yaitu kerangka dasar yang kedepannya dapat dikembangkan lebih lanjut lagi sehingga aplikasi ini dapat diimplementasikan dengan baik.

2. Pengguna dalam aplikasi ini Bagian Umum Fakultas Sains dan Teknologi

3.4.2. Analisis Sistem (Analysis)

Terdapat tiga fase dalam tahapan analisis sistem pada alur pengembangan sistem RAD, yaitu:


(64)

a. Analisis Masalah, yaitu mempelajari sistem yang ada atau sistem berjalan dengan pemahaman mendalam akan masalah-masalah pengembangan sistem. Adapun analisis masalah yang dibuat adalah : 1. Rich Picture.

2. Matriks masalah serta kesempatan, Tujuan dan Batasan (Problems, Opportunities, Obectives and Constrains Matrix)

b. Analisis Persyaratan, yaitu mendefinisikan dan memprioritaskan persyaratan-persyaratan bisnis. Terdapat dua persyaratan, yaitu:

1. Functional Requirement 2. Nonfunctional requirement

c. Analisis Keputusan, dilakukan setelah mengetahui permasalahan dan persyaratan sistem yang diinginkan fase ini akan menghasilkan arsitektur aplikasi untuk solusi yang disetujui.

3.4.3. Perancangan Sistem (Design)

Pada perancangan sistem, metode yang digunakan adalah Desain Berorientasi Objek atau Object Oriented Design (OOD) dengan menggunakan UML (Unified Modelling Language) sebagai tools untuk perancangan dan pengembangan aplikasinya.

Namun tidak semua diagram yang disediakan oleh UML akan digunakan dalam perancangan sistem ini. Hanya 4 diagram UML saja yang digunakan. Adapun diagram tersebut adalah:

a. Use Case Diagram: merupakan diagram yang menjelaskan aktifitas apa saja yang dilakukan oleh sistem yang akan dibangun dan siapa yang


(65)

berinteraksi dengan sistem tersebut.Adapun use case yang dirancang adalah sebanyak 3, yaitu:

1. Use case konversi hasil scan surat kedalam bentuk teks. 2. Use case menyimpan hasil konversi.

3. Use case mencari hasil konversi.

b. Activity Diagram: merupakan diagram yang menggambarkan berbagai alur aktifitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal. Adapun activity diagram yang dirancang adalah 4, yaitu :

1. Activity Diagram konversi hasil scan surat kedalam bentuk teks. 2. Activity Diagram dari use case menyimpan hasil konversi. 3. Activity Diagram dari use case mencari hasil konversi. 4. Activity Diagram dari use case melihat hasil pencarian

c.Sequence Diagram: merupakan diagram yang menjelaskan secara detail urutan proses yang dilakukan oleh sistem untuk mencapai tujuan dari

use case, interaksi yang terjadi antar class, operasi apa saja yang terlibat serta urutan antar operasi dan informasi yang diperlukan oleh masing-masing operasi. Adapun sequence diagram yang dirancang adalah 4, yaitu :

1. Sequence diagram untuk mengkonversi hasil scan surat kedalam bentuk teks.

2. Sequence diagram untuk menyimpan hasil konversi. 3. Sequence diagram untuk mencari hasil konversi


(66)

4. Sequence diagram untuk melihat hasil pencarian.

d. Class Diagram: merupakan diagram yang selalu ada pada pemodelan sistem yang berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan.

3.4.4. Implementasi Sistem (Construction & Testing)

Tahap perancangan diikuti oleh tahap implementasi. Pada tahap ini dilakukan beberapa proses. Berikut tadalah penjabarannya:

3.4.4.1. Pemrograman

Menerjemahkan perancangan ke kode program adalah proses yang relatif sederhana dan bersifat mekanis sebab perancangan yang baik sudah dapat mengambarkan dengan baik apa yang harus dilakukan dengan bahasa-bahasa pemrograman.

Pada tahapan pemograman aplikasi ini akan digunakan bahasa pemograman Java yang digunakan untuk membuat User Interface berbasis Desktop .Sebagai software yang menunjang database pada aplikasi ini, akan digunakan MySQL karena mendukung infrastruktur jaringan. Sementara software editor dan software fungsionalitas yang digunakan dalam pemrograman ini adalah Eclipse.

3.4.4.2. Pengujian (Testing)

Pada tahap ini dilakukan pengujian masing-masing modul atau unit program guna mengetahui apakah modul-modul tersebut bekerja sesuai dengan tugasnya. Setelah itu dilakukan uji coba terhadap integrasi


(67)

keseluruhan unit program untuk mengetahui apakah sistem yang telah dibuat sudah memenuhi kriteria yang diinginkan. Pengujian ini dilakukan oleh peneliti dengan metode pengujian black box.

Pengujian secara black box yang dilakukan dalam sistem ini diantaranya adalah fungsi-fungsi yang tidak benar, baik input maupun output, kesalahan interface serta kesalahan dalam struktur data atau akses

database.

3.4.5. Kerangka Penelitian

Pengembangan “Aplikasi Penulusuran Informasi Persuratan” disusun melalui beberapa tahapan yang harus dilakukan dengan tujuan memudahkan dalam penelitian. Adapun alur penelitian yang dilakukan oleh peneliti adalah dimulai dengan observasi atau pengamatan lapangan dan wawancara yang dilakukan di Bagian Umum Fakultas Sains dan Teknologi pada bulan Oktober 2014. Wawancara dilakukan untuk mendapatkan informasi proses penulusuran informasi persuratan yang sudah ada. Setelah dilakukan observasi dan wawancara, tahap selanjutnya adalah studi pustaka dan studi literatur. Studi pustaka dilakukan untuk mencari solusi permasalahan serta landasan teori yang berhubungan dengan penelitian sedangkan studi literatur dilakukan pada penelitian sejenis guna mendukung penelitian tugas akhir. Tahap selanjutnya adalah dengan melakukan tahap pengembangan sistem. Tahap pengembangan sistem dilakukan melalui pendekatan Rapid Application Development. Pendekatan ini dilakukan melalui empat tahapan yaitu tahap definisi lingkup (scope definition),


(68)

analisis sistem, perancangan sistem dan implementasi (construction dan testing). Pada tahapan analisis masalah dibagi lagi menjadi tiga bagian yaitu

analisis masalah dengan menggunakan Rich Picture dan Matriks Masalah, Kesempatan, Tujuan dan Batasan. Sementara tahap perancangan dilakukan dengan tools UML dengan menggunakan empat diagram yaitu use case diagram, activity diagram, class diagram, sequence diagram. Tahapan

terakhir yaitu membangun sistem.Tahapan ini dilakukan dengan bahasa pemrograman Java dan MySQL. Secara lebih jelas, alur tersebut digambarkan seperti yang terlihat di gambar 3.1 berikut:


(1)

(2)

(3)

(4)

(5)

(6)