Post on 16-Mar-2019
10
BAB 2
LANDASAN TEORI
2.1 PC Tablet
PC Tablet adalah sebuah komputer portable seperti halnya laptop. PC
Tablet dirancang untuk handwriting recognition yang mengubah karakter-
karakter menjadi teks.
(http://www.pcmag.com/encyclopedia_term/0,1237,t=Tablet+PC&i=52522,00.as
p)
Ràfols (2011) dalam jurnal yang berjudul “Tablets, Apps, and the
University: A Rationale for Establishing App Development Centers” menyatakan
bahwa munculnya perangkat PC Tablet memungkinkan bagi para sarjana dan
ilmuwan untuk berbagi dan mengembangkan penelitiannya diseluruh dunia.
Gambar 2.1 PC Tablet
Sumber : http://portal.paseban.com/review/4047/galaxy-tab-vs-ipad
11
2.2 Social Media dan Social Networking
Menurut P.J.Deitel & H.M.Deitel (2008:71), social media mengacu pada
media sharing online seperti: video, musik, foto, berita, dan lain-lain. Menurut
Hitwise yang dikutip oleh P.J.Deitel & H.M.Deitel, bahwa sekarang kebutuhan
masyarakat via online meningkat misalnya masyarakat mencari hiburan dengan
menonton video secara online. Hal ini membuktikan bahwa sosial media terus
berkembang dan memegang peranan penting di masyarakat.
Kemudian, P.J.Deitel & H.M.Deitel (2008:71) menyatakan pula bahwa
banyak situs jejaring sosial telah menemukan cara-cara inovatif untuk
menghubungkan orang melalui Internet dan perangkat mobile mereka seperti
ponsel dan PC-Tablet. User dapat mengirim konten ke web dan perangkat mobile
yang internetnya telah diaktifkan.
Menurut H.Keitzmann, Hermkens, McCarthy, & S.Silvestre (2011) dalam
artikelnya berjudul : “Social media? Get serious! Understanding the functional
building blocks of social media”, Ada tujuh macam fungsi dari social media :
a. Identity
menggambarkan sejauh mana pengguna mengungkapkan identitas
mereka dalam pengaturan media sosial. Hal ini mencakup informasi
seperti nama, usia, jenis kelamin, profesi, lokasi, dan juga informasi
yang mendeskripsikan pengguna dengan cara tertentu.
b. Conversations
menggambarkan sejauh mana pengguna berkomunikasi dengan
pengguna lain dalam pengaturan media sosial. Banyak situs media
12
sosial yang dirancang terutama untuk memfasilitasi percakapan antara
individu-individu dan kelompok.
c. Sharing
Menggambarkan sejauh mana pengguna melakukan pertukaran,
pendistribusian, dan menerima konten. Istilah “sharing” sering
menyiratkan bahwa pertukaran konten antar pengguna sangat penting.
d. Presence
Menggambarkan sejauh mana pengguna dapat mengetahui apakah
pengguna lainnya dapat diakses / online. Ini termasuk mengetahui di
mana lokasi pengguna yang lain di dunia maya atau dunia nyata.
e. Relationship
Menggambarkan sejauh mana pengguna dapat berhubungan
dengan pengguna lain.
f. Reputation
Menggambarkan sejauh mana pengguna dapat mengidentifikasi
orang lain, termasuk diri mereka sendiri.
g. Groups
Menggambarkan sejauh mana pengguna dapat membentuk
communities dan subcommunities.
13
Boyd & Ellison (2008) dalam jurnal yang berjudul “Social Network Sites:
Definition, History, and Scholarship” menyatakan bahwa sejak diperkenalkannya
social network sites seperti Facebook, Twitter, dan lain-lain, social network sites
telah menarik jutaan pengguna, sehingga social network sites menjadi kebiasaan
aktivitas user sehari-hari. Yang membuat unik suatu social network sites adalah
mereka tidak memungkinkan pengguna untuk bertemu orang asing atau orang
yang tidak mereka kenal, akan tetapi mereka membuat user seakan bertemu
dengan orang yang tidak mereka kenal dalam suatu jejaring sosial yang dapat
melakukan komunikasi secara online. Dalam hal ini, social network sites juga
menemukan cara yang inovatif untuk menggabungkan mereka ke dalam alat-alat
komunikasi seperti: mobile connectivity, blogging, dan lain-lain.\
2.3 Data
Menurut L.Whitten & D.Bentley (2007:21), data adalah fakta-fakta
mentah tentang orang, tempat, kejadian, dan hal-hal yang penting bagi suatu
organisasi. Setiap fakta memiliki arti tersendiri.
Menurut Connolly & Begg (2010:68), data adalah komponen terpenting
dalam Database Management System (DBMS) yang bertindak sebagai jembatan
penghubung antara komponen mesin dan pengguna.
14
2.4 Database
Menurut Connolly & Begg (2010:65) database adalah kumpulan data
yang saling berhubungan secara logika dan deskripsinya dirancang untuk
memenuhi kebutuhan organisasi. Database merepresentasikan entity, attributes,
dan hubungan antar entity.
Gambar 2.2 Database (L.Whitten & D.Bentley, 2007:519)
2.5 Database Management System (DBMS)
Menurut Connolly & Begg (2010:66) DBMS merupakan sebuah sistem
peranti lunak yang memungkinkan user untuk mendefinisikan, membuat,
memelihara, dan mengontrol akses ke database.
Fasilitas yang tersedia dalam DBMS antara lain :
a. Hak bagi pengguna untuk menentukan database
Pengguna dapat menggunakan data definition language (DDL).
DDL memungkinkan pengguna menetapkan tipe data, struktur, dan
batasan pada data yang akan disimpan dalam database.
15
b. Hak bagi pengguna untuk melakukan insert, delete, update, dan
mendapatkan kembali data dari database
Untuk melakukan penginputan, penghapusan, pembaharuan, dan
mendapatkan kembali data dari database, pengguna dapat
menggunakan data manipulation language (DML). Bahasa query
merupakan bahasa yang memperbolehkan DML untuk menyediakan
fasilitas permintaan umum pada data. Structured Query Language
(SQL) merupakan bahasa query yang paling umum digunakan dan
dimana merupakan standar bahasa untuk DBMS.
c. Akses database yang dapat dikontrol
Keuntungan dari akses database yang dapat dikontrol :
1. Sistem yang aman
Karena hak-hak user dalam mengakses database dapat
dibatasi.
2. Sistem yang terintegritas
Karena konsistensi data yang tersimpan ke dalam
database dapat dipertahankan.
3. Pengontrolan sistem yang digunakan bersama
Sistem yang digunakan bersama, sehingga kesalahan dapat
diminimalisir. Misalnya lost update problem (masalah
hilangnya data yang diupdate), Uncommited dependency
problem / dirty real (masalah kebergantungan terhadap
transaksi yang belum commit), dan inconsistent problem
(masalah analisa yang tidak konsisten).
16
4. Pemulihan sistem
Tersedia fasilitas recovery yang menungkinkan data
dikembalikan seperti semula jika terjadi kesalahan pada
software maupun hardware.
5. Catalog yang dapat diakses pengguna
Pengguna dapat mengakses deskripsi data (catalog) yang
ada dalam basis data
2.6 Cascading Style Sheet (CSS)
Olsson & n (2008:18) CSS adalah presentation layer pada sebuah
dokumen web yang nampak ketika diakses oleh user. CSS dapat mengontrol
penulisan hingga 10000 halaman. Hal ini sangat membantu user dalam
pembuatan suatu aplikasi sehingga user tidak perlu membuat tampilan dalam
bentuk yang sama.
P.J.Deitel & H.M.Deitel (2008:160) CSS adalah suatu teknologi yang
memungkinkan pengguna dapat memodifikasi elemen-elemen berupa fonts,
spacing, colours pada halaman dokumen web seperti section headers, body text,
links, dan lain-lain.
CSS merupakan salah satu bahasa pemrograman web untuk
mengendalikan beberapa komponen dalam sebuah web, sehingga web akan lebih
terstruktur dan seragam.
Pada umumnya CSS dipakai untuk mem-format tampilan halaman web
yang dibuat dengan bahasa HTML dan XHTML. CSS dapat mengendalikan
ukuran gambar, warna teks, warna tabel, ukuran border, warna border, warna
17
hyperlink, warna mouse over, spasi antar paragraf, spasi antar teks, margin kiri,
kanan, atas, bawah, dan parameter lainnya. CSS adalah bahasa style sheet yang
digunakan untuk mengatur tampilan dokumen. Dengan adanya CSS
memungkinkan kita untuk menampilkan halaman yang sama dengan format yang
berbeda.
(http://www.css-jquery.com/pengertian-css/)
2.7 Internet
Menurut K.Williams & C.Sawyer (2011:18), internet adalah jaringan
komputer di seluruh dunia yang menghubungkan ratusan ribu jaringan yang lebih
kecil. Jaringan ini menghubungkan beberapa komputer pada bidang militer,
pendidikan, komersial, dan masing-masing individu.
Internet merupakan singkatan kata dari interconnection-networking, bila
dijabarkan secara sistem global, maka internet merupakan jaringan komputer
diseluruh penjuru dunia yang saling terhubung satu sama lain dengan
menggunakan standar Internet Protocol Suite (TCP/IP), sehingga antara
komputer dapat saling mengakses informasi dan bertukar data.
(http://www.weblog.web.id/2012/08/pengertian-internet-jaringan-komputer.html)
18
Gambar 2.3 Internet
Sumber:http://img2.belajar-komputer-mu.com/wp
content/uploads/2011/11/pengertian-internet-adalah.jpg
2.8 Model Waterfall
Menurut S.Pressman (2010:39) nama model waterfall sebenarnya adalah
“Linear Sequential Model” dan model ini sering disebut juga dengan “Classic
Life Cycle”. Model ini sistematis dan berurutan dimulai dengan tahap
communication, planning, modeling, construction, hingga deployment.
Namun menurut Winston Royce yang dikutip oleh S.Pressman (2010:39) model
waterfall pada awalnya diusulkan memiliki feedback loop yang memungkinkan
sistem untuk beradaptasi dengan perubahan selama proses rekayasa peranti
lunak, tetapi sebagian besar perusahaan memperlakukan model ini sebagai proses
linier yang kaku.
Gambar 2.4 Model Waterfall (S.Pressman, 2010:39)
19
Berikut penjelasan tahap- tahap yang terjadi pada model waterfall:
a. Communication
Tahap ini wajib dilakukan pertama kali pada model waterfall
karena pada tahap ini terjadi proses memahami tujuan dan
pengumpulan informasi apa saja yang dibutuhkan oleh stakeholders.
b. Planning
Dalam proses perancangan ini suatu perangkat lunak yang ingin
dibuat diarahkan menjadi lebih jelas dan terarah. Hal-hal yang
direncanakan antara lain tugas-tugas teknis yang akan dilakukan,
resiko-resiko yang mungkin terjadi, sumber daya yang diperlukan,
keluaran yang dihasilkan, dan jadwal kerja.
c. Modeling
Pada tahap ini developer membuat suatu permodelan untuk
memahami permasalahan dan bagaimana untuk memecahkan masalah
tersebut. Kemudian Modeling ini bertujuan pula untuk lebih
memahami hal-hal yang dibutuhkan oleh sebuah software dan
bagaimana mencapai hal-hal tersebut.
d. Construction
Terjadi proses pengkodean dan uji coba pada baris kode untuk
menemukan kesalahan pada saat pengkodean.
e. Deployment
Pada tahapan ini piranti lunak disebarluaskan ke user untuk
mendapatkan umpan balik yang digunakan sebagai evaluasi.
20
2.9 User Interface Design
Menurut Shneiderman & Plaisant (2010:88-89), ada delapan aturan emas
(Eight Golden Rules of Interface Design) yang digunakan sebagai perancangan
user interface yang baik.
a. Strive for consistency (konsistensi)
Dalam pembuatan suatu interface dalam aplikasi harus
memperhatikan konsistensi. Konsistensi yang dimaksudkan disini
adalah warna, tulisan, tampilan data, singkatan, dan pesan kesalahan.
b. Cater to universal usability (menyediakan usability universal)
Adanya penggunaan shortcut dan fungsi-fungsi umum yang sudah
diketahui oleh novice ataupun expert user untuk mempercepat dan
mempermudah jalannya suatu interaksi terhadap aplikasi yang dibuat.
c. Offer informative feedback (menyediakan umpan balik yang
informatif)
Dalam suatu aplikasi harus diberikan suatu umpan balik yang
informatif agar user tidak mengalami kebingungan dalam menjalankan
aplikasi misalnya ketika ada kesalahan dalam melakukan proses
tertentu.
d. Design dialogs to yield closure (merancang dialog untuk penutupan)
Serangkaian aksi dalam suatu aplikasi biasanya terdiri dari bagian
pembuka, pertengahan, dan penutupan. Suatu aplikasi hendaknya
memperhatikan umpan balik yang informatif pada penyelesaian suatu
aplikasi agar memberikan kepuasaan bagi user.
21
e. Prevent errors (memberikan penanganan kesalahan yang sederhana)
Suatu aplikasi hendaknya dirancang sedemikian rupa agar tidak
dapat melakukan kesalahan fatal. Bila terjadi kesalahan ketika user
mengoperasikannya, maka aplikasi akan memberikan mekanisme
penanganan yang sederhana dan mudah dipahami oleh user.
f. Permit easy reversal of actions (mudah kembali ke tindakan
sebelumnya)
Mempermudah pengguna untuk kembali ke tindakan sebelumnya
apabila terjadi kesalahan dalam pengoperasian. Hal ini membuat
pengguna tidak takut dalam mengeksplorasi pilihan-pilihan fitur yang
ingin digunakan.
g. Support internal locus of control (mendukung tempat pengendali
internal)
User menginginkan untuk menjadi pengendali sistem dan sistem
yang menanggapi aksi yang dilakukannya.
h. Reduce short-team memory load (mengurangi beban ingatan jangka
pendek)
Adanya ketebatasan ingatan manusia, sehingga dalam membuat
suatu perancangan layar aplikasi harus sederhana dan urutan tindakan
mudah diingat.
22
2.10 Unified Modelling Language (UML)
Menurut L.Whitten & D.Bentley (2007:371) UML (Unified Modelling
Language) merupakan sekumpulan ketentuan permodelan yang digunakan untuk
menentukan dan menggambarkan sebuah sistem peranti lunak yang berbasis
objek.
2.10.1 Use Case Diagram
Menurut L.Whitten & D.Bentley (2007:243) use case diagram
adalah diagram yang menggambarkan hubungan interaksi antara user dan
sistem.
Menurut S.Pressman (2010:847) use case diagram membantu
dalam memutuskan fungsi-fungsi dan fitur-fitur software yang
diinginkan user.
Use case diagram sangat membantu apabila kita sedang
menyusun requirement untuk sebuah sistem, mengkomunikasikan
rancangan dengan client, dan merancang test case untuk semua feature
yang ada pada sistem.
Gambar 2.5 Use Case Diagram (L.Whitten & D.Bentley, 2007:246)
23
Use case diagram umumnya terbagi menjadi tiga bagian
,yaitu :
a. Actors
Merupakan external user yang berinteraksi dengan sistem.
Ada 4 macam actors menurut L.Whitten & D.Bentley
(2007:247), yakni :
1. Primary Business Actor
Aktor utama yang mendapatkan keuntungan utama
dari terjadinya proses use case yang biasanya bersifat
measurable.
Contoh: karyawan mendapat cek pembayaran (sesuatu
yang measurable) dari sistem pembayaran gaji
karyawan setiap jumat.
2. Primary System Actor
Aktor yang terlibat langsung dalam jalannya suatu
sistem. Biasanya aktor ini merupakan pemicu dari
business atau system event.
Contoh: kasir toko yang men-scan barang yang dibeli
oleh pembeli.
3. External Server Actor
Aktor yang merespon request dari use case.
Contoh: biro kredit yang melakukan otorisasi charge
sebuah kartu kredit.
24
4. External Receiver Actor
Aktor yang bukan primary aktor, tetapi menerima
sesuatu yang bersifat measurable dari use case.
Contoh: gudang penyimpanan barang menerima slip
packing untuk mempersiapkan barang yang akan
dikirim, ketika customer telah memesan barang.
b. Relationship
Merupakan sebuah garis antara dua simbol pada diagram
use case. Relationship memiliki arti yang bergantung pada
simbol yang dihubungkan oleh garis tersebut.
Menurut L.Whitten & D.Bentley (2007:247) ada tipe-tipe
relationship, yakni:
1. Association (asosiasi)
Hubungan antara aktor dengan use case dimana
terjadi interaksi diantara mereka.
Gambar 2.6 Association (L.Whitten & D.Bentley,
2007:248)
Dari gambar diatas aktor dengan menunjuk dengan
anak panah ke use case berarti dia merupakan inisiator
use case tersebut. Aktor yang tanpa anak panah berarti
Pelanggan
memesan barang
Penjual
25
menandakan interaksi antara use case dengan aktor
penerima.
2. Extends
Hubungan yang terdiri dari langkah yang
diekstraksi dari use-case yang lebih kompleks untuk
menyederhanakan masalah awal. Tujuannya agar
mempermudah use case yang buat agar lebih mudah
dimengerti.
Gambar 2.7 Extension Use Case (L.Whitten &
D.Bentley, 2007:249)
3. Uses or Includes
Digunakan untuk mengurangi redudansi ketika dua
atau lebih use case melakukan langkah yang sama.
Gambar 2.8 Uses (L.Whitten & D.Bentley, 2007:249)
Ubah Profile
Ubah Password
Login terlebihdahulu
«uses»
«uses»
26
4. Depends On
Hal ini terjadi ketika suatu use case tidak dapat
dilakukan apabila use case tertentu belum dilakukan.
Gambar 2.9 Depends On Use Case (L.Whitten &
D.Bentley, 2007:250)
5. Inheritance
Inheritance digunakan dalam use case untuk
hubungan dua aktor atau lebih dalam sistem dengan
aktor abstrak.
Gambar 2.10 Inheritance Use Case (L.Whitten & D.Bentley, 2007:250)
Gambar 2.10 Inheritance (L.Whitten & D.Bentley,
2007:250)
27
c. Use case
Sebuah perilaku yang berkaitan dengan langkah-langkah
berurutan baik secara otomatis ataupun manual dengan tujuan
menyelesaikan suatu tugas bisnis.
2.10.2 Class Diagram
Menurut L.Whitten & D.Bentley (2007:400), class diagram
merupakan gambaran dari struktur objek, yang menunjukkan kelas objek
yang ada pada suatu sistem dan hubungan antara kelas-kelas objek
tersebut.
Disetiap kelas objek dibagi menjadi tiga bagian, yaitu :
a. Nama kelas
b. Atribut kelas
c. Operasi kelas atau method
Gambar 2.11 Struktur Kelas Objek
Nama kelas
Atribut kelas
Operasi kelas
28
L.Whitten & D.Bentley (2007:650) menuliskan bahwa di dalam
class diagram terdapat visibility yang berguna untuk menentukan atribut
dan method kelas yang dapat diakses dan digunakan oleh kelas lainnya
atau tidak. Ada tiga jenis visibility, yakni
a. Public
b. Protected
c. Private
Tabel 2.1 Tabel penjelasan tentang Visibility
Visibility Simbol Penjelasan
Public + Atribut dan method-nya dapat
diakses dan digunakan oleh kelas
lainnya
Protected # Atribut dapat diakses dan method-
nya hanya dapat digunakan oleh
kelas yang mendefinisikan dan
turunannya
Private - Atribut dan method-nya hanya dapat
diakses dan digunakan oleh kelas
yang mendefinisikan
29
Di dalam class diagram rupanya juga terdapat multiplicity,
associations, dan relationship, L.Whitten & D.Bentley (2007:377) :
a. Multiplicity dan associations mengidentifikasi pertalian antar
object classes yang menentukan hubungan antar kelas.
Tabel 2.2 Tabel multiplicity dan associations
Multiplicity UML
Multiplicity
Notation
Association with Multiplicity Association
Meaning
Exactly 1 1
or
leave blank
An employee
works for one
and only one
department
Zero or one 0...1
An employee
has either one
or no spouse
Zero or
more
0...*
or
*
A customer
can make no
payment up to
many
payments
30
1 or more 1...* A university
offers at least
1 course up to
many courses
Spesific
range
7...9 A team has
either 7,8,9
games
scheduled
Sumber : L.Whitten & D.Bentley (2007:377)
b. Relationship merupakan simbol garis yang dihubungkan antara
class diagram yang memiliki arti tertentu.
Ada jenis-jenis relationship dalam class diagram :
1. Generalisasi
Hubungan dalam class diagram dimana sebuah
kelas (subclass atau child class) dapat mewarisi atribut-
atribut dan method-method dari kelas lainnya
(superclass atau parentclass), dimana superclass
bersifat umum dari subclass
31
Gambar 2.12 Generalisasi
2. Asosiasi
Hubungan antara satu kelas dengan kelas lainnya
yang berinteraksi satu sama lain untuk mencapai
tujuannnya. Asosiasi dinotasikan dengan sebuah garis
yang menghubungkan kedua kelas dan biasanya
disertakan keterangan mengenai detail relasi antar kelas
dan multiplicity.
Gambar 2.13 Asosiasi
3. Agregasi
Hubungan dalam class diagram dimana sebuah
class mengandung sebagian kecil atribut dari class
lainnya. Pada gambar 2.14 kelas player merupakan
+accelarate()
+turn()
+stop()
+make
+model
Vehicle
+opentrunk()
+trunksize
Car
+frametype
Bicycle
Car Garage
1 1
uses
32
bagian dari kelas team, tetapi kelas team bukan
merupakan bagian dr kelas player.
Gambar 2.14 Agregrasi
4. Komposisi
Bentuk lain dari agregrasi dimana terdapat
hubungan yang kuat dalam seluruh atau sebagian kelas
sehingga jika satu kelas hilang, maka kelas yang
menjadi bagiannya akan hilang juga. Pada gambar 2.15,
dijelaskan bahwa kelas Chapter merupakan bagian dari
kelas Book dan tidak akan ada jika kelas Book tidak
dibuat.
Team
Player
1
*
33
Gambar 2.15 Komposisi
2.10.3 Sequence Diagram
Menurut L.Whitten & D.Bentley (2007:394), sequence diagram
adalah model skenario logika dari sebuah use case yang menggambarkan
bagaimana terjadinya interaksi antara aktor dan sistem dalam suatu urutan
waktu yang digambarkan dalam bentuk diagram.
Gambar 2.16 Sequence Diagram (Whitten & D.Bentley, 2007:395)
Book
Chapter
1
*
34
Beberapa notasi-notasi yang digunakan dalam sequence diagram
adalah :
a. Aktor
Aktor adalah elemen yang terdapat pada sequence
diagram yang mewakili user dalam berinteraksi dengan
interface.
Gambar 2.17 Aktor Simbol
b. Objek atau sistem
Objek atau sistem digambarkan dengan simbol persegi
panjang yang diberi nama “Black box” atau “Whole” yang
didalamnya terdapat nama objek tersebut. Pada objek terdapat
garis putus-putus yang disebut lifeline, yang mengindikasikan
kehidupan dari sistem.
Gambar 2.18 Objek
:Objek
35
c. Aktivasi bar
Aktivasi bar digambarkan dengan sebuah persegi panjang
pada lifeline yang digunakan untuk menunjukkan lamanya
objek yang digunakan.
Gambar 2.19 Aktivasi Bar
d. Pesan atau input message
Pesan digunakan untuk menggambarkan interaksi antara
objek-objek yang ada pada sequence diagram.
Contoh 2.20 Pesan
Pesan
:Objek1
36
e. Pesan kembali atau output message
Pesan kembali digambarkan dengan garis putus-putus dan
berfungsi untuk menanggapi pesan yang sebelumnya telah
disampaikan.
Gambar 2.21 Pesan Kembali
f. Self-call
Suatu objek pada sequence diagram yang mengirimkan
pesan atau berinteraksi ke objek itu sendiri.
Gambar 2.22 Self-call
g. frame
Frame menunjukkan adanya perulangan atau looping pada
daerah yang dibatasi oleh frame tersebut. Frame juga
digunakan jika pada sequence diagram terdapat pesan tertentu
atau optional.
Gambar 2.23 Frame
Pesan Kembali
loop
37
2.11 Android
Menurut Meng (2012:2) Android adalah sistem operasi mobile yang
merupakan versi modifikasi dari Linux. Pada mulanya Android dikembangkan
oleh perusahaan Android, Inc. Kemudian pada tahun 2005, Google membeli
Android, Inc dan mengambil alih pengembangan Android sebagai strategi
untuk memasuki pasar mobile. dan pertama kali diluncurkan pada November
2007. Google membuat Android dapat dikembangkan oleh para developer lain,
sehingga Android merupakan open source program. Dan juga, Android
memperbolehkan para vendor menambahkan extentions milik mereka sendiri
dan men-customize Android sehingga berbeda dari produk lain. Keuntungan
utama dari mengadopsi Android adalah bahwa Android menawarkan
pendekatan seragam dalam pengembangan aplikasi. Developer hanya perlu
mengembangkan Android dan aplikasi mereka akan bisa dijalankan di berbagai
devices, selama devices tersebut didukung oleh Android.
Keunikan Android dalam mengkombinasikan beberapa hal membuat
Android menjadi operating system yang sangat istimewa saat ini. Hal-hal yang
berhasil membuatnya dikatakan istimewa, Burnette (2010:10):
a. A truly open, free development platform based on Linux and open
source
Produsen Android sangat menyukai Android karena mereka tidak
perlu membayar royalti untuk penggunaan dan penyesuaian platform.
Kemudian, produsen boleh mengunduh source code program secara
free karena Android bersifat open source. Android tidak hanya terbatas
dari produsen Android saja.
38
b. A component-based architecture inspired by Internet mashup
Bagian dari sebuah aplikasi dapat digunakan dengan berbagai cara
tanpa original asli dari developer. Pengembang lain dapat
memodifikasi dengan mudah komponen aplikasi Android, sehingga
pengembang dapat mengganti komponen built-in dengan versi
pengembangan built-in yang dimilikinya.
c. Tons of built-in service out of the box
Adanya layanan yang memungkinkan pengguna untuk
memanfaatkan kekuatan penyimpanan lokal sehingga pengguna hanya
perlu sesekali terhubung dengan server untuk sinkronisasi. Layanan ini
membantu meningkatkan fungsionalitas layanan sambil menekan
biaya.
d. Automatic management of the application life cycle
Pengguna tidak perlu mengkhawatirkan aplikasi yang aktif atau
menutup beberapa aplikasi agar aplikasi yang diinginkan dapat
berjalan.
e. High-quality graphics and sound
Vektor dua dimensi dan animasi yang terinspirasi dari Flash
dikombinasikan dengan 3D-Accelerated Open GL grafik menghasilkan
grafis yang halus dan nyata.
f. Portability across a wide range of current and future hardware
Seluruh program akan dikodekan dalam bahasa pemrograman
Java dan dieksekusi oleh Android’s Dalvik virtual machine. Android
39
mendukung berbagai jenis metode input dan memiliki user interface
yang dapat disesuaikan dengan resolusi layar yang berbeda-beda.
Menurut Lee (2012:2), Android mempunyai beberapa versi sejak pertama
di release :
Tabel 2.3 Tabel Penjelasan Tentang Versi Android
Sumber : Lee (2012:3)
Menurut website official Android terdapat dua tambahan platform
version dari data di atas, yaitu :
Tabel 2.4 Tabel penjelasan Tentang Versi Android Lanjutan
Android Version Code Name
4.0 – 4.0.2/4.0.3 – 4.0.4 Ice Cream Sandwich
4.1 Jelly Bean
Sumber : http://developer.android.com/about/dashboards/index.html
40
Menurut Lee (2012:4) arsitektur Android dibagi menjadi lima bagian
dalam 4 lapisan utama :
Gambar 2.24 Arsitektur Android (Lee, 2012:5)
a. Linux Kernel
Merupakan lapisan dasar dari Android, dimana terdapat seluruh
perangkat driver level rendah untuk berbagai komponen hardware
pada perangkat Android.
b. Libraries
Merupakan bagian yang berisi seluruh kode yang menyediakan
fitur utama pada sistem operasi Android.
c. Android Runtime
Terdapat pada lapisan yang sama dengan libraries, bagian ini
menyediakan sekumpulan core libraries yang memungkinkan
developer membangun aplikasi Android dengan menggunakan bahasa
pemrograman Java. Kemudian, tersedia pula Android’s Dalvik virtual
machine yang dirancang khusus untuk Android yang digunakan untuk
41
mengoptimalkan battery-powered dan mobile device dengan memori
yang terbatas dan CPU.
d. Application Framework
Pada bagian ini diperlihatkan berbagai kemampuan sistem operasi
Android kepada pengembang sehingga dapat menggunakannya di
dalam aplikasi yang dikembangkan.
e. Applications
Lapisan ini terdiri dari aplikasi bawaan dan aplikasi yang diunduh
dan di-install sesuai keinginan pengguna. Contoh aplikasi bawaan
seperti: phone, contacts, browser dan lainnya.
Holla & Katti (2012) dalam jurnal yang berjudul “Android Based Mobile
Application and Its Security” menjelaskan bahwa dengan semakin
berkembangnya mobile applications membuat Google meliris Android, yang
merupakan open source operating system dengan linux-based platform. Seiring
dengan waktu, kemudian Android menjadi platform yang paling banyak
digunakan, akan tetapi Android juga menjadi pertimbangan user dari
kerentanan keamanannya. Misalnya, di Android market dimana kita dapat men-
download berjuta aplikasi untuk Android, siapapun dapat meng-upload
program mereka tanpa harus mengalami security check yang begitu rumit.
Tentunya ini membuat Android menjadi target computer criminals. Hal ini
tentunya ditanggulangi platform Android dengan adanya Android application
sandbox yang mampu untuk melakukan secara otomatis static dan dynamic
analysis untuk mendeteksi aplikasi Android yang mencurigakan, sehingga
mendapatkan malware protection.
42
2.12 Eclipse
Menurut Steinberg et. al. (2008), Eclipse adalah sebuah open source
software yang gunanya menyediakan tool platform yang sangat terintegrasi.
Dalam penggunaannya Eclipse meliputi core project dimana yang berisi
generic framework untuk tool integration dan sebuah Java development
environment. Proyek pada Eclipse terimplementasikan pada Java dan dapat
dijalankan pada beberapa sistem operasi meliputi Windows, Mac OSX dan
Linux.
Menurut Steinberg et. al. (2008), proyek Eclipse mendukung
pengembangan dari sebuah platform atau framework untuk
pengimplementasian dari Integrated Development Environment (IDE) dan
aplikasi lainnya. Meskipun framework dari Eclipse diimplementasikan pada
Java tidak menutup kemungkinan pengembangan juga dilakukan pada bahasa
pemograman lainnya seperti C++, XML dan sebagainya.
2.13 Hypertext Markup Language (HTML)
Menurut K.Williams & C.Sawyer (2011:68) Hypertext Markup Language
(HTML) merupakan sekumpulan instruksi-instruksi khusus (disebut “tags” atau
“markups”) yang digunakan untuk menentukan struktur dokumen , bentuk dan
link-link untuk menuju ke dokumen multimedia lain pada web. Extensible
Hypertext Markup Language (XHTML) merupakan penerus dan juga versi
HTML pada saat ini. Karena World Wide Web pada saat ini perlu disampaikan
ke berbagai perangkat devices, maka dari itu HTML sangat penting untuk
dipelajari.
43
Menurut T.N.Sharma, Bhardwaj, & Bhardwaj (2012) dalam jurnal yang
berjudul “Differences between HTML and HTML 5” menjelaskan bahwa
HTML merupakan markup language untuk web pages yang di ciptakan oleh
Tim Berners-Lee dari World Wide Web consortium (W3C) . Seiring dengan
perkembangannya muncul HTML5 yang merupakan revisi ke lima dari HTML
sebelumnya yang jauh lebih baik tentunya.
Beberapa keuntungan yang dimiliki HTML5, yakni fitur baru based on
HTML, CSS, DOM, dan JavaScript, mengurangi ketergantungan untuk external
plugins (seperti Flash), fitur canvas untuk 2D drawing, audio dan video untuk
media playback, penanganan error yang lebih baik, lebih banyak markup untuk
menggantikan scripting, dan lain-lain.
Tabel 2.5 Tabel Penjelasan Tentang Perbandingan Antara
HTML dan HTML5
HTML HTML5
DOCTYPEnya lebih panjang dalam
penulisannya di HTML versi
sebelum HTML5 (HTML4) based on
SGML-based
Example:
<!DOCTYPE HTML PUBLIC "-
//W3C//DTD HTML
4.01//EN"
DOCTYPEnya lebih sederhana
dalam penulisannya di HTML5
Example :
<!DOCTYPE html>
44
"http://www.w3.org/TR/html4/strict.
dtd”>
Audio dan Video bukan merupakan
bagian dari spesifikasi HTML4
Audio dan Video merupakan bagian
dari spesifikasi HTML5
Vector Graphics dimungkinkan
untuk teknologi seperti :
VML, Silverlight, Flash
Vector Graphics merupakan
bagian utama dari HTML5 seperti :
SVG dan canvas
Hampir tidak mungkin dalam
HTML4 untuk mendapatkan
geolocation dari user browsing any
website, terutama berasal dari mobile
devices
JS GeoLocation API in HTML5
mendukung mendapatkan
geolocation dari user browsing any
website
Browse cache digunakan untuk
temporary storage
Application cache, web SQL
database, dan web storage is
available sebagai client side
storage. Accessible using
JavaScript interface in HTML5
compliant browsers.
Web sockets tidak tersedia. Biasanya
mekanismenya menggunakan long
polling dan streaming
Full duplex communication
channels dapat dibangun dengan
server menggunakan web sockets.
Tidak memperbolehkan JavaScript
untuk run di browser
memperbolehkan JavaScript untuk
run di browser, yakni di
45
2.14 Web Server
Menurut A.Hoffer, B.Prescott, & Topi (2009:469), web server digunakan
untuk proses permintaan dari client dan mengembalikan halaman-halaman
HTML kepada client.
2.15 Web Service
Menurut A.Hoffer, B.Prescott, & Topi (2009:720), web service adalah
seperangkat standar yang mendefinisikan protokol untuk komunikasi otomatis
antara program software melalui web.
Menurut L.Whitten & D.Bentley (2007, p24), web service adalah web-
based program yang dapat digunakan kembali (reusable) dan dapat dipanggil
dari program internet.
Hamad, Saad, & Abed (2010) dalam jurnal berjudul “Performance
Evaluation of RESTful Web Services” mengatakan bahwa web service
merupakan programming method yang digunakan untuk berbagi data antara
aplikasi perangkat lunak yang berbeda, selain itu digunakan untuk cara
standard mendistribusikan services di internet.
background
Bekerja atau supporting dengan
browsers yang lama
Supporting browsers seperti
Firefox, Mozilla, Opera,
Chrome, Safari ,dan lain-lain
46
2.16 RESTful Web Service
REST merupakan seperangkat prinsip arsitektur yang diperkenalkan pada
tahun 2000 oleh Roy Fielding dan digunakan untuk merancang web service.
REST telah muncul dalam beberapa tahun sebagai model layanan web service
dominan dan memiliki dampak besar dalam konsep web service, yang mana
sebagian besar pengguna konsep SOAP dan WSDL-based interface design
telah beralih menggunakan REST dikarenakan kemudahan dalam penggunaan
dari pada konsep yang lain.
Ada empat prinsip dasar yang digunakan oleh RESTful Web Service:
a. menggunakan HTTP methods explicitly.
b. be stateless.
c. expose directory structure-like URIs.
d. transfer XML, JavaScript Object Notation (JSON), or both
(http://www.ibm.com/developerworks/webservices/library/ws-restful/)
Hamad, Saad, & Abed (2010) dalam jurnal berjudul “Performance
Evaluation of RESTful Web Services” menyatakan bahwa RESTful Web
Services adalah suatu arsitektur aplikasi perangkat lunak berbasis client-server
yang lebih baik dari pendahulunya Simple Object Access Protocol (SOAP). Hal
ini dikarenakan SOAP memiliki kekurangan seperti: encoding and decoding of
verbose XML-based SOAP sangat mengkonsumsi sumber daya, oleh karena itu
web service participants seperti mobile clients memiliki dampak performa yang
buruk dan lambat, hal ini juga tidak lepas dari kecepatan prosesor yang
dimiliki , lamanya hidup baterai, dan lambatnya koneksi oleh suatu mobile
47
devices yang tidak mendukung. Hal itu dibuktikan dari hasil percobaan yang
dilakukan oleh mereka yang membandingkan antara SOAP dan RESTful,
didapatkan hasil bahwa
Tabel 2.6 Tabel Uji Coba SOAP dan Restful
Sumber : Performance Evaluation of RESTful Web Services, Hamad, Saad, & Abed
(2010)
Less Message size and response time yang lebih kecil dari SOAP
membuktikan bahwa RESTful memiliki konsumsi power yang rendah dan
layanan web service yang cepat, sehingga RESTful lebih cocok diterapkan
dalam mobile devices saat ini.
48
2.17 JavaScript
Menurut C.Meloni (2012:66), JavaScript pada mulanya bernama Live
Script yang dikembangkan oleh NetScape Communication Corporation, di
mana JavaScript bahasa web scripting pertama yang di-support oleh browser.
JavaScript dapat melakukan beberapa hal seperti sebagai berikut :
a. Menampilkan pesan ke pengguna sebagai bagian dari suatu halaman
web, dalam bentuk line browser atau alert boxes.
b. Memvalidasi isi pada suatu form dan juga membuat perhitungan
kalkulasi
c. Adanya animasi gambar atau membuat gambar yang berubah ketika
memindahkan mouse melewati gambar tersebut.
d. Membuat iklan banner yang berinteraksi dengan pengguna, dari pada
tampilan grafik sederhana.
e. Mendeteksi browser atau fitur yang digunakan dan menunjukkan
fungsi tingkat lanjut hanya pada browsers yang mendukung
JavaScript.
f. Mendeteksi plug-ins yang di-install dan notify kepada user jika plug-in
diperlukan.
g. Memodifikasi seluruh atau sebagian halaman web tanpa user perlu me-
reload halaman web.
h. Menampilkan atau berinteraksi dengan data yang di dapatkan dari
remote server
49
2.17.1 JQuery
JQuery merupakan library JavaScript yang singkat dan cepat yang
menyederhanakan HTML document traversing, event handling,
animating, dan interaksi Ajax untuk pengembangan web yang cepat.
JQuery di desain untuk mengubah cara dalam menulis JavaScript.
(http://jquery.com)
2.18 JavaScript Object Notation (JSON)
JSON merupakan format pertukaran data yang ringan, mudah dibaca, dan
ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh
komputer. Format ini dibuat berdasarkan bagian dari bahasa pemograman
JavaScript, standar ECMA-262 edisi ke-3 - desember 1999. JSON merupakan
format teks yang tidak bergantung pada bahasa pemograman apapun karena
menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C
termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat
tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.
(http://www.json.org/json-id.html)
50
2.19 PHP Hypertext Preprocessor (PHP)
PHP telah menjadi server-side scripting languages yang populer untuk
membuat halaman web dinamis sejak diperkenalkan oleh Rasmus Lerdorf pada
tahun 1995. PHP melewati 4 kali perubahan besar dalam penulisan untuk
menjadi lebih luas dan lebih matang seperti yang kita lihat saat ini.
Versi utama PHP yaitu PHP 5. Versi PHP 5 merupakan penulisan ulang
yang sudah lengkap dan juga didasari oleh Zend engine 2 dan merupakan
perkembangan utama dari bahasa PHP
PHP merupakan project open source yang menggunakan kode PHP,
mengubah kode PHP dan mendistribusi ulang kode PHP tanpa dikenakan biaya,
P.J.Deitel & H.M.Deitel (2008:906)
2.19.1 Code Igniter
Menurut Griffiths (2010:7), Code Igniter merupakan framework
open source aplikasi web untuk bahasa PHP. CodeIgniter menggunakan
Model View Controller (MVC) sebagai pola desain, di mana merupakan
cara untuk mengkoneksikan aplikasi ke dalam tiga bagian, yaitu :
a. Models, yaitu database abstraction layer.
b. Views, yaitu the front end template files.
c. Controller, yaitu businees logic yang ada pada aplikasi.
Code Igniter menyediakan banyak libraries yang sangat berguna
dan ada pula kumpulan fungsi-fungsi yang dapat membantu dalam
membangun aplikasi sehingga dapat lebih fokus dalam bagian kecil pada
51
aplikasi daripada harus menjelajahi seluruh bagian proyek seperti
database query dan parsing data.
CodeIgniter juga sudah mengimplementasikan Active Record
Patern, dimana membuat penulisan query SQL yang kompleks menjadi
lebih mudah dan membuat aplikasi menjadi lebih mudah dibaca. Active
Record juga mempermudah dalam penukaran driver database.
CodeIgniter juga ekstensif dalam menggunakan singleton design
pattern, dimana merupakan cara untuk meng-load class jika class-nya
ingin dipanggil dalam beberapa kali. Ini sangat berguna dalam
mengkoneksikan database jika hanya ingin satu koneksi setiap class
digunakan.
2.20 Worklight IBM
IBM worklight menyediakan platform aplikasi yang terbuka,
komprehensif, dan canggih untuk mobile seperti: smartphone dan tablet.
Kemudian, worklight membantu organisasi untuk lebih efisien
mengembangkan, menghubungkan, menjalankan dan mengelola aplikasi karena
dapat diporting ke beberapa target application seperti android, apple,
blackberry, dan lain-lain.
IBM Worklight adalah bagian dari IBM Mobile Foundation family of
products yang memberikan unsur-unsur penting yang dibutuhkan untuk
pengembangan mobile lengkap, deployment, dan manajemen dalam bisnis.
(www.ibm.com/software/mobile-solutions/worklight/)
52
2.21 MySQL
Menurut P.J.Deitel & H.M.Deitel (2008:894), pada tahun 1994, TCX, a
Swedish consulting firm membutuhkan cara cepat dan flexibel untuk mengakses
tabel yang dibuatnya. Dikarenakan tidak dapat menemukan server database
yang bisa menyelesaikan tugas yang diperlukan, Michael Widenius,
pengembang program di TCX memutuskan untuk membuat server database
sendiri. Produk yang dihasikannya adalah MySQL. MySQL adalah open source
softwere product yang memiliki beberapa manfaat:
a. Skalabilitas
MySQL dapat ditanamkan dalam dalam suatu aplikasi ataupun
digunakan dalam skala besar seperti datawarehouse sekalipun.
b. Performance
MySQL dapat mengoptimalkan kinerja kerja berdasarkan tujuan
database pada suatu aplikasi yang kita buat.
c. Mendukung banyak bahasa pemograman
MySQL misalnya dapat diakses pada bahasa pemograman
PHP,Ruby on Rails, and Python.
d. MySQL diimplementasikan sedemikian rupa, sehingga dapat berguna
untuk windows, mac OS X, Linux, dan UNIX
e. Dapat menangani database yang besar misalnya puluhan ribu table
dengan jutaan baris.
53
2.22 Google Books
Pada tahun 1996, pendiri Google Sergey Brin dan Larry Page adalah
mahasiswa lulusan ilmu komputer yang bekerja pada sebuah proyek penelitian
yang didukung oleh Proyek Stanford Digital Library Technologies. Tujuan
mereka adalah untuk membuat perpustakaan digital bekerja, dan ide besar
mereka adalah sebagai berikut: dalam dunia masa depan di mana koleksi besar
buku yang didigitalkan, orang akan menggunakan "crawler web" untuk
mengindeks isi buku dan menganalisis hubungan antara mereka , menentukan
relevansi buku apapun dan kegunaan dengan melacak jumlah dan kualitas
kutipan dari buku-buku lainnya.
Crawler disebut sebagai BackRub, dan itu adalah sentuhan modern pada
analisis kutipan tradisional yang menginspirasi algoritma PageRank Google
yang membuat Google menjadi mesin web browser yang baik.
Google Books sendiri yang diciptakan oleh Google adalah program
pemasaran buku, bukan merupakan perpustakan online dari Google, dengan
demikian isi semua dari sebuah buku tidak akan ditampilkan, kecuali mendapat
persetujuan dari pemilik hak cipta itu sendiri, maka fungsi copy, save, dan print
pun dinonaktifkan.
(http://books.google.com/googlebooks/history.html)