bab 2 landasan teori - library & knowledge...

47
9 BAB 2 LANDASAN TEORI 2.1 Teori-Teori Dasar/Umum 2.1.1 Teknologi Mobile 2.1.1.1 Mobile Application Menurut Mobile Marketing Association (2008) mobile application adalah perangkat lunak yang berjalan pada perangkat mobile seperti smartphone atau tablet PC. Mobile Application juga dikenal sebagai aplikasi yang dapat diunduh dan memiliki fungsi tertentu sehingga menambah fungsionalitas dari perangkat mobile itu sendiri. Untuk mendapatkan mobile application yang diinginkan, user dapat mengunduhnya melalui situs tertentu sesuai dengan sistem operasi yang dimiliki. Google Play dan iTunes merupakan beberapa contoh dari situs yang menyediakan beragam aplikasi bagi pengguna Android dan iOS untuk mengunduh aplikasi yang diinginkan. Berdasarkan Mobile Marketing Association (2008), mobile application dapat dikelompokkan menjadi enam kategori yaitu: 1. Komunikasi Aplikasi yang membantu user untuk meningkatkan kemudahan dalam melakukan komunikasi. Contoh: email clients, instant messenger (IM) clients, browser, social network clients.

Upload: lydien

Post on 16-Mar-2019

231 views

Category:

Documents


0 download

TRANSCRIPT

9

BAB 2

LANDASAN TEORI

2.1 Teori-Teori Dasar/Umum

2.1.1 Teknologi Mobile

2.1.1.1 Mobile Application

Menurut Mobile Marketing Association (2008) mobile

application adalah perangkat lunak yang berjalan pada perangkat

mobile seperti smartphone atau tablet PC. Mobile Application juga

dikenal sebagai aplikasi yang dapat diunduh dan memiliki fungsi

tertentu sehingga menambah fungsionalitas dari perangkat mobile itu

sendiri.

Untuk mendapatkan mobile application yang diinginkan, user

dapat mengunduhnya melalui situs tertentu sesuai dengan sistem

operasi yang dimiliki. Google Play dan iTunes merupakan beberapa

contoh dari situs yang menyediakan beragam aplikasi bagi pengguna

Android dan iOS untuk mengunduh aplikasi yang diinginkan.

Berdasarkan Mobile Marketing Association (2008), mobile

application dapat dikelompokkan menjadi enam kategori yaitu:

1. Komunikasi

Aplikasi yang membantu user untuk meningkatkan kemudahan

dalam melakukan komunikasi. Contoh: email clients, instant

messenger (IM) clients, browser, social network clients.

10

2. Permainan

Aplikasi yang berisi beragam permainan, bertujuan sebagai

sarana hiburan bagi pengguna aplikasi. Contoh: puzzle, cards, action,

sports.

3. Multimedia

Aplikasi yang membantu user untuk melakukan aktivitas yang

berhubungan dengan gambar, audio, serta video. Contoh: video

players, audio players, image viewers.

4. Produktivitas

Aplikasi yang membantu user untuk mengatur ataupun

meningkatkan produktivitas user. Contoh: kalender, kalkulator,

notepad, banking/finance.

5. Travel

Aplikasi yang dapat membantu user ketika user melakukan

perjalanan. Contoh: Global Positioning System (GPS), translator.

6. Utilities

Aplikasi yang berfungsi untuk membantu user dalam mengatur

ataupun merancang keperluan yang dibutuhkan. Contoh: address book,

task manager, call manager, file manager.

2.1.1.2 Smartphone

Mengacu pendapat Allen, Graupera & Lundrigan (2010)

smartphone adalah telepon yang memiliki keyboard QWERTY, baik

itu keyboard fisik ataupun layar sentuh, dan memiliki layar yang lebih

11

besar dengan resolusi yang lebih tinggi serta memiliki kemampuan

device yang lebih banyak.

Layaknya sebuah komputer, smartphone juga memiliki sistem

operasi untuk dapat menjalankannya. Berbagai contoh sistem operasi

yang ada pada smartphone saat ini yaitu Symbian, RIM Blackberry,

iOS, Windows Phone dan Android (Allen, Graupera & Lundrigan,

2010).

Berikut ini merupakan fitur-fitur yang ditawarkan pada

smartphone menurut Nichols (2003):

1. Mengakses jaringan seluler dengan standar seluler yang berbeda

seperti Global System for Mobile (GSM) ataupun Code Division

Multiple Access (CDMA).

2. Mengakses jaringan internet dengan menggunakan jaringan yang

berbeda, seperti infrared, bluetooth, GPRS/CDMA1X dan 802.11

atau menggunakan kabel protocol TCP/IP.

3. Dapat menjalankan beragam aplikasi secara bersamaan.

4. Data yang ada pada smartphone dapat disinkronisasi dengan

personal computer (PC).

5. Application Programming Interface (API) yang terbuka bagi

pengembangan aplikasi.

12

2.1.2 Interaksi Manusia dan Komputer

2.1.2.1 Pengertian Interaksi Manusia dan Komputer

Menurut Shneiderman dan Plaisant (2010), Interaksi manusia

dan komputer merupakan sebuah ilmu yang mempelajari tentang

hubungan antara manusia dan komputer melalui perancangan, evaluasi

dan implementasi terhadap user interface, sehingga pengguna

komputer dapat lebih mudah memahaminya.

2.1.2.2 Lima Faktor Manusia Terukur

Berdasarkan pernyataan Shneiderman dan Plaisant (2010),

Interaksi yang dekat dengan komunitas pengguna merupakan langkah

tepat untuk mengetahui dasar-dasar tentang kegunaan tujuan dan

pengukuran sebuah desain. Terdapat lima faktor yang mempengaruhi

pengukuran terhadap perancangan sistem user interface:

1. Waktu belajar

Waktu belajar adalah waktu yang dibutuhkan oleh pengguna

untuk mempelajari bagaimana sebuah aksi dapat menjalankan suatu

tugas.

2. Kecepatan kinerja

Kecepatan kinerja dapat didefinisikan sebagai waktu yang

dibutuhkan seseorang untuk menjalankan suatu tugas.

3. Tingkat kesalahan pengguna

Berapa banyak dan jenis kesalahan apa saja yang dilakukan oleh

pengguna dalam melaksanakan tugas.

13

4. Daya ingat

Bagaimana kemampuan pengguna mempertahankan

pengetahuannya dalam jangka waktu tertentu.

5. Kepuasan subjektif

Bagaimana ketertarikan pengguna terhadap aspek-aspek yang

terdapat pada interface.

2.1.2.3 Delapan Aturan Emas

Mengacu pernyataan Shneiderman dan Plaisant (2010) terdapat

delapan aturan yang disebut sebagai “Golden Rules” yang dipakai

dalam desain interface yang baik. Delapan aturan emas tersebut ialah:

1. Berusaha untuk konsisten

Konsistensi dibutuhkan dalam berbagai situasi seperti

penggunaan warna, tampilan, jenis tulisan dan seluruh bagian lainnya.

2. Melayani kegunaan yang universal

Mengetahui perbedaan kebutuhan antar user, seperti tingkat

perbedaan novice user hingga expert user, perbedaan umur, dan

perbedaan tingkat teknologi. Pada novice user disediakan fitur

penjelasan, sedangkan pada expert user disediakan fitur shortcut.

3. Memberikan umpan balik yang informatif

Untuk setiap aksi yang diberikan user, sistem harus memberikan

umpan balik yang informatif agar user mengetahui hasil dari aksi

tersebut.

14

4. Merancang dialog untuk hasil penutupan

Urutan dari tindakan-tindakan harus diorganisasikan secara

berkelompok mulai dari dasar, menengah, hingga akhir. Pada bagian

akhir terdapat suatu informasi atau dialog yang memberikan

konfirmasi atas keberhasilan tindakan dari user.

5. Memberikan pencegahan dan penanganan kesalahan

Rancangan sebuah sistem sebisa mungkin tidak membuat user

melakukan kesalahan yang fatal. Sistem harus memberikan sebuah

instruksi sederhana agar dapat melakukan penanganan kesalahan.

6. Mengizinkan pengembalian aksi

Pada sistem harus terdapat fitur pengembalian aksi ketika user

mengetahui adanya kesalahan yang tidak dapat diselesaikan.

7. Pengendalian internal

User harus mengerti bahwa mereka adalah pengendali sistem

dan sistem yang akan merespons terhadap aksi-aksi yang dilakukan

user.

8. Mengurangi beban ingatan jangka pendek

Manusia memiliki kapasitas terbatas dalam memproses informasi

dalam jangka waktu pendek. Sistem harus mencegah interface yang

membuat user harus mengingat informasi dari satu tampilan kemudian

menggunakan informasi tersebut ke tampilan lainnya.

15

2.1.3 Data, Database dan Database Management System (DBMS)

2.1.3.1 Data

Berdasarkan Hofer (2009), data adalah fakta-fakta yang

berhubungan dengan objek dan kejadian yang dapat direkam dan

disimpan pada media komputer. Sebagai representasi dari objek dan

kejadian, data yang tersimpan memiliki arti penting bagi user.

2.1.3.2 Database

Menurut Connolly dan Begg (2010), database merupakan

kumpulan data yang saling terhubung, didesain untuk memenuhi

kebutuhan informasi suatu organisasi. Database adalah tunggal

sehingga memungkinkan penyimpanan data dalam jumlah besar yang

dapat digunakan secara bersama oleh banyak departemen dan user.

2.1.3.3 Database Management System (DBMS)

Database Management System (DBMS) adalah sebuah sistem

software yang memungkinkan pengguna untuk mendefinisikan,

membuat, memantau dan mengontrol akses dari database (Connolly

dan Begg, 2010).

Menurut Connolly dan Begg (2010), terdapat beberapa fasilitas

yang disediakan oleh Database Management System (DBMS):

1. Data Definition Language (DDL)

DDL merupakan bahasa yang memungkinkan seorang database

administrator atau user untuk menjelaskan dan memberi nama entitas,

16

atribut dan relationship yang diperlukan dari aplikasi. Operasi yang

termasuk ke DDL yaitu create, drop dan alter.

2. Data Manipulation Language (DML)

DML merupakan bahasa yang menyediakan serangkaian operasi

untuk mendukung operasi manipulasi data yang ada di database. Yang

termasuk operasi DML adalah insert, update, delete.

3. Menyediakan akses kontrol ke database, yaitu seperti:

a. Security system merupakan kontrol untuk mencegah user yang

tidak diizinkan untuk mengakses database.

b. Integrity system merupakan kontrol untuk memelihara

konsistensi dari data yang tersimpan.

c. Concurrency control system merupakan kontrol yang

memungkinkan untuk pembagian akses dari database.

d. Recovery control system merupakan kontrol yang

memungkinkan penyimpanan database ke tahap sebelum

terjadinya kegagalan pada hardware ataupun software.

e. User-accessible catalog merupakan kontrol yang berisi

deskripsi dari data yang ada di database.

2.1.4 Object Oriented Programming

Object oriented programming merupakan paradigma pemrograman

struktural yang menggunakan metode pemisahan struktur-struktur logical pada

program menjadi bagian-bagian yang lebih kecil sehingga lebih mudah untuk

dikelola. (Kendal, 2009).

17

Struktur-struktur logical yang lebih kecil pada object oriented

programming biasa disebut dengan class.

Menurut Kendal (2009), class adalah cara pemodelan yang digunakan

untuk mendeskripsikan properti-properti dari sebuah object.

Keuntungan dari object oriented programming adalah:

a. Abstraksi yang lebih baik

Hal ini dikarenakan dengan adanya class akan lebih mudah untuk

melakukan pemodelan pemrograman menjadi struktur-struktur yang

lebih kecil.

b. Pengelolaan yang lebih baik

Pemisahan struktur-struktur logical program menjadi bagian yang

lebih kecil akan memudahkan untuk mengelola program secara

keseluruhan.

c. Penggunaan yang lebih baik

Class yang telah dibuat sebelumnya dapat digunakan kembali untuk

fungsi yang berbeda. Hal ini dimungkinkan dengan adanya konsep

inheritance pada object oriented programming.

2.1.5 Model View Controller (MVC)

Menurut Pressman (2010), model view controller adalah desain

arsitektur untuk perangkat lunak yang memisahkan antara user interface,

fungsionalitas aplikasi dan navigasi aplikasi menjadi tiga bagian berbeda.

Dalam pemodelannya ketiga bagian tersebut dapat dijelaskan sebagai

berikut:

18

a. View berisi semua functions yang berkaitan dengan tampilan

aplikasi.

b. Controller berfungsi untuk melakukan pengaturan terhadap model

dan view, serta mengkordinasikan aliran data diantara keduanya.

c. Model berisi semua spesifikasi aplikasi dan logika dari aplikasi.

Termasuk didalamnya akses ke data eksternal dan semua

fungsionalitas aplikasi.

2.1.6 Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sebuah bentuk aturan

pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah

sistem perangkat lunak ke dalam bentuk objek (Whitten dan Bentley, 2007)

Meskipun UML tidak digunakan untuk menentukan metode

pengembangan sistem, namun UML digunakan sebagai standar pemodelan

objek pada perancangan perangkat lunak.

2.1.6.1 Use Case Diagram

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

diagram yang menggambarkan interaksi antara sistem, external sistem

dan pengguna. Use case diagram menjelaskan siapa yang akan

menggunakan sistem dan dengan cara apa user berinteraksi dengan

sistem tersebut.

19

Gambar 2.1 Use Case Diagram

Terdapat beberapa komponen penting dalam membuat use case

diagram. Komponen-komponen tersebut adalah:

1. Use Case

Use case adalah gambaran dari urutan-urutan tahapan yang

saling berhubungan. Use case berfungsi untuk mencapai tujuan bisnis.

Gambar 2.2 Use Case

2. Actor

Dalam Use case diagram, actor adalah segala hal di luar sistem

yang berfungsi untuk menggambarkan interaksi yang dilakukan

Use Case Symbol

System

Use Case

Use Case

Use Case

Actor Actor

Actor

20

terhadap sistem dengan tujuan untuk melakukan pertukaran informasi.

Yang dapat dikategorikan sebagai actor yaitu orang, organisasi, dan

waktu.

Gambar 2.3 Actor

3. Relationship

Relationship merupakan gambaran hubungan antara actor dan

use case terhadap sistem. Relationship direpresentasikan dengan

sebuah garis yang menghubungkan dua komponen lainnya yaitu actor

dan use case.

Berikut ini merupakan jenis-jenis hubungan yang ada di use case

diagram menurut Whitten & Bentley (2007):

a. Associations

Associations atau yang biasa disebut dengan asosiasi

merupakan hubungan yang menggambarkan adanya interaksi

antara actor dan use case. Adanya asosiasi mengindikasikan

bahwa actor terlibat untuk melakukan interaksi dengan use case.

Asosiasi dapat berjalan secara satu arah (unidirectional) ataupun

dua arah (bidirectional).

Terdapat dua jenis asosiasi menurut Whitten dan Bentley

(2007) yaitu:

21

1. Asosiasi yang digambarkan dengan kepala panah tertutup.

Asosiasi ini mengindikasikan bahwa actor merupakan

inisiator dari use case.

2. Asosiasi yang digambarkan dengan garis tanpa kepala panah.

Asosiasi ini menggambarkan interaksi antara use case dan

external server ataupun receiver actor.

Gambar 2.4 Associations

(Sumber: Whitten & Bentley, 2007, p248 )

b. Extends

Penggunaan extends di use case diagram bertujuan untuk

menyederhanakan use case serta membuat use case lebih mudah

dimengerti. Hasil dari use case yang telah disederhanakan

disebut dengan extensions use case.

c. Uses or Includes

Uses or includes digunakan ketika dua atau lebih use case

menunjukkan langkah yang sama. Sehingga akan lebih baik

memisahkan langkah-langkah tersebut secara terpisah. Hal ini

biasa dikenal dengan abstract use case. Abstract use case

berfungsi untuk mengurangi redundansi pada use case dengan

22

cara menggabungkan langkah yang sama antara dua use case

atau lebih menjadi satu.

Gambar 2.5 Uses or Includes Use Case

(Sumber: Whitten & Bentley, 2007, p249 )

d. Depends On

Depends on merupakan gambaran hubungan antar use

case. Depends on terjadi jika suatu use case tidak dapat

dijalankan sebelum use case tertentu dijalankan terlebih dahulu.

Gambar 2.6 Depends On

(Sumber: Whitten & Bentley, 2007, p250)

23

e. Inheritance

Hubungan inheritance pada use case menggambarkan

hubungan antara beberapa actor yang bertujuan untuk

menyederhanakan penggambaran use case diagram.

Gambar 2.7 Inheritance

(Sumber: Whitten & Bentley, 2007, p250 )

2.1.6.2 Use Case Narrative

Menurut Whitten dan Bentley (2007), use case narrative adalah

deskripsi tekstual dari dari suatu kegiatan yang menggambarkan bagaimana

pengguna berinteraksi dengan sistem dalam menyelesaikan suatu tugas.

Tabel 2.1 Elemen Use Case Narrative

No Elemen Keterangan

1 Use Case Name Nama use case yang telah digambarkan

sebelumnya pada use case diagram.

2 Priority Menjelaskan seberapa penting dari use case yang

24

dimaksud.

3 Flow of Event Alur kegiatan yang perlu dilakukan user untuk

melakukan suatu aksi.

4 Pre Condition Kondisi awal saat user belum melakukan aksi

yang ada pada use case.

5 Primary Actor Actor yang berinteraksi dengan sistem.

6 Secondary Actor Actor lain yang berpartisipasi selain primary

actor.

7 Description Deskripsi dari use case yang menjelaskan tujuan

dari use case.

8 Post Condition Kondisi akhir yang harus dicapai saat user telah

melakukan aksi yang ada pada use case.

2.1.6.3 Class Diagram

Class diagram merupakan gambaran sebuah sistem yang disusun

dari objek-objek bernama kelas yang juga menjelaskan hubungan

antara kelas-kelas tersebut (Whitten & Bentley, 2007).

Sebuah class disusun atas tiga elemen, yaitu:

1. Nama Kelas (class name)

2. Atribut (attribute)

3. Operasi (operations)

25

Gambar 2.8 Class

Visibility

Mengacu teori dari Whitten & Bentley (2007) visibility adalah

cara untuk menentukan bagaimana attribute dan method dari suatu

kelas diakses oleh kelas lainnya.

UML menyediakan tiga cara untuk melakukan visibility (Whitten

& Bentley, 2007):

1. Public

Attribute atau method yang didefinisikan dengan public berarti

attribute atau method tersebut bersifat public. Sehingga kelas lain

dapat mengakses attribute ataupun method tersebut. Attribute atau

method yang bersifat public ini biasanya dinotasikan dengan tanda ‘+’

pada class diagram.

2. Private

Attribute atau method yang didefinisikan dengan private berarti

attribute atau method tersebut bersifat private. Sehingga kelas lain

tidak dapat mengakses attribute ataupun method tersebut. Kelas yang

<<class name>>

- attributes

+ operations

26

bersifat private ini biasanya dinotasikan dengan tanda ‘-’ pada class

diagram.

3. Protected

Attribute atau method yang didefinisikan dengan protected

berarti attribute atau method bersifat protected. Kelas lain dapat

mengakses attribute ataupun method tersebut asalkan kelas tersebut

merupakan turunan (inheritance) dari kelas lain. Attribute atau method

yang bersifat protected ini biasanya dinotasikan dengan tanda ‘#’ pada

class diagram.

Generalization/Specialization

Berdasarkan pendapat Whitten dan Bentley (2007)

Generalization/specialization adalah cara untuk menggambarkan

hubungan antara supertype dengan subtype pada class diagram,

dimana supertype adalah objek kelas yang memiliki atribut umum dari

subtype. Sedangkan subtype merupakan bentuk khusus dari supertype.

Dalam hal ini berarti subtype memiliki semua atribut yang dimiliki

oleh supertype.

Hubungan turunan antar kelas (inheritance) pada class diagram

dapat diidentifikasi dengan adanya generalization/specialization.

27

Person

Gambar 2.9 Generalization/Specialization

Multiplicity

Untuk menentukan banyaknya kelas yang terhubung antara satu

kelas dengan kelas lainnya pada class diagram, digunakanlah istilah

multiplicity untuk menggambarkannya (Whitten dan Bentley, 2007).

Tabel 2.2 menunjukkan jenis-jenis multiplicity yang ada di class

diagram.

Teacher

Student

28

Tabel 2.2 Multiplicity

Multiplicity Notasi

Tepat 1 1

Nol atau satu 0..1

Nol atau lebih 0..*

Satu atau lebih 1..*

Association

Association merupakan gambaran hubungan antar kelas pada

class diagram (Whitten & Bentley, 2007). Dibutuhkan dua kelas atau

lebih untuk menggambarkan association. Association pada class

diagram mempunyai fungsi selain untuk menggambarkan hubungan

antar kelas, juga berfungsi untuk menggambarkan multiplicity yang

ada.

Gambar 2.10 Association

(Sumber: Whitten & Bentley, 2007, p377)

Aggregation

Mengacu pendapat Whitten dan Bentley (2007) aggregation

merupakan istilah untuk menggambarkan hubungan suatu kelas yang

29

merupakan bagian dari kelas lainnya, yang mana kelas yang lebih kecil

merupakan bagian dari kelas yang lebih besar. Aggregation

digambarkan dengan simbol garis dan belah ketupat yang mengarah ke

kelas lainnya.

Gambar 2.11 Aggregation

Composition

Composition merupakan hubungan aggregation yang lebih erat.

Yang dimaksud lebih erat disini adalah kelas yang lebih besar

bertanggung jawab atas pembuatan dan juga penghancuran dari kelas

yang lebih kecil, sehingga kelas yang lebih besar telah tidak ada, maka

kelas yang lebih kecil juga tidak ada. Composition digambarkan

dengan garis yang diujungnya terdapat belah ketupat berwarna hitam

(Whitten dan Bentley, 2007).

Gambar 2.12 Composition

Team

Player

Book

Index

30

Dependency Relationship

Dependency relationship adalah model yang digunakan

untuk menggambarkan hubungan antar kelas yang saling

bergantung satu sama lain. Dependency relationship digunakan

untuk mengindikasikan perubahan yang terjadi pada suatu kelas,

yang mana perubahan tersebut dapat memberikan dampak pada

kelas lain.

Gambar 2.13 Dependency Relationship

(Sumber : Whitten & Bentley, 2007, p650)

Navigability

Navigability adalah hubungan unidirectional antar kelas

yang mana hanya satu kelas dapat mengirimkan pesan kepada

kelas lainnya. Kelas pengirim pesan dapat mengetahui visibility

dari kelas penerima pesan, namun bagi kelas penerima pesan,

tidak dapat mengetahui visibility dari kelas pengirim pesan.

Gambar 2.14 Navigability

(Sumber : Whitten & Bentley, 2007, p650)

31

2.1.6.4 Activity Diagram

Activity diagram adalah diagram yang menggambarkan aliran

bisnis proses serta tahapan use case ataupun logika dari operasi objek

(Whitten & Bentley, 2007).

Gambar 2.15 Activity Diagram

Terdapat beberapa notasi diperlukan untuk menggambarkan activity

diagram. Notasi-notasi tersebut dapat dilihat pada tabel 2.3.

32

Tabel 2.3 Notasi-Notasi Activity Diagram

Nama

Simbol Gambar Keterangan

Initial Node

Simbol yang digunakan untuk

menggambarkan awal dari

proses.

Action Simbol yang digunakan untuk

menggambarkan suatu aksi.

Flow Simbol yang digunakan untuk

menggambarkan alur dari satu

aksi ke aksi lainnya.

Decision

Simbol yang digunakan untuk

menggambarakn aktivitas untuk

melakukan pemilihan. Decision

digambarkan belah ketupat,

dimana terdapat satu alur masuk

ke simbol dan dua atau lebih

alur keluar dari simbol. Alur

yang keluar dari simbol

digunakan untuk

mengindikasikan suatu kondisi.

Merge

Simbol yang digunakan untuk

menggambarkan aktivitas untuk

Create Backorder

33

melakukan penggabungan aksi

yang telah dipisahkan pada

decision sebelumnya. Merge

digambarkan dengan belah

ketupat dimana dua atau lebih

alur masuk ke simbol dan satu

alur keluar dari simbol.

Fork

Simbol yang berfungsi untuk

menggambarkan keadaan

paralel. Fork digambarkan

dengan bentuk persegi panjang

berwarna hitam. Alur yang

terdapat di bawah fork

mengindikasikan bahwa

terdapat dua atau lebih aksi

yang dapat terjadi secara

bersamaan.

Join

Simbol yang digambarkan

dengan kotak hitam serta adanya

dua atau lebih alur masuk ke

simbol dan satu alur keluar dari

simbol. Semua aksi yang masuk

ke simbol harus diselesaikan

34

Message 1

Message 2

terlebih dahulu agar proses

selanjutnya dapat dijalankan.

Activity

Final

Simbol yang berfungsi untuk

menandakan berakhirnya sebuah

proses.

2.1.6.5 Sequence Diagram

Sequence diagram adalah diagram yang menggambarkan

interaksi antara aktor dan dalam urutan waktu (Whitten & Bentley,

2007).

Gambar 2.16 Sequence Diagram

Untuk membuat sequence diagram diperlukan beberapa

komponen yang digambarkan dengan simbol-simbol tertentu. Simbol-

:System Actor

35

simbol yang digunakan untuk menggambarkan sequence diagram

ditunjukkan pada tabel 2.4.

Tabel 2.4 Simbol-Simbol Sequence Diagram

Nama

Simbol Gambar Keterangan

Actor

Sama halnya seperti pada use

case diagram, actor merupakan

elemen yang berinteraksi dengan

sistem.

System

Simbol yang digunakan untuk

menggambarkan sistem yang

dijalankan pada sequence

diagram.

Lifelines

Simbol yang direpresentasikan

dengan garis vertikal putus-putus,

digunakan untuk menggambarkan

urutan kehidupan dari sequence

diagram.

Activation

Bar

Simbol yang direpresentasikan

dengan persegi panjang vertikal,

digunakan untuk menggambarkan

periode waktu ketika aktor aktif

: system

36

melakukan interaksi dengan

sistem. Activation bar

ditempatkan diatas lifelines.

Input

Message

Simbol yang digunakan untuk

menggambarkan pesan masuk ke

sistem yang dikirimkan oleh

aktor. Input message

digambarkan dengan panah

horizontal dimana kepala panah

mengarah ke sistem. Cara

penulisan input message adalah

kata pertama diawali dengan

huruf kecil diikuti dengan kata

berikutnya yang diawali huruf

besar tanpa adanya spasi diantara

kata-kata tersebut.

Output

Message

Simbol yang digunakan untuk

menggambarkan pesan yang

dikeluarkan oleh sistem untuk

dikirimkan ke aktor. Output

message digambarkan dengan

panah horizontal dengan garis

putus-putus dimana kepala panah

37

mengarah ke aktor.

Self Call

Simbol yang digunakan untuk

menggambarkan pesan yang

dikirimkan oleh objek ke objek

itu sendiri.

Frame

Simbol yang digunakan untuk

menggambarkan area pada

sequence diagram yang

mengalami perulangan (looping),

pemilihan (alternatives) serta

langkah-langkah opsional.

2.1.7 Waterfall Model

Waterfall Model merupakan proses aktivitas dasar yang terdiri dari

spesifikasi, pengembangan, validasi dan evaluasi yang direpresentasikan

dengan tahapan fase terpisah seperti spesifikasi kebutuhan, software design,

implementasi, testing dan lainnya. (Sommerville, 2011).

Prinsip dari penggunaan waterfall model yaitu semua proses aktivitas

untuk melakukan perancangan software harus dilakukan perencanaan dan

penjadwalan pada awal proses.

Didalam waterfall model terdapat lima tahapan yang mana setiap

tahapan berhubungan secara berurutan dan memberikan informasi yang

alt

38

diperlukan pada tahap berikutnya, setiap tahapan harus diselesaikan dahulu

sebelum masuk ke tahap berikutnya.

Gambar 2.17 Waterfall Model

(Sumber: Sommerville, 2011, p30)

Berikut adalah tahap-tahap yang digunakan menurut Sommerville

(2011):

1. Requirement analysis and definition

Tahap ini adalah tahap dimana semua kebutuhan user dikumpulkan

secara lengkap kemudian dianalisis secara mendetail berdasarkan tujuan,

hambatan dan sistem layanan yang akan digunakan user.

2. System and software design

System and software design merupakan tahap yang harus dijalankan

setelah semua kebutuhan telah berhasil dikumpulkan. Tahap ini adalah tahap

mengidentifikasi dan mendefinisikan abstraksi dasar sistem software,

39

menentukan hubungan antar data dan membuat prototype atau kerangka yang

akan dijadikan acuan untuk pengembangan software selanjutnya.

3. Implementation and unit testing

Implementation and unit testing merupakan tahap dimana aplikasi mulai

dikembangkan sesuai dengan prototype yang telah diselesaikan pada tahap

sebelumnya. Desain program diterjemahkan ke dalam kode-kode

menggunakan bahasa pemrograman yang telah ditentukan. Pengerjaan aplikasi

dibagi menjadi pecahan-pecahan modul untuk memudahkan pengerjaan.

Setiap modul yang telah selesai dibuat akan dilakukan unit testing untuk

memastikan bahwa modul tersebut telah berjalan sesuai dengan kebutuhan dan

tujuan yang ada.

4. Integration and system testing

Semua modul yang telah diuji pada tahap sebelumnya di integrasikan

menjadi sebuah program yang utuh dan dilakukan system testing untuk

memastikan bahwa modul yang telah diintegrasikan memenuhi kebutuhan

yang ada. Setelah program telah diuji maka program siap untuk digunakan.

5. Operation and maintenance

Setelah program digunakan oleh pengguna, pengguna dapat memberikan

saran dan keluhan atas program tersebut, sehingga pengembang dapat

memperbaiki dan menambahkan fitur dari program yang sedang berjalan

tersebut.

Kelebihan dari waterfall model adalah document pengembangan sistem

yang dihasilkan sangat detail dan terorganisir, dikarenakan setiap tahapan

40

harus terselesaikan dengan lengkap sebelum lanjut ke tahapan berikutnya.

Disamping itu terdapat kelemahan dari metode ini yaitu pengembang harus

memastikan bahwa seluruh kebutuhan pengguna dikumpulkan diawal fase.

Jika tidak dampaknya adalah kita harus mengulang fase tersebut dari awal.

2.1.8 Android

Menurut Gargenta (2011), Android merupakan sebuah comprehensive

open source platform yang didesain untuk mobile devices dan dikembangkan

oleh Open Handset Alliance yang dipimpin oleh Google.

Bagi pengembang, Android menyediakan semua tools dan framework

untuk mengembangkan aplikasi mobile dengan mudah, cepat, terbuka dan

bebas. Android SDK (Software Development Kit) merupakan elemen dasar

untuk mengembangkan Android.

2.1.8.1 Arsitektur Android

Sistem operasi Android terdiri dari beberapa layer. Masing-

masing layer memiliki karakter tersendiri dan kegunaan yang berbeda.

Layer-layer pada sistem operasi Android tidak terpisah melainkan

selalu berhubungan satu antar lain (Gargenta, 2011).

Berikut ini merupakan layer yang terdapat pada sistem operasi

Android yang dimulai dari lapisan terbawah sampai teratas:

1. Linux Kernel

Dengan dipilihnya Linux sebagai sistem operasi untuk

membangun Android, hal ini menguntungkan pengembang karena

41

dengan itu portability, keamanan dan fitur-fitur yang ada pada

Linux dapat disesuaikan bagi pengembangan Android.

Untuk faktor keamanan, telah diketahui bahwa Linux

merupakan sistem operasi yang telah terjamin keamanannya,

sehingga ini akan menguntungkan karena dapat mencegah adanya

serangan-serangan yang tidak diinginkan pada Android.

2. Libraries

Libraries yang terdapat pada sistem operasi Android

merupakan libraries dari bahasa pemrograman C/C++. Diantaranya

adalah:

a. Webkit, sebuah mesin penerjemahan web yang cepat dan

digunakan oleh Safari, Chrome, dan browsers lainnya.

b. SQLite, merupakan full-featured SQL (Structured Query

Language) database.

c. Apache Harmony, sebuah implementasi Java yang open-source.

d. OpenGL, 3D graphics libraries.

e. OpenSSL, layer soket yang terjamin atau aman.

3. Android Runtime

Android runtime memiliki 2 bagian yaitu Core Library dan

Dalvik Virtual Machine. Core library lebih dikenal dengan library

yang dijalankan dengan JavaVirtual Machine, sedangkan Dalvik

merupakan sebuah virtual machine yang dirancang khusus untuk

fokus pada mobile devices dan juga open source.

42

Dengan mengembangkan sebuah virtual machine yang open

source dan memiliki license yang telah resmi, Android dapat

memberikan full-featured platform. Sehingga pengembang tidak

perlu khawatir terhadap license.

4. Application Framework

Application framework merupakan sebuah kerangka aplikasi

yang dirancang untuk menyediakan berbagai layanan yang dapat

membantu user. Terdapat berbagai Java libraries yang dirancang

khusus untuk Android, selain itu terdapat berbagai layanan yang

menyediakan berbagai kemampuan aplikasi seperti lokasi, sensor,

wi-fi, dan lain-lain.

5. Applications

Layer application merupakan layer tempat terdapatnya

aplikasi yang akan digunakan oleh end-user. Aplikasi-aplikasi ini

dapat ditemukan di Android Market ataupun telah terdapat pada

device. Sebuah aplikasi memiliki sebuah application package

(APK) tersendiri, dan memiliki 3 buah komponen utama, yaitu:

a. Dalvik executable, merupakan tempat mengkompilasi java code

dan berjalannya aplikasi.

b. Resources, semua hal yang tidak berhubungan dengan kode.

Aplikasi mungkin berisi banyak images, audio/video clips, dan

berbagai XML files, items inilah yang termasuk dalam

resources.

43

c. Native libraries, beberapa aplikasi mungkin terdiri atas beberapa

native code, seperti C/C++, namun libraries ini dapat

menyatukan kode – kode ini dengan APK file.

Gambar 2.18 Arsitektur Android

(Sumber: Gargenta, 2011, p8)

2.1.8.2 Android Emulator

Gargenta (2011) mengemukakan, untuk menjalankan aplikasi

melalui physical devices ataupun melalui emulator merupakan hal

yang sama. Ini dikarenakan sebuah emulator merupakan kode

emulator yang dapat menjalankan kode yang sama dengan devices,

yang menjadi perbedaan ialah lapisan mesin yang menjalankannya.

44

Namun ada beberapa hal yang tidak dapat dijalankan pada

emulator, seperti sensors, telepon, dan location service. Untuk

menggunakan emulator, pengembang harus membuat sebuah Android

Virtual Device (AVD). Setelah mengembangkan Android Virtual

Device (AVD) maka sebuah emulator akan muncul dengan tampilan

seperti gambar 2.17.

Gambar 2.19 Android Emulator

(Sumber: Gargenta, 2011, p8)

45

2.2 Teori-Teori Khusus

2.2.1 Voice Recognition

Berdasarkan definisi yang dikemukakan oleh Tan dan Lindberg (2008)

yang mengacu pendapat Deller, voice recognition atau yang biasa dikenal

dengan speech recognition adalah proses penerjemahan signal suara menjadi

urutan kata.

Menurut Tan dan Lindberg (2008) terdapat tiga macam pendekatan

dalam voice recognition, yaitu:

a. Network Speech Recognition (NSR)

Network Speech Recognition (NSR) merupakan pendekatan untuk

melakukan speech recognition dengan menggunakan conventional speech

coders untuk mentransmisikan suara dari perangkat pengguna ke recognition

server. Network speech recognition biasa digunakan pada percakapan telepon.

b. Distributed Speech Recognition (DSR)

Distributed Speech Recognition (DSR) merupakan remote speech

recognition yang mengadopsi arsitektur client-server dengan menempatkan

feature extraction pada sisi client dan computation intensive recognition

decoding pada sisi server.

c. Embedded Speech Recognition (ESR)

Embedded Speech Recognition (ESR) adalah pendekatan speech

recognition yang digunakan bagi perangkat mobile seperti mobile phone, PDA

dan perangkat games. Embedded speech recognition dilakukan dengan cara

menempatkan semua proses speech recognition pada target mobile ataupun

perangkat pengguna.

46

Embedded speech recognition merupakan pendekatan speech

recognition yang paling sederhana dibandingkan dua pendekatan sebelumnya,

yaitu Network Speech Recognition (NSR) dan Distributed Speech Recognition

(DSR). Hal ini dikarenakan pada embedded speech recognition tidak ada

proses pengiriman signal ataupun data dari perangkat client ke remote server.

2.2.2 Google Voice Search Application

Berikut ini merupakan cara kerja dari Google voice search menurut

Henky Prihatna, Indonesia Representative Google Southeast Asia pada situs

tempo (2011):

1. Mengaktifkan Interface Recogniter_UI dengan cara menekan tombol

voice recognition oleh user.

2. User memasukkan suara melalui microphone yang terdapat pada

smartphone Android yang dimilikinya.

3. Suara yang telah dimasukkan tersebut akan diproses dari client site,

kemudian akan diubah dari sinyal analog ke sinyal digital.

4. Sinyal digital ini nantinya akan dikirim ke cloud computing yang

dimiliki oleh google untuk dilakukan pencocokan. Hal ini disebut

dengan search query.

5. Hasil query tersebut nantinya akan dikembalikan ke smartphone

pengguna.

47

2.2.3 Java

Java merupakan bahasa pemrograman berorientasi objek yang

dikembangkan oleh James Gosling di Sun Microsystem yang sekarang

menjadi bagian dari Oracle Corporation (Schildt, 2011).

Sebagai bahasa pemrograman yang dinamis, Java dapat dijalankan di

berbagai jenis platform. Hal ini dikarenakan kode Java (bytecode) dijalankan

pada Java Virtual Machine (JVM) yang membuat Java menjadi platform

independen. JVM dapat berbeda tergantung dari platform yang digunakan.

JVM yang digunakan pada Windows dapat berbeda dengan JVM yang

digunakan pada Linux. Untuk menjalankan aplikasi yang telah dibuat dengan

bahasa pemrograman Java, setiap komputer memerlukan JVM untuk

menjalankannya (Schildt, 2011).

Mengacu pendapat Schildt (2011) Java dibagi kedalam tiga bentuk,

yaitu:

1. Java Standard Edition (Java SE) merupakan teknologi yang digunakan

untuk mengembangkan client-side standalone application seperti aplikasi

desktop.

2. Java Enterprise Edition (Java EE) merupakan teknologi Java yang

diterapkan untuk komputer server seperti Java servlet, dan Java Server Page.

3. Java Micro Edition (Java ME) merupakan teknologi yang digunakan untuk

menerapkan Java pada mobile phone, smartphone ataupun PDA.

Berikut ini adalah beberapa keunggulan Java menurut Schildt (2011)

yaitu:

48

1. Simple

Dengan konsep Object Oriented Programming yang dimiliki Java,

memudahkan bagi siapapun yang ingin mempelajari Java terutama bagi

mereka yang telah mengerti konsep dasar dari Object Oriented Programming.

2. Secure

Java memberikan perlindungan bagi komputer pengguna dengan

membatasi applet untuk Java Execution Environment dan tidak mengizinkan

applet tersebut untuk mengakses bagian komputer lainnya.

3. Portable

Dengan mengusung konsep portabilitas, program-program yang ditulis

dengan bahasa pemrograman Java dapat dipindahkan serta dijalankan dengan

mudah.

4. Object-oriented

Bahasa pemrograman Java bersifat object oriented sehingga

pemrograman yang dibuat berfokus untuk pembuatan objek dan manipulasi

objek. Hal ini memudahkan user untuk membuat program dalam bentuk

modul serta menggunakan kembali kode yang telah ada.

5. Robust

Desain pemrograman Java dibuat dengan memprioritaskan kemampuan

untuk membuat robust program. Sehingga user dapat mengetahui kesalahan

lebih awal saat mengembangkan program menggunakan Java. Karena Java

mengecek kode yang dibuat user pada saat runtime serta compile time.

49

6. Multithreaded

Dengan adanya multithreaded programming pada Java, memungkinkan

user untuk menulis program yang dapat melakukan banyak hal secara

bersamaan. Pada Java run time system menyediakan sinkronisasi multi process

yang memungkinkan user untuk menjalankan sistem interaktif dengan lancar.

7. Architecture-neutral

Dengan prinsip “write once, run anywhere, anytime, forever” , program

yang ditulis dalam bahasa pemrograman Java dapat dijalankan diberbagai

sistem operasi. Sehingga ini menjadikan kelebihan utama Java dibanding

sistem operasi lainnya. Hal ini memudahkan user dalam mengembangkan

program, karena programmer cukup menulis sekali di Java kemudian

dikompilasi, program tersebut nantinya dapat dipindahkan dijalankan di

beberapa platform tanpa harus melakukan perubahan terlebih dahulu.

8. Interpreted and High Performance

Bytecode yang ada di Java dirancang untuk memberikan kemudahan

dalam menerjemahkan kode mesin demi tercapainya performa yang tinggi

dengan menggunakan just-in-time compiler.

9. Distributed

Fitur Remote Method Invocation (RMI) yang ada di Java,

memungkinkan program untuk menjalankan metode di berbagai jaringan.

10. Dynamic

Informasi run time yang ada pada bahasa pemrograman Java digunakan

untuk memeriksa dan memutus akses ke objek pada saat run time. Hal ini

memungkinkan kode link dinamis yang aman.

50

2.2.4 IntelliJ IDEA

IntelliJ IDEA adalah sebuah code centric Integrated Development

Environment (IDE) yang diproduksi oleh JetBrains (IntelliJ IDEA, 2012).

Selain untuk pengembangan aplikasi desktop, IntelliJ IDEA juga mendukung

pengembangan aplikasi mobile. Salah satunya adalah pengembangan aplikasi

mobile berbasis Android. Untuk pengembangan aplikasi Android ini, IntelliJ

IDEA telah menyediakan Android SDK saat instalasi. Sehingga dengan

IntelliJ pengguna dapat langsung mencoba aplikasi Android pada emulator

yang disediakan (IntelliJ IDEA, 2012).

Untuk mendukung pengembangan aplikasi berbasis Android, IntelliJ

menyediakan beberapa fitur (IntelliJ IDEA, 2012), yaitu:

1. Memudahkan pengguna untuk membuat aplikasi Android menggunakan

New Project Wizard.

2. Membantu pengguna untuk melakukan pencarian aplikasi Android dengan

dukungan tampilan tree view.

3. Memudahkan pengguna untuk membuat elemen-elemen aplikasi Android

dan melakukan pengaturan string, warna, dan lain-lain dengan melakukan

integrasi antara hal tersebut dengan R. Java file.

4. Menjalankan aplikasi Android via emulator.

2.2.5 SQLite

Menurut Owens (2006) SQLite merupakan sebuah embedded relational

database yang open source. SQLite didesain untuk memudahkan aplikasi-

aplikasi dalam melakukan pengaturan data sehingga menghindari adanya

51

redundansi data yang sering muncul pada relational database management

systems.

SQLite merupakan database yang tertanam, sehingga SQLite akan

berjalan bersamaan dengan aplikasi yang dibangun dan juga pengguna tidak

perlu melakukan konfigurasi jaringan atau melakukan administrasi terlebih

dahulu untuk mengakses database.

2.2.6 Self-Learning

Menurut Hughes & Berry (2011), self learning atau yang biasa disebut

dengan self directed learning adalah kegiatan pembelajaran yang mana pelajar

bertanggung jawab atas perencanaan materi pembelajaran yang akan

dipelajari. Pelajar mempunyai kontrol untuk proses pembelajaran tersebut.

Pelajar juga bisa menentukan bagaimana mereka belajar, dimana mereka

belajar dan kapan mereka akan belajar.

Berdasarkan Hughes & Berry yang mengutip pernyataan dari Knowles

(2011) yang menyatakan bahwa terdapat dua prinsip utama dalam self

learning. Kedua prinsip tersebut yaitu:

1. Self teaching

Hal ini terjadi jika pelajar berinisiatif pada diri mereka untuk mencari

alat bantu pembelajaran dan sumber yang dibutuhkan untuk mengajarkan

mereka mengenai pengetahuan dan keahlian yang dibutuhkan.

2. Personal autonomy

Merupakan prinsip yang mengacu pada pelajar untuk mengatur tujuan

pembelajaran.

52

2.2.7 Mobile Learning

Mobile learning adalah aktivitas yang terjadi ketika teknologi yang

digunakan dan pengguna dari teknologi tersebut adalah sama-sama dalam

keadaan mobile ketika melakukan pembelajaran. (El-Hussein & Cronje, 2010).

Penggunaan mobile learning memungkinkan setiap orang untuk

mengakses informasi dan materi pembelajaran dari manapun dan kapanpun.

Pada akhirnya, pengguna berhak memilih waktu yang digunakan untuk

mengakses materi pembelajaran dari lokasi manapun yang pengguna inginkan

(Koole & Ally, 2009).

Menurut Koole & Ally (2009) dalam teorinya The Framework for The

Rational Analysis of Mobile Education (FRAME) menjelaskan terdapat tiga

faktor utama yang perlu diperhatikan dalam merancang dan

mengimplementasikan mobile learning. Faktor-faktor tersebut yaitu:

1. Device

Perangkat (device) adalah alat yang digunakan sebagai jembatan

penghubung antara pengguna dan teknologi. Hasil dari perancangan software

dan hardware pada perangkat (device) akan sangat mempengaruhi tingkat

kenyamanan user dalam melakukan pembelajaran melalui mobile.

2. Learner

Pelajar (learner) merupakan segala aspek yang mengacu pada situasi

ataupun tugas yang pelajar inginkan atau butuhkan untuk mencapai hasil yang

diinginkan. Aspek ini menjelaskan bagaimana pelajar menggunakan

pengetahuan yang telah mereka miliki untuk mengartikan, menyimpan serta

mengirimkan informasi yang diterima.

53

3. Social Aspect

Social Aspect merupakan faktor-faktor yang berhubungan dengan proses

interaksi sosial dan kerja sama. Interaksi yang dimaksud dapat berupa proses

komunikasi. Pada mobile learning budaya-budaya ini dapat berupa fisik atau

virtual.

Selain ketiga faktor utama tersebut, terdapat faktor-faktor lain yang

menentukan dalam merancang dan mengimplementasikan mobile learning.

Faktor-faktor ini merupakan titik pertemuan (intersection) antara ketiga faktor

utama tersebut. Faktor-faktor tersebut yaitu:

1. Context Learning

Context Learning merupakan perpaduan antara aspek perangkat (device)

dengan aspek pelajar (learner). Hal ini menghasilkan hubungan antara

kebutuhan yang diperlukan pelajar (learner) dengan aktivitas yang dilakukan

pelajar (learner) berdasarkan karakteristik hardware dan software dari

perangkat mobile yang dimiliki.

2. Social Computing

Pada social computing menjelaskan bagaimana perangkat mobile dapat

melakukan komunikasi dan berkolaborasi antara individu dan sistem. Social

computing merupakan gabungan dari elemen perangkat (device) dengan sosial.

3. Interaction Learning

Perpaduan elemen pelajar (learner) dengan sosial telah menghasilkan

titik temu yang dinamakan interaction learning. Hal tersebut mempengaruhi

kemampuan pelajar (learner) untuk memahami, bernegosiasi, menafsirkan

54

serta menggunakan ide-ide baru yang diperlukan dalam melakukan

pembelajaran secara formal maupun informal.

Dari keseluruhan faktor yang ada, terdapat satu titik temu diantara

faktor-faktor tersebut yang terletak pada pusat elemen, yaitu faktor mobile

learning process. Proses pembelajaran mobile yang efektif merupakan hal

utama dalam FRAME model. Mobile learning menyediakan kesempatan

untuk terjadinya kolaborasi antara pelajar (learner), akses ke informasi dan

pembelajaran kontekstual yang lebih mendalam. Sehingga memungkinkan

pelajar (learner) untuk berinteraksi dengan bahan pembelajaran, pengajar,

serta lingkungan pembelajaran secara fisik dan virtual.

Gambar 2.20 FRAME Model

(Sumber: Koole dan Ally, 2009)

55

2.2.8 Business English

Mengacu pernyataan yang dikemukakan oleh Zhang (2007), Business

English merupakan sistem pengajaran komunikasi bisnis internasional pada

bidang sosial dan ekonomi, yang mana para peserta akan diarahkan untuk

mempelajari bisnis prosedur didalamnya.

Business English merupakan bagian dari English for Specific Purpose

(ESP). English for Specific Purpose merupakan pendekatan yang digunakan

untuk mempelajari bahasa Inggris dengan karakteristik untuk memenuhi

kebutuhan pelajar, yang mana pada business english kebutuhan pelajar yang

dimaksud adalah kebutuhan untuk mempelajari bahasa Inggris dalam dunia

bisnis.