library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision...

58
BAB 2 TINJAUAN PUSTAKA 2.1 Perangkat Lunak Menurut Sommerville (2011:6) perangkat lunak (software) merupakan sebuah program komputer dimana program tersebut dapat dikembangkan untuk pelanggan tertentu maupun untuk pasar umum. 2.2 Agile Method Sommerville (2011:59-60) menjelaskan bahwa agile method cocok untuk jenis pengembangan aplikasi seperti: 1.Pengembangan aplikasi yang berskala kecil hingga menengah. 2.Mengizinkan banyak ruang untuk user ikut terlibat dalam pengembangannya, karena aplikasi yang dibuat adalah aplikasi yang sesuai dengan keinginan user. Adapun prinsip-prinsip dari agile method, antara lain: 1.Customer involvement Customer seharusnya terlibat selama proses pengembangan, untuk menyediakan memprioritaskan kebutuhan sistem yang baru serta untuk mengevaluasi iterasi dari sistem. 2.Incremental delivery 9

Transcript of library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision...

Page 1: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

BAB 2

TINJAUAN PUSTAKA

2.1 Perangkat Lunak

Menurut Sommerville (2011:6) perangkat lunak (software) merupakan

sebuah program komputer dimana program tersebut dapat dikembangkan untuk

pelanggan tertentu maupun untuk pasar umum.

2.2 Agile Method

Sommerville (2011:59-60) menjelaskan bahwa agile method cocok untuk

jenis pengembangan aplikasi seperti:

1. Pengembangan aplikasi yang berskala kecil hingga menengah.

2. Mengizinkan banyak ruang untuk user ikut terlibat dalam

pengembangannya, karena aplikasi yang dibuat adalah aplikasi yang sesuai

dengan keinginan user.

Adapun prinsip-prinsip dari agile method, antara lain:

1. Customer involvement

Customer seharusnya terlibat selama proses pengembangan, untuk

menyediakan memprioritaskan kebutuhan sistem yang baru serta untuk

mengevaluasi iterasi dari sistem.

2. Incremental delivery

Software yang dikembangkan secara bertahap dengan customer menentukan

kebutuhan yang harus dimasukan dalam tiap tahapnya.

3. People not process

Skill dari developer harus diakui dan dimanfaatkan sedemikian rupa

sehingga hasil kerja dari developer bisa mencapai hasil yang maksimal.

4. Embrace change

Mengharapkan kebutuhan aplikasi untuk perubahan, sehingga perancangan

sistem sebagai akomodasi perubahan tersebut.

5. Maintain simplicity

Membuat aplikasi yang sederhana, baik dalam proses pengembangan

maupun hasil akhir aplikasi sehingga aplikasi bisa digunakan dengan efisien

dan tidak rumit.9

Page 2: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

10

2.3 Extreme Programming (XP)

Sommerville (2011:65-66) menjelaskan bahwa extreme programming

adalah salah satu metode yang paling dikenal didalam agile method. Didalam

extreme programming, kebutuhan dinyatakan sebagai skenario (user stories),

yang dilaksanakan langsung sebagai serangkaian tugas. Programmer bekerja

secara berpasangan dan mengembangkan uji coba untuk setiap tugas sebelum

menuliskan code. Semua uji coba tersebut harus berhasil dieksekusi ketika

kode baru yang terinteraksi dalam sistem. Adapun prinsip-prinsip dari extreme

programming, antara lain:

1. Incremental planning

Kebutuhan ditulis kedalam story card dan story dimasukkan kedalam rilis

yang ditentukan oleh waktu yang tersedia dan prioritas relatif. Kemudian

pengembang mengubah story tersebut menjadi pengembangan.

2. Small releases

Kumpulan fungsi minimal yang berguna memberikan nilai bisnis pada

pengembangan yang pertama.

3. Simple design

Perancangan cukup membawa keluar kebutuhan saat ini.

4. Test-first development

Sebuah unit kerangka pengujian otomatis yang digunakan untuk menulis uji

coba untuk fungsi yang baru sebelum fungsi tersebut diimplementasikan.

5. Refactoring

Development diharapkan dapat menyusun ulang code secepat mungkin

ketika perbaikan code ditemukan. Hal ini membuat code menjadi sederhana

dan dapat diurus. Dan yang perlu diperhatikan adalah ketika akan

melakukan pengembangan aplikasi, perubahan di masa depan haruslah bisa

diantisipasi. Dengan selalu melakukan refactoring terhadap code yang

dikembangkan, programming team dapat melihat possible improvement dari

aplikasi dan dapat segera diimplementasikan. Walaupun memang tidak

segera dibutuhkan, tetapi hal ini berguna untuk mengantisipasi perubahan di

masa depan daripada harus kembali meninjau ulang code dari awal.

6. Pair programming

Pengembang bekerja secara berpasangan, mengecek satu sama lain dan

selalu mendukung untuk melakukan pekerjaan yang baik.

Page 3: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

11

7. Collective ownership

Pasangan pengembang bekerja dalam semua area sistem, sehingga semua

pengembang bertanggungjawab untuk semua code.

8. Continous integration

Secepat mungkin, tugas pekerjaan diselesaikan, hal ini untuk

mengintegrasikan kedalam keseluruhan sistem.

9. Sustainable pace

Sejumlah besar lembur tidak dianggap diterima sebagai efek bersih, karena

digunakan untuk mengurangi kualitas code dan produktivitas jangka

mengengah.

10. On-site customer

Customer harus menyediakan waktunya secara penuh dalam tim XP. Dalam

proses extreme programming, customer menjadi anggota dari tim

pengembangan dan berganggung jawab untuk membawa kebutuhan sistem

kepada tim sebagai implementasi.

2.4 Unified Modelling Language (UML)

Dalam pengembangan aplikasi, dibutuhkan penggunaan UML untuk

memudahkan perancangan struktur aplikasi.

2.4.1 Pengertian UML

Menurut Whitten dan Bentley (2007:371), UML merupakan

pembuatan model standar dalam pengembangan sistem yang berbasis

object oriented yang direpresentasikan dalam bentuk diagram. Diagram

yang dihasilkan biasanya merupakan relasi antara objek-objek yang

berada di dalam sistem.

2.4.2 Use Case Diagram

Whitten dan Bentley (2007:246-250, 382) menjelaskan bahwa use

case diagram digunakan untuk menggambarkan interaksi antara sistem

dan eksternal sistem serta pengguna. Dengan kata lain, menggambarkan

