bab 2 landasan teori - library & knowledge...

55
7 BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Perangkat Lunak (Software) 2.1.1.1 Definisi Perangkat Lunak Komputer merupakan mesin yang memproses fakta atau data menjadi informasi. Komputer di gunakan orang untuk meningkatkan hasil kerja dan memecahkan berbagai masalah. Yang menjadi pemroses data atau pemecah masalah itu adalah perangkat lunak. Menurut Pressman (2010, p4), umumnya buku teks menjelaskan definisi perangkat lunak sebagai berikut: (1) Perintah (program computer) yang jika dijalankan akan menampilkan hasil sesuai dengan yang diinginkan. (2) Struktur data yang memungkinkan sebuah program untuk mengubah suatu informasi. (3) Informasi deskriptif dalam bentuk hardcopy atau softcopy yang menjelaskan cara kerja dan manfaat sebuah program. 2.1.1.2 Karakteristik Perangkat Lunak Secara garis besar, karakteristik perangkat lunak berbeda dengan perangkat keras. Menurut Pressman (2010, p4) karakteristik dari perangkat lunak adalah: 1. Perangkat lunak direkayasa, bukan dibuat dalam bentuk fisik. 2. Perangkat lunak tidak usang, namun memburuk. 3. Meski industri telah menuju perakitan berbasis komponen, tetapi sebagian besar perangkat lunak masih direkayasa secara unik.

Upload: lenhan

Post on 07-Mar-2019

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

7

BAB 2

LANDASAN TEORI

2.1 Teori Umum

2.1.1 Perangkat Lunak (Software)

2.1.1.1 Definisi Perangkat Lunak

Komputer merupakan mesin yang memproses fakta atau data menjadi informasi.

Komputer di gunakan orang untuk meningkatkan hasil kerja dan memecahkan berbagai

masalah. Yang menjadi pemroses data atau pemecah masalah itu adalah perangkat

lunak.

Menurut Pressman (2010, p4), umumnya buku teks menjelaskan definisi

perangkat lunak sebagai berikut: (1) Perintah (program computer) yang jika dijalankan

akan menampilkan hasil sesuai dengan yang diinginkan. (2) Struktur data yang

memungkinkan sebuah program untuk mengubah suatu informasi. (3) Informasi

deskriptif dalam bentuk hardcopy atau softcopy yang menjelaskan cara kerja dan

manfaat sebuah program.

2.1.1.2 Karakteristik Perangkat Lunak

Secara garis besar, karakteristik perangkat lunak berbeda dengan perangkat

keras. Menurut Pressman (2010, p4) karakteristik dari perangkat lunak adalah:

1. Perangkat lunak direkayasa, bukan dibuat dalam bentuk fisik.

2. Perangkat lunak tidak usang, namun memburuk.

3. Meski industri telah menuju perakitan berbasis komponen, tetapi sebagian besar

perangkat lunak masih direkayasa secara unik.

Page 2: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

8

2.1.1.3 Rekayasa Perangkat Lunak

Dalam buku yang ditulis Pressman (2010, p13), Fritz Bauer menjelaskan bahwa

definisi dari rekayasa perangkat lunak adalah pembuatan perangkat lunak dengan

menggunakan prinsip rekayasa yang kuat untuk menghasilkan perangkat lunak yang

ekonomis, handal, dan bekerja secara efisien. Pressman (2010, p13), mendefinisikan

rekayasa perangkat lunak merupakan teknologi yang bertingkat atau berlapis, lapisan-

lapisan teknologi tersebut adalah sebagai berikut:

Gambar 2.1 Lapisan Teknologi Rekayasa Perangkat Lunak

(Sumber: Pressman, 2010, p14)

1. Berpusat pada kualitas (a quality focus)

Semua proses perancangan (termasuk rekayasa perangkat lunak) sangat dipengaruhi

oleh komitmen organisasi terhadap kualitas. Filosofi – filosofi tentang kualitas akan

terus memperbaiki proses perancangan dan akhirnya akan berpengaruh terhadap

pendekatan rekayasa perangkat lunak yang lebih efektif.

2. Proses (process)

Lapisan ini merupakan lapisan yang menghubungkan teknologi – teknologi yang

digunakan dalam perancangan program dan memungkinkan pembuatan program

Page 3: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

9

diselesaikan dengan tepat waktu. Proses ini mendefinisikan framework yang harus

dibuat agar teknologi yang digunakan dalam pembuatan program dapat

dimanfaatkan dengan efektif.

3. Metode (Methods)

Lapisan metode dari rekayasa perangkat lunak menjelaskan secara teknis bagaimana

cara membangun perangkat lunak. Lapisan ini terdiri dari tugas-tugas yang

mencakup tentang: analisis kebutuhan (requirement analysis), model desain (design

modelling), pembuatan program (program construction), pengujian (testing) dan

pendukung (support).

4. Alat (Tools)

Lapisan ini menyediakan bantuan secara otomatis dan semi-otomatis untuk Lapisan

proses dan metode. Ketika alat sudah terintegrasi sehingga informasi yang dihasilkan

oleh suatu alat dapat digunakan oleh yang lain, maka terbentuklah sebuah sistem

untuk membantu proses perekayasaan perangkat lunak yang disebut Computer Aided

Software Engineering.

2.1.1.4 Paradigma Rekayasa Perancangan Perangkat Lunak

Dalam rekayasa perangkat lunak aplikasi ini, paradigma yang digunakan adalah

Software Development Life Cycle atau yang biasa disebut dengan Waterfall Model.

Paradigma ini berguna untuk mengidentifikasi aktivitas-aktivitas yang terjadi dalam

proses pengembangan perangkat lunak. Tahapan-tahapan model Software Life Cycle

digambarkan sebagai berikut:

Page 4: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

10

Gambar 2.2 Waterfall model

(Sumber: Sommerville, 2011, p30)

Tahapan utama dari waterfall model mencakup serangkaian kegiatan

pengembangan mendasar, yaitu:

1. Analisis dan definisi kebutuhan

Fitur, pembatas, dan tujuan dari sistem dibuat berdasarkan konsultasi dengan user.

Hal – hal itu kemudian menjadi spesifikasi dari sistem tersebut.

2. Perancangan sistem dan piranti lunak

Proses ini mengalokasi kebutuhan – kebutuhan yang ada ke perangkat keras atau

sistem perangkat lunak dengan membuat arsitektur sistem secara keseluruhan.

Desain perangkat lunak melibatkan identifikasi dan penjelasan fundamental dari

abstrak sistem dan hubungannya.

3. Implementasi dan unit testing

Page 5: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

11

Pada tahap ini, desain perangkat lunak diwujudkan dalam bentuk unit – unit

program. Unit testing bertujuan untuk memastikan bahwa setiap unit program

dibuat sesuai dengan spesifikasinya.

4. Penggabungan dan pengujian sistem

Unit – unit program di uji sebagai satu sistem yang utuh untuk memastikan bahwa

semua spesifikasi telah dipenuhi. Setelah diuji, sistem dikirimkan ke user.

5. Pengoperasian dan pemeliharaan

Walau tidak harus dilakukan, ini merupakan tahap yang membutuhkan waktu

paling lama. Sistem telah terpasang dan dijalankan sebagaimana mestinya.

Pemeliharaan meliputi perbaikan kesalah yang tidak ditemukan pada tahap – tahap

sebelumnya, memperbaiki sistem dan menjadikan sistem lebih baik untuk

memenuhi spesifikasi yang baru.

2.1.2 Interaksi Manusia dan Komputer

2.1.2.1 Pengertian Interaksi Manusia dan Komputer

Interaksi Manusia dan Komputer adalah suatu disiplin ilmu yang melibatkan

disiplin – disiplin ilmu lainnya, namun dalam hal ini lebih berfokus pada computer

science (Dix, 2004, p3). Dalam sudut pandang computer science, IMK melibatkan

perancangan, implementasi dan evaluasi sistem dalam kaitannya dengan manusia

(pengguna) dan kegiatan yang dilakukannya.

2.1.2.2 Delapan Aturan Emas

Untuk membuat suatu interface yang user friendly, umumnya menggunakan

“Delapan Aturan Emas” (Shneiderman & Plaisant, 2010, p88-89) sebagai acuan, yaitu:

1. Berusaha untuk selalu konsisten.

Page 6: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

12

Menggunakan font, warna, symbol, bentuk tombol, tata letak yang konsisten bila

masih dalam konteks yang sama diseluruh bagian aplikasi.

2. Memungkinkan frequent users untuk menggunakan shortcut.

Supaya pengguna lebih mudah memasuki bagian yang diinginkan secara langsung

tanpa harus melewati bagian-bagian lainnya terlebih dahulu.

3. Memberikan umpan balik yang informatif.

Bertujuan agar tidak membingungkan pengguna.

4. Merancang dialog yang memberikan penutupan (keadaan akhir) sehingga pengguna

tahu kapan awal dan akhir dari suatu aksi.

5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana.

Sistem harus dapat mendeteksi kesalahan dan dapat memberikan solusi untuk

mengatasi kesalahan tersebut.

6. Memungkinkan pembalikan aksi yang mudah.

Kesalahan yang terjadi dapat dikembalikan pada aksi sebelumnya. Dengan begitu,

user tidak merasa takut akan melakukan suatu kesalahan..

7. Mendukung pusat kendali internal (internal locus of control).

Memberikan kesan bahwa pengguna mempunyai kuasa penuh atas sistem tersebut.

Pengguna yang berpengalaman menginginkan kuasa penuh terhadap sistem yang

mereka pakai dan mengharapkan sistem memberikan tanggapan atas aksi yang

dilakukannya.

8. Mengurangi beban ingatan jangka pendek (short-term memory).

Dengan terbatasnya kemampuan manusia untuk mengingat, tampilan pada sistem

hendaklah mudah diingat dan sederhana.

Page 7: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

13

2.1.2.3 Faktor Manusia Terukur

Menurut Dastbaz (2003, p108), beberapa peneliti mengkritik penggunaan istilah

User Friendliness karena dapat menyesatkan pendefinisian proses yang rumit seperti

cara kerja sistem dan perilaku manusia. Beberapa diantaranya telah mengusulkan untuk

menggunakan istilah yang lebih umum seperti “kegunaan” dalam mengevaluasi dan

mengukur proses-proses ini. Shackel dalam Dastbaz (2003) mendefinisikan “kegunaan”

sebagai efektivitas, learnability, fleksibilitas dan sikap. Nielsen dalam Dastbaz (2003)

memperluas definisi “kegunaan” dengan mengusulkan lima atribut berikut:

1. Waktu belajar.

Sistem harus mudah digunakan sehingga pengguna tidak membutuhkan waktu yang

lama untuk belajar.

2. Kecepatan kinerja (efisiensi).

Dengan tingginya tingkat efisiensi suatu sistem, maka produktivitas dari pengguna

juga akan meningkat.

3. Tingkat kesalahan.

Sistem harus memiliki tingkat kesalahan yang kecil.

4. Daya ingat.

Sistem harus dapat dengan mudah diingat, sehingga jika pengguna tidak

menggunakan sistem dalam jangka waktu yang cukup lama, mereka tidak perlu

mempelajari sistem dari awal.

5. Kepuasan subjektif.

Sistem harus dapat digunakan dengan nyaman, sehingga pengguna merasa puas

secara subjektif.

Page 8: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

14

2.1.3 Multimedia

Menurut Vaughan (2011, p1), multimedia adalah gabungan dari teks, gambar,

suara, animasi, dan video yang disampaikan kepada kita melalui komputer, media

elektronik, atau dimanipulasi secara digital.

Menurut Vaughan (2011, p20-164) multimedia memiliki 5 unsur, yaitu:

1. Teks

Teks adalah suatu alat komunikasi yang telah digunakan oleh manusia sejak ribuan

tahun yang lalu. Sebuah kata dapat memliki arti yang beragam, sehingga kata-kata

yang digunakan haruslah singkat, padat, dan jelas sehingga pesan pengirim dapat

tersampaikan dengan baik kepada penerima.

2. Suara

Suara merupakan salah satu unsur terpenting dalam multimedia. Cara penggunaan

suara dapat membedakan antara presentasi yang biasa dengan yang professional.

Walaupun begitu, penggunaan suara pada waktu dan tempat yang tidak tepat justru

dapat memperburuk presentasi. (Vaughan, 2011, p104). Ada dua macam suara yang

biasa digunakan didalam multimedia, yaitu:

- Digital Audio

Digital Audio adalah hasil konversi dari gelombang suara yang disimpan ke dalam

informasi berbentuk bits atau bytes. Proses konversi ini disebut digitizing. Kualitas

dari hasil digitizing ini bergantung pada jumlah sampel yang diambil yang biasa

disebut sampling rate dan berapa banyak angka yang digunakan untuk

mempresentasikan tiap-tiap sampel atau disebut juga bitdepth (Vaughan, 2011,

p106).

Page 9: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

15

- MIDI

MIDI ( Musical Instrument Digital Interface) adalah jenis suara yang paling mudah

digunakan didalam sebuah multimedia. MIDI adalah bentuk konversi dari suara yang

disimpan dalam bentuk numerik (Vaughan, 2011, p134).

3. Gambar

Menurut Vaughan (2011, p70), gambar dapat menjadi unsur terpenting dari proyek

multimedia anda. Ada dua jenis gambar yang dapat dihasilkan oleh komputer

menurut Vaughan (2011, p70) yaitu:

- Bitmap adalah sebuah matriks yang terdiri dari titik-titik warna dan membentuk

sebuah gambar. Variasi warna pada bitmap ditentukan oleh jumlah bit, dimana n-

bit gambar bitmap memiliki 2n macam warna. (Vaughan, 2011, p71-72).

- Vector Drawing adalah gambar yang dihasilkan dari perhitungan angka – angka

koordinat Cartesian oleh computer. Jenis gambar ini sering digunakan untuk

website karena ukuran size gambarnya yang kecil (Vaughan, 2011, p80-82).

4. Video

Penggunaan video didalam sebuah presentasi multimedia dapat menjadi sebuah

media penyampaian pesan maupun informasi yang sangat efektif. Tetapi penggunaan

video yang tidak dipikirkan dengan baik dapat menurunkan kualitas dari pesan yang

ingin disampaikan. (Vaughan, 2011, p164).

5. Animasi

Menurut Vaughan (2011, p104) Animasi digunakan untuk membuat sesuatu yang

statis terlihat hidup. Animasi sering digunakan untuk mempresentasikan sesuatu

yang tidak terlalu banyak memerlukan interaksi penggunanya sehingga presentasi

Page 10: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

16

tersebut akan mengalir berjalan seperti sebuah film. Animasi juga digunakan dalam

membantu sebuah presentasi, seperti efek transisi slide dan lainnya.

2.1.4 Storyboard

Menurut Rahman (2008, xxxviii), sebuah storyboard yang sederhana haruslah

mencakup materi-materi seperti video, wawancara, dokumenter, potongan narasi dan

sebagainya. Selain itu pada sebuah storyboard harus terdapat komponen-komponen

seperti dialog, teks, suara, video, animasi dan sebagainya. Hal tersebut bertujuan agar

sebuah storyboard dapat menghubungkan sebuah tim antara desainer dan developer.

Gambar 2.3 Contoh Storyboard

(Sumber: Vaughan, 2011, p301)

2.1.5 Object Oriented Programming (OOP)

Page 11: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

17

Menurut Clark (2011, p1-3), OOP adalah sebuah pendekatan dalam

pengembangan perangkat lunak dimana struktur perangkat lunak ini berdasarkan pada

interaksi dari suatu objek dengan objek yang lain untuk menyelesaikan tugas. Interaksi

ini membutuhkan bentuk pesan bolak-balik antara objek, yang kemudian diproses oleh

objek dalam bentuk suatu tindakan atau metode. Contohnya seperti ketika seseorang

ingin pergi ke toko menggunakan sebuah mobil. Objek mobil terdiri dari objek – objek

lain yang berinteraksi satu sama lain seperti: ban, mesin, bensin, dan sebagainya, untuk

menyelesaikan tugasnya mengantar orang tersebut ke toko. Orang tersebut memasukkan

kunci dan menyalakannya. Tindakan tersebut mengirimkan pesan (melalui sinyal listrik)

ke objek starter mobil, yang berinteraksi dengan objek mesin untuk menyalakan mobil.

Sebagai pengendara, dia tidak perlu tahu tentang logika bagaimana objek - objek pada

mobil itu bekerja sama untuk menyalakan mobil. Orang tersebut hanya menjalankan

metode mulai dari objek starter mobil dengan kunci, dan kemudian menunggu apakah

mobil menyala atau tidak.

Banyak pengembang software yang beralih ke metode object oriented untuk

menyelesaikan berbagai masalah yang ada. Kelebihan dari object oriented adalah

sebagai berikut:

a. Transisi yang lebih intuitif dari model analisis bisnis ke model implementasi

perangkat lunak.

b. Pemeliharaan dan modifikasi program yang lebih efisien dan cepat.

c. Memungkinkan pembuatan sistem perangkat lunak dengan tim, dengan itu para ahli

(specialists) dapat mengerjakan bagian tertentu yang dikuasai pada sistem.

Page 12: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

18

d. Kemampuan untuk menggunakan kembali potongan kode dalam program lain atau

membeli kode yang ditulis oleh pengembang lain untuk meningkatkan fungsi dari

program mereka dengan mudah.

e. Integrasi yang lebih baik dengan sistem komputasi lain walaupun hanya

menggunakan sedikit informasi dari sistem lain..

f. Integrasi yang lebih baik dengan sistem operasi modern.

g. Dapat membuat tampilan antarmuka yang lebih intuitif untuk pengguna.

2.1.6 Karakteristik OOP

Menurut Clark (2011, p3-5), beberapa karakteristik yang terdapat dalam OOP

adalah:

a. Object

Dalam OOP, objek adalah sebuah struktur untuk menggabungkan data dan prosedur

untuk memproses data tersebut

b. Abstraction

Suatu konsep dalam OOP yang melibatkan berbagai cara penggunaan sebuah objek

berdasarkan objek lain yang menggunakannya.

c. Encapsulation

Enkapsulasi adalah proses dimana tidak ada akses langsung yang diberikan untuk

mengakses suatu data. Untuk mendapatkan akses ke data tersebut, diperlukan

interaksi objek yang mempunyai akses terhadap data tersebut.

d. Polymorphism

Polimorfisme adalah kemampuan dari dua objek yang berbeda untuk merespon

perintah yang sama dengan cara yang berbeda.

Page 13: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

19

e. Inheritance

Dalam OOP, inheritance digunakan untuk mengklasifikasikan objek dalam program

sesuai dengan karakteristik dan fungsi yang umum. Ini membuat pengerjaan objek –

objek yang ada lebih mudah dan intuitif. Ini juga membuat pemrograman lebih

mudah karena karakteristik umum yang ada di parent dapat diwariskan ke child.

f. Aggregation

Agregasi adalah suatu konsep dimana sebuah objek dibangun dari objek – objek lain

yang bekerja sama untuk melakukan suatu tugas tertentu.

2.1.7 Object Oriented Analysis and Design (OOAD)

Menurut Allen dan Terry (2005), Object Oriented Design merupakan metodologi

campuran yang menggambarkan sistem dalam bentuk objek, karakteristik data dalam

bentuk atribut dan karakteristik proses dalam bentuk metode. Object Oriented Analysis

and Design menggabungkan elemen-elemen teknik perancangan berorientasi data dan

fungsi dengan sistem model sebagai kumpulan objek-objek yang bekerja bersama-sama.

Kelebihan dari Object Oriented Analysis and Design antara lain, membangun

model objek dengan tepat, penggunaan objek kembali dan pertukaran objek menjadi

lebih mudah.

2.2 Teori Khusus

2.2.1 Database

2.2.1.1 Pengertian Database

Menurut Connoly dan Begg (2010, p65), database adalah sekumpulan data

beserta definisinya yang saling berhubungan dan dapat digunakan secara keseluruhan

untuk memenuhi kebutuhan informasi dari suatu organisasi.

Page 14: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

20

Record pada setiap file harus memungkinkan adanya hubungan ke record pada

file lain. Contohnya, database sales harus memiliki record yang berhubungan dengan

record lain pada database customer dan product. File adalah kumpulan dari record yang

sama. Record adalah kumpulan dari field yang disusun dalam format yang telah

ditetapkan. Field adalah satuan terkecil dari data yang mempunyai arti tertentu untuk

disimpan dalam file atau database.

2.2.1.2 Database Management System (DBMS)

Database management system adalah suatu sistem perangkat lunak yang

berfungsi untuk mendefinisikan, mengelola dan mengontrol akses ke database

(Connolly & Begg, 2010, p66).

2.2.2 Unified Modelling Language (UML)

Menurut Whitten dan Bentley (2007, p371), UML adalah sekumpulan konvensi

pemodelan yang digunakan untuik menspesifikasi atau mendeskripsikan sebuah sistem

perangkat lunak dalam bentuk objek. UML terdiri dari beberapa tipe diagram, yaitu:

a. Use-Case Diagram

Menurut Whitten dan Bentley (2007, p246-250), use-case diagram adalah

diagram yang menggambarkan interaksi antara sistem dan pengguna dari sudut pandang

pihak ketiga dalam bentuk yang dapat mereka mengerti.

1. Use case adalah urutan tindakan – tindakan yang saling berhubungan, baik

terotomatisasi maupun secara manual, untuk menyelesaikan suatu tugas.

Page 15: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

21

Gambar 2.4 Contoh Diagram Model Use-Case

(Sumber: Whitten & Bentley, 2007, p246)

2. Pelaku (Actor) adalah segala sesuatu yang harus berinteraksi dengan sistem

untuk mendapatkan atau memberikan informasi.

Gambar 2.5 Simbol Aktor

(Sumber: Whitten & Bentley, 2007, p247)

3. Hubungan (Relationship) pada diagram use case adalah sebuah garis antara dua

symbol pada use-case diagram. Jenis – jenis hubungan bergantung dari

bagaimana garis tersebut digambar dan simbol apa yang dihubungkan oleh garis

tersebut. Beberapa jenis hubungan yang ada pada diagram use case, yaitu sebagai

berikut:

Page 16: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

22

1) Gabungan (Association): hubungan antara actor dengan use-case

dimana terdapat suatu interaksi antara mereka.

Gambar 2.6 Contoh Hubungan Asosiasi

(Sumber: Whitten & Bentley, 2007, p248)

2) Extend: use case yang terdiri dari hasil ekstraksi use case yang lebih

kompleks untuk menyederhanakan masalah asal sehingga

memperjelas fungsinya.

Gambar 2.7 Contoh Hubungan Extension

(Sumber: Whitten & Bentley, 2007, p249)

3) Uses: satu atau lebih use case yang melakukan suatu fungsi yang

identik sehingga dibuat satu abstract use-case untuk fungsi tersebut.

Page 17: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

23

Gambar 2.8 Contoh Hubungan Uses

(Sumber: Whitten & Bentley, 2007, p249)

4) Depends On: hubungan antara use-case yang mengindikasikan bahwa

satu use-case tidak dapat dilakukan jika use-case yang lain belum

dilakukan.

Gambar 2.9 Contoh Hubungan Depends On

(Sumber: Whitten & Bentley, 2007, p250)

5) Inheritance: suatu keadaan dimana dua atau lebih actor melakukan

tindakan yang sama, sehingga dibuat abstract actor untuk

menghilangkan redundansi dalam sistem..

Page 18: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

24

Gambar 2.10 Contoh Hubungan Inheritance

(Sumber: Whitten & Bentley, 2007, p250)

b. Class Diagram

Menurut Whitten dan Bentley (2007, p400), class diagram menggambarkan

struktur objek dari suatu sistem. Diagram ini menggambarkan objek class yang

membentuk sistem beserta hubungan antara objek – objek tersebut.

Page 19: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

25

Gambar 2.11 Contoh Class Diagram

(Sumber: Whitten & Bentley, 2007, 406)

Beberapa elemen yang terdapat dalam class diagram, yaitu:

1) Class: digambarkan sebagai kotak yang terbagi menjadi tiga bagian. Bagian atas

berisi nama dari class. Bagian tengah berisi atribut class. Bagian akhir berisi

method – method dari sebuah class.

Page 20: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

26

Gambar 2.12 Class

2) Association: merupakan sebuah hubungan yang paling sering digunakan untuk

menghubungkan dua class dan digambarkan dengan sebuah garis yang

menghubungkan antara dua class. Garis ini dapat melambangkan berbagai jenis

hubungan. Contohnya one-to-one, one-to-many, many-to-many.

Gambar 2.13 Association

3) Composition: jika keberadaan sebuah class bergantung pada keberadaan class

yang lain, maka class tersebut memiliki relasi composition terhadap class tempat

dia bergantung tersebut. Sebuah hubungan composition digambarkan sebagai

garis dengan ujung berbentuk diamond berisi/solid.

Gambar 2.14 Composition

4) Aggregation: jika sebuah class dapat berdiri sendiri meskipun menjadi bagian

dari sebuah class lain.

Page 21: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

27

Gambar 2.15 Aggregation

5) Cara bagaimana atribut dan metode diakses oleh kelas lain didefinisikan dengan

visibility. UML menyediakan tiga tingkat dari visibility, yaitu:

1. Public : dilambangkan dengan simbol “+”

2. Protected : dilambangkan dengan simbol “#”

3. Private : dilambangkan dengan simbol “-‘

c. Activity Diagram

Menurut Whitten dan Bentley (2007, p390), Activity diagram adalah sebuah

diagram yang dapat digunakan untuk menggambarkan alur dari proses bisnis, langkah –

langkah pada use-case, dan juga logika dari objek – objek yang ada. Berikut notasi yang

digunakan pada activity diagram:

Tabel 2.1 Simbol pada Activity Diagram

No Simbol Gambar Keterangan

1 Initial

node

Menunjukkan awal dari suatu

proses.

2 Actions

Menunjukkan langkah-langkah

aktivitas sistem yang terjadi.

3 Flow

Untuk menunjuk ke aksi atau

proses yang lain. Dilengkapi

dengan kata-kata jika berasal dari

Page 22: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

28

decision.

4 Decision

Memiiki sebuah flow masuk dan

dua atau lebih flow keluar.

Menunjukkan aktivitas yang dapat

dipilih.

5 Merge

Menyatukan flow yang

sebelumnya terpisah oleh

decision.

6 Fork

Menotasikan permulaan aksi atau

proses paralel yang dapat terjadi

dalam suatu urutan atau terjadi

secara bersamaan.

7 Join

Semua aksi yang masuk ke join

harus telah diselesaikan sebelum

proses berlanjut.

8 Activity

Final

Menunjukkan akhir dari proses.

Page 23: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

29

Gambar 2.16 Contoh Activity Diagram

(Sumber: Whitten & Bentley, 2007, p392)

Page 24: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

30

2.2.3 Bahasa Mandarin

2.2.3.1 Definisi Bahasa Mandarin

Mandarin dikenal dengan beberapa nama. Di Taiwan, Mandarin disebut 国语

(guóyǔ), di Singapura Mandarin dikenal dengan nama华语 (huáyǔ) dan di Cina sendiri

Mandarin dikenal dengan nama 普通话 (pǔtōnghuà). (Su, 2013,)

Putonghua merupakan bahasa resmi bagi masyarakat di Cina. Hal ini

berdasarkan logat Beijing, yang banyak digunakan pada jaman dinasti Qing sebagai

bahasa resmi. Namun Putonghua bukan hanya satu-satunya bahasa yang digunakan di

Cina. Ada 250 macam bahasa daerah yang di pakai di Cina.

Tata bahasa dari Putonghua dapat dikatakan lebih sederhana dibandingkan

dengan kebanyakan bahasa di Eropa. Putonghua tidak mempunyai tenses. Dan struktur

dasar dari kalimat Putonghua terdiri dari subjek-kata kerja-objek.

2.2.3.2 Pinyin Syllables

1. Initial

Initial adalah awalan dalam suatu pinyin syllable. Dalam bahasa Mandarin terdapat

21 jenis Initial . Daftar Initial yang tersedia dalam bahasa Mandarin:

Tabel 2.2 Daftar Initial

(Sumber: Li & Li, 1998, p1, p11, p19, p25, p38, p46, p54, p61, p70)

Initial Pelafalan Contoh kata dalam

bahasa Inggris

b- [p], [b] boil, boy

Page 25: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

31

p- [ph] poetry, point

m- [m] moral, more

f- [f] formal, forever

d- [t], [d] Derek, ad

t- [th] telephone

n- [n] necessary

l- [l] Lend, lamp

g- [k]. [g] Girl , glance

k- [kh] Curb, kerchief

h- [h] Herb, hemp

j- Ji Jimmy, jeep

q- chee Cheese, chip

x- Shee, shi Ship, sheer

zh- Mirip dengan dj pada

bahasa inggris

Fudge, fridge

ch- Mirip dengan ch pada

bahasa inggris

chat

sh- Mirip dengan sh pada

bahasa inggris

shore

z- Mirip dengan z,dz, atau

ds pada bahasa inggris

Kids, woods

c- Mirip dengan ts pada Its, rats, cats

Page 26: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

32

bahasa inggris

r- Mirip dengan re pada

bahasa inggris

pleasure

2. Final

Final adalah akhiran dari suatu pinyin syllable. Dalam bahasa Mandarin terdapat 38

(tiga puluh delapan) jenis final. Daftar final yang tersedia pada bahasa Mandarin:

Tabel 2.3 Daftar Final

(Sumber: Li & Li, 1998, p2, p12, p19, p25, p39, p47, p54, p62, p70)

Final Contoh

-a Mā (ibu)

-ai Mài (menjual)

-ao Chāo (menyalin)

-an Bān (kelas)

-ang Chāng (makmur)

-e Hē (minum)

-ei Shéi (siapa)

-en Wēn (hangat)

-eng Shēng (mentah)

-er Ér (anak)

-i Yī (satu)

-ia Xiā (udang)

-ian Xiān (pertama)

Page 27: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

33

-iang Jiāng (jahe)

-iao Piāo (mengapung)

-ie Xiē (istirahat)

-in Xīn (baru)

-ing Bīng (es)

-iong Xiōng (saudara laki-laki sulung)

-iu Liū (meluncur)

-o Mō (memegang)

-ong Zhōng (tengah)

-ou Zhōu (minggu)

-u Wū (rumah)

-ua Hūa (bunga)

-uai Guāi (berkelakuan baik)

-uan Yuān (kolam yang dalam)

-uang Zhuāng (desa)

-ueng Wēng (dengungan)

-ui Duì (benar)

-un Sūn (cucu)

-uo Duō (banyak)

-ü Yū (bengah)

-üan Quān (lingkaran)

-üe Xuē (sepatu)

Page 28: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

34

-ün Yūn (pusing)

3. Tones

Menurut Su (2013), bahasa Mandarin menggunakan 4 macam nada untuk

memperjelas arti dari suatu kata. Karena banyaknya bahasa Mandarin yang memiliki

pengucapan yang sama, maka nada dipakai untuk membedakan satu kata dengan kata

lainnya. Keempat nada dalam bahasa Mandarin adalah:

1. High level – nada pertama

2. Rising – nada kedua

3. Falling rising – nada ketiga

4. Falling – nada keempat

Pinyin menggunakan angka maupun tanda nada untuk membedakan nada dari

suatu kata. Berikut contoh kata ‘ma’ dengan tanda nada:

• Nada pertama: ma1 atau mā

• Nada kedua: ma2 atau má

• Nada ketiga: ma3 atau mǎ

• Nada keempat: ma4 atau mà

Tabel 2.4 Daftar Tones

(Sumber: Li & Li, G., 1998, p5)

Page 29: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

35

Nada Example Pinyin Artinya

Pertama 玻璃 Bōli kaca

Kedua 伯伯 Bóbo Paman

Ketiga 喇叭 Lǎba Terompet

Keempat 兔子 Tùzi kelinci

2.2.3.3 Stroke

Stroke adalah komponen terkecil dari suatu karakter Mandarin. Kumpulan stroke

yang saling berhubungan akan membentuk suatu karakter Mandarin.

Tabel 2.5 Daftar Stroke

(Sumber: Li & Li, 1998, p3, p14, p22, p35)

Nama Stroke Cara Menulis Contoh

Stroke datar

Dari kiri ke kanan 二

Stroke tegak Dari atas ke bawah 中

Stroke kiri bawah

Dari atas kanan ke

kiri bawah

Stroke kanan

bawah

Dari atas kiri ke

kanan bawah

Titik

Ada titik kiri, titik

kanan, dan titik

bawah

Page 30: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

36

Stroke dengan

kait

Membentuk

sebuah kait pada

bagian akhir stroke

Turning Stroke

Garis datar yang

kemudian diikutin

dengan garis tegak

Rising Stroke

Dari kiri bawah ke

atas

2.2.4 Artificial Intelligence (AI)

Artificial Inteligence atau kecerdasan buatan adalah salah satu bagian ilmu

computer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan

sebaik yang dilakukan oleh manusia (Kusumadewi, 2003, p1).

Adapun beberapa cabang dalam pengaplikasian Artificial Intelligence, yaitu:

Page 31: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

37

1. Sistem Pakar (Expert System). Sistem komputer digunakan untuk menyimpan

pengetahuan para pakar, sehingga komputer dapat meniru cara para pakar untuk

menyelesaikan suatu masalah.

2. Pengolahan Bahasa Alami (Natural Language Processing). Disiplin ilmu yang

mempelajari bagaimana cara agar komputer dapat mengerti kata – kata yang sehari –

hari digunakan oleh manusia.

3. Pengenalan Ucapan (Speech Recognition), teknologi yang membuat komputer dapat

memproses ucapan manusia dan memberikan respon yang sesuai terhadap ucapan

tersebut.

4. Robotika dan Sistem Sensor (Rotics and Sensory System). Seperti sistem visi dan

pencitraan, serta sistem pengolahan sinyal pada robotika, untuk mengumpulkan

informasi, menerjemahkan informasi, dan merespon serta beradaptasi jika terjadi

perubahan lingkungan.

5. Computer Vision untuk menginterpretasikan gambar-gambar atau obyek yang

sebagai input untuk computer dan kemudian memprosesnya.

6. Intelligence Computer-aided Instruction. Digunakan sebagai alat yang dapat melatih

dan mengajar.

2.2.4.1 Pengolahan Citra

Citra merupakan gambar pada bidang dua dimensi yang berisi suatu informasi.

Citra digital (digital image) merupakan array dari bilangan real yang diwakili oleh

sejumlah bit tertentu (Jain, 1989, p1). Sementara, pengolahan citra merupakan proses

pengelolaan citra agar citra yang mengalami gangguan, seperti derau (noise), kurang

tajam, buram (blur), dan sebagainya, dapat diubah menjadi citra yang lebih baik

Page 32: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

38

sehingga menjadi mudah diinterpretasi. Dengan kata lain, pengolahan citra menerima

suatu citra sebagai input dan meciptakan citra lain sebagai hasil output.

2.2.4.2 Threshold

Menurut Jain (1989, p49) Threshold adalah suatu proses untuk mengubah

gambar greyscale atau gambar bewarna menjadi gambar biner dengan suatu nilai

threshold tertentu. Gambar biner merupakan gambar yang hanya memiliki dua nilai

untuk setiap pikselnya, yaitu 255 (putih) dan 0 (hitam).

Dalam proses thresholding, nilai suatu piksel diubah berdasarkan besar kecilnya

nilai piksel tersebut terhadap nilai threshold. Jika nilai piksel lebih besar atau sama

dengan nilai threshold, maka nilai piksel tersebut berubah menjadi nilai maksimum yaitu

255 (putih). Sedangkan nilai suatu piksel kurang dari nilai threshold, maka nilai piksel

tersebut akan berubah menjadi nilai minimum yaitu 0 (warna hitam). Untuk menentukan

nilai threshold, dapat menggunakan metode Adaptive Threshold.

2.2.4.3 Cropping dan Thinning

Menurut Jain (1989, p79) Cropping (pemotongan) merupakan suatu proses untuk

menghilangkan space kosong (warna putih) pada citra. Sedangkan thinning adalah suatu

proses untuk menghapus piksel yang tidak diinginkan dan mengubah garis-garus pada

gambar menjadi lebih sederhana dengan tetap mempertahankan bentuk objeknya.

Tujuan digunakannya thinning yaitu untuk menghilangkan piksel tertentu pada objek

sehingga objek tersebut mempunyai ketebalan sebesar satu piksel.

Thinning tidak boleh :

1. Menghilangkan end-point

2. Memutuskan hubungan yang ada

Page 33: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

39

3. Mengakibatkan excessive erosion

Salah satu contoh penggunaan cropping dan thinning adalah pada pengenalan

karakter/huruf. Citra yang berisi karakter akan di-crop terlebih dahulu, sehingga space

kosong pada citra akan hilang dan citra hanya berisi karakter tersebut. Hasil dari proses

cropping akan melalui proses thinning sehingga ketebalan garis pada karakter tersebut

hanya sebesar 1 piksel.

2.2.4.4 Edge Detection

Menurut Jain (1989, p83) Edge adalah sekumpulan piksel – piksel terhubung

yang terletak pada perbatasan antara dua daerah. Edge dapat digunakan untuk mengenali

batasan-batasan objek, sehingga edge berguna untuk segmentasi dan pengenalan objek

pada layar. Salah satu metode Edge Detection adalah Canny edge detector.

2.2.4.5 Canny Edge Detector

Menurut Jain (1989, p85) Canny Edge Detector merupakan metode edge

detection yang paling banyak digunakan. Canny edge detector menghasilkan fragmen-

fragmen tipis dari garis luar citra dan dikendalikan oleh parameter σ. Ada beberapa

tahap dalam Canny edge detector, yaitu:

1. Citra dihaluskan (smoothing) terlebih dahulu dengan menggunakan Gaussian filter.

Tujuannya untuk menghilangkan derau (noise) pada citra dengan membuat citra

menjadi kabur (blurring).

2. Menghitung arah dan besarnya/magnitude (magnitude) gradient (atau dikenal juga

dengan edge strength) dari setiap piksel pada citra yang sudah dihaluskan tersebut.

Edges harus ditandai dimana gradient dari citra memiliki magnitude yang besar.

Page 34: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

40

3. Non-maximum suppression. Proses ini bertujuan untuk mengubah edge yang kabur

(tidak jelas) pada citra menjadi lebih jelas. Tahap ini dilakukan dengan:

1) Membulatkan hasil perhitungan nilai gradient ke nilai yang paling dekat. Ada

beberapa nilai yang digunakan, yaitu 0 dan 180 derajat (arah horizontal), 45

derajat (arah positif diagonal), 90 derajat (arah vertikal), dan 135 derajat (arah

negative diagonal).

2) Membandingkan magnitude gradient suatu piksel dengan magnitude gradient

pada piksel yang terletak pada arah positif dan negatif dari arah gradient.

3) Jika magnitude gradient pada piksel tersebut lebih besar, maka nilai magnitude

gradient tidak berubah. Jika lebih kecil, maka nilai magnitude gradient tersebut

diubah hingga menjadi 0. Hanya piksel-piksel dengan nilai magnitude gradient

maksimal yang akan ditandai.

4. Melakukan proses double thresholding. Banyak edge yang didapat dari proses non-

maximum suppression berkemungkinan menjadi edge pada citra. Namun, ada

kemungkinan beberapa diantaranya disebabkan oleh derau (noise). Cara yang paling

mudah untuk mengatasinya adalah dengan menerapkan proses thresholding.

Sehingga hanya edge dengan nilai yang lebih tinggi daripada nilai yang ditentukan

yang akan dipertahankan. Algoritma Canny edge detection menggunakan operasi

double thresholding. Edge dengan nilai yang lebih tinggi daripada nilai threshold

dikatakan kuat. Edge dengan nilai yang lebih rendah daripada nilai threshold yang

rendah diturunkan dan edge dengan nilai diantara dua threshold tersebut dikatakan

lemah.

Page 35: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

41

5. Penelusuran edge dengan hysteresis. Hysteresis digunakan untuk menghilangkan

goresan. Dari tahap double thresholding, dihasilkan edge dengan kategori kuat dan

lemah. Edge dengan kategori kuat dimasukkan sebagai edge pada citra. Sementara,

edges dengan kategori lemah hanya dimasukkan sebagai edge pada citra jika edge

tersebut berhubungan dengan edges dengan kategori kuat.

2.2.5 Tesseract OCR

2.2.5.1 Definisi Tesseract

Tesseract adalah engine OCR open source yang awalnya dikembangkan oleh HP

(Hewlett-Packard) antara tahun 1984 dan 1994. Tesseract berawal sebuah proyek

penelitian PhD di HP Labs, Bristol oleh Ray Smith. Setelah penelitian bersama antara

HP Labs di Bristol dan divisi Scanner HP di Colorado, Tesseract secara signifikan

memimpin dalam hal akurasi atas mesin komersial. (Smith, 2005, p1)

Tahap perkembangan berikutnya berlangsung di HP Labs Bristol sebagai

investigasi OCR. Pada tahun 1994, pengembangan berhenti sepenuhnya. Mesin ini

dikirim ke UNLV (University Nevada Las Vegas) pada tahun 1995 untuk menjalani tes

akurasi tahunan OCR (Smith, 2005)

2.2.5.2 Arsitektur Tesseract

Tesseract OCR mengasumsikan input yang sebagai sebuah binary image.

Pertama, analisis dilakukan pada komponen terhubung/Connected Component (CC)

untuk menemukan di mana outline komponen disimpan. Pada tahap ini outlines

dikumpulkan menjadi blob. Blob disusun menjadi baris teks, sedangkan garis dan region

dianalisis agar pitch tetap dan teks tetap proporsional. Baris teks dipecah menjadi kata-

kata berbeda berdasarkan jenis spasi karakter. Teks dengan pitch tetap dibagi menjadi

Page 36: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

42

kotak – kotak karakter. Teks yang 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)

Pass pertama bertujuan untuk mengenali masing-masing kata. Kata-kata yang

terdapat di kamus dan tidak ambigu, diteruskan ke adaptive classifier sebagai data

pelatihan. Setelah adaptive classifier memiliki sampel yang cukup, adaptive classifier

akan dapat memberikan hasil meskipun masih pada pass yang pertama. Proses pass

kedua dilakukan jika menemukan kata-kata yang kurang dikenali atau terlewat pada pass

pertama. Tahap terakhir menyelesaikan ruang fuzzy dan memeriksa hipotesis alternatif

pada ketinggian-x untuk mencari teks dengan smallcap.

Menurut Smith (2009) ada beberapa langkah yang dilakukan oleh tesseract untuk

pengenalan karakter, yaitu:

1. Pencarian Baris Teks dan Kata

Algoritma line finding dirancang supaya halaman yang miring tetap dapat

diproses tanpa harus di-skew (mengubah halaman yang miring menjadi tegak

lurus) sehingga tidak menurunkan kualitas gambar. Bagian proses terpenting

pada proses ini adalah blob filtering dan line construction (Smith, 2009, p1)

Filtered blob lebih cocok dengan model non-overlapping, parallel,

berupa garis-garis miring (sloping line). Pemrosesan blob oleh koordinat x

memungkinkan penetapan blob ke sebuah baris teks yang unik. Setelah blob

yang tersaring ditetapkan ke garis, sebuah median terkecil dari kotak-kotak yang

cocok, digunakan untuk memperkirakan baseline. Dan blob yang sudah difilter

dengan baik dipasang kembalki ke garis yang sesuai (Smith, 2009, p2)

Page 37: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

43

Langkah terakhir dari proses line creation adalah menggabungkan blob

yang overlapping, menempatkan diacritical marks pada dasar yang tepat, dan

memperbaiki beberapa karakter yang rusak. (Smith, 2009, p2)

2. Baseline Fitting

Setelah baris teks ditemukan, garis pangkal (baseline) dicocokan dengan

menggunakan quadratic spline. Hal ini merupakan salah satu kelebihan dari

sistem OCR tesseract yang dapat menangani halaman dengan garis pangkal

(baseline) yang miring (Smith, 2009, p2)

Baseline dicocokan oleh partisi blob menjadi beberapa kelompok dengan

sebuah perpindahan kontinu yang hampir mirip garis pangkal lurus yang asli.

Quadratic spline dicocokan ke partisi yang paling padat (diasumsikan sebagai

baseline) dengan kuadrat terkecil. Keuntungan Quadratic spline yaitu

perhitungannya cukup stabil namun merugikan jika terjadi diskontinuitas..

Dalam Hal ini, cubic spline bekerja lebih baik (Smith, 2009, p2)

3. 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 ini menentukan batas maksimum dan minimum dari ketinggian-x yang

dapat diterima berdasarkan ukuran garis inisial yang telah dihitung. Kemudian,

ketinggian bounding box blob pada garis dikuantisasi dan dikumpulkan menjadi

sebuah histogram. Dari histogram ini, algoritma mencari ketinggian dua mode

yang paling sering terjadi dan terpisah cukup jauh untuk menjadi ketinggian-x

dan ketinggian-ascender. Untuk mengantisipasi noise, algoritma memastikan

Page 38: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

44

mode ketinggian yang diambil menjadi ketinggian-x dan ketinggian-ascender

memiliki jumlah yang cukup terhadap jumlah keseluruhan blob pada baris.

4. Chopping atau Pemotongan Karakter

Tesseract menguji baris teks (text line) untuk menentukan apakah baris

teks itu merupakan fixed pitch atau bukan. Bila ditemukan fixed pitch text,

tesseract akan mengubah kata – kata tersebut menjadi sekumpulan karakter.

(Smith, 2009, p2)

5. Pemisahan Karakter Terhubung

Apabila hasil dari pengenalan kata tidak memuaskan, tesseract akan

mencoba untuk memperbaiki hasil dengan memisahkan blob dengan hasil

terburuk dari pengklasifikasian (classifier) karakter. Kandidat untuk titik-titik

pemisahan didapat dari simpul cekung dari pendekatan polygonal outline dan

mungkin saja terdapat titik cekung berlawanan lainnya atau segmen garis. Proses

ini dapat menghabiskan 3 pasang titik pemotongan untuk memisahkan karakter

dari set ASCII (Smith, 2009, p3)

6. Asosiasi Karakter Patah

Ketika potongan yang potensial tidak ada lagi, dan kata tersebut masi

belum cukup baik, kata tersebut diberikan kepada associator. Associator

membuat pencarian A*(best first search) dari segmentasi grafik yang mungkin

merupakan kombinasi dari blob yang dipotong secara maksimal ke dalam

kandidat karakter. Ketika A* segmentation diimplementasikan pertama kali pada

tahun 1989, akurasi tesseract terhadap karakter yang rusak meningkat yang

Page 39: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

45

kemudian menjadikan tesseract sebagai mesin komersial saat itu. (Smith, 2009,

p3)

2.2.5.3 Klasifikasi Bentuk

1. Static Classifier

Versi awal Tesseract menggunakan topologi fitur yang dikembangkan dari karya

Shillman. Ide selanjutnya melibatkan penggunaan segmen dari pendekatan polygonal

sebagai fitur, tapi pendekatan ini tidak cukup kuat jika terdapat karakter yang rusak.

Solusi yang akhirnya digunakan adalah konsep bahwa fitur yang tidak diketahui tidak

perlu sama dengan fitur dalam data pelatihan.

Selama pelatihan, segmen hasil pendekatan polygonal digunakan untuk feature,

namun pada proses pengenalan, feature kecil yang panjangnya tetap (dalam unit

ternomalisasi) diekstrasi dari outline dan dicocokan secara many-to-one terhadap

prototype dari feature yang ter-cluster pada data pelatihan (Smith, 2009, p3)

2. Adaptive Classifier

Tesseract tidak menggunakan template classifier, tetapi menggunakan adaptive

classifier yang hampir sama seperti static classifier. Perbedaan yang signifikan antara

static classifier dan adaptive classifier adalah adaptive classifier menggunakan

normalisasi isotropic baseline/x-height, sedangkan static classifier menggunakan

normalisasi karakter oleh centroid. Momen pertama untuk posisi dan momen kedua

untuk normalisasi ukuran yang anisotropic (Smith, 2005, p4)

Feature merupakan komponen pendekatan polygonal dari outline sebuah bentuk.

Pada training, vector fitur 4 dimensi (x, posisi-y, arah, panjang) diturunkan dari setiap

elemen pendekatan polygonal dan dikelompokkan untuk membentuk prototipikal vector.

Page 40: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

46

Pada pengenalan, elemen-elemen polygon dipecah menjadi bagian-bagian yang lebih

pendek dengan panjang yang sama, sehingga dimensi panjang dieliminasi dari vector

fitur. Beberapa fitur pendek dicocokkan dengan setiap fitur prototipikal dari training.

Hal ini membuat proses klasifikasi lebih kuat terhadap karakter yang terputus (Smith,

2005, p5).

2.2.6 Bahasa Pemograman Java

2.2.6.1 Pengertian Java

Menurut Gosling, Joy, Steele & Bracha (2005, p1), Java adalah bahasa

pemrograman yang konkuren, berbasis kelas, dan berorientasi objek, yang dirancang

sederhana agar banyak programmer dapat menggunakannya dengan mudah.

Sebagai sebuah bahasa pemograman, Java dapat membuat berbagai bentuk

aplikasi seperti desktop, web, dan sebagainya. Aplikasi dengan teknologi Java bersifat

multi-platform karena dapat dijalankan pada seluruh mesin yang memiliki Java Runtime

Environment (JRE).

2.2.6.2 Keuntungan Java

Java memiliki karakteristik sebagai berikut (Zulfikar , 2012):

1. Sederhana

Bahasa pemograman Java mempunyai sintaks yang mirip dengan C++ namun

sintaks pada Java telah banyak diperbaiki terutama dengan menghilangkan

penggunaan pointer dan mutiple inheritance.

2. Berorientasi Objek (Object Oriented)

Java menggunakan pemograman berorientasi objek sehingga program dapat dibuat

secara komponen per komponen dan dapat dipergunakan kembali. Dengan konsep

Page 41: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

47

berorientasi objek maka program dapat dengan mudah dipelihara, dimodifikasi, dan

komponennya dapat digunakan untuk pembentukan software lain.

3. Dapat didistribusi dengan mudah

Java dibuat untuk membuat aplikasi yang dapat didistribusi secara mudah dengan

menggunakan libraries networking yang terintegrasi pada Java.

4. Interpreter

Program Java dijalankan menggunakan Java Virtual Machine (JVM), hal ini

menyebabkan source code Java dikompilasi menjadi bytecodes sehingga dapat

dijalankan pada berbagai macam platform.

5. Aman

Salah satu prinsip kunci perancangan Java adalah keselamatan dan keamanan. Java

tidak pernah memiliki fasilitas dan keamanan yang tidak aman sampai perlu

ditangani secara khusus untuk pengamanannya.

6. Architecture Neutral

Hal yang lebih penting daripada perang antara PC dengan Mac adalah masalah

pengenalan dan portabilitas program. Jika anda hari ini menulis pengenalan dan

portabilitas program. Jika anda hari ini menulis sebuah program tidak ada jaminan

program tersebut akan jalan besok, bahkan di mesin yang sama. Sistem operasi

berubah, prosessor berubah dan perubahan dalam inti sistem semuanya dapat

bersekongkol membuat program tidak dapat berjalan.

7. Performance

Page 42: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

48

Kemampuan Java sering dikatakan kurang tinggi, namun kemampuan Java dapat

ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft,

ataupun Symantec yang menggunakan Just in Time Compilers (JIT).

8. Mudah dipelajari

Semua keuntungan tersebut saling berinteraksi untuk melayani kebutuhan bahasa

pemrograman. Meskipun Java lebih rumit daripada bahasa scripting tetapi lebih

sederhana untuk dipelajari dan ditulis dalam bahasa lain. Pada setiap tahap proses

pemrograman anda akan terdorong oleh berkurangnya cacat-cacat yang mengejutkan

dan perilaku yang tidak diharapkan.

2.2.7 Bahasa Pemrograman (JAVA- Eclipse)

Menurut Ghumalia (2010, p9) Eclipse adalah sebuah framework berbasis plugin.

Karena Eclipse berbasis plugin, maka Eclipse dapat dikembangkan untuk melakukan

berbagai macam hal. Eclipse juga merupakan sebuah IDE (Integrated Development

Environment) untuk men-develop sebuah web.

Eclipse memiliki kelebihan dibandingkan dengan software lain. Kelebihan-

kelebihan tersebut adalah:

• Open Source – Eclipse Public License (EPL)

Eclipse merupakan sebuah software open source yang dapat digunakan bebas

oleh semua orang.

• Memiliki komunitas developer yang kuat

Sebuah software open source tidak akan bisa bertahan apabila tidak memiliki

sebuah komunitas developer yang berdedikasi kuat. Eclipse memiliki sebuah

komunitas developer yang kuat yang membuat Eclipse menjadi lebih baik.

Page 43: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

49

• Platform Independent

Eclipse dapat digunakan pada Windows, Linux, Mac, dan lain-lain.

• Cepat

Mengingat Eclipse dapat digunakan untuk bahasa pemrograman C/C++, Java,

Perl, PHP, JavaScript Editor Eclipse dapat dikatakan sebagai sebuah software

yang bekerja cukup baik dan cepat untuk dapat menjalankan semua bahasa

pemrograman diatas.

2.2.8 Cloud Computing

2.2.8.1 Definisi Cloud Computing

Menurut Anggeriana (2011, p4-p6) Cloud computing adalah gabungan

pemanfaatan teknologi komputer (komputasi) dan pengembangan berbasis Internet

(awan). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering

digambarkan di diagram jaringan komputer, awan (cloud) dalam cloud computing juga

merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya.

Internet cloud adalah suatu model komputasi dimana kapabilitas terkait teknologi

informasi disajikan sebagai suatu layanan, sehingga pengguna dapat mengaksesnya

lewat Internet.

Sebagaimana telah dijelaskan pada defenisi di atas bahwa cloud computing

adalah layanan teknologi informasi yang di manfaatkan melalui jaringan Internet, namun

tidak semua layanan yang ada di Internet dapat dikategorikan sebagai layanan cloud

computing. Ada pun beberapa syarat yang harus dipenuhi agar layanan yang ada di

Internet dikatakan sebagai layanan cloud computing adalah:

Page 44: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

50

1. Layanan bersifat "On Demand", pengguna dapat berlangganan hanya yang dia

butuhkan saja, dan membayar hanya untuk yang mereka gunakan saja. Misalkan

sebuah sebuah internet service provider menyediakan 5 macam pilihan atau paket-

paket internet dan user hanya mengambil 1 paket internet maka user hanya membayar

paket yang diambil saja.

2. Layanan bersifat elastis/scalable, di mana pengguna bisa menambah atau mengurangi

jenis dan kapasitas layanan yang dia inginkan kapan saja dan sistem selalu bisa

mengakomodasi perubahan tersebut. Misalkan user berlangganan internet pada yang

bandwidth-nya 512 Kb/s lalu ingin menambahkan kecepatannya menjadi 1Mb/s

kemudian user menelpon costumer service meminta untuk penambahan bandwidth

lalu customer service merespon dengan mengubah bandwidth menjadi 1Mb/s.

3. Layanan sepenuhnya dikelola oleh penyedia/provider, yang dibutuhkan oleh

pengguna hanyalah komputer personal/notebook ditambah koneksi internet.

4. Sumber Daya Terkelompok (Resource Pooling)

Penyedia layanan cloud computing memberikan layanan melalui sumber daya yang

dikelompokkan di satu atau berbagai lokasi data center yang terdiri dari sejumlah

server dengan mekanisme multi-tenant. Mekanisme multi-tenant ini memungkinkan

sejumlah sumber daya komputasi digunakan secara bersama-sama oleh sejumlah

user, dimana sumber daya tersebut baik yang berbetuk fisik atau virtual, dapat

dialokasikan secara dinamis untuk kebutuhan pengguna/pelanggan sesuai permintaan.

Dengan demikian pelanggan tidak perlu tahu bagaimana dan darimana permintaan

akan sumber daya komputasinya terpenuhi oleh penyedia layanan yang ada di cloud

Page 45: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

51

computing. Yang penting setiap permintaan dapat dipenuhi. Sumber daya komputasi

ini meliputi media penyimpanan, memory, processor, pita jaringan dan mesin virtual.

5. Akses Pita Lebar

Layanan yang terhubung melalui jaringan pita lebar, terutama dapat diakses secara

memadai memalui jaringan internet. Baik menggunakan thin client, thick client,

ataupun media lain seperti smartphone.

6. Layanan yang terukur (Measured Service)

Sumber daya cloud yang tersedia harus dapat diatur dan dioptimasi penggunaannya,

dengan suatu sistem pengukuran yang dapat mengukur penggunaan dari setiap

sumber daya komputasi yang digunakan (penyimpanan, memory, processor, lebar

pita, aktivitas user, dan lainnya). Dengan demikian, jumlah sumber daya yang

digunakan dapat secara transparan diukur yang akan menjadi dasar bagi user untuk

membayar biaya penggunaan layanan.

Sementara dari sifat jangkauan layanan, Cloud computing terbagi menjadi 3 jenis

layanan yaitu Public Cloud, Private Cloud dan Hybrid Cloud.

a. Public Cloud

Jenis cloud ini diperuntukkan untuk umum oleh penyedia layanannya.

b. Private Cloud

Merupakan infrastruktur layanan cloud, yang dioperasikan hanya untuk sebuah

organisasi tertentu. Infrastruktur cloud itu bisa saja dikelola oleh sebuah organisasi itu

atau oleh pihak ketiga. Lokasinya pun bisa on-site ataupun off-site. Biasanya

organisasi dengan skala besar saja yang mampu memiliki/mengelola private cloud

ini.

Page 46: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

52

c. Community cloud

Dalam model ini, sebuah infrastruktur cloud digunakan bersama-sama oleh beberapa

organisasi yang memiliki kesamaan kepentingan, misalnya dari sisi misinya, atau

tingkat keamanan yang dibutuhkan, dan lainnya.

d. Hybrid Cloud

Untuk jenis ini, infrastruktur cloud yang tersedia merupakan komposisi dari dua atau

lebih infrastruktur cloud (private, community, atau public). Meskipun secara entitas

mereka tetap berdiri sendiri, tapi dihubungkan oleh suatu teknologi/mekanisme yang

memungkinkan portabilitas data dan aplikasi antar cloud itu. Misalnya, mekanisme

load balancing yang antar cloud, sehingga alokasi sumberdaya bisa dipertahankan

pada level yang optimal.

Berikut adalah beberapa gambar konsep atau ilustrasi dari Cloud computing:

Gambar 2.17 Cloud Computing

(Sumber: Anggeriana, 2011,)

Page 47: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

53

2.2.8.2 Manfaat dan Tujuan Cloud Computing

Dengan adanya cloud computing akan mengubah paradigma perusahaan ataupun

organisasi IT dalam memandang investasi teknologi komunikasi informasi. Investasi

untuk modal kapital berubah menjadi biaya operasional dengan besaran yang lebih

efisien akibat adanya cloud computing,dan Ini membuat para pengguna (user) bebas

berkreasi dan tidak perlu menyediakan infrastruktur (data center, processing power,

storage, sampai ke aplikasi desktop) untuk dapat memiliki sebuah sistem, karena

semuanya sudah disediakan secara virtual.

Disaat ini kebutuhan akan pemakaian, pemeliharaan dan keamanan sistem

informasi semakin meningkat, mendorong perusahaan ataupun organisasi untuk

meningkatkan dan mengamankan sistem mereka, namun karena perusahaan ataupun

organisasi tidak memiliki sumber daya yang besar untuk membeli sistem untuk

keperluan mereka dan bahkan untuk memelihara sistem informasi mereka, terlebih lagi

untuk mengamankan sistem tersebut maka kemungkinan besar cloud computing akan

menjadi pilihan pertama dan kemungkinan besar akan berkembang, khusunya di

Indonesia.

Bahkan dengan cloud computing, mereka (perusahaan/organisasi) hanya

menyewa layanan atau jasa dari penyedia cloud computing. Seperti sudah dijelaskan

sebelumnya dengan cloud computing ini dapat mengurangi investasi awal dari sebuah

perusahaan atau organisasi yang membutuhkan pememakaian, pemeliharaan dan

keamanan sistem informasi yang lebih baik.

Dalam hal ini investasi yang besar bagi sebuah perusahaan atau organisasi akan

berubah menjadi suatu sistem operasional yang mudah dikelola, bahkan penyedia jasa

Page 48: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

54

seperti Software as a Service (SaaS) yand ada di cloud dapat menawarkan harga yang

sangat rendah karena faktor ekonomi.

Dengan cloud computing kita tidak perlu lagi dikhawatirkan dengan adanya

kompleksitas teknologi saat ini. Perusahaan dan organisasi yang dalam usahanya

menggunakan teknologi informasi tidak perlu takut dengan hal-hal yang dapat

mengancam keamanan sistem informasi mereka dan bahkan dalam hal peng-updatetan

suatu teknologi atau aplikasi yang dipakai, karena semuanya itu bisa diserahkan kepada

penyedia layanan di cloud computing.

Manfaat cloud computing:

1. Skalabilitas - Mudah meningkatkan kapasitas, sebagai kebutuhan komputasi berubah,

tanpa membeli peralatan tambahan.

2. Accessibility - Akses data dan aplikasi melalui internet dari mana saja.

3. Mengurangi Biaya

4. Shift Beban - Free staf TI internal dari pembaruan dan isu-isu konstan.

Selain itu cloud computing dapat memenuhi persyaratan skalabilitas untuk

memenuhi permintaan pengguna dengan cepat, namun tidak mengharuskan pengguna

untuk menjadi ahli pada bidang teknologi.

Dengan teknologi ini kita dapat memfasilitasi workflow application yang

berskala besar. Sehingga setiap user yang berorientasi pada penggunaan sistem yang

berskala besar untuk keperluan organisasi atau perusahaannya, tidak perlu kuatir.

Mengapa? Teknologi ini (cloud computing) hadir untuk mengatasi itu. Sebagai contoh

perusahaan yang memerlukan tempat penyimpanan yang besar untuk keperluan kerja

perusahaan mereka, cloud dapat menyediakan-nya, tanpa harus perusahaan tersebut

Page 49: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

55

menyediakan server/storage yang besar untuk keperluan data mereka, yang sudah

barang tentu memerlukan biaya yang besar.

Selain itu manfaat dan tujuan dari cloud computing dalam rangka mendukung

perangkat lunak yang di gunakan pada cloud computing adalah sebagai berikut:

1. Sistem penagihan yang terencana dan biaya untuk komputasi yang murah pada

tingkat yang sangat mantap.

2. Memberikan performance database yang baik dan handal.

3. Memiliki jaminan keamanan yang tinggi yang didukung dengan dedicated server.

4. Memungkinkan pengguna dapat meminta penyimpanan dalam jumlah besar atau kecil

dengan cepat serta menyediakan system penyimpanan yang terstruktur yang

disebabkan karena ruang penyimpanan yang di atur secara teratur.

5. Mengefisienkan penggunaan aplikasi dan pengefisienan perangkat keras yang selama

ini di pergunakan user (semuanya tersedia di cloud computing).

6. Menghemat/menekan penggunaan ruang yang berlebihan.

7. Mendukung program go green. (Anggeriana, 2011, p10-p12)

2.2.9 Dropbox

2.2.9.1 Definisi Dropbox

Dropbox merupakan sebuah layanan gratis yang memungkinkan Anda untuk

menyimpan foto, dokumen, dan video dimanapun serta membagikannya untuk orang

lain dengan mudah. Dropbox ditemukan pada tahun 2007 oleh Drew Houston dan Arash

Ferdowsi, yang merupakan dua mahasiswa MIT yang lelah karena harus mengirimkan

email satu sama lain ketika saat bekerja dengan menggunakan lebih dari satu computer.

(Houston & Ferdowsi, 2007)

Page 50: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

56

2.2.9.2 Public Folder

Public folder merupakan layanan atau fitur pada dropbox yang memungkinkan

pengguna Dropbox untuk saling berbagi file dengan cepat dan mudah. Pengguna

dropbox hanya tinggal meletakkan file pada folder tersebut maka orang-orang dapat

mengunduh file tersebut dengan mudah. (Houston & Ferdowsi, 2007)

2.2.10 Android

2.2.10.1 Definisi Android

Menurut DiMarzio (2008, p6) Android adalah Sistem Operasi berbasis Java yang

dijalankan pada kernel Linux 2.6. Sistem Operasi mempunyai fitur-fitur yang lengkap

walaupun ukurannya sangat kecil. Aplikasi-aplikasi Android dibuat menggunakan

bahasa pemrograman Java dan dengan sedikit modifikasi, dapat pula dijalankan di

platform lain. Beberapa fitur pada Android diantaranya adalah accelerated 3D graphics

engine, database SQLite, dan web browser. Walaupun dalam perancangan user interface

(UI) pada aplikasi Android dapat langsung menggunakan kode-kode pada program,

Android juga telah mendukung perancangan UI dengan menggunakan XML. Salah satu

fitur yang menarik pada Android adalah tersedianya akses untuk menggunakan segala

sesuatu yang dapat diakses oleh sistem operasi salah satunya adalah akses GPS (jika

ada). Google juga telah mengintegrasikan fitur-fitur mereka seperti Google Maps dan

Google Search untuk pembuatan aplikasi Android, jadi para pembuat aplikasi dapat

membuat aplikasi yang lebih dinamis dan interaktif.

2.2.10.2 Sejarah Android

Pada Juli 2000, Google bekerjasama dengan Android Inc., perusahaan yang

berada di Palo Alto, California Amerika Serikat. Para pendiri Android Inc. bekerja pada

Page 51: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

57

Google, diantaranya Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Saat itu

banyak yang menganggap fungsi Android Inc. hanyalah sebagai perangkat lunak pada

telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki pasar

telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin bertugas

mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini

menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam

pasar telepon seluler.

Sekitar September 2007 sebuah studi melaporkan bahwa Google mengajukan

hak paten aplikasi telepon seluler (akhirnya Google mengenalkan Nexus One, salah satu

jenis smartphone GSM yang menggunakan Android pada sistem operasinya.

Smartphone ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari

2010).

Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam

program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh

Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan

Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA

mengumumkan produk perdana mereka, Android, perangkat bergerak (mobile) yang

merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai

pembaruan berupa perbaikan bug dan penambahan fitur baru. Smartphone pertama yang

memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober

2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18

jenis smartphone yang menggunakan Android. (Gondroid, 2013)

Page 52: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

58

2.2.10.3 Jenis-jenis Android

1. Android versi 1.1.

2. Android versi 1.5 (Cupcake).

3. Android versi 1.6 (Donut).

4. Android versi 2.0/2.1 (Eclair).

5. Android versi 2.2 (Froyo: Frozen Yoghurt).

6. Android versi 2.3 (Gingerbread).

7. Android versi 3.0/3.1 (Honeycomb).

8. Android versi 4.0 (ICS: Ice Cream Sandwich).

9. Android versi 4.1 (Jelly Bean).

(Gondroid, 2013)

2.2.10.4 Arsitektur Sistem Android

Berikut adalah gambar arsitektur dari sistem Android:

Page 53: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

59

Gambar 2.18 Arsitektur Sistem Android

(Sumber: Naufal, 2012)

Gambar diatas merupakan skema pembagian elemen pada arsitektur Android.

Secara garis besar arsitektur android terdiri dari empat layer komponen, yaitu:

1. Applications and Widget

Layer ini merupakan layer yang berisi semua aplikasi-aplikasi yang berjalan

pada sistem operasi Android seperti browser, music player, gallery, dan sebagainya.

Semua aplikasi ini dibuat dengan menggunakan bahasa pemrograman Java.

2. Applications Framework

Applications Framework merupakan layer yang berisi komponen – komponen

yang dapat digunakan oleh pembuat aplikasi untuk membuat aplikasinya. Beberapa

contoh komponen yang ada di dalam Applications Framework yaitu:

a. Activity Manager

Page 54: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

60

b. Window Manager

c. Content Provider

d. View System

e. Package Manager

3. Libraries

Libraries merupakan layer yang berisi fitur-fitur dari android. Pada umumnya

libraries digunakan oleh aplikasi untuk menjalankan fitur – fitur yang ada pada

android. Beberapa library yang terdapat pada android diantaranya adalah libraries

Graphic untuk mendukung grafik 2D dan 3D, libraries untuk menjalankan berbagai

format video dan audio, libraries SQLite untuk dukungan database, dan masih

banyak library lainnya.

4. Android RunTime

Android RunTime merupakan layer yang membuat aplikasi android bisa

dijalankan. Android RunTime dibagi menjadi dua bagian yaitu:

a. Core Libraries: berfungsi untuk menerjemahkan bahasa Java/C.

b. Dalvik Virtual Machine: sebuah mesin virtual berbasis register yang

dioptimalkan untuk menjalankan fungsi-fungsi pada Android secara efisien.

5. Linux Kernel

Linux Kernel merupakan layer tempat dibuatnya seluruh sistem operasi

Android. Layer ini berisi file system yang mengatur system processing, memory,

resource, drivers, dan sistem android lainnya.. Kernel yang digunakan adalah kernel

Linux versi 2.6, dan versi 3.x pada Android versi 4.0 ke atas. Kernel ini berbasis

monolithic. (Naufal, 2012)

Page 55: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00653-IF Bab2001.pdf · akan menampilkan hasil sesuai dengan yang diinginkan. (2)

61

2.2.11 SQLite

SQLite merupakan sebuah mesin database SQL yang memiliki ciri-ciri seperti

tanpa server, tidak membutuhkan konfigurasi, transaksi, dan self-contained. Kode yang

digunakan pada SQL merupakan public domain dan bersifat gratis dan dapat

dipergunakan untuk keperluan apapun seperti kebutuhan pribadi ataupun komersial.

SQL merupakan SQL database yang telah tergabung kedalam satu paket. Tidak

seperti SQL database lainnya, SQLite tidak mempunyai server terpisah. SQLite

membaca dan menulis data langsung kedalam file.SQLite tidak perlu di-install terlebih

dahulu sehingga tidak ada proses server yang harus dijalankan.

Database SQLite merupakan satu file disk biasa yang diletakkan dimana saja dala

hierarki direktore.File database ini dapat dengan mudah di simpan didalam USB.

Format file SQLite bersifat cross-platform (dapat digunakan dibeberapa sistem operasi

yang berbeda).

Fitur-fitur yang terdapat pada SQLite adalah:

1. SQLite tidak membutuhkan konfigurasi.

2. SQLite tidak membutuhkan server.

3. SQLite memiliki satu file database.

4. SQLite memiliki file database cross-platform yang stabil.

5. SQLite dapat dipadatkan atau diperkecil ukurannya.

6. Source code yang mudah dibaca.

(Richard, 2013)