7
BAB 2
LANDASAN TEORI
2.1
Teori Umum
2.1.1
Interaksi Manusia dan Komputer(IMK)
2.1.1.1 Pengertian IMK
Menurut Shneiderman dan Plaisant
(2010) Interaksi
manusia dan komputer merupakan ilmu yang
berkaitan pada
perancangan, evaluasi dan implementasi yang menjelaskan 
cara komunikasi antara komputer dan manusia atau user.
2.1.1.2 Karakteristik Perangkat Lunak
 
Pada perancangan
antarmuka dalam  aplikasi yang
dikembangkan sebaiknya pengembang mengelompokan
pengguna kedalam beberapa kategori karateristik user seperti
yang
dikemukakan oleh Shneidermen
dan Plaisant
(2010).
Berdasarkan teorinya user dikelompokkan kedalam 3 kategori
yaitu;
1.Novice atau First-time users
Novice
atau First-time users
atau dengan kata
lain pemula dalam menjalankan program. Pada
kategori ini sebaiknya pengembang memperhatikan
aspek kemudahan penggunaan program dan
memberikan umpan balik atau message
box
berupa
pesan kesalahan dengan bahasa yang mudah
dimengerti.
  
8
2.Knowledgable intermittent users
Pada kategori ini, user memiliki pengetahuan yang
cukup luas tentang system. Baik dalam hal penggunaan menu
yang ada maupun struktur menu dari suatu program
3.Expert frequent users
Tipe pengguna
ini mengerti tentang cara kerja suatu
system atau program, dapat
dengan cepat
mempelajari juga
menggunakan program dengan memanfaatkan command-line
,shortcut dan marco.
2.1.1.3 Lima Faktor Manusia Terukur
Lima faktor manusia terukur
oleh Shneiderman dan Plaisant
(2010) :
1.
Waktu Belajar
Merancang antarmuka yang mudah untuk pengguna.
Sehingga penggunaan aplikasi mudah dimengerti
2.
Kecepatan Kinerja
Mengurangi kompleksitas proses dalam aplikasi
yang
bertujuan untuk  meningkatkan kinerja proses pada aplikasi.
3.
Tingkatan Kesalahan
 
Meminimalisir 
tingkat kesalahan yang mungkin
terjadi dalam proses penggunaan dan memberikan penanganan
kepada pengguna.
  
9
4.     Daya Ingat 
Membuat tampilan agar pengguna dapat  dengan
mudah mengingat, dengan tujuan agar pengguna tidak
membutuhkan waktu lama
untuk mempelajari penggunaan
aplikasi.
5.Kepuasan subjektif
Hal ini dapat dicapai dengan melakukan interview dan
survey
kepada beberapa pengguna untuk mendapat tingkat
kepuasan.
2.1.1.4  Delapan Aturan Emas
Sebagai pedoman dalam perancangan aplikasi,
pengembang menggunakan 8 aturan emas yang dikemukakan
oleh Shneiderman
dan
Plaisant
(2010).  8 Aturan menjadi
landasan
perancangan dalam hal
interaksi manusia dan
computer. Berikut  penjelasan  8  aturan emas;
1. Konsistensi
     Konsistensi urutan tindakan pada program, dalam hal ini
yaitu ; tampilan,  jenis tulisan,  istilah-istilah yang digunakan
pada prompt, menu.
2. Memenuhi kegunaan yang universal 
     Kenali kebutuhan dari macam-macam pengguna dan
membuat desain yang dapat berubah sesuai kebutuhan konten.
  
10
3.   Memberikan umpan balik yang informatif
     Memberikan
umpan balik
pada saat
operator melakukan
operasi. Umpan balik sebaiknya dibagi dikelompokan
berdasarkan pada tingkat kepentingan dari suatu operasi. 
4. Merancang dialog untuk menghasilkann suatu
penutupan
Mengorganisir
urutan tindakan
menjadi beberapa
bagian seperti bagian awal, bagian tengah dan bagian akhir.
Memberikan umpan balik yang sesuai dengan hasil dari suatu
operasi, agar pengguna 
mengetahui hasil pengoperasian dan
dapat melanjutkan ketahapan selanjutnya.
5.Memberikan penanganan kesalahan
       
Pada pembuatan aplikasi,  sistem dibuat agar pengguna
tidak melakukan kesalahan yang fatal. Apabila terjadi
kesalahan system
dapat 
memberikan mekanisme
penanganan, sehingga pengguna dapat mengatasinya.
6.Mudah kembali ke tindakan sebelumnya
      
