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 karakterkarakter 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
10
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. memesan barang
Pelanggan
Penjual
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
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. Ubah Password
«uses» Login terlebih dahulu «uses»
Ubah Profile
Gambar 2.8 Uses (L.Whitten & D.Bentley, 2007:249)
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:2
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
Nama kelas Atribut kelas
Operasi kelas
Gambar 2.11 Struktur Kelas Objek
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 Public
Simbol +
Penjelasan Atribut
dan
method-nya
dapat
diakses dan digunakan oleh kelas lainnya Protected
#
Atribut dapat diakses dan methodnya 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
Association with Multiplicity
Association Meaning
Notation Exactly 1
1 or
An employee works for one and only one
leave blank
Zero or one
0...1
department
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
A university
1...*
offers at least 1 course up to many courses Spesific
A team has
7...9
either 7,8,9
range
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 atributatribut
dan
(superclass
method-method atau
parentclass),
bersifat umum dari subclass
dari
kelas
dimana
lainnya
superclass
31
Vehicle +make +model +accelarate() +turn() +stop()
Car
Bicycle
+trunksize
+frametype
+opentrunk()
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.
uses
Car 1
Garage 1
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
32
bagian dari kelas team, tetapi kelas team bukan merupakan bagian dr kelas player.
Team
1
* 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.
33 Book
1
* Chapter
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)
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. :Objek
Gambar 2.18 Objek
35
c. Aktivasi bar Aktivasi bar digambarkan dengan sebuah persegi panjang pada lifeline yang digunakan untuk menunjukkan lamanya objek yang digunakan.
:Objek1
Gambar 2.19 Aktivasi Bar
d. Pesan atau input message Pesan digunakan untuk menggambarkan interaksi antara objek-objek yang ada pada sequence diagram.
Pesan
Contoh 2.20 Pesan
36
e. Pesan kembali atau output message Pesan kembali digambarkan dengan garis putus-putus dan berfungsi untuk menanggapi pesan yang sebelumnya telah disampaikan. Pesan Kembali
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. loop
Gambar 2.23 Frame
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 mendownload 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 pengembangan
Steinberg
et.
al.
dari
sebuah
(2008),
proyek
platform
atau
Eclipse
mendukung
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
DOCTYPEnya lebih sederhana
penulisannya di HTML versi
dalam penulisannya di HTML5
sebelum HTML5 (HTML4) based on Example : SGML-based Example:
44
"http://www.w3.org/TR/html4/strict. dtd”> Audio dan Video bukan merupakan
Audio dan Video merupakan bagian
bagian dari spesifikasi HTML4
dari spesifikasi HTML5
Vector Graphics dimungkinkan
Vector Graphics merupakan
untuk teknologi seperti :
bagian utama dari HTML5 seperti :
VML, Silverlight, Flash
SVG dan canvas
Hampir tidak mungkin dalam
JS GeoLocation API in HTML5
HTML4 untuk mendapatkan
mendukung mendapatkan
geolocation dari user browsing any
geolocation dari user browsing any
website, terutama berasal dari mobile
website
devices Browse cache digunakan untuk
Application cache, web SQL
temporary storage
database, dan web storage is available sebagai client side storage. Accessible using JavaScript interface in HTML5 compliant browsers.
Web sockets tidak tersedia. Biasanya
Full duplex communication
mekanismenya menggunakan long
channels dapat dibangun dengan
polling dan streaming
server menggunakan web sockets.
Tidak memperbolehkan JavaScript
memperbolehkan JavaScript untuk
untuk run di browser
run di browser, yakni di
45
background Bekerja atau supporting dengan
Supporting browsers seperti
browsers yang lama
Firefox, Mozilla, Opera, Chrome, Safari ,dan lain-lain
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 webbased 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.
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 mereload 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)