siapa yang akan menggunakan sistem dan langkah apa yang pengguna

harapkan ketika berinteraksi dengan sistem.

Page 4: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

12

Komponen-komponen yang penting dan yang perlu diperhatikan

di dalam use case diagram ini adalah:

1. Use case

Fungsi yang dijalankan di dalam sistem digambarkan dengan

menggunakan lambang use case dan biasanya dilambangkan dengan

bentuk elips. Use case menunjukkan urutan dari aktivitas dan

interaksi user terhadap sistem.

Gambar 2.1 Contoh Penggunaan Use Case Di Dalam Use Case

Diagram

(Sumber: Whitten & Bentley, 2007:246)

2. Actors

Use case dipicu oleh eksternal user yang disebut actors. Actors akan

memulai aktivitas yang ada di dalam sistem dengan tujuan untuk

menyelesaikan business task yang menghasilkan nilai terukur.

Seorang actor hanya merepresentasikan peran user ketika

berinteraksi dengan sistem dan tidak menggambarkan seorang

individu maupun jabatan kerja.

Page 5: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

13

Gambar 2.2 Simbol Actor Dalam Use Case Diagram

(Sumber: Whitten & Bentley, 2007:247)

Actors ini dibagi ke dalam empat tipe yaitu:

a. Primary bussiness actor

Seorang stakeholder yang mendapatkan keuntungan dari eksekusi

use case. Primary business actor mungkin atau mungkin tidak

dapat menjalankan business event. Contohnya di dalam sebuah

business event dari seorang karyawan yang menerima gaji dari

sistem penggajian pada hari Jumat, karyawan tersebut tidak

menjalankan event tersebut melainkan hanya menjadi penerima

dari event yaitu menerima gaji.

b. Primary system actor

Stakeholder yang secara langsung berinteraksi dengan sistem

untuk menjalankan business atau system event. Primary system

actor dapat berinteraksi dengan primary business actor dengan

tujuan untuk memfasilitasi primary business actor dalam

menjalankan business event.

c. External server actor

Stakeholder yang merespons permintaan dari use case.

d. External receiver actor

Stakeholder yang menerima nilai terukur dari use case tetapi

bukanlah primary actor.

3. Relationships

Relationships digambarkan dengan garis yang berada diantara dua

simbol pada use case diagram. Pengertian dari relationships ini

berbeda menurut cara penggambaran garis dan simbol-simbol apa

Page 6: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

14

saja yang saling terhubung. Relationships ini terbagi menjadi lima

tipe, yaitu:

a. Associations

Hubungan antara seorang actor dan sebuah use case yang muncul

ketika use case menjelaskan interaksi antar kedua simbol tersebut.

Hubungan ini digambarkan dengan sebuah garis lurus yang solid.

Jika pada garis terdapat panah ketika menunjuk sebuah use case,

maka hal ini menunjukkan bahwa use case ditiru oleh actor. Jika

pada garis tidak terdapat panah, maka hal ini menunjukkan

interaksi antara use case dan external server atau receiver actor.

Ketika actor manapun diasosiasikan dengan use case, ini

dianggap bahwa actor sedang berkomunikasi dengan use case.

Hubungan asosiasi ini dapat bersifat bidirectional maupun

unidirectional.

Gambar 2.3 Contoh Association Relationship Use Case

(Sumber: Whitten & Bentley, 2007:248)

b. Extends

Untuk menyederhanakan use case, tahapan yang rumit didalam

use case dapat dikeluarkan dan dipindahkan menjadi sebuah use

case tersendiri. Hasilnya berupa extension use case yang

merupakan perpanjangan dari fungsi use case yang sebelumnya

lebih kompleks. Sebuah use case dapat memiliki banyak extended

relationship tetapi extended use case hanya dapat dipanggil oleh

use case awal. Setiap extended relationship line diberi label

<<extends>>.

Page 7: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

15

Gambar 2.4 Contoh Extended Relationship Use Case

(Sumber: Whitten & Bentley, 2007:249)

c. Uses (or Includes)

Dalam pembuatan use case diagram, ada kemungkinan

ditemukannya dua atau lebih use case yang memiliki fungsi yang

hampir serupa. Akan lebih baik jika tahapan use case yang

hampir serupa ini dipisahkan ke dalam use case tersendiri yang

disebut abstract use case. Abstract use case ini membantu untuk

mengurangi redudancy diantara use cases. Abstract use case

dapat digunakan untuk mereferensikan use case lain yang

membutuhkan fungsi ini. Hubungan antara abstract use case dan

use case yang menggunakan fungsi ini disebut uses relationship

atau includes relationship. Pada garis penghubung antar use case

terdapat label <<uses>> atau <<includes>> untuk menunjukkan

relasi ini.

Gambar 2.5 Contoh Uses Relationship Use Case

(Sumber: Whitten & Bentley, 2007:249)

Page 8: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

16

d. Depends on

Ketika sedang membuat use case diagram, sering kali ditemukan

use case yang saling bergantung dengan use case lainnya untuk

menentukan bagaimana urutan use case yang perlu

dikembangkan. Pada garis penghubung antar use case terdapat

label <<depends on>> untuk menunjukkan relasi ini.

Gambar 2.6 Contoh Depends On Relationship Use Case

(Sumber: Whitten & Bentley, 2007:250)

e. Inheritance

Ketika dua atau lebih actors berbagi use case yang sama, dapat

dilakukan pembagian actor tersebut ke dalam sebuah abstract

actor yang baru sehingga mengurangi komunikasi yang

redundant di dalam sistem. Contohnya didalam use case sistem

perpustakaan, seorang patron yang adalah actor yang dapat

melakukan “search library inventory” dan “check out book”.

Sementara visitor adalah actor yang dapat melakukan “search

library inventory” dan bisa mengajukan “apply for membership”.

Dengan menciptakan sebuah abstract baru yaitu customer yang

mana akan menjadi pewaris actor patron dan visitor.

Page 9: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

17

Gambar 2.7 Contoh Penggunaan Inheritance Dalam Use Case

(Sumber: Whitten & Bentley, 2007:250)

2.4.3 Use Case Narrative

Whitten dan Bentley (2007:246-260) menjelaskan bahwa use case

narrative digunakan untuk menggambarkan interaksi tentang

bagaimana pengguna melakukan suatu kegiatan untuk menyelesaikan

suatu tugas tertentu melalui suatu deskripsi tertulis. Use case narrative

dapat dideskripsikan dengan beberapa bagian, diantaranya:

1. Use case name