Fitur ini meringankan
pengguna ketika pengguna
mengetahui terdapat kesalahan. Sehingga
dapat kembali ke
tindakan sebelum kesalahan itu terjadi.
7.Mendukung tempat pengendalian internal
Menjadikan pengguna sebagai pengontrol sistem
bukan sebaliknya, dengan cara merancang sistem sedekemian
rupa, sehingga  pengguna dapat dengan leluasa menggunakan
sistem.
  
11
8.Mengurangi beban ingatan jangka pendek 
Ingatan manusia
memiliki keterbatasan,  oleh karena
itu perancang  harus mempertimbangkan dalam membuat 
tampilan yang sederhana contohnya yaitu memberikan
tampilan halaman yang berisikin dari beberapa menu yang
disatukan.
2.1.2
Piranti  Lunak
 
2.1.2.1 Definisi piranti lunak 
Definisi piranti lunak, Menurut (Pressman,2010,p4): 
a.
Intruksi
(program komputer)  
yang menghasilkan fungsi dan
performance pada saat dijalankan.
b.
Struktur data yang memungkinkan para program untuk
memanipulasi informasi.
c.
Informasi deskriptif dalam hardcopy
dan bentuk-bentuk
virtual yang menggambarkan operasi dan penggunaan program.
Tiga karakteristik piranti lunak (Pressman,2010,p4-p7) yaitu:
a.
Piranti lunak dikembangkan atau dibuat.
b.
Piranti lunak tidak dapat “habis”.
c.
Piranti lunak dirancang bukan berdasarkan perakitan.
2.1.3
Global Positioning System
Menurut Yulianto (2010) , Global Positioning System
(GPS)
adalah suatu sistem navigasi satelit yang berfungsi untuk menentukan
lokasi, kecepatan, dan arah, melalui signal yang diterima lebih dari
24-32 satelit yang pengukuran jarak (distance/range) antara satelit
dan receiver
dari transmisi signal radio. Sebuah GPS receiver
  
12
memerlukan empat atau lebih satelit untuk menghasilkan jarak
mereka, dan menggunakan informasi ini untuk menyimpulkan lokasi
mereka. Operasi ini disebut triangulation
Satelit-satelit GPS mentransmisikan signal radio ke bumi yang
mengandung informasi tentang satelit, contohnya lokasi dan waktu
saat itu, menginformasikan pengguna secara tepat di mana satelit
berada dalam orbit mereka sementara GPS receiver
secara pasif
menerima signal satelit tersebut. Semua satelit-satelit GPS
menyinkronisasi operasi-operasi agar signal-signal yang berulang ini
ditransmisikan pada waktu yang bersamaan.
2.1.4
GoogleMaps API
Menurut Wardhana, Iriani dan Hendry pada tahun 2012,
Google Maps Api merupakan salah satu fitur keluaran Google yang
diberikan pada setiap penggunanya secara gratis, sehingga setiap
orang diberi kesempatan untuk menggunakan dan mengembangkan
teknologi tersebut secara bebas, juga memberikan pula fasilitas-
fasilitas ke dunia dalam memanfaatkan Google Maps. Fasilitas-
fasilitas tersebut diistilahkan dengan nama Google Maps
API.
Beberapa daftar API yang tersedia yaitu 
Maps JavaScript API
Memasang Gmaps melalui Javascript.
Maps API for flash
Memasang Gmaps melalui flash.
Google Earth API
  
13
Memasang Google Earth ke dalam webpage.
Static Maps API
Memasang Gmaps ke webpage atau mobile device.
Webservices 
Request informasi geografis via http dengan return format json/xml.
Maps Data API
Update informasi geografis melalui Google Data API
Google Maps
API merupakan sebuah library javascript,
dengan mempelajari HTML dan javascript, serta koneksi internet.
Google Maps API dapat dibangun dan dirancang aplikasi peta digital
yang handal dan powerful. Sampai saat ini Google Maps
API sudah
sampai versi 3.0, dengan perkembangan tiap versinya diharapkan
selalu memiliki kinerja yang semakin meningkat dibandingkan
dengan versi-versi terdahulunya.
2.1.5
Unified Modelling Language (UML)
Menurut Whitten dan Bentley (2007,p381),
UML adalah
pemodelan Konvensi yang digunakan untuk menentukan atau
menggambarkan sebuah sistem perangkat lunak dalam objek.
Sampai saat ini UML telah mengalami pembaharuan yaitu
UML 2.0. Menurut Whitten dan Bentley (2007) UML 2.0
digolongkan menjadi tiga jenis diagram yaitu;
Requirment analysis
phase
Logical design phase
Physical 
Use-case
Diagram
Activity Diagram
Sequence
Diagram
Class Diagram
Sequence Diagram
Class Diagram
State machine
Diagram
  
