10 BAB 2 LANDASAN TEORI 2.1 Smartphone

advertisement
BAB 2
LANDASAN TEORI
2.1
Smartphone
Menurut Williams & Sawyer (2011), smartphone adalah telepon selular
dengan mikroprosesor, memori, layar dan modem bawaan. Smartphone
merupakan ponsel multimedia yang menggabungkan fungsionalitas PC dan
handset sehingga menghasilkan gadget yang mewah, di mana terdapat pesan teks,
kamera, pemutar musik, video, game, akses email, tv digital, search engine,
pengelola informasi pribadi, fitur GPS, jasa telepon internet dan bahkan terdapat
telepon yang juga berfungsi sebagai kartu kredit.
2.2
Rekayasa Perangkat Lunak
2.2.1 Pengertian
Menurut Pressman (2010), rekayasa perangkat lunak adalah
pembentukan dan penggunaan prinsip rekayasa untuk memperoleh
perangkat lunak secara ekonomis yang handal dan dapat bekerja secara
efisien pada mesin nyata.
Menurut Pressman (2010), rekayasa perangkat lunak mencakup lima
aktifitas utama, antara lain :
1.
Communication
Sebelum seluruh kegiatan teknis dapat dimulai, sangat
diperlukan untuk berkomunikasi dengan pengguna serta seluruh
stakeholder lainnya. Komunikasi ini bertujuan untuk mengetahui
10
11
sasaran yang diinginkan oleh seluruh stakeholder dan mengumpulkan
informasi yang diperlukan untuk menentukan fitur dan fungsi dari
software.
2.
Planning
Perencanaan proyek yang mendefinisikan perkerjaan rekayasa
perangkat lunak dengan menjelaskan tugas-tugas teknis yang akan
dilakukan, resiko yang mungkin terjadi, sumber daya yang diperlukan,
produk yang akan dihasilkan dan jadwal pengerjaan.
3.
Modelling
Sebelum mengkonstruksi suatu program, developer perlu
melakukan pemodelan dengan tujuan agar developer lebih memahami
persyaratan software sehingga dapat mengkonstruksi software yang
sesuai dengan ketentuan yang telah dibicarakan dengan seluruh
stakeholder sebelumnya.
4.
Construction
Pada aktifitas ini dilakukan pengkodean dan pengujian yang
dibutuhkan untuk mengatasi kesalahan yang terdapat pada pengkodean.
5.
Deployment
Software disebarkan ke pengguna, di mana dilakukan evaluasi
terhadap produk dan memberikan umpan balik berdasarkan evaluasi.
2.2.2 Waterfall Model
Pressman (2010) mengemukakan bahwa waterfall model yang biasa
disebut classic life cycle menawarkan pendekatan yang sistematis dan
12
sekuensial dalam pengembangan software. Model proses waterfall meliputi
pengumpulan spesifikasi kebutuhan pengguna, perencanaan, pemodelan,
konstruksi, penyebaran dan berpuncak pada dukungan yang berkelanjutan
pada software.
Gambar 2.1 Model Proses Waterfall (Pressman, 2010)
2.3
Interaksi Manusia dan Komputer (IMK)
2.3.1 Pengertian
Menurut Santoso (2009), interaksi manusia dan komputer (IMK)
adalah suatu disiplin ilmu yang mempelajari perancangan, implementasi
dan evaluasi sistem komputasi interaktif dan berbagai aspek terkait. IMK
berfokus pada interaksi, khususnya interaksi antara satu atau lebih manusia
dengan satu atau lebih komputer, di mana biasa dijumpai dalam bentuk
grafik yang interaktif.
Interaksi Manusia dan Komputer (IMK) adalah sebuah ilmu yang
mempelajari bagaimana manusia berinteraksi dengan komputer, di mana
salah satu bidang utama pekerjaannya berfokus pada desain system
komputer. IMK bertujuan untuk menghasilkan sebuah sistem yang berguna,
bermanfaat serta memiliki nilai estetika yang baik (Olson & Olson, 2003).
13
2.3.2 Delapan Aturan Emas Perancangan User Interface
Menurut Schneiderman & Plaisant (2010), terdapat delapan aturan
emas yang dapat digunakan sebagai petunjuk dasar dalam perancangan
tampilan antarmuka pengguna, antara lain :
1.
Berusaha untuk konsisten
Konsisten dalam tampilan yang digunakan pada aplikasi, seperti
konsisten dalam penggunaan warna, jenis tulisan, ukuran dan tata letak.
2.
Menyediakan usability yang universal
Usability yang universal adalah fungsi-fungsi yang dikenali
secara umum, seperti penggunaan singkatan dan tombol-tombol
shortcut yang sudah umum diketahui.
3.
Memberikan umpan balik yang informatif
Dalam setiap aksi yang dilakukan oleh pengguna harus
disediakan umpan balik yang informatif untuk menunjukkan hasil dari
aksi yang dilakukan.
4.
Merancang dialog penutupan
Urutan tindakan sebaiknya diatur dalam pengelompokkan
menjadi bagian awal, tengah dan akhir. Di mana pada bagian akhir
tindakan
diberikan
umpan
balik
yang
informatif
untuk
mengindikasikan bahwa proses yang dilalui sudah benar.
5.
Memberikan penanganan kesalahan yang sederhana
Rancangan sistem yang baik harus mengurangi terjadinya
kesalahan. Apabila pengguna melakukan kesalahan, sistem harus dapat
14
mendeteksi kesalahan tersebut serta memberikan instruksi yang
sederhana dan jelas kepada pengguna untuk memperbaiki kesalahan.
6.
Memudahkan pembalikan aksi ke kondisi awal
Dalam perancangan sistem harus disediakan fitur yang
memungkinkan pengguna untuk kembali ke kondisi semula. Dengan
demikian pengguna dapat dengan berani menggunakan pilihan-pilihan
yang belum diketahui dengan tidak merasa cemas akan kesalahan yang
akan muncul.
7.
Mendukung internal locus of control
Sistem harus bisa memberikan kendali kontrol kepada pengguna,
sehingga pengguna tidak merasa dikendalikan oleh sistem.
8.
Mengurangi beban ingatan jangka pendek
Daya ingat manusia yang terbatas untuk memproses informasi
sehingga perlu merancang tampilan dengan baik sehingga mudah
dimengerti dan diingat oleh pengguna.
2.4
Unified Modelling Language (UML)
2.4.1 Pengertian
Menurut Whitten & Bentley (2007), Unified Modelling Language
(UML) adalah serangkaian konvensi pemodelan yang digunakan untuk
menentukan atau menggambarkan sebuah sistem perangkat lunak ke dalam
segi objek.
Menurut Pressman (2010), UML adalah sebuah patokan bahasa
untuk menulis kerangka kerja terperinci dari sebuah perangkat lunak. UML
15
digunakan
untuk
menggambarkan,
menentukan,
membangun
dan
mendokumentasikan artefak dari sistem perangkat lunak yang intensif.
2.4.2 Use Case Diagram
Menurut Whitten et al. (2007), use case diagram adalah diagram
yang menggambarkan interaksi antara sistem dan pengguna yang
menunjukkan siapa saja yang menggunakan sistem serta bagaimana cara
pengguna berinteraksi dengan sistem.
Use case diagram umumnya terbagi menjadi tiga bagian, yaitu :
1.
Aktor
Merupakan external user yang berfungsi untuk berinteraksi
dengan sistem.
2.
Relationship
Relationship digambarkan sebagai garis antara dua simbol pada
diagaram use case. Relationship terdiri dari beberapa jenis, yaitu
associations, extends, depends on, uses (includes) dan inheritance, di
mana memiliki arti dan kegunaan yang berbeda tergantung pada
bagaimana garis ditarik dan jenis simbol yang menghubungkan.
3.
Use case
Use case adalah sebuah perilaku terkait dengan urutan langkahlangkah (skenario), baik itu otomatis maupun manual, untuk
menyelesaikan satu tugas bisnis.
16
Gambar 2.2 Use Case Diagram
2.4.3 Class Diagram
Menurut Whitten et al. (2007), class diagram digunakan untuk
menggambarkan structure objek dari suatu
sistem. Diagram ini
menunjukkan kelas-kelas objek yang menyusun sebuah sistem serta
menggambarkan hubungan antara objek-objek tersebut. Terdapat beberapa
notasi yang digunakan dalam menyusun class diagram, antara lain :
1.
Class
Class atau yang biasa disebut kelas objek secara umum
digambarkan berbentuk kotak dan terbagi menjadi tiga bagian, yaitu
nama class, atribut class dan operasi class (method).
17
2.
Relationship
a.
Association
Relasi ini memungkinkan suatu class untuk menggunakan
atribut atau operasi dari class lain. Asosiasi juga menggambarkan
interaksi yang mungkin terjadi antara suatu class dengan class
yang lain.
Gambar 2.3 Association
b.
Aggregation
Dibandingkan dengan asosiasi, aggregasi merupakan relasi
yang lebih kuat. Aggregasi dapat diartikan bahwa suatu class
merupakan bagian dari class yang lain, tetapi tidak bersifat wajib.
Gambar 2.4 Aggregation
c.
Composition
Relasi ini merupakan relasi yang paling kuat dibandingkan
dengan asosiasi dan agregasi, di mana dapat diartikan bahwa suatu
class merupakan bagian wajib dari class yang lain.
18
Gambar 2.5 Composition
d.
Generalization
Relasi ini merupakan relasi pewarisan sifat, di mana
memungkinkan suatu class mewarisi attribut dan operasi yang
dimiliki oleh class induk.
Gambar 2.6 Generalization
Selain itu, Whitten et al. (2007) juga mengemukakan bahwa dalam
class diagram terdapat tiga macam visibility yang berguna untuk
menentukan attribut dan method class yang dapat diakses dan dapat
digunakan oleh kelas lain atau tidak. Visibility tersebut, antara lain :
1.
Public (+), dapat dipanggil oleh semua kelas lain.
2.
Protected (#), hanya dapat dipanggil oleh kelas yang bersangkutan dan
turunannya.
19
3.
Private (-), hanya dapat dipanggil oleh kelas yang bersangkutan.
2.4.4 Sequence Diagram
Sequence diagram adalah diagram UML yang menggambarkan
bagaimana suatu objek berinteraksi dengan yang lain melalui pesan dalam
use case atau operasi. Sequence diagram menggambarkan bagaimana
pesan terkirim dan diterima antara objek-objek secara sekuensial (diurutkan
sesuai proses yang dilakukan) (Whitten et al.,2007).
Gambar 2.7 Sequence Diagram
Berikut ini merupakan notasi-notasi yang digunakan dalam sequence
diagram :
20
Tabel 2.1 Notasi-notasi pada Sequence Diagram
Notasi
Simbol
Penjelasan
Elemen yang mewakili user dalam
Aktor
berinteraksi dengan interface.
Digambarkan dengan simbol persegi
Objek atau
:Objek
panjang yang diberi nama “Black
Sistem
box” atau “Whole” yang didalamnya
terdapat nama objek tersebut. Pada
objek terdapat garis putus-putus yang
disebut lifeline, yang
mengindikasikan kehidupan dari
sistem.
Digambarkan dengan sebuah persegi
Bar Aktivasi
:Objek1
panjang pada lifeline yang digunakan
untuk menunjukkan lamanya objek
yang digunakan.
Pesan atau
Pesan
Digunakan untuk menggambarkan
interaksi antara objek-objek yang ada
input message
pada sequence diagram.
Pesan
kembali atau
output
message
Pesan
Digambarkan untuk menanggapi
pesan yang sebelumnya telah
disampaikan.
21
Suatu objek pada sequence diagram
Self-call
yang mengirimkan pesan atau
berinteraksi ke objek itu sendiri.
Menunjukkan adanya perulangan
Frame
loop
pada daerah yang dibatasi oleh frame
tersebut. Frame juga digunakan jika
pada sequence diagram terdapat
pesan tertentu atau optional.
2.5
Data & Informasi
2.5.1 Data
Data adalah fakta mentah mengenai orang, tempat, peristiwa dan halhal penting dalam suatu organisasi. Setiap fakta tersebut secara relatif tidak
memiliki arti (Whitten et al., 2007).
2.5.2 Informasi
Informasi merupakan data yang telah diproses atau dikelola kembali
menjadi bentuk yang lebih berarti bagi seseorang. Informasi dihasilkan dari
serangkaian data-data yang diharapkan memiliki arti bagi penerima
(Whitten et al., 2007).
22
2.6
Database
2.6.1 Pengertian
Menurut Connolly & Begg (2010), database merupakan kumpulan
data yang mepunyai relasi logika yang dapat dibagikan, mempunyai
deskripsi pada data dan didesain untuk mendapatkan informasi yang
dibutuhkan oleh organisasi.
Menurut Connoly et al. (2010), untuk mendapatkan informasi yang
dibutuhkan oleh suatu organisasi, maka kita mencoba untuk untuk
mengindentifikasi entities, attributes dan relationships.
1.
Entity merupakan sebuah perbedaan objek seperti orang, tempat, benda,
konsep atau acara pada suatu organisasi yang dapat merepresentasikan
database.
2.
Attributes merupakan sifat yang dideskripsikan pada beberapa
pandangan objek yang kita harapkan untuk menyimpan.
3.
Relationship merupakan sebuah asosiasi antara entities dan attributes.
2.6.2 Database Management System (DBMS)
Menurut Connolly et al. (2010), DBMS adalah sebuah sistem
software yang memungkinkan pengguna untuk mendefinisikan, membuat,
memelihara dan mengontrol akses ke database. DBMS merupakan software
yang berinteraksi dengan aplikasi program pengguna dan database. DBMS
menyediakan fasilitas seperti :
1.
Menyediakan akses kontrol ke database seperti sistem keamanan
untuk mencegah pengguna yang tidak mempunyai hak akses untuk
23
mengakses database, sistem integritas dimana untuk memelihara
konsistensi data yang di simpan, sistem kontrol konkurensi dimana
untuk memperbolehkan pengguna yang bersangkutan untuk mengakses
database pada waktu yang bersamaan, sistem kontrol pemulihan
dimana
digunakan
untuk
memulihkan
database
ke
keadaan
sebelumnya yang diakibatkan oleh kegagalan software atau hardware,
katalog pengguna yang mengakses dimana menyimpan deskripsi data
pada database.
2.
Memperbolehkan pengguna untuk insert, update, delete dan retrieve
data dari sebuah database yang biasanya menggunakan Data
Manipulation Language (DML). Bahasa Query merupakan data
deskripsi yang memperboleh DML untuk menyediakan fasilitas
permintaan umum pada data. Structured Query Language (SQL)
merupakan bahasa Query yang paling umum digunakan dan juga
merupakan standar bahasa untuk DBMS yang berelasi.
3.
Memperbolehkan pengguna untuk mendefinisikan database yang
biasanya menggunakan sebuah Data Definition Language (DDL).
DDL memperbolehkan pengguna untuk mengelompokkan tipe data,
struktur dan batasan data untuk disimpan dalam database.
2.6.3 Entity Relationship Diagram (ERD)
Menurut Whitten et al. (2007), Entity Relationship Diagram (ERD)
adalah pemodelan database yang menggunakan beberapa notasi untuk
menggambarkan data dalam konteks entitas dan hubungan yang
24
dideskripsikan oleh data tersebut. ERD berfungsi untuk mengatur dan
mendokumentasikan data dari sebuah sistem.
Menurut Whitten et al. (2007), dalam penggambaran ERD digunakan
beberapa notasi dan simbol, antara lain :
2.7
1.
Entities
2.
Attributes
3.
Relationships
Structured Query Language (SQL)
Menurut Connolly et al. (2010), Structured Query Language (SQL)
merupakan bahasa non-prosedural dan mengandung kata bahasa Inggris seperti
SELECT, INSERT dan DELETE yang dapat digunakan oleh orang profesional
maupun yang tidak profesional. SQL merupakan bahasa standar secara de facto
dan formal untuk mendefinisikan dan memanipulasi database. SQL mempunyai 2
komponen utama yaitu :
1.
Data Definition Language (DDL) untuk mendefinisikan struktur database dan
mengontrol akses ke data.
2.
Data Manipulation Language (DML) untuk mendapatkan data dan mengupdate data.
2.8
Object-Oriented Programming (OOP)
Menurut Deitel & Deitel (2012), para pengembang software menemukan
bahwa menggunakan modular, object oriented design (OOD) dan pendekatan
implementasi dapat membuat kelompok pengembang software jauh lebih produktif
25
daripada teknik sebelumnya yaitu structure programming, karena OOP dapat lebih
mudah dipahami, diperbaiki dan dimodifikasi. Berikut ini adalah beberapa kunci
mengenai konsep OOP, yaitu :
1.
Automobile sebagai objek
Untuk memahami mengenai objek dan isinya dapat dianalogikan seperti
ketika mengendarai mobil dan ingin mempercepat kecepatan mobilnya dengan
menekan pedal akselator. Sebelum bisa melakukan ini teknisi harus membuat
desain mengenai sesuatu yang mirip seperti blueprint yang digunakan dalam
desain rumah, pada desain pedal akselator menyembunyikan mekanisme yang
kompleks bagi pengemudi untuk mempercepat kecepatan mobilnya, desain
pedal rem yang menyembunyikan mekanisme untuk memperlambat kecepatan
mobil dan desain steering roda yang memyembunyikan mekanisme untuk
membuat mobil belok sehingga orang dengan pengetahuan sedikit mengenai
mekanisme bagaimana mesin, rem dan steering berkerja juga tetap dapat
mengemudi mobil dengan mudah.
2.
Methods dan Class
Method diperlukan untuk melakukan tugas-tugas didalam program
sedangkan class merupakan kumpulan method-method untuk melakukan tugas
yang ada di dalam class seperti class yang merepresentasikan akuntasi bank
yang memiliki method untuk deposit money, withdraw money dan inquire
money.
3.
Instantiation
Sebelum program dapat menggunakan method yang didefinisikan oleh
class maka harus membuat sebuah objek terlebih dahulu, proses dalam
26
pembuatan ini disebut instantiation. Objek merupakan instant dari sebuah
class.
4.
Reuse
Class dapat digunakan berulang kali untuk membangun banyak objek.
Penggunaan ulang class untuk membangun class atau program yang baru
dapat menghemat waktu dan tenaga selain itu juga apa yang kita bangun
menggunakan class yang telah ada lebih dapat diandalkan dan efektif pada
sistem karena class dan komponen yang sudah ada telah melewati tahap
testing, debugging dan performance tuning.
5.
Messages dan Method Calls
Setiap message diimplementasikan sebagai method call yang berfungsi
memberitahukan method yang ada pada objek untuk melakukan suatu tugas,
contohnya yaitu program akan memanggil deposit method pada bank account
object untuk meningkatkan saldo.
6.
Attributes dan Variables
Objek memiliki attributes yang terus ada di objek untuk digunakan pada
program. Attributes ini mengspesifikasikan bagian objek dari suatu class.
Misalnya seperti bank account object memiliki balance attribute yang
merepresentasikan jumlah uang pada account tersebut.
7.
Encapsulation
Class mengenkapsulasikan attribute dan method ke dalam sebuah objek.
Attribute dan method pada objek memiliki hubungan yang erat. Objek dapat
berkomunikasi dengan objek yang lain tanpa perlu mengetahui bagaimana
27
objek yang lain diimplementasikan. Keterangan implementasi disembunyikan
bersama dengan objeknya.
8.
Inherintance
Inherintance dapat membuat class yang baru dengan cepat dan mudah.
Class yang baru dapat dibuat dengan menggunakan karakteristik pada class
yang ada sebelumnya selain itu juga dapat disesuaikan dengan menambah
karakteristik unik pada class baru tersebut.
9.
Object-Oriented Analysis and Design (OOAD)
Untuk membuat proyek yang besar dan kompleks maka harus mengikuti
proses analisis untuk mengetahui apa yang dibutuh dalam proyek, dan
membuat desain yang sesuai , setelah itu maka meninjau kembali desain
proyek tersebut sebelum melakukan pengkodean . Jika proses melibatkan
analisis dan desain sistem dari pandangan berorientasi objek maka dapat
disebut dengan proses OOAD.
10. The UML (Unified Modeling Language)
Walaupun memiliki banyak proses OOAD, tetapi bahasa grafik untuk
mengkomunikasikan hasil dari beberapa proses OOAD menjadi penggunaan
yang luas. Bahasa ini di kenal dengan UML yang merupakan grafik skema
paling banyak digunakan untuk memodelkan sistem berorientasi objek.
2.9
Internet & Web
2.9.1
Internet
Williams et al. (2011) mengartikan internet sebagai ibu dari seluruh
jaringan, di mana merupakan sebuah jaringan komputer dunia yang
28
menghubungkan ratusan ribu jaringan yang lebih kecil. Jaringan ini
menghubungkan bebarapa komputer, mulai dari bidang pendidikan,
komersial, organisasi nirlaba, militer serta masing-masing individu.
2.9.2
Web
World Wide Web atau yang biasa disebut web adalah sistem yang
saling berhubungan dari komputer internet yang mendukung dokumen
khusus diformat atau diubah dalam bentuk multimedia, seperti teks,
gambar, animasi dan suara (Williams et al., 2011).
2.10 Android
2.10.1 Pengertian
Meier
(2010)
dalam
mengutip
pernyataan
Rubin
(2007)
mengungkapkan bahwa Android merupakan platform mobile pertama yang
benar-benar terbuka dan lengkap, di mana dapat menjalankan sebuah
mobile phone tanpa adanya keterbatasan kepemilikan yang dapat
menghambat inovasi mobile phone tersebut.
Menurut Holla & Katti (2012), Google meliris Android karena
mobile applications semakin berkembang, Android juga merupakan open
source operating system dengan linux-based platform. Seiring berjalannya
waktu, Android menjadi platform yang paling banyak digunakan, akan
tetapi Android juga menjadi pertimbangan pengguna dalam hal
keamanannya. Hal ini mengacu pada Android market, di mana setiap orang
dapat men-download banyak aplikasi dan siapapun juga dapat meng-
29
upload program tanpa harus melewati security check yang begitu rumit.
Hal ini tentunya membuat Android menjadi target computer criminals.
Akan tetapi, untuk menangani kerisauan pengguna, Android menggunakan
Android application sandbox yang mampu secara otomatis melakukan
static dan dynamic analysis untuk mendeteksi aplikasi Android yang
mencurigakan, sehingga mendapatkan malware protection.
2.10.2 Versi Android
Android telah melewati cukup banyak pembaruan sejak pertama kali
dirilis. Berikut merupakan versi-versi dari Android beserta codename-nya.
Tabel 2.2 Versi Android
Version
1.1
1.5
1.6
2.1
2.2
2.3 - 2.3.2
2.3.3 - 2.3.7
3.1
3.2
4.0 - 4.0.2
4.0.3 - 4.0.4
4.1
Codename
Cupcake
Donut
Eclair
Froyo
Gingerbread
Honeycomb
Ice Cream Sandwich
Jellybean
(Sumber : http://developer.android.com/about/dashboards/index.html)
30
2.10.3 Fitur-fitur Android
Pada Android terdapat beberapa fitur yang mendukung kerja dari
Android sendiri, antara lain :
1.
Application framework
2.
Dalvik virtual machine (DVM), dioptimalkan untuk perangkat mobile.
3.
Browser yang terintegrasi
4.
Grafis yang dioptimasi, didukung oleh library grafis 2D yang custom;
grafis 3D berdasarkan spesifikasi OpenGL ES 1.0.
5.
SQLite, untuk penyimpanan data terstruktur.
6.
Media pendukung, untuk audio, video dan gambar dalam beberapa
format (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
7.
GSM Telephony (bergantung pada hardware yang digunakan).
8.
Bluetooth, EDGE, 3G dan WiFi (bergantung pada hardware yang
digunakan).
9.
Camera, GPS, compass dan accelerometer (bergantung pada hardware
yang digunakan).
10. Lingkungan pengembang yang lengkap, termasuk perangkat emulator,
alat untuk debug, memori dan kinerja profil, serta plugin untuk Eclipse
IDE.
(http://developer.android.com/about/versions/index.html)
2.10.4 Arsitektur Android
Menurut Lee (2011), sistem operasi Android dibagi menjadi lima
bagian di dalam empat lapisan utama, yaitu :
31
1.
Linux Kernel
Merupakan kernel yang menjadi dasar Android, di mana terdapat
seluruh perangkat driver tingkat rendah untuk berbagai komponen
perangkat keras pada perangkat Android.
2.
Libraries
Bagian ini berisi seluruh kode yang menyediakan fitur utama
pada sistem operasi Android. Contohnya yaitu SQLite library
menyediakan dukungan database sehingga sebuah aplikasi dapat
menggunakannya
sebagai
penyimpanan
data.
WebKit
library
menyediakan fungsi untuk web browsing.
3.
Android Runtime
Android Runtime menyediakan sekumpulan core libraries yang
memungkinkan
developer
untuk
membuat
aplikasi
Android
menggunakan bahasa pemrograman Java. Android Runtime juga
mencakup Dalvik virtual machine yang memungkinkan setiap aplikasi
Android untuk berjalan dalam prosesnya sendiri. Dalvik merupakan
mesin virtual yang dirancang khusus untuk Android dan dioptimalkan
untuk battery-powered perangkat mobile dengan memori yang terbatas
dan CPU.
4.
Application Framework
Bagian ini memperlihatkan berbagai kemampuan sistem operasi
Android
kepada
pengembang
aplikasi
sehingga
menggunakannya di dalam aplikasi yang dikembangkan.
5.
Application
dapat
32
Pada lapisan teratas ini akan ditemukan aplikasi yang disertakan
bersama perangkat Android, seperti telepon, kontak, browser, dan lainlain, serta aplikasi yang di-download dan install dari Android Market.
Aplikasi yang dibuat berada pada lapisan ini.
Gambar 2.8 Arsitektur Android
(Sumber : http://developer.android.com/about/versions/index.html)
2.11 Hypertext Markup Language (HTML)
Menurut Williams et al. (2010), Hypertext Markup Language (HTML)
merupakan sekumpulan instruksi-instruksi khusus (disebut “tags” atau “markups”)
yang digunakan untuk menentukan struktur dokumen, bentuk dan link untuk
menuju ke dokumen multimedia lain pada web. Extensible Hypertext Markup
Language (XHTML) merupakan penerus dan juga versi HTML pada saat ini.
Keperluan untuk membuat versi HTML yang lebih sempit dianggap cukup penting
33
karena isi World Wide Web pada saat ini perlu disampaikan ke berbagai perangkat
(seperti mobile phones) yang mempunyai sumber daya yang lebih sedikit daripada
yang dimiliki oleh komputer tradisional.
Sharma, Bhardwaj & Bhardwaj (2012) dalam jurnal yang berjudul
“Differences between HTML and HTML 5” menjelaskan bahwa Tim Berners-Lee
dari World Wide Web Consortium (W3C) menciptakan HTML yang merupakan
markup language untuk web pages. Seiring dengan perkembangan HTML maka
muncullah HTML5 yang merupakan revisi kelima dari HTML sebelumnya.
HTML5 memiliki beberapa keunggulan, di mana HTML5 dapat mengurangi
ketergantungan pada external plugins (seperti Flash). Selain itu terdapat fitur
canvas untuk 2D drawing, audio dan video untuk media playback. Pada HTML5
juga terdapat penanganan error yang lebih baik dan terdapat lebih banyak markup
untuk menggantikan scripting.
2.12 Cascading Style Sheet (CSS)
Menurut Meloni (2012), Cascading Style Sheet (CSS) merupakan
merupakan teknologi yang ada dibelakang Style Sheet, CSS merupakan bahasa
yang didefinisikan untuk mengkonstruksi gaya seperti huruf, warna dan posisi,
dimana dapat digunakan untuk mendeskripsikan bagaimana informasi pada suatu
halaman web dibentuk dan ditampilkan. CSS dapat disimpan langsung dalam
halaman HTML atau dalam file yang terpisah. Selain itu style sheet mengandung
aturan gaya yang menerapkan gaya ke elemen pada tipe yang diberikan. Ketika
menggunakan CSS eksternal maka aturan style sheet ditempatkan pada dokumen
style sheet eksternal dengan nama akhiran “.css”.
34
2.13 JavaScript
Menurut Meloni (2012), JavaScript dibangun oleh NetScape Communication
Corporation, di mana merupakan bahasa web scripting pertama yang didukung
oleh browser dan sejauh ini juga merupakan bahasa web scripting yang terpopuler.
Menurut Meloni (2012), JavaScript dapat dimasukan ke dalam dokumen
HTML. JavaScript dapat melakukan beberapa hal seperti :
• Menampilkan pesan ke pengguna sebagai bagian dari suatu halaman web, dalam
status line browser atau dalam alert boxes.
• Melakukan pengecekan isi pada suatu form dan juga membuat kalkulasi, seperti
pada form pesanan dapat secara otomatis muncul jumlah total ketika anda
memasukan jumlah barang.
• Animasi gambar atau membuat gambar yang berubah ketika memindahkan
mouse melewati gambar tersebut.
• Membuat iklan banner yang berinteraksi dengan pengguna, daripada tampilan
grafik yang sederhana.
• Mendeteksi browser atau fitur yang digunakan dan menunjukkan fungsi tingkat
lanjut hanya pada browsers yang mendukung JavaScript.
• Mendeteksi plug-ins yang di-install dan menotifikasi ke pengguna jika plug-in
diperlukan.
• Memodifikasi seluruh atau sebagian halaman web tanpa perlu me-reload
halaman web.
• Menampilkan atau berinterkasi dengan data yang didapatkan dari remote server.
2.14 JavaScript Object Notation (JSON)
35
JavaScript Object Notation (JSON) merupakan format pertukaran data yang
ringan, mudah dibaca dan ditulis serta mudah diterjemahkan dan dihasilkan oleh
komputer. JSON dibuat berdasarkan bahasa pemrograman JavaScript, Standar
ECMA-262 Edisi ke 3 – Desember 1999. JSON tidak bergantung pada bahasa
pemrograman apapun karena menggunakan gaya bahasa yang umum seperti C,
C++, C#, JavaScript, Perl, Phyton dan lain-lain. (http://www.json.org/json-id.html)
JSON terbuat dari dua struktur, yaitu :
1.
Kumpulan pasangan nama/nilai, yang pada bahasa pemograman bahasa lain
mirip seperti objek (object), rekaman (record), struktur (struct), kamus
(dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau
associative array.
2.
Daftar nilai terurutkan (an ordered list of values), yang pada bahasa
pemograman lain mirip seperti larik (array), vektor (vector), daftar (list), atau
urutan (sequence).
JSON menggunakan bentuk sebagai berikut :
• Objek merupakan sepasang nama/nilai yang tidak terurutkan.
Gambar 2.9 Objek pada JSON
36
•
Ar
ray merupakan kumpulan nilai yang terurutkan.
Gambar 2.10 Array pada JSON
• Nilai dapat berupa salah string, angka, true, false, null,objek, atau juga dapat
berupa sebuah larik.
Gambar 2.11 Nilai pada JSON
• String terdiri dari kumpulan nol atau lebih karakter Unicode dimana
menggunakan backslash (\) escape untuk membentuk karakter khusus.
37
Gambar 2.12 String pada JSON
• Angka yang ada di JSON mirp dengan angka yang di C dan Java akan tetapi
tidak angka yang pada JSON tidak memiliki format oktal dan heksadesimal.
(http://www.json.org/json-id.html)
Gambar 2.13 Angka pada JSON
2.15 jQuery
JQuery merupakan library JavaScript yang singkat dan cepat yang
menyederhanakan HTML document traversing, event handling, animating dan
Ajax interactions untuk pengembangan web yang cepat. JQuery didesain untuk
mengubah cara dalam menulis JavaScript. (http://jquery.com)
2.16 PHP Hypertext Preprocessor (PHP)
PHP Hypertext Preprocessor (PHP) adalah bahasa script bagian server yang
didesain secara spesifik untuk suatu web. Dengan adanya halaman HTML maka
dapat menanamkan kode PHP yang akan dieksekusi setiap halaman jika
dikunjungin. Kode PHP dapat diinterpretasikan oleh web server ke dalam bentuk
HTML atau bentuk keluaran yang lain yang dapat dilihat oleh pengunjung
(Welling & Thomson, 2009).
38
PHP disusun oleh Ramus Lerdorf dan kemudian diadopsi oleh orang yang
berbakat lainnya dan juga melewati 4 kali perubahan besar dalam penulisan untuk
menjadi lebih luas dan lebih matang seperti yang kita lihat saat ini. Pada tahun
2007 PHP diinstall lebih dari 21 juta lebih pada domain worldwide dan seterusnya
penggunaan PHP juga berkembang dengan sangat pesat (Welling et al., 2009).
PHP merupakan project open source yaitu dapat dengan mengakses kode
PHP, menggunakan kode PHP, mengubah kode PHP dan mendistribusi ulang
kode PHP tanpa dikenakan biaya (Welling et al., 2009).
PHP sebenarnya merupakan singkatan dari Personal Home Page, tetapi
kepanjangan PHP berubah sesuai dengan konvesi penamaan rekursif GNU (GNU
= GNU’s Not Unix), sehingga sekarang kepanjangan PHP yaitu PHP Hypertext
Preprocessor (Welling et al., 2009).
2.17 CodeIgniter
Menurut Griffiths (2010), CodeIgniter merupakan framework open source
aplikasi web untuk bahasa PHP. CodeIgniter menggunakan Model View Controller
(MVC) sebagai pola desain, di mana merupakan cara untuk mengorganisasi
aplikasi ke dalam tiga bagian, yaitu :
1.
Models, yaitu database abstraction layer.
2.
Views, yaitu the front end template files.
3.
Controller, yaitu businees logic yang ada pada aplikasi.
CodeIgniter juga ekstensif dalam menggunakan singleton design pattern,
dimana merupakan cara untuk meng-load class jika class-nya ingin dipanggil
39
dalam beberapa kali. Ini sangat berguna dalam melakukan koneksi database jika
hanya ingin satu koneksi setiap class digunakan.
CodeIgniter juga sudah mengimplementasikan Active Record Patern,
dimana membuat penulisan query SQL yang kompleks menjadi mudah dan
membuat aplikasi menjadi lebih mudah dibaca. Active Record juga mempermudah
dalam penukaran driver database.
CodeIgniter menyediakan banyak libraries yang sangat berguna dan juga
kumpulan fungsi-fungsi yang dapat membantu dalam membangun aplikasi
sehingga dapat lebih fokus dalam bagian kecil pada aplikasi daripada harus
menjelajahi seluruh bagian proyek seperti database query dan parsing data.
2.18 Asynchronous JavaScript & XML
Berdasarkan penelitian Serrano & Aroztegi (2007) dalam jurnal yang “Ajax
Frameworks in Interactive Web Apps” mengemukakan bahwa Ajax yang
merupakan singkatan dari Asynchronous Javascript and XML digunakan oleh
pengembang untuk membuat apliksi yang lebih dinamis. Pada Ajax mengandung
bahasa script untuk mengatur DOM yang memperbolehkan aplikasi web untuk
mengakses isi HTML, struktur HTML dan Style HTML secara dinamis. Pada Ajax
juga mengandung “XMLHttpRequest” yang mendukung komunikasi antara
browser dan server tanpa memanggil ulang seluruh bagian halaman.
40
2.19 Web Services & Representational State Transfer (REST)
2.19.1 Web Services
Menurut Deitel & Deitel (2012), web service merupakan sebuah
komponen software yang disimpan pada suatu komputer dan dapat diakses
oleh aplikasi atau komponen software yang lain pada komputer lain
melalui jaringan.
2.19.2 Representational State Transfer (REST)
Menurut Deitel et al., (2012), Representational State Transfer (REST)
mengacu ke gaya arsitektur untuk mengimplementasi web services. Web
services seperti ini sering disebut dengan RESTful web services. RESTful
web services di implementasi dengan menggunakan standard web. Setiap
method pada RESTful web services diindetifikasi oleh URL yang unik.
Dengan demikian ketika server menerima sebuah request maka server
akan segera mengetahui operasi yang akan digunakan. Setiap operasi
khusus mungkin akan tersimpan pada cached locally oleh browser ketika
service dipanggil dengan GET request sehingga request berikutnya dengan
operasi yang sama dipercepat dengan loading dari hasil browser’s chache.
Restful web services merupakan altenatif selain dari SOAP web
service. Restful web services tidak sama dengan SOAP web service, setiap
request dan respon dari Restful web services tidak dibungkus dalam dalam
amplop, dan juga tidak hanya mengembalikan data hanya dalam bentuk
XML akan tetapi bisa dalam bentuk JSON, HTML , plain text and media
files.
41
Hamad, Saad & Abed (2010) dalam jurnal berjudul “Performance
Evaluation of RESTful Web Services” mengemukakan bahwa RESTful
Web Services merupakan suatu arsitektur aplikasi perangkat lunak berbasis
client-server yang lebih baik dibandingkan pendahulunya, Simple Object
Access Protocol (SOAP). Hal ini dikarenakan SOAP memiliki kekurangan,
seperti encoding and decoding of verbose XML-based SOAP yang sangat
memakan sumber daya, sehingga mengakibatkan web service participants
seperti mobile clients memiliki dampak performa yang buruk dan lambat.
Selain itu, hal ini juga tidak lepas dari kecepatan prosesor yang dimiliki,
lamanya hidup baterai, dan lambatnya koneksi oleh suatu mobile devices
yang tidak mendukung. Hal itu dibuktikan dari hasil percobaan yang
dilakukan dengan membandingkan antara SOAP dan RESTful Web
Services, seperti yang terlihat pada tabel berikut :
Tabel 2.3 Tabel Uji Coba SOAP dan RESTful Web Services
(Sumber : Performance Evaluation of RESTful Web Services)
Less message size dan response time yang lebih kecil dari SOAP
membuktikan bahwa RESTful menggunakan power yang rendah dan
layanan web service yang cepat, sehingga RESTful lebih cocok diterapkan
dalam mobile devices saat ini.
42
2.20 MySQL
Menurut Welling et al. (2009), MySQL adalah Relational Database
Management System (RDBMS) yang cepat dan kokoh. Sebuah database
memungkinkan untuk menyimpan, mencari, mengurutkan dan mendapatkan data
secara efisien. Server MySQL mengontrol akses data untuk memastikan beberapa
pengguna dapat berkerja dengan MySQL dengan menyediakan akses yang cepat
dan memastikan hanya pengguna yang mempunyai hak yang dapat mengakses
data. Oleh karena itu, server MySQL banyak digunakan dan multithreading.
MySQL menggunakan Structured Query Language (SQL) yang merupakan
standar dari bahasa Query.
2.21 Sistem Informasi Geografi (SIG)
Menurut Heywood, Cornelius & Carver (2011), Goodchild menawarkan
ringkasan kunci konsep yang membantu dalam mengdefinisikan mengenai SIG:
• Informasi geografis merupakan informasi mengenai tempat yang ada di
permukaan bumi.
• Teknologi informasi geografis meliputi Global Positioning System (GPS),
remote sensing dan SIG.
• SIG merupakan gabungan sistem komputer dan software
• SIG memiliki banyak bentuk yang berbeda.
• SIG digunakan pada aplikasi dengan berbagai variasi.
• Sains informasi geografis merupakan sains dibalik teknologi SIG.
43
2.22 IBM Worklight
IBM Worklight merupakan produk yang berasal dari bagian keluarga IBM
Mobile Foundation, di mana menyediakan unsur-unsur penting yang dibutuhkan
untuk pengembangan, penyebaran dan manajemen mobile yang lengkap dalam
suatu bisnis. IBM Worklight menyediakan platform aplikasi yang terbuka,
komprehensif dan canggih untuk smartphone dan tablet, membantu organisasi
untuk mengembangkan, menghubungkan, menjalankan serta mengelola HTML5,
aplikasi hybrid dan native secara efisien.
IBM Worklight juga memungkinkan penciptaan cross-platform application
tanpa menggunakan kode terjemahan dan bahasa scripting tertentu, serta sekaligus
dapat menghemat waktu, biaya dan kompleksitas pengembangan. Selain itu dapat
memungkinkan pengguna untuk memiliki pengalaman yang lebih baik di berbagai
perangkat mobile. (http://www.ibm.com/software/mobile-solutions/worklight/)
Download