Use case name digunakan untuk menyatakan suatu tujuan tertentu

yang ingin dicapai didalam suatu use case.

2. Actor

Menyatakan stakeholder yang berinteraksi dengan sistem, dimana

actor berperan penting dalam melaksanakan jalannya use case.

3. Description

Merupakan ringkasan yang menggambarkan tujuan dari use case dan

aktivitasnya.

4. Precondition

Menyatakan suatu kondisi tertentu sebelum suatu use case

dijalankan.

5. Flow of events

Merupakan tahapan yang dilakukan oleh user atau sistem dalam

menjalankan suatu use case.

Page 10: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

18

6. Postcondition

Menyatakan kondisi yang akan terjadi sesudah suatu use case

dijalankan.

2.4.4 Activity Diagram

Whitten dan Bentley (2007:382, 391) menjelaskan bahwa activity

diagram digunakan untuk menggambarkan urutan alur aktivitas dari

sebuah use case atau proses bisnis. Activity diagram juga dapat

digunakan sebagai logika model dengan sistem. Activy diagram

diilustrasikan dengan simbol-simbol berikut:

Tabel 2.1 Simbol Activity Diagram

GambarKeterangan

Initial node adalah simbol

berbentuk lingkaran yang

merepresentasikan mulainya

activity diagram.

Actions adalah simbol yang

berbentuk rounded

rectangle yang

merepresentasikan langkah-

langkah dalam proses

activity diagram.

Flow adalah simbol yang

berbentuk panah yang

menunjukkan alur dari

activity diagram.

Page 11: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

19

GambarKeterangan

Decision adalah simbol

yang berbentuk diamond

dengan satu flow masukkan

dan menghasilkan output

dua atau lebih flow. Simbol

ini menunjukkan kondisi

yang membutuhkan pilihan

actions yang akan dilakukan

selanjutnya.

Merge adalah simbol yang

berbentuk diamond dengan

dua atau lebih flow

masukkan dan

menghasilkan hanya satu

flow output. Simbol ini

menggabungkan flows

masukkan yang sebelumnya

dipisahkan oleh decision,

dan berlanjut

Fork adalah simbol yang

berbentuk black bar dengan

satu flow masukkan dan

menghasilkan output dua

atau lebih flow. Aksi output

pararel ini dapat dilakukan

dalam urutan apapun

maupun secara bersamaan.

Page 12: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

20

GambarKeterangan

Join adalah simbol yang

berbentuk black bar dengan

dua atau lebih flow

masukkan dan

menghasilkan hanya satu

output flow. Semua flow

masukkan harus dikerjakan

terlebih dahulu sebelum bisa

melanjutkan ke proses

berikutnya.

Activity final adalah simbol

yang berbentuk lingkaran

dengan lingkaran kecil solid

didalamnya. Simbol ini

menunjukkan akhir dari

seluruh proses activity

diagram.

2.4.5 Class Responsibility Collaboration (CRC) Cards

Whitten dan Bentley (2007:657-658) menjelaskan bahwa Class

Responsibility Collaboration (CRC) cards adalah salah satu cara untuk

mengidentifikasi aktivitas yang dilakukan berhubungan dengan kelas

yang mana dan mengidentifikasikan hubungan antar kelas tersebut.

2.4.6 Class Diagram

Whitten dan Bentley (2007:370-381, 400-406) menjelaskan

bahwa class diagram digunakan untuk menggambarkan kelas-kelas

objek yang menyusun suatu sistem beserta hubungan antar kelas

tersebut.

Page 13: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

21

Class diagram terdiri dari tiga bagian utama, yaitu:

1. Nama kelas.

2. Atribut kelas.

3. Operasi kelas.

Gambar 2.8 Struktur Class Diagram

Di dalam class diagram terdapat beberapa komponen/hal penting,

yaitu:

1. Visibility

Visibility berfungsi untuk mendefinisikan apakah atribut dan operasi

pada suatu kelas dapat diakses oleh kelas lain atau tidak.

Tabel 2.2 Keterangan Visibility

Visibility Level Simbol Keterangan

Private -Hanya dapat diakses oleh kelas

itu sendiri

Protected #

Hanya dapat diakses oleh kelas

itu sendiri dan kelas

turunannya

Public +Dapat diakses oleh semua kelas

yang berhubungan

2. Multiplicity

Multiplicity berfungsi untuk menentukan banyaknya kelas yang

berhubungan.

Page 14: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

22

Tabel 2.3 Keterangan Multilicity

Multiplicity Notasi Multiplicity

Exactly 1

1

or

leave blank

Zero or 1 0..1

Zero or more

0..*

or

*

1 or more 1..*

Spesific range 7..9

Gambar 2.9 Contoh Multiplicity

(Sumber: Whitten & Bentley, 2007:377)

3. Generalization/specialization

Generalization/specialization merupakan sebuah teknik dimana

atribut dan operasi yang umum pada beberapa tipe kelas

dikelompokkan ke dalam kelasnya sendiri, yang disebut dengan

supertype. Atribut dan operasi dari objek kelas supertype diturunkan

(inherited) ke kelas objek lainnya, yang disebut dengan subtypes.

Page 15: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

23

Gambar 2.10 Contoh Generalization

(Sumber: Whitten & Bentley, 2007:376)

4. Aggregation

Aggregation merupakan suatu hubungan yang menyatakan bahwa

suatu kelas merupakan bagian dari kelas lain yang lebih besar.

Sedangkan composition merupakan sebuah aggregation yang lebih

kuat, dimana secara keseluruhan bertanggung jawab atas

terbentuknya dan hancurnya suatu part, dan setiap part berasosiasi

hanya kepada satu whole object. Pada UML 2.0, aggregation

dihapuskan karena hubungannya kurang kuat dan kurang jelas.

Page 16: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

24

Gambar 2.11 Contoh Aggregation

(Sumber: Whitten & Bentley, 2007:379)

Gambar 2.12 Contoh Composition

(Sumber: Whitten & Bentley, 2007:379)

2.4.7 Sequence Diagram

Menurut Whitten dan Bentley (2007:659), sequence diagram

adalah diagram UML yang memberikan gambaran mengenai logika dari

use case diagram dengan menggambarkan hubungan antar objek dalam

waktu yang berurutan. Sequence diagram mempunyai notasi sebagai

berikut:

Page 17: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

25

Tabel 2.4 Simbol Sequence Diagram

GambarKeterangan

Actor adalah represemtasi

dari user yang berinteraksi

dengan user interface.