14
Communication
Diagram
Component
Diagram
Deployment
diagram
2.1.5.1 Use-Case Diagram
Menurut Whitten dan Bentley (2007,p246), pengertian use-
case
diagram adalah diagram yang menjelaskan fungsi sistem dari
sudut pandang user dan  interaksi antara keduanya. 
Use case
diagram digambarkan
dengan
aktor yang
dihubungkan tanda panah, tanda panah ini
menunjukan
interaksi
terhadap use case. Use case dilambangkan dengan elips , pada simbol
ini berisi kata kerja yang dapat diletakan diatas, dibawah atau didalam
simbol tersebut.
Gambar 2.1 Contoh Diagram Model Use-Case
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
1.
Pelaku (Actor) adalah 
semua 
yang 
berinteraksi dengan
sistem untuk pertukaran informasi.
  
15
Gambar 2.2  Simbol Aktor
2.
Hubungan (Relationship) digambarkan dengan 
sebuah garis
antara dua symbol
pada use case
diagram. Pengertian
hubungan
berbeda-beda dapat dilihat dengan
bagaimana garis tersebut digambar
dan tipe simbol apa yang digunakan untuk  menghubungkan. Beberapa
perbedaan dalam tipe hubungan 
use case
diagram, yaitu sebagai
berikut:
1)
Gabungan (Association): Interaksi
antara actor dengan use case,
kapanpun terjadi interaksi antara keduanya.
Gambar 2.3 Contoh Hubungan Asosiasi
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
2)
Extend: use case
yang terdiri dari langkah yang diekstraksi dari
use case
yang lebih kompleks untuk menyederhanakan masalah
orisinil dan karena itu memperluas fungsinya.
  
16
Gambar 2.4  Contoh Hubungan Extension
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
3)
Uses: satu atau lebih use case yang melakukan berbagai langkah
fungsionalitas yang identik.
Gambar 2.5  Contoh Hubungan Uses
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
4)
Depends On: use case mana yang memiliki ketergantungan pada
use case
lain untuk menetapkan rangkaian use case yang perlu
dikembangkan.
  
17
Gambar 2.6  Contoh Hubungan Depends On
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
5)
Inheritance: ketika dua atau lebih pelaku berbagi kelakuan umum,
dengan kata lain mereka melakukan aksi terhadap use case yang
sama.
Gambar 2.7 Contoh Hubungan Inheritance
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
  
18
2.1.5.2 Class Diagram
Menurut Whitten dan
Bentley (2007, p376), class diagram
menggambarkan struktur class
yang ada dalam 
system
tersebut.
Diagram ini menunjukkan objek yang terdapat pada suatu sistem
serta relasi antara objek-objek tersebut.
Class
Digambarkan
sebagai sebuah kotak yang terbagi atas
tiga bagian. Bagian atas adalah bagian nama dari class. Bagian
tengah mendefinisikan atribut
class. Bagian akhir mendefinisikan
method dari sebuah class.
Berikut ini hubungan antara setiap class
diagram menurut
Whitten dan Bentley (2007);
1.
Multiplicity
Multiplicity
adalah istilah untuk menunjukan banyaknya
hubungan antar class.
Multiplicity
Notasi multiplicity
penjelasan
one
1
Hanya satu
Zero to one
0..1
0 atau 1
Zero to many
0..*
0 atau lebih
One to many
1..*
Antara 1 sampai
banyak
M to N 
m..n
Range antar m
sampai n
  
19
2.Visibility
Istilah metode akses pada setiap
class
yang
didefinisikan
dengan visibility. UML 2.0
menyediakan tiga tingkat dari
visibility, yaitu:
1.
Public : ditandai dengan simbol “+”
2.
Protected : ditandai dengan simbol “#”
3.
Private : ditandai dengan simbol “-
3. Association
Association
menunjukan
sebuah hubungan dua class
atau lebih dan dilambangkan oleh sebuah garis pada
umumnya. Pada association
juga menjelaskan tentang
multiplycity.
Dalam
hubungan association default
nya adalah
bersifat bidirectional sebagai contoh  pada class customer dan
order class, class customer
harus mengetahui tentang order
class begitupun sebaliknya.
4.
Agregration
Hubungan antar 
class yang bisa berdiri sendiri
walaupun merupakan bagian dari class yang lain.
Gambar 2.8 contoh agregation
  
20
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
5.Compositions
Sebuah class
yang tidak bisa berdiri sendiri karena 
merupakan bagian dari class yang lain.
Gambar 2.9 Contoh Compositions
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
  
