bab 2 landasan teori - library & knowledge...
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.