Interface class adalah

representasi yang

menggambarkan user

interface class code.

Controller classes berfungsi

untuk menentukan aktivitas

apa yang akan dilakukan

sebuah kelas dan parameter

apa saja yang diterima dan

dikembalikan serta

menghubungkan kelas

interface dengan kelas

entity.

Entity Class adalah kelas

yang melakukan suatu

aktivitas terhadap data yang

ada di dalam database.

Messages mengindikasikan

bahwa adanya pesan yang

masuk yang dikirimkan ke

kelas tertentu.

Page 18: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

26

GambarKeterangan

Activation bars berfungsi

untuk menunjukkan alur

hidup dari setiap instance

object yang digunakan

selama periode waktu

tertentu.

Return messages merupakan

pengembalian atau respon

yang diberikan dari sebuah

messages.

Self Call adalah sebuah

objek yang dapat

memanggil methodnya

sendiri.

Frame adalah sebuah kotak

yang menggambarkan

bahwa ada satu atau lebih

pesan yang opsional.

Page 19: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

27

Gambar 2.13 Sequence Diagram of the Place New Order Use Case

(Sumber: Whitten & Bentley, 2007:659)

2.5 Data Dictionary

Menurut Connolly & Begg (2010:65), data dictionary merupakan suatu

penggambaran sifat database yang menyediakan data independence dimana

terdapat nama entitas dan deskripsi dari entitas tersebut. Setiap atribut yang

diidentifikasikan memberikan fungsi yang berguna bagi pengguna.

2.6 Interaksi Manusia dan Komputer

Untuk menunjang kemudahan pengguna ketika berinteraksi dengan

komputer, maka diperlukan dasar-dasar teori berikut:

2.6.1 Pengertian Interaksi Manusia dan Komputer

Menurut Shneiderman dan Plaisant (2010:22), interaksi manusia

dan komputer adalah pengaplikasian metode-metode yang digunakan

oleh manusia dalam penerapan penggunaan komputer sehingga dapat

meningkatkan efektivitas, efisiensi, dan kepuasan dalam melakukan

sebuah pekerjaan.

2.6.2 Lima Faktor Manusia Terukur

Menurut Shneiderman dan Plaisant (2010:32), faktor-faktor yang

harus diperhatikan dalam merancang user interface disebut lima faktor

Page 20: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

28

manusia terukur. Lima faktor manusia terukur merupakan sebuah

standarisasi untuk mengukur apakah sebuah aplikasi telah mencapai

tujuannya atau belum agar aplikasi tersebut dapat menjadi lebih efektif,

efisien, dan memberikan kepuasan kepada user. Faktor-faktor tersebut

antara lain:

1. Time to learn (waktu belajar)

Lamanya waktu yang diperlukan oleh user agar dapat mempelajari

bagaimana cara menggunakan aksi-aksi yang relevan dalam

mengerjakan suatu tugas.

2. Speed of performance (kecepatan kinerja)

Lamanya waktu yang dibutuhkan dalam mengerjakan suatu tugas.

3. Rate of errors by users (tingkat kesalahan)

Seberapa banyak dan tipe kesalahan apa saja yang dibuat oleh

pengguna dalam mengerjakan suatu tugas.

4. Retention over time (daya ingat)

Seberapa baik pengguna mempertahankan pengetahuannya dalam

jangka waktu tertentu.

5. Subjective satisfaction (kepuasan subjektif)

Banyaknya pengguna yang suka menggunakan antarmuka (interface)

yang beraneka ragam. Untuk mengetahui hal tersebut, dapat

dilakukan wawancara (interview) dan surveys.

2.6.3 Delapan Aturan Emas

Shneiderman dan Plaisant (2010:88-89) menjelaskan tentang

delapan prinsip yang disebut sebagai “aturan emas”. Prinsip ini

merupakan sebuah panduan dalam pembuatan user interface yang baik

agar user dapat mengendalikan sistem sehingga produktivitas kerja

menjadi meningkat. Prinsip-prinsip tersebut, antara lain:

1. Strive for consistency

Konsistensi dibutuhkan dalam segala situasi, dalam pengunaan

tampilan seperti menu, help screen, warna, layout, kapitalisasi, font,

dan sebagainya.

Page 21: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

29

2. Cater to universal usability

Mengenali kebutuhan dari pengguna yang berbeda-beda serta

memfasilitasi perubahan konten. Perbedaan tersebut meliputi rentang

usia ketidakmampuan, dan perbedaan teknologi dalam setiap

kebutuhan panduan desain.

3. Offer informative feedback

Untuk setiap aksi pengguna, seharusnya ada umpan balik (feedback)

yang jelas.

4. Design dialogs to yield closure

Urutan langkah suatu aksi seharusnya disusun ke dalam grup dengan

awal, tengah, dan akhir. Umpan balik yang informatif pada akhir

aksi haruslah memberikan kepuasan.

5. Prevent errors

Dalam melakukan perancangan sistem, sebaiknya menghindari

terjadinya kesalahan (error) yang serius atau fatal ketika sistem

digunakan oleh user.

6. Permit easy reversal of actions

Aksi-aksi yang dilakukan didalam sistem harus dapat dikembalikan

ke aksi atau keadaan yang sebelumnya, sehingga ketika pengguna

mengetahui adanya kesalahan aksi tersebut dapat dibatalkan

(cancel).

7. Support internal locus of control

Pengguna yang berpengalaman menginginkan experience

pengendalian dimana pengguna menguasai antarmuka dan

antarmuka tersebut merespons aksi tersebut.

8. Reduce short-term memory load

Keterbatasan pemrosesan informasi dalam memori jangka pendek

pengguna merupakan salah satu hal yang harus diperhatikan.

2.7 Microsoft Visual Studio 2012

Microsoft Visual Studio 2012 adalah sebuah software yang esensial

untuk menjalankan tugas pengembangan sederhana. Software ini

menyederhanakan pembuatan aplikasi, debugging, dan peluncuran dari aplikasi

diberbagai platform termasuk SharePoint dan Cloud. Visual Studio 2012 juga

Page 22: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

30

terintegrasi bantuan untuk pengembangan dengan metode test-driven, serta

debugging tool yang menjamin kualitas program yang baik. (Anonim1, 2013)

2.8 OpenCV

OpenCV adalah sebuah library yang berisi fungsi programming untuk

ilmu computer vision. (Anonim2, 2013)

2.9 Emgu CV

Emgu CV adalah sebuah .NET wrapper lintas platform untuk library