21
Gambar 2.10 Contoh Class Diagram
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
2.1.5.3 Activity Diagram
Menurut Whitten dan Bentley 2007,  Activity diagram adalah
sebuah diagram yang dapat digunakan untuk mendeskripsikan secara
grafis aliran kerja dari sebuah proses bisnis, langkah-langkah dari
sebuah use case, atau logika dari sebuah perilaku objek (object
behavior/method).
Activity diagram
adalah representasi grafis dari aliran kerja
(workflow) atas aktivitas-aktivitas yang bertahap dan
aksi-aksi di
  
22
dalam sebuah sistem. Diagram ini juga mendukung proses seleksi,
pengulangan (iterasi), dan konkurensi.
Activity diagram
sejenis dengan state diagram/statechart
diagram. Diagram ini mendeskripsikan/menggambarkan kumpulan
aktivitas dengan menunjukkan sekuensial dari aktivitas yang
dilakukan. Diagram ini juga bisa menunjukkan aktivitas yang bersifat
kondisional atau paralel. Berikut notasi yang digunakan pada activity
diagram:
Tabel 2.1 Simbol pada Activity Diagram
No
Simbol
Gambar
Keterangan
1
Initial
node
Lingkarang hitam penuh sebagai
awal dari suatu proses.
2
Actions
Simbol berbentuk elips yang
Menunjukkan aktivitas
yang
terjadi pada sistem.
3
Flow
Untuk menunjuk ke
proses
selanjutnya. Dilengkapi dengan
syarat atau atau kata jika berasal
dari decision.
4
Decision
Menunjukkan proses
yang dapat
dipilih.
  
23
5
Merge
Menyatukan flow yang
sebelumnya terpisah oleh
decision.
6
Fork dan
join
Symbol yang menunjukan akan
terjadi proses 2 arah. Fork
Menotasikan
akan adanya 2
proses yang berjalan bersamaan.
Join
menotasikan
akhir proses
yang berjalan bersamaan
sebelumnya.
7
Activity
Final
Menunjukkan akhir dari proses.
  
24
Gambar 2.11 Contoh Activity Diagram
(Sumber:System dan Analysis and Design Method- Whitten dan Bentley,
2007)
  
25
2.1.5.4 Sequence Diagram
Sequence Diagram
adalah diagram yang menggambarkan
interaksi antara actor dan system untuk skenario use case.
Berikut ini
adalah penjelasan dari notasi-notasi diagram pada gambar 2.15 yaitu :
Tabel 2.2 Element pada activity diagram
nama
simbol
deskripsi
1
Actor
Simbol untuk
mewakili user
2
Interface class
<<interface>>
Suatu Indikasi
yang untuk
penamaan class
interface code,
agar tidak terjadi
kebingungan
terhadap jenis
class
3
Controller class
<<controler>>
Setiap use case
dapat
mempunyai satu
atau lebih
pengatur class.
Disampaikan
seperti interface
class
4
Entity class
:
Identifikasi
waktu pada saat 
system aktif
dalam  hubungan
5
Message
Berfungsi
menyampaikan
pesan dari setiap
method
Activation bars
Suatu indikasi
yang
menunjukan
berapa lama
waktu object
digunakan.
  
26
7
Return message
    
Menyampaikan
balasan dari
inputan. 
8
Self-calls
Objek yang
memanggil
method-nya
sendiri.
9
Frame
Menandakan
area pada
diagram yang
melakukan
seleksi,
pengulangan, dan
suatu pilihan
khusus.
Gambar 2.12 Contoh Sequence diagram 
(Sumber:System dan Analysis and Design Method- Whitten dan
Bentley,  2077)
  
27
2.1.6 Rapid Application Development
Rapid application development
(RAD) adalah model proses
pembangunan piranti lunak yang tergolong dalam teknik bertingkat.
RAD mengutamakan pada siklus pembangunan pendek,singkat dan
cepat. RAD merupakan metode iterative
(berulang) dalam
mengembangkan sistem dimana working
model
(model bekerja)  
sistem yang dikontruksikan di awal tahap pengembangan dengan
tujuan menetapkan kebutuhan pengguna. 
Metode RAD menurut Shelly dan Rosenblatt (2011) dibagi
menjadi empat fase  dalam pengembangan sistemnya. Empat fase
tersebut sebagai berikut:
1.
Requirment planning phase
Menggabungkan elemen dari sistem perencanaan dan
tahap analisis sistem dari Siklus Hidup Pengembangan
Sistem (SLDC). Pengguna, manager, dan anggota staf IT
membahas dan menyepakati kebutuhan bisnis, lingkup
proyek , kendala , dan persyaratan sistem. 
2.
User Design Phase
Pada tahap ini pengguna berinteraksi dengan analis
sistem dan mengembangkan model prototipe yang
mewakili proses semua sistem, input, dan ouput.
Kelompok RAD biasanya menggunakan kombinasi Joint
Application Development
(JAD) teknik dan alat-alat
CASE untuk menerjemahkan kebutuhan pengguna ke
dalam model kerja. Desain pengguna adalah proses
  