OpenCV dalam pengolahan citra digital sehingga fungsi-fungsi dari OpenCV

dapat dipanggil dari bahasa-bahasa .NET, seperti C#, VB, VC++, IronPhyton,

dan sebagainya. (Anonim3, 2013)

2.10 MongoDB

MongoDB adalah sebuah basis data dokumen yang open source dan

merupakan NoSQL database terkemuka serta ditulis dalam C++. (Anonim4,

2013)

2.11 Tesseract OCR

Tesseract OCR merupakan OCR engine yang dapat membaca image dan

mengubahnya menjadi text. (Anonim5, 2013)

2.12 ITextSharp

ITextSharp merupakan library yang dapat membantu suatu aplikasi untuk

dapat mengelola file PDF. (Anonim6, 2013)

2.13 AForge.NET Framework

AForge.NET merupakan framework yang dirancang untuk meneliti pada

bidang computer vision dan artificial intelligence, yang meliputi image

processing, neural network, machine learning, robotic, dan lain-lain.

(Anonim7, 2013)

Page 23: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

31

2.14 Artificial Intelligence (AI)

Pada dasarnya, banyak pandangan serta pengertian mengenai AI, dan

secara garis besar, Russel dan Norvig (2010:2) membagi pengertian AI

kedalam empat kategori utama, diantaranya:

1. Thinking humanly

Pada kategori ini, AI dijelaskan sebagai suatu usaha baru untuk dapat

membuat komputer dapat berpikir, suatu mesin yang memiliki pikiran

secara penuh dan memiliki rasa, atau dengan kata lain dapat juga disebut

sebagai kegiatan yang mengadopsi cara manusia berpikir, seperti

pengambilan keputusan, penyelesaian masalah, pembelajaran, dan

sebagainya.

2. Thinking rationally

Pada kategori ini, AI dijelaskan sebagai suatu studi melalui pemodelan

komputasi, dimana studi AI ini dapat membuat segala sesuatu mungkin

untuk dapat dipersepsikan dan memiliki alasan untuk dilakukan.

3. Acting humanly

Pada kategori ini, AI dijelaskan sebagai suatu seni untuk membuat mesin

dapat menampilkan fungsi yang membutuhkan kecerdasan ketika digunakan

oleh manusia.

4. Acting Rationally

Pada kategori ini, AI dijelaskan sebagai studi tentang perancangan agen-

agen kecerdasan (intelligent agents) dan AI difokuskan pada perilaku yang

cerdas.

2.15 Computer Vision

Menurut Shapiro dan Stockman (2001:1) computer vision adalah sebuah

cabang studi dari ilmu kecerdasan buatan yang bertujuan untuk membantu

pengambilan keputusan yang tepat mengenai deskripsi objek maupun scenes

yang ada didalam sebuah image.

2.16 Image Processing

Menurut Russel dan Norvig (2010:965) Image Processing adalah suatu

proses untuk mengekstraksi informasi visual yang dibutuhkan untuk

menjalankan tugas manipulasi, navigasi, dan recognition.

Page 24: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

32

2.17 Digital Image

Saphiro dan Stockman (2001:3, 10-11, 29) menyatakan bahwa sebuah

image dua dimensi (2D) yang direpresentasikan oleh array diskrit 2D I[r,c]

dimana I merupakan nama array, dan r dan c adalah angka row dam column.

Digital image memiliki jumlah baris dan kolom picture element (pixel)

yang tetap, dan bernilai antara 0 – 255 yang menyatakan brightness pada titik-

titik gambar. Angka 0 menyatakan titik tergelap sementara 255 menyatakan

titik terterang dari gambar.

Nilai pixel dapat dibuah berdasarkan hubungannya dengan sejumlah nilai

pixel yang bersebelahan (kolom dan baris) untuk mengurangi noise yang

mungkin terjadi pada saat digitization process serta dapat berfungsi untuk

menyederhanakan konten dari sebuah gambar, seperti pada proses background

subtraction.

Gambar 2.14 Array Pixel Pada Digital Image

(Sumber: Saphiro & Stockman, 2001:2)

Gambar 2.15 Representasi Gambar Dari Pixel Pada Digital Image

(Sumber: Saphiro & Stockman, 2001:2)

Page 25: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

33

2.18 Detection

Menurut Forsyth dan Ponce (2012:549) detection merupakan metode

untuk mengindentifikasi image yang memiliki sebuah objek yang

mendominasi.

2.19 Recognition

Bradski dan Kaehler (2008:461) menjelaskan bahwa recognition

merupakan suatu keadaan ketika komputer memberikan nama dari suatu objek.

2.20 Grayscale

Menurut Saphiro dan Stockman (2001:30), grayscale image adalah

sebuah monochrome digital image I[r,c] dengan satu nilai intensitas per pixel.

Gambar 2.16 Contoh Grayscale Image

(Sumber:

http://www.aforgenet.com/framework/docs/html/img/imaging/sample1.jpg,

2013)

2.21 Binary Image

Menurut Saphiro dan Stockman (2001:30, 51-52) binary image adalah

sebuah digital image dengan semua nilai pixel adalah 0 atau 1 yang didapatkan

dari sebuah image grayscale atau color image melalui proses segmentasi.

Angka 1 digunakan sebagai foreground pixel, sedangkan angka 0 digunakan

sebagai background pixel. Binary image dinyatakan dalam bentuk B[r,c].

Page 26: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

34

Gambar 2.17 Array pixel of binary image

(Sumber: Saphiro & Stockman, 2001:5)

Dari array diatas kemudian didapatkan gambar sebagai berikut:

Gambar 2.18 Representasi Gambar Binary Image

(Sumber: Saphiro & Stockman, 2001:5)

2.22 Red, Green, Blue

Saphiro dan Stockman (2001:191-193) menjelaskan bahwa dengan

menggunakan tiga tipe receptors, manusia dapat membedakan beribu macam

warna. Trichromatic red green blue (RGB) didalam sistem grafis biasanya

menggunakan three bytes enabling (28)3 dan menghasilkan kurang lebih 16 juta

kode warna yang berbeda. Tiap 3-byte atau 24-bit RGB pixel selalu ada

masing-masing 1 byte (range antara 0 – 255) untuk warna merah, hijau, biru.

Urutan munculnya warna pada memory bisa berbeda-beda dan penting dalam

programming.

Page 27: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

35

Tabel 2.5 Digital Trichromatic Color Encoding System

Color RGB

Red (255, 0, 0)

Yellow(255, 255, 0)

(100, 100, 50)

Green (0, 255, 0)

Blue (0, 0, 255)

White (255, 255, 255)

Grey

(192, 192, 192)

(127, 127, 127)

(63, 63, 63)

Black (0, 0, 0)

Sistem RGB adalah sebuah sistem penambahan warna karena warna yang

diciptakan dihasilkan dari penambahan komponen ke warna hitam: (0, 0, 0).

Hasilnya akan direspons baik terhadap monitor yang memiliki tiga tipe fosfor

untuk memancarkan cahaya.

Di dalam RGB terdapat persamaan normalisasi yang digunakan untuk

melakukan normalisasi data gambar. Normalisasi tersebut berfungsi sebagai

interpretasi oleh program komputer dan orang-orang dalam melakukan

transformasi ke dalam sistem warna lainnya. Adapun persamaan normalisasi

tersebut antara lain:

Intensity

Nomalized red

Nomalized green

Nomalized blue

2.23 Binary Image Morphology

Menurut Saphiro dan Stockman (2001:63-68), istilah morfologi dalam

computer vision digunakan untuk merujuk bentuk sebuah area tertentu.

Page 28: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

36

Morfologi ini digunakan untuk memproses area dari operasi component

labelling yang saling terhubung.

Operasi pada morfologi binary adalah dengan memasukkan sebuah

binary image B dan structuring element S, yang umumnya adalah sebuah

binary image yang lebih kecil. Structuring element merepresentasikan sebuah

bentuk dimana ukurannya bisa bervariasi. Tetapi ada ukuran tertentu untuk

structuring element umum seperti bentuk segi empat dengan dimensi yang

spesifik [BOX(h,w)] atau daerah lingkaran dengan diameter yang spesifik

[DISK(d)].

Gambar 2.19 Contoh BOX(3,5)

(Sumber: Saphiro & Stockman, 2001:64)

Gambar 2.20 Contoh DISK(5)

(Sumber: Saphiro & Stockman, 2001:64)

Ada empat operasi dasar untuk melakukan morfologi binary yaitu

dilatasi, erosi, closing dan opening. Dilatasi digunakan untuk memperbesar

wilayah, sementara erosi digunakan untuk memperkecil wilayah. Closing dapat

digunakan untuk menutup internal holes di dalam wilayah dan menghilangkan

bays sepanjang boundary. Opening dapat digunakan untuk menghilangkan

bagian kecil dari wilayah yang keluar dari boundary.

Rumus untuk dilatasi adalah sebagai berikut:

Rumus untuk erosi adalah sebagai berikut:

Page 29: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

37

Rumus untuk closing adalah sebagai berikut:

Rumus untuk opening adalah sebagai berikut:

Gambar 2.21 Binary Image B

(Sumber: Saphiro & Stockman, 2001:67)

Gambar 2.22 Structuring Element

(Sumber: Saphiro & Stockman, 2001:67)

Page 30: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

38

Gambar 2.23 Dilation

(Sumber: Saphiro & Stockman, 2001:67)

Gambar 2.24 Erotion

(Sumber: Saphiro & Stockman, 2001:67)

Gambar 2.25 Closing

(Sumber: Saphiro & Stockman, 2001:67)

Page 31: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

39

Gambar 2.26 Opening

(Sumber: Saphiro & Stockman, 2001:67)

2.24 Thresholding

Menurut Jain, Kasturi, Schunck (1995:28-31) thresholding adalah sebuah

proses segmentasi untuk mengidentifikasikan objek-objek yang berada di

dalam sebuah gambar. Dengan thresholding, grayscale image dapat diubah

menjadi binary image sehingga objek dapat dipisahkan dari background. Agar

proses thresholding ini lebih efektif dalam memisahkan objek dan background,

perlu diketahui level intensitas dari objek dan background serta memiliki

kontras yang cukup.

Jika sebuah binary image adalah B[i,j] sama dengan sebuah thresholded

gray image FT[i,j] yang didapat dengan cara threshold T untuk original gray

image F[i,j], maka:

B[i,j] = FT[i,j]

dimana untuk objek yang lebih gelap dan background yang lebih terang:

Jika diketahui nilai intensitas objek berada didalam range [T1, T2], maka:

Page 32: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

40

Sebuah skema thresholding yang intensitas level dari objeknya mungkin

berasal dari beberapa interval yang terurai dapat direpresentasikan sebagai

berikut:

dimana Z adalah sekelompok nilai intensitas untuk komponen objek.

2.25 Algoritma

Deitel dan Deitel (2010:87) menjelaskan bahwa algoritma merupakan

sebuah prosedur yang digunakan untuk menyelesaikan suatu masalah

(problem) dengan mengurutkan suatu langkah aksi yang akan dieksekusi.

2.26 Teks

Menurut definisi Kamus Besar Bahasa Indonesia (KBBI), teks

merupakan wacana tertulis.

2.27 Machine Print and Handwriting Text

Srivasva, Raj, Patnaik, dan Kumar (2013) menjelaskan beberapa

perbedaan karakteristik antara text machine print dan handwriting:

1. Penulisan karakter pada machine print akan selalu lurus sedangkan karakter

handwriting bisa lurus dan bisa juga tidak.

2. Jarak spasi pada tulisan machine print mempunyai jarak yang jelas dan kecil

kemungkinan untuk terjadi overlapping antar tulisan, sementara

handwriting memungkinan terjadinya overlapping sehingga menyulitkan

tejadinya proses segmentasi.

3. Tulisan machine print memiliki tinggi tulisan yang cenderung sama,

sedangkan handwriting memiliki tinggi yang berbeda-beda.

2.28 Optical Character Recognition (OCR)

Charles, Harish, Swathi, dan Deepthi (2012) menjelaskan bahwa Optical

Character Recognition merupakan suatu sistem yang dapat mengenali karakter

tulisan yang dicetak atau tulisan tangan dengan melakukan scan pada

dokumen.

Page 33: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

41

2.29 Jaringan Syaraf Tiruan (Neural Network)

Menurut Fausett (1994:3-19) jaringan syaraf tiruan adalah sistem

pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf

biologi. JST dapat digunakan sebagai pengenalan pola (pattern recognition),

signal processing, peramalan, dan hal lainnya lagi. JST ditentukan oleh tiga

hal, antara lain:

1. Pola hubungan antar neuron (arsitektur jaringan).

Beberapa arsitektur jaringan yang sering dipakai antara lain:

a. Jaringan layar tunggal (single layer network)

Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung

dengan sekumpulan output.

Gambar 2.27 Jaringan Layar Tunggal

(Sumber: Fausett, 1994:13)

b. Jaringan layar jamak (multi layer network)

Jaringan ini merupakan perluasan dari jaringan layar tunggal, dimana

selain unit input dan output, terdapat unit lainnya lagi yang disebut layar

tersembunyi (hidden layer). Jaringan ini dapat menyelesaikan masalah

yang lebih kompleks dibandingkan dengan jaringan layar tunggal,

meskipun terkadang proses pelatihan lebih kompleks dan lama.

Page 34: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

42

Gambar 2.28 Jaringan Layar Jamak

(Sumber: Fausett, 1994:13)

c. Jaringan competitive

Jaringan ini membentuk bagian yang besar pada neural network.

Competitive interconnections mempunyai bobot –ε dan menggunakan

operasi winner-take-all competition.

Gambar 2.29 Jaringan Competitive

(Sumber: Fausett, 1994:14)

Page 35: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

43

2. Metode untuk menentukan bobot penghubung (metode

training/learning/algoritma).

Berdasarkan cara memodifikasi bobotnya, ada dua macam pelatihan, antara

lain:

a. Pelatihan dengan supervisi (supervised)

Dalam pelatihan ini, terdapat sejumlah pasangan data (input dan target

output) yang dipakai untuk melatih jaringan hingga diperoleh bobot yang

diinginkan. Pada setiap kali pelatihan, suatu input diberikan ke jaringan.

Jaringan akan memproses dan mengeluarkan output. Selisih antara output

dan target output merupakan kesalahan (error) yang terjadi. Jaringan

akan memodifikasi bobot sesuai dengan kesalahan tersebut. Contoh

jaringan yang menggunakan pelatihan ini adalah perceptron, ADALINE,

dan backpropagation.

b. Pelatihan tanpa supervisi (unsupervised)

Dalam pelatihan ini, perubahan bobot jarignan dilakukan berdasarkan

parameter tertentu dan jaringan dimodifikasi menurut ukuran parameter

tersebut.

3. Fungsi aktivasi.

Fungsi aktivasi dipakai untuk menentukan keluaran suatu neuron. Argumen

fungsi aktivasi adalah net masukan (kombinasi linier masukan dan

bobotnya). Jika net = , maka fungsi aktivasinya adalah

Beberapa fungsi aktivasi yang sering dipakai antara

lain:

a. Fungsi identitas

b. Fungsi threshold (binary step)

c. Fungsi sigmoid biner

Nilai dari fungsi ini terletak antara 0 dan 1. Turunan dari fungsi ini

adalah:

Page 36: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

44

d. Fungsi sigmoid bipolar

Nilai dari fungsi ini terletak antara -1 dan 1. Turunan dari fungsi ini

adalah:

Terkadang dalam jaringan ditambahkan sebuah unit masukan yang

nilainya selalu satu (1), yang disebut dengan bias. Bias berfungsi untuk

mengubah nilai threshold menjadi nol (0). Jika melibatkan bias, maka

keluaran unit penjumlah adalah:

2.30 Backpropagation

Fausset (1994:289-296) menjelaskan bahwa backpropagation melatih

jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk

mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan

untuk memberikan respon yang benar terhadap pola masukan yang serupa

dengan pola yang dipakai selama pelatihan. Backpropagation sendiri memiliki

kelemahan yaitu pelatihan yang memerlukan waktu yang lama.

1. Arsitektur backpropagation

Gambar 2.30 Backpropagation Dengan Satu Hidden Layer

Page 37: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

45

(Sumber: Fausett, 1994:291)

2. Fungsi aktivasi

Fungsi aktivasi yang dipakai harus memenuhi beberapa syarat, yaitu

kontinu, terdiferensial dengan mudah, dan merupakan fungsi yang tidak

turun. Fungsi yang sering dipakai dan memenuhi ketiga syarat tersebut

adalah fungsi sigmoid biner serta fungsi sigmoid bipolar.

3. Pelatihan standar backpropagation

Adapun algoritma yang digunakan dalam pelatihan backpropagation antara

lain:

a. Inisialisasi semua bobot dengan bilangan acak kecil (-0.5 s/d 0.5).

b. Jika kondisi penghentian belum terpenuhi, lakukan langkah c sampai i.

c. Untuk setiap pasang data pelatihan, lakukan langkah d sampai i.

Fase I: Propagasi maju

d. Tiap unit masukan menerima sinyal dan meneruskannya ke unit

tersembunyi di atasnya.

e. Hitung semua keluaran di unit tersembunyi

f. Hitung semua keluaran jaringan di unit

Fase II: Propagasi mundur

g. Hitung faktor unit keluaran berdasarkan kesalahan di setiap unit

keluaran

Page 38: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

46

merupakan unit kesalahan yang akan dipakai dalam perubahan bobot

layardi bawahnya (langkah h)

Hitung suku perubahan bobot dengan laju percepatan

h. Hitung faktor unit tersembunyi berdasarkan kesalahan di setiap unit

tersembunyi

Faktor unit tersembunyi

Hitung suku perubahan bobot (yang akan dipakai nanti untuk

merubah bobot )

Fase III: Perubahan bobot

i. Hitung semua perubahan bobot

Perubahan bobot garis yang menuju ke unit keluaran:

Perubahan bobot garis yang menuju ke unit tersembunyi:

Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk

pengenalan pola. Pada pengenalan pola, hanya digunakan algoritma e dan

f saja. Apabila fungsi aktivasi yang digunakan bukan sigmoid biner,

maka langkah e dan f harus disesuaikan, demikian juga turunannya pada

langkah g dan h.

2.31 Jarak

Kadir dan Susanto (2013:567) menjelaskan bahwa jarak adalah

pendekatan yang umum dipakai untuk menentukan kesamaan atau

Page 39: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

47

ketidaksamaan dua vektor fitur yang dinyatakan dengan ranking. Semakin

kecil nilai ranking, semakin dekat kesamaan kedua vektor tersebut.

Pengukuran jarak dapat dilakukan dengan beberapa cara, akan tetapi yang

umum digunakan adalah jarak Euclidean. Jarak Euclidean didefinisikan

sebagai berikut:

dimana dan adalah dua vektor yang jaraknya akan dihitung dan N

menyatakan panjang vektor.

2.32 Hasil Penelitian Sebelumnya

Pada jurnal yang ditulis oleh Dongre dan Mankar (2011), dapat diketahui

bahwa dalam bidang ilmu machine learning dapat dilakukan pengenalan huruf.

Dongre dan Mankar mengembangkan sebuah metode untuk komputer

mengenali tulisan Devganari, tulisan Hindi India. Dengan melakukan

segmentasi sebelum proses pengenalan huruf, maka dapat dicapai pengenalan

huruf yang lebih baik karena tingkat akurasi pengenalan huruf sangat

bergantung dengan proses segmentasi. Hal pertama yg perlu dilakukan adalah

melakukan preprocessing terhadap image yaitu thresholding dan binarization,

noise reduction untuk mengurangi kecacatan image, skew detection and

correction, dan thining dilakukan untuk menipiskan tulisan supaya tulisan lebih

mudah dideteksi. Preprocessed image selanjutnya akan disegmentasi. Ada 3

tahapan segmentasi yang dilakukan yaitu line segmentation, word

segmentation, character segmentation. Dari hasil segmentasi yang dilakukan,

dapat diketahui bahwa tingkat keberhasilan line segmentation adalah hampir

mendekati 100%. Word segmentation akurat selama dokumen hanya

mengandung karakter. Ketika muncul angka numeral Devganari, maka tingkat

akurasi akan menurun sampai sekitar 91%. Tetapi untuk tingkat akurasi

character recognition sekitar 55% dikarenakan karakter yang disegmentasi

menjadi lebih banyak jumlahnya daripada karakter yang tertera pada dokumen

aslinya. Hal ini terjadi karena Devganari merupakan dua dimensional script

sebagai konsonan yang dimodifikasi dari berbagai sisi, atas, bawah, kanan, kiri

Page 40: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

48

untuk membentuk sebuah kata yang memiliki makna. Hasil penelitian ini

walaupun tidak sempurna, tetap dapat membuktikan bahwa optical character

recognition (OCR) dapat dilakukan.

Kemudian dari jurnal yang dituliskan oleh Thungamani dan Kumar

(2012), dapat diketahui bahwa proses OCR juga dapat diterapkan dalam

mengenali huruf Kannada, sebuah bahasa yang digunakan oleh penduduk di

bagian India Selatan tepatnya di provinsi Karnataka, Kannada. Sama seperti

penelitian yang dilakukan oleh Vikas dan Vijay sebelumnya, Thugamani dan

Kumar juga melakukan preprocessing image dan segmentasi. Segmentasi

tersebut juga dilakukan dalam 3 tahap yaitu line segmentation, word

segmentation, character segmentation. Selain itu, dilakukan juga proses

horizontal and vertical projection untuk memisahkan karakter huruf Kannada.

Kemudian dalam proses segmentasi ini juga terdapat proses untuk menemukan

connected component (CC) didalam binary image, dimana setiap CC, ratio

antara tinggi dan lebar maupun pixel hitam dan putih diperhitungkan didalam

kotak pembatas CC. Hal ini lakukan supaya analisis karakter dapat diproses

lebih cepat. Hasil dari penelitian ini adalah dengan penggunaan metode

horizontal and vertical projection serta pencarian CC meningkatkan kecepatan

proses OCR 4 kali lebih cepat dibandingkan dengan projection analysis.

Anupama, Rupa, dan Reddy (2013) melakukan penelitian mengenai

segmentasi terhadap Telugu image document dengan menggunakan multiple

histogram projection. Telugu adalah bahasa yang paling populer digunakan di

India Selatan. Serupa dengan penelitian yang telah dilakukan sebelumnya,

dilakukan preprocessing image sebelum masuk ke tahapan segmentasi. Setelah

itu, Anupama, Rupa, dan Reddy melakukan proses false line exclusion

meniadakan noise yang mungkin ada didekat daerah text line. Ketika sudah

disegmentasi, kemudian akan dikalkulasikan rata-rata dari tinggi daerah garis

untuk meniadakan false lines yang mungkin terdeteksi. Lalu, dengan

menghitung rata-rata lebar dari kata yang berada pada sumbu X dan jika kata

tersebut tidak sesuai dengan threshold maka akan dianggap sebagai kata yang

salah. Proses ini disebut false word exclusion. Hasil yang didapatkan dari

penelitian ini adalah dengan melakukan proses-proses diatas, tingkat akurasi

pengenalan huruf Telugu adalah 99% untuk dokumen yang memiliki kualitas

yang baik. Kekurangan dari penelitian ini adalah ketika ada karakter yang

Page 41: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

49

saling menempel akan mengakibatkan kegagalan segmentasi. Selain itu masih

terjadi error terhadap segmentasi baris yang saling menumpuk. Algoritma

heuristik diperlukan untuk menyelesaikan masalah tersebut dan untuk

mengembalikan kata yang hilang.

Dari ketiga penelitian diatas diketahui bahwa proses OCR ini lebih sulit

dilakukan pada huruf Hindi seperti Devganari, Kannada, maupun Telugu.

Tetapi tidak menutup kemungkinan bahwa proses OCR ini dapat dilakukan

untuk huruf latin. Dengan proses yang serupa, pengenalan karakter tulisan

dapat dilakukan.

Tabel 2.6 Hasil Penelitian Sebelumnya

No Nama Judul Metode Keterangan

1. Vikas J Dongre,

Vijay J Mankar

Devgnari

Document

Segmentation

Using Histogram

Approach (2011)

Menggunakan

line

segmentation,

word

segmentation,

character

segmentation.

Penelitian ini

membahas

bahwa

pengenalan

huruf

Devganari

dengan

menggunakan

line

segmentation,

word

segmentation,

character

segmentation

dapat dilakukan

walaupun

hasilnya belum

100% akurat.

2. M.

Thungamani, P.

Ramakhanth

A Survey of

Methods and

Strategies in

Melakukan

vertical

horizontal

Penelitian ini

dilakukan

untuk

Page 42: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1... · Web viewDecision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output

50

No Nama Judul Metode Keterangan

Kumar Handwritten

Kannada

Character

Segmentation

(2012)

projection

dan

menghitung

ratio

connected

component

didalam

proses

segmentasi.

mengetahui

seberapa cepat

pengenalan

huruf dengan

metode vertical

horizontal

projection.

3. N. Anupama,

Ch. Rupa &

Prof. E.

Sreenivasa

Reddy

Character

Segmentation for

Telugu Image

Document using

Multiple

Histogram

Projections(2013)

Menggunakan

proses false

line exclusion

dan false

word

exclusion.

Penelitian ini

bertujuan untuk

mengetahui

metode

pengenalan

telugu image

document.