28
interaktif yang berkesinambungan yang memungkinkan
pengguna untuk memahami, memodifikasi, dan akhirnya
menyetujui model kerja dari sistem yang memenuhi
kebutuhan mereka.
3.
Contruction Phase
Berfokus pada pemrograman dan pengembangan aplikasi,
coding, unit-integrasi dan pengujian sistem. Pengguna
ikut berperan dan menyarankan untuk perubahan dan
perbaikan.
4.
Custover
Tahap ini merupakan tahap akhir dalam RAD dimana
menyerupai tugas akhir dalam tahap implementasi SDLC,
termasuk konversi data, pengujian, changeover ke sistem
dan pelatihan pengguna
2.1.7 Travel agent
2.1.7.1 Definisi Travel agent
Travel
Agent
merupakan
usaha yang bergerak di
bidang jasa yang memiliki tujuan untuk menyiapkan suatu
perjalanan bagi seseorang yang merencanakan untuk
mengadakannya (Nyoman,1994).
2.1.7.2  Fungsi Travel Agent
Menurut Anneahira  fungsi utama travel agent
umumnya bertindak sebagai perusahaan agen perjalanan yang
menjual produk penjualan dan jasa atas nama para pemasok.
  
29
Hal ini menjadikan travel agent
tidak seperti bisnis retail
lainnya. 
2.1.8 Stratified Random Sampling (Sampel Acak Terstratifikikasi)
Menurut penelitian Nurhayati (2008) metode pengambilan acak
terstratifikasi adalah metode pengambilan sampel dengan cara membagi
populasi ke dalam kelompok-kelompok yang homogen yang disebut strata
kemudian sampel diambil secara acak dari tiap strata tersebut dan dibuat
perkiraan untuk mewakili strata yang bersangkutan. Perkiraan secara
menyeluruh (over all estimation) diperoleh secara gabungan. Apabila
anggota-anggota populasi tidak bersifat homogen tetapi bisa
dikelompokkan  karena keheterogen yang terdapat dalam anggota populasi
sehingga berpengaruh terhadap informasi yang diperoleh dari variable
yang diteliti.
Stratified random sampling dapat dibedakan menjadi dua bagian yaitu
1.
Sampel Terstratifikasi Proporsional (Proportionate
Stratified Sampling)
a.
Merupakan sampel terstratifikasi dengan populasi
dibagi atas kelompok-kelompok yang homogeny
(Strata). Dari masing-masing kelompok diambil
sampel secara proporsional
b.
Ciri dari kelompok sampel
: homogeny pada satu
kelompok, namun sangat berbeda antar kelompok
(varian besar).
c.
Contoh : Seorang peneliti ingin mengetahui rata-
rata pengeluaran perbulan karyawan suatu
  
30
perusahaan. Untuk mengetahui hal ini, para
karyawan dibagi atas latar belakang pendidikan
sebagai berikut:
Latar Pendidikan
Jumlah karyawan
SD-SMP
SMA/SMK
D3/Akademi/Politeknik
Perguruan Tinggi
100
200
300
100
2.
Sampel Terstratifikasi Tidak Proporsional
(Disproportionate Stratified Sampling)
a.
Merupakan sampel terstratifikasi dengan populasi
dibagi atas kelompok-kelompok yang homogeny
(Strata). Dari masing-masing kelompok diambil
sampel namun tidak proporsinal.
b.
Contoh : Seorang peneliti ingin mengetahui rata-
rata pengeluaran perbulan karyawan suatu
perusahaan. Untuk mengetahui hal ini, para
karyawan dibagi atas latar belakang pendidikan
sebagai berikut:
Latar Pendidikan
Jumlah karyawan
SD-SMP
SMA/SMK
D3/Akademi/Politeknik
Perguruan Tinggi
10
200
300
50
  
31
2.2
Teori Khusus
2.2.1
Location Based-Service 
2.2.1.1 Definisi Location Based-Service
Location Based-Service adalah service yang berfungsi
untuk metncari dengan teknologi Global Positioning
Service(GPS) dan Google’s cell-based location. Map
dan
layanan berbasis lokasi menggunakan lintang dan bujur untuk
menentukan lokasi geografis namun sebagai user kita
membutuhkan alamat atau posisi realtime kita
bukan nilai
lintang dan bujur. Android menyediakan geocoder
yang
mendukung forward
dan reverse geocoding. Menggunakan
geocoder, anda dapat mengkonversi nilai lintang bujur
menjadi alamat dunia nyata atau sebaliknya.
Location based service
atau layanan berbasis lokasi
adalah isilah umum yang digunakan untuk menemukan lokasi
perangkat kita gunakan. Dua unsur utama LBS adalah 
a.
Location Manager (API Maps)
Menyediakan tools/resource
untuk LBS, Application
Programming Interface
(API) Maps
menyediakan fasilitas
untuk menampilkan,
memanipulasi peta berserta fitur-fitur
lainnya seperti tampilan satelit, street
(jalan) maupun
gabungannya. Paket ini berada pada com.google.android.maps.
b.
Location Providers (API Location)
Menyediakan teknologi pencarian lokasi yang digunakan oleh
device/perangkat. API location berhubungan dengan data GPS
  
32
dan data lokasi real-time. API Location berada pada paket
android yaitu dalam paket android.location. Dengan  Location
Manager
kita dapat menentukan lokasi kita saat ini, Track
gerakan/perpindahan, serta kedekatan dengan lokasi tertentu
dengan mendeteksi perpindahan.(Safaat,2011,p226)
2.2.2
Android
Android adalah sistem operasi berbasis linux untuk telepon
seluler
seperti telepon pintar dan komputer tablet. Sebagai aplikasi terbuka, Android
adalah platform
terbuka bagi para pengembang untuk menciptakan aplikasi
mereka sendiri yang biasa dipakai oleh bermacam piranti bergerak.(Wahana
Komputer,2012,p1)
2.2.2.1 Sejarah Android
Awalnya, Google Inc membeli Android Inc, pendatang
baru yang membuat peranti lunak untuk ponsel. Kemudian
untuk mengembangkan Android lebih lanjut, dibentuklah
Open Handset Alliance, konsorsium dari 34 perusahaan piranti
keras, piranti lunak , dan telekomunikasi termasuk Google,
HTC, Intel, Motorola, Qualcomm, T-Mobile dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007
Android bersama Open Handset Alliance menyatakan
mendukung perkembangan standar terbuka pada perangkat
seluler. Di lain pihak, Google merilis kode-kode Android
dibawah lisensi Apache (salah satu jenis lisensi open source),
sebuah lisensi perangkat lunak dan standar terbuka perangkat
seluler.
  
33
Didunia ini terdapat dua jenis distributor sistem
operasi Android. Pertama yang mendapat dukungan penuh
dari Google atau Google Mail Service
(GMS)
dan kedua
adalah yang benar-benar bebas distribusinya tanpa dukungan
langsung Google atau dikenal sebagai Open Handset
Distribution (OHD).
2.2.2.2 Jenis-jenis Android
Android memiliki sejumlah pembaharuan semenjak
rilis aslinya. Pembaharuan ini dilakukan untuk memperbaiki
bug dan menambahkan fitur-fitur baru. Berikut jenis-jenis
android sampai saat ini:
1.
Android Versi 1.1
Google merilis Android versi 1.1 pada tanggal
9 maret 2009. Android versi ini dilengkapi dengan
tampilan yang lebih cantik pada aplikasi, penambahan
fitur pada jam alarm, voice search , pengiriman pesan
dengan Gmail dan pemberitahuan email.
2.
Android Versi 1.5 (Cupcake)
Google kembali merilis perangkat martphone
menggunakan Android dan SDK(Software
Development Kit) versi 1.5(Cupcake) pada
pertengahan Mei 2009. Fitur-fitur yang ditambahkan
seperti kemampuan merekam dan menonton video
dengan modus kamera, mengunggah video ke youtube
dan gambar ke picasa secara langsung dari telepon.
  
34
3.
Android Versi 1.6 (Donut)
Dirilis pada bulan September di tahun  yang
sama dengan versi 1.5 . Disini ada fitur baru yang
antara lain proses pencarian yang lebih baik dibanding
sebelummnya, adanya indicator
baterai dan control
apple VPN.
Fitur lainnya adalah galeri
yang
memungkinkan pengguna memilih foto yang akan
dihapus. Fitur kamera, camcorder
dan galeri
juga
diintegrasikan. Dukungan ke standar telekomunikasi
yang lain, seperti CDMA/EVDO, 802. 1x, VPN,
Gesture dan Text-to-speech engine. Juga ada
kemampuan dial kontak dan teknologi text to change
speech, serta dukungan terhadap resolusi VWGA.
4.
Android Versi 2.0/2.1 (Éclair)
Pada tanggal 3 desember 2009, Open Handset
Alliance kembali meluncurkan ponsel Android dengan
versi 2.0/2.1 (Éclair), perubahan yang dilakukan
adalah optimasi hardware, adanya Google Maps 3.1.2,
perubahan UI dengan browser baru dan dukungan
penuh terhadap standar HTML5, daftar kontak
diperbarui serta adanya dukungan flash
untuk kamera
3,2 MP, digital Zoom dan Bluetooth 2.1.
5.
Android Versi 2.2 (Froyo)
  
35
Pada tanggal 20 Mei 2010, Android versi 2.2
(froyo) diluncurkan. Perubahan-perubahan
dibandingkan versi-versi sebelumnnya antara lain
dukungan Adobe
Flash
10.1, memiliki kecepatan
kinerja, integrasi JavaScript
engine
versi 8 yang
dipakai Google Chrome sehingga mempercepat
kemampuan rendering browser.
6.
Android Versi 2.3 (Gingerbread)
Pada tanggal 6 desember 2010, Android versi
2.3 (Gingerbread) diluncurkan. Perubahan pada versi
ini antara lain peningkatan kemampuan permainan
(gaming), peningkatan fungsi copy paste, user
interface didesain ulang, dukungan format video VP8
dan Web, efek audio baru, serta dukungan kemampuan
Near Field Communication (NFC) diperangkat ponsel.
7.
Android Versi 3.0/3.1 (Honeycomb)
Android Honeycomb
dirancang khusus untuk
bisa mengakomodasi tablet. Android versi ini
mendukung ukuran layar yang lebih besar. User
interface pada Honeycomb juga berbeda karena sudah
didesain untuk tablet. Honeycomb
mendukung multi
prosesor dan juga akselerasi perangkat keras
(hardware) untuk grafis. 
8.
Android versi 4.0 (Ice Cream Sandwich)
  
36
Versi android ini diumumkan pada tanggal 19
oktober 2011, dengan fitur baru termasuk bisa
membuka kunci dengan pengenalan wajah, jaringan
data control pemantauan pengguna, integrasi dengan
social network, perangkat tambahan fotografi, bisa
mencari email
secara offline
dan berbagi informasi
dengan menggunakan NFC.
2.2.3
Bahasa Pemrograman (JAVA- Eclipse)
Menurut Wahana Komputer
(2012,p14) , Eclipse adalah
sebuah IDE (Integrated Developmet Environment) untuk
mengembangkan perangkat lunak yang dapat dijalankan di semua
platform (platform-independent). Berikut ini sifat Eclipse:
Multi-platform: Eclipse dapat dijalankan di Microsoft Windows,
Linux, Solaris, AIX,HP-UX dan Mac OS X.
Multi-language: Eclipse dikembangkan dengan bahasa
pemrograman Java, akan tetapi Eclipse mendukung
pengembangan aplikasi berbasis bahasa pemrograman lainnya,
seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, 
Eclipse bisa juga dipakai untuk aktivitas dalam siklus
pengembangan perangkat lunak, seperti  dokumentasi, test
perangkat lunak, pengembangan web dan lain sebagainya.
  
37
Eclipse pada saat ini merupakan salah satu IDE favorit karena
sifatnya yang gratis (free) dan open source, artinya setiap orang
boleh melihat kode pemrograman perangkat lunak ini. Selain itu
kelebihan eclipse yang membuatnya popular adalah kemampuan
untuk dapat dikembangkan lebih lanjut oleh pengguna dengan
komponen yang dinamakan plug-in.
2.2.4 Eclipse
Eclipse adalah sebuah open source community, proyek yang berfokus
pada pembangunan sebuah platform pengembangan terbuka yang terdisi
dari frameworks
yang dapat diperpanjang, tools
dan runtimes
untuk
membangun, menyebarkan, dan pengelolahan perangkat lunak. 
Eclipse foundation adalah sebuah perusahaan  non profit independent,
dimana perusahaan ini tidak mencari keuntungan semata. Perusahaan ini
didukung oleh anggota yang menjalankan proyek eclipse dan membnatu
mengelolah serta memperkuat open source community dan ekositem yang
erat kaitannya dengan pemenuhan produk dan jasa.
Pada akhir 2001 IBM mengumumkan peluncuran proyek eclipse
sebagai sebuah proyek open source. Eclipse adalah aplikasi intergrated
development environtment
(IDE)  Yang merupakan pembangunan ulang
dari IDE Visual Age. Keunikan eclipse didesain sebagai sebuah platform
pembangunan aplikasi yang memungkinkan pihak lain menambahkan
fungsional dengan mudah dalam bentuk plug in.
IBM bahkan mempercayakan pengelolahan projek tersebut pada
sebuah organisasi non-profit
bernama Eclipse Foundation
yang
  
38
beranggotakan perusahaan-perusahaan lain yang menyambut baik inisiatif
sehingga dalam waktu yang relatif singkat bermunculan beragam plug-in 
eclipse untuk berbagai keperluan yang dibangun oleh perusahaan yang
berbeda-beda. Sebagian dimanfaatkan untuk membuat IDE atau plug-in
komersial, dan sebagian lain menjadi plug-in yang open
source.
Kolaborasi antara perusahaan ini memungkinkan terjadinya terjadi
perkembangan yang sangat pesat dan mendorong vendor
vendor
IDE
yang
sebenarnya telah memilik platform
IDE sendiri seperti Borland
JBuilder ikut beralih menggunakan platform
eclipse.(
The Eclipse
Foundation,2012)
2.2.5 SQLite
Menurut Vogel (2010) SQLite adalah sebuah database
yang
bersifat open source
yang tertanam didalam android. SQLite
mendukung standar relasional database dengan fitur seperti
SQL
syntax, transactions and prepared statements.
Selain itu SQLite
hanya membutuh sedikit memori pada saat run time. (Sekitar 250
Kbyte)
SQLite mendukung tipe data TEXT (Mirip
seperti String di
Java
), INTEGER
(mirip seperti Long
di Java), Real
(Mirip seperti
Double di java). Semua jenis harus dikonversikan menjadi salah satu
bidang ini sebelum menyimpannya dalam database. SQLite itu
sendiri tidak memvalidasi jika jenis yang ditulis untuk kolom adalah
benar-benar jenis didefinisikan, misalnya Anda dapat menulis integer
ke string kolom dan sebaliknya.
  
39
2.2.6 Hypertext Preprocessor (PHP)
Menurut Welling dan Thomson (2003,p2) PHP adalah bahasa
pemrograman scripting berbasis server side yang semula dibuat untuk
pengembangan pembuatan web yang dinamik. Dengan halaman
HTML, PHP dapat tertanam dan tereksekusi setiap kali halaman
dikunjungi. PHP merupakan sebuah proyek open source dimana user
dan developer
dapat dengan mudah mengakses source code
dan
menggunakan, mengubah dan mendistribusikannya tanpa pungutan
biaya. 
2.2.7 Javascript Object Notation
Javascript Object Notation
adalah format pertukaran data yang
ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan
dan dibuat oleh komputer. 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. 
JSON terbuat dari dua struktur:
Kumpulan pasangan nama/nilai . Pada beberapa bahasa, hal ini
dinyatakan sebagai objek, rekaman, struktur, kamus, tabel
hash,
daftar berkunci.
Daftar nilai terurutkan . Pada kebanyakan bahasa, hal ini dinyatakan
sebagai array, vector, daftar, urutan.
  
40
Struktur-struktur data ini disebut sebagai struktur data universal. Pada
dasarnya, semua bahasa pemprograman modern mendukung struktur data
ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut
demikian karena format data mudah dipertukarkan dengan bahasa-bahasa
pemprograman yang juga berdasarkan pada struktur data ini.
JSON menggunakan bentuk sebagai berikut:
Objek
sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan
{ (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal
tutup). Setiap nama diikuti dengan : (titik dua) dan setiap
pasangan nama/nilai dipisahkan oleh , (koma).
Array
kumpulan nilai yang terurutkan. Array
dimulai dengan [ (kurung
kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap
nilai dipisahkan oleh , (koma).
Nilai
Dapat berupa sebuah string dalam tanda kutip ganda, atau angka,
atau true atau false atau null, atau sebuah objek atau sebuah larik.
Struktur-struktur tersebut dapat disusun bertingkat.
String
Kumpulan dari nol atau lebih karakter Unicode, yang dibungkus
dengan tanda kutip ganda. Di dalam string
dapat digunakan
backslash escapes "\" untuk membentuk karakter khusus. Sebuah
  
41
karakter mewakili karakter tunggal pada string. String
sangat
mirip dengan string C atau Java.
Angka
Sangat mirip dengan angka di C atau Java, kecuali format oktal
dan heksadesimal tidak digunakan.( http://json.org/json-id.html).