BAB 2 LANDASAN TEORI
2.1
Teori Umum 2.1.1 Interaksi Manusia dan Komputer Menurut Shneiderman (2010) Interaksi Manusia dan Komputer (IMK) adalah ilmu yang mempelajari hubungan antara manusia dan komputer yang meliputi perancangan
dan desain antar muka sehingga mudah digunakan.
Dalam ilmu ini terdapat aturan-aturan yang merupakan pedoman dalam merancang antar muka yaitu 8 aturan emas yang terdapat dalam teori interaksi manusia dan komputer, diantaranya: 1. Menjaga konsistensi Konsistensi mencakup warna, layout, kapitalisasi, jenis font yang harus diimplementasikan secara menyeluruh. 2. Memenuhi kegunaan universal Menghargai kebutuhan yang diperlukan oleh bermacam-macam pengguna dan memudahkan perubahan konten. Adanya perbedaan yang dimiliki oleh pengguna awam dan berpengalaman, perbedaan umur, cacat, serta perbedaan teknologi menambah kebutuhan desain. Seperti menambah fitur untuk pengguna baru, dan fitur khusus untuk pengguna yang berpengalaman.
7
8 3. Menawarkan umpan balik yang informatif Untuk setiap aksi yang dilakukan pengguna seharusnya diikuti oleh umpan balik sistem. Untuk aksi yang sederhana, respons bisa saja tidak diperlukan. Namun untuk aksi yang bersifat penting, respons lebih dibutuhkan. 4. Desain dialog untuk menghasilkan penutupan Rangkaian aksi haruslah diorganisasikan ke dalam grup yang berisi pembuka, isi, dan penutup. Umpan balik saat penyelesaian serangkaian aksi memberikan pengguna kepuasan akan pencapaian yang telah dilakukan dan perasaan lega. 5. Tawarkan pencegahan kesalahan dan penanganan masalah sederhana Sebisa mungkin, bangun sebuah sistem sehingga pengguna tidak bisa membuat kesalahan yang fatal. Contohnya berikan pilihan dan mengisi suatu formulir atau tidak memperbolehkan karakter alfabet untuk mengisi kolom numerik. Jika pengguna melakukan kesalahan, sistem harus mendeteksi kesalahan dan menawarkan instruksi penanganan masalah yang simpel, konstruktif dan spesifik. 6. Mengizinkan pembalikan aksi Sebisa mungkin, aksi yang dilakukan pengguna dapat dibalik. Fitur ini menghilangkan kegelisahan karena pengguna tahu bahwa kesalahan dapat dibalikkan sehingga mendorong pengguna untuk menjelajah lebih dalam pada pilihan-pilihan yang tidak umum.
9 7. Mendukung pusat kendali internal Pengguna yang berpengalaman memiliki perasaan bahwa mereka yang memegang kendali sistem dan sistem merespons setiap aksi mereka. 8. Mengurangi beban ingatan jangka pendek Batasan kemampuan manusia untuk memproses informasi jangka pendek memerlukan tampilan yang sederhana dan juga pengaruh pada banyak
halaman
ditampilkan
dalam
satu
kesatuan,
frekuensi
perpindahan halaman, dan pelatihan yang cukup.
Lima faktor manusia terukur menurut Shneiderman (2010) : 1. Waktu untuk belajar Seberapa lama waktu yang diperlukan untuk beberapa anggota untuk belajar cara penggunaan perintah untuk serangkaian tugas. 2. Kecepatan performa Seberapa lama waktu yang dibutuhkan untuk menyelesaikan tugas. 3. Tingkat kesalahan pengguna Seberapa lama dan jenis kesalahan yang terjadi saat pengguna berusaha menyelesaikan tugas. Walaupun waktu pembuatan dan mengatasi kesalahan tidak berjalan lurus dengan kecepatan performa. Untuk pengatasan masalah memerlukan pembelajaran secara ekstensif. 4. Ingatan Seberapa baik pengguna menjaga pengetahuan mereka dalam kurun waktu tertentu. Ingatan berhubungan dekat dengan waktu untuk belajar.
10 5. Kepuasan subjektif Kepuasan pengguna menggunakan berbagai aspek dalam suatu sistem. Jawaban bisa didapatkan melalui survei seperti wawancara dan kuesioner. 2.1.2 UML (Unified Modeling Language) a. Class Diagram Menurut Bennet (2006), class diagram adalah UML yang menunjukkan sebuah class beserta atribut dan operasinya, bersama dengan hubungan asosiasi antar class tersebut. Sebuah class memiliki tiga bagian utama, yakni: 1) Nama, yang merupakan nama dari sebuah class 2) Atribut,
yang
merupakan
properti
dari
sebuah
class
yang
mendeskripsikan jarak nilai yang bisa disimpan dalam sebuah instance dari class tersebut. 3) Operasi adalah implementasi dari sesuatu yang bisa dilakukan oleh semua objek dari class tersebut atau class lain terhadap class tersebut. Sebuah class bisa memiliki banyak operasi atau tidak memiliki operasi sama sekali. Atribut dan operasi dalam sebuah class diagram bisa memiliki salah satu sifat seperti: 1) Private, atribut dan operasi tersebut hanya bisa diakses oleh class itu sendiri.
11 2) Protected, atribut dan operasi tersebut hanya bisa diakses oleh class itu sendiri dan turunan dari class tersebut. 3) Public, atribut dan operasi tersebut dapat diakses oleh class lain. 4) Package, atribut dan operasi tersebut hanya bisa diakses oleh instance sebuah class dalam package yang sama. Untuk membuat sebuah class diagram, notasi yang digunakan adalah sebagai berikut: 1) Class, adalah bagian terpenting dari semua sistem berbasis objek. Sebuah class mendeskripsikan satu set objek yang memiliki kesamaan dalam atribut, operasi, relasi, dan semantik.
Gambar 2.1 Class
2) Generalization, adalah hubungan antara sesuatu yang umum (disebut super class atau parent) dan sesuatu yang lebih spesifik (disebut subclass atau child). Generalisasi artinya object dari sebuah child bisa digunakan dimanapun class parent muncul, tapi tidak sebaliknya. Sebuah child mewarisi properti yang dimiliki parent, terutama atributatribut dan operasi-operasi. Seringkali (walaupun tidak selalu) child
12 memiliki atribut dan operasi tambahan selain yang dimiliki parent. Sebuah operasi milik child yang memiliki signature sama dengan operasi yang dimiliki parent akan meng-override operasi dari parent, sifat ini disebut polymorphism. Jika digambarkan, generalisasi digambarkan dengan sebuah panah dengan kepala panah yang besar, menunjuk ke arah parent.
Gambar 2.2 Generalisasi
3) Association, adalah hubungan struktural yang menjelaskan bahwa sebuah object terhubung dengan object dari hal lain. Jika dua class terhubung dengan asosiasi, maka seseorang bisa berpindah dari object milik satu class ke object dari class yang lain, dan sebaliknya. Diperbolehkan jika sebuah asosiasi kedua ujungnya menuju ke satu class yang sama. Yang artinya, object dari class tersebut bisa dihubungkan dengan object lain dari class yang sama. Sebuah asosiasi yang menghubungkan dua class yang benar-benar sama disebut dengan binary association. Walaupun tidak umum, ada asosiasi yang menghubungkan lebih dari dua class, disebut n-ary association. Asosiasi digambarkan sebagai sebuah garis solid yang menghubungkan class yang sama atau berbeda.
Gambar 2.3 Asosiasi
13 4) Aggregation, adalah asosiasi antar class yang merepresentasikan hubungan struktural antar class yang berada di tingkatan yang sama, tidak ada yang lebih penting antara satu dan yang lain. Kadang dibutuhkan untuk menggambar relasi “whole/part”, dimana satu class akan merepresentasikan sesuatu yang lebih besar (whole) yang terdiri dari hal-hal yang lebih kecil (part). Relasi seperti itu disebut sebagai agregasi, yang merepresentasikan sebuah hubungan “kepemilikan”, yang artinya object whole memiliki object-object dari part. Agregasi digambarkan dengan sebuah garis asosiasi biasa ditambah dengan belah ketupat di sisi whole.
Gambar 2.4 Agregasi
b. State Machine Menurut Bennet (2006), state machine atau state chart digunakan untuk menunjukkan perubahan state pada berbagai elemen dalam UML, termasuk sistem, sub-sistem, interface, dan port.
14
Gambar 2.5 State Machine
c. Use Case Diagram Menurut Bennet (2006) use case adalah deskripsi dari fungsionalitas sebuah sistem dari perspektif pengguna. Use case diagram digunakan untuk menunjukkan fungsionalitas yang disediakan sistem dan untuk menunjukkan pengguna yang akan berkomunikasi dengan sistem dan menggunakannya fungsinya. Use case diagram diciptakan oleh Jacobson et al. (1992). Jacobson dan rekan penulisnya menawarkan pendekatan lengkap untuk membuat sebuah sistem perangkat lunak berbasis objek. Use Case diagram menampilkan tiga aspek dari sebuah sistem: 1) Use Case Use case digunakan untuk mendeskripsikan satu set deretan aksi, termasuk variannya, yang dilakukan oleh sebuah sistem dan akan memberikan hasil yang bernilai bagi pengguna. Setiap use case harus
15 memiliki sebuah nama yang membedakannya dengan use case lain. Use case digambarkan sebagai sebuah elips bertuliskan nama use case tersebut. 2) Aktor Sebuah aktor merepresentasikan satu set peran bersangkutan yang digunakan oleh pengguna saat berinteraksi dengan use case tersebut. Sebuah aktor merepresentasikan peran seorang manusia, sebuah perangkat keras, atau bahkan sistem lain yang berinteraksi dengan sebuah sistem. Aktor digambarkan sebagai figur garis. 3) Batasan sistem atau subsistem
Gambar 2.6 Notasi sebuah use case diagram
d. Sequence Diagram Menurut Bennet (2006) sebuah sequence diagram secara semantik setara dengan communication diagram untuk interaksi sederhana. Sebuah sequence diagram menampilkan interaksi antara objek-objek yang disusun berdasarkan urutan waktu.
16 Setiap objek dalam sebuah sequence diagram direpresentasikan oleh sebuah lifeline (sebuah garis putus-putus dengan simbol objek diatasnya). Sebuah pesan digambarkan dengan garis panah solid horizontal dari satu lifeline ke yang lain dan diberi label nama pesan tersebut. Saat sebuah pesan dikirimkan pada sebuah lifeline, maka pesan tersebut akan memanggil satu operasi dari objek tersebut. Nama pesan biasanya sama dengan nama operasi yang dipanggil.
Gambar 2.7 Sequence Diagram
17 2.1.3 Database Menurut Connoly dan Begg (2005) database adalah koleksi data-data yang berelasi secara logis yang didesain untuk memenuhi kebutuhan informasi yang diperlukan sebuah organisasi. Secara konsep, database merupakan tempat penyimpanan data (seringkali dalam jumlah besar) yang bisa digunakan secara bersamaan oleh banyak departemen dan pengguna. Semua data terintegrasi dengan jumlah duplikasi yang minimal. Salah satu sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengendalikan akses terhadap sistem basis data adalah Database Management System (DBMS). Biasanya DBMS menyediakan fasilitas-fasilitas seperti: 1) Memungkinkan menggunakan
pengguna Data
mendefinisikan
Definition
Language
database, (DDL).
biasanya
Pengguna
bisa
menentukan tipe data, struktur, dan batasan data yang boleh disimpan kedalam database. 2) Memungkinkan pengguna memasukkan data baru, mengubah data, menghapus, dan mengambil data dari database menggunakan Data Manipulation Language (DML). 3) Menyediakan akses terbatas pada database, contohnya: • Sistem keamanan yang menghalangi pengguna yang tidak berkepentingan untuk mengakses database. • Sistem integritas yang menjaga konsistensi data yang disimpan.
18 • Sistem kontrol konkurensi yang memungkinkan akses bersamaan ke database. • Sistem recovery yang mengembalikan database ke kondisi konsisten terakhir jika terjadi kegagalan perangkat keras atau perangkat lunak • Katalog untuk pengguna untuk memperlihatkan deskripsi dari data yang ada di dalam database.
2.1.4 Storyboard Menurut Don Bluth (2004) storyboard adalah proses visualisasi dari naskah yang tersusun dari serangkaian gambar. Storyboard penting dalam pembuatan sebuah aplikasi, dimana storyboard dapat menampilkan relasi antar proses dalam pembuatan aplikasi.
2.1.5 Waterfall Menurut Pressman (2010) model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Sering disebut sebagai classic life cycle atau linear sequential model. Model ini menawarkan pendekatan yang sistematis dan sekuensial untuk membangun sebuah perangkat lunak yang dimulai dari system level, lalu analisis, desain, koding, pengujian (testing), dan support. Linear sequential model meliputi aktivitas-aktivitas berikut:
19 1.
Analisis kebutuhan perangkat lunak Semua kebutuhan yang dibutuhkan untuk membuat sistem ditentukan pada tahap ini. Untuk mengetahui dengan jelas aplikasi yang akan dibuat, seorang software engineer harus mengerti informasi, fungsi, performa, dan antar muka yang dibutuhkan.
2.
Perencanaan Pada tahap ini, dibuat sebuah perencanaan yang disebut software project plan yang menjelaskan proses pembuatan perangkat lunak berdasarkan tugas-tugas yang perlu dikerjakan, resiko yang mungkin terjadi, sumber daya
yang diperlukan, dan penjadwalan
sampai
penyelesaian perangkat lunak. 3.
Desain dan analisis Pada tahap ini, daftar kebutuhan yang sudah ada diubah kedalam representasi sketsa perangkat lunak yang bisa dilihat gambarannya secara arsitektural agar memudahkan dalam memahami kebutuhan perangkat lunak sebelum memulai tahap penulisan kode.
4.
Penulisan kode dan pengujian Pada tahap ini, desain yang sudah dibuat diubah menjadi bahasa yang bisa dimengerti oleh mesin. Setelah proses penulisan kode selesai, pengujian aplikasi dilakukan. Proses ini berfokus untuk menguji setiap perintah yang ada pada aplikasi. Proses ini juga menguji apakah output yang dihasilkan aplikasi sudah sesuai dengan yang diharapkan.
20 5.
Penyebaran dan pemeliharaan Sebuah perangkat lunak tentunya akan mengalami perubahan setelah digunakan oleh pengguna, penyebabnya bisa karena error yang ditemukan.
Gambar 2.8 Waterfall Model
2.2
Teori Khusus 2.2.1 Web Service Mengacu pada pendapat Hugo Haas dan Allen Brown (2004) pengertian sebuah Web service adalah sistem perangkat lunak yang didesain untuk menyokong interaksi antara mesin ke mesin melalui sebuah jaringan. Sebuah Web service memiliki antarmuka yang dideskripsikan menggunakan format yang bisa dibaca oleh mesin. Sistem-sistem lain berinteraksi dengan web service menggunakan cara yang sudah diresepkan oleh deskripsinya menggunakan pesan-pesan Simple Object Access Protocol (SOAP), biasanya disampaikan menggunakan Hypertext Transfer Protocol (HTTP) dengan serialisasi Extensible Markup Language (XML) yang berkonjungsi dengan standar-standar web yang lain. WSDL (Web Services Description Language) adalah sebuah format XML yang digunakan untuk menjelaskan network services sebagai satu set
21 endpoint yang beroperasi atas pesan-pesan yang berisi informasi yang berorientasi pada dokumen atau prosedur. Operasi dan pesan-pesan tersebut dideskripsikan secara abstrak yang lalu terikat pada protokol jaringan yang konkrit dan format pesan untuk mendefinisikan sebuah endpoint.
2.2.2 Algoritma Dijkstra Algoritma Dijkstra disusun oleh ilmuwan Belanda, Edsger Dijkstra, pada tahun 1956 dan dipublikasikan tahun 1959. Algoritma Dijkstra adalah algoritma penelusuran graph yang bisa mencari rute terpendek dari satu titik awal pada graph yang tidak memiliki edge bernilai negatif, dan akan menghasilkan shortest path tree. Algoritma ini biasa digunakan untuk mencari rute dan sebagai subroutine pada algoritma graph lain. Dari node-node yang ada pada graph, algoritma ini akan mencari rute dengan cost terkecil diantara satu node dan satu node lainnya. Algoritma Dijkstra yang orisinil tidak menggunakan min-priority queue dan berjalan menggunakan
.
Gambaran algoritma Dijkstra adalah sebagai berikut: Node tempat pencarian memulai disebut initial node. Lalu jarak dari initial node ke node Y disebut distance of node Y. Algoritma Dijkstra akan menentukan nilai distance awal dan akan terus memperbaikinya langkah demi langkah.
22 1.
Berikan nilai distance sementara pada setiap node yang ada: nilai 0 untuk initial node, dan tak terhingga untuk semua node lain.
2.
Tandai semua node sebagai unvisited. Tentukan initial node sebagai current. Buatlah sebuah daftar unvisited nodes yang terdiri dari semua node kecuali initial node.
3.
Untuk node current, kalkulasikan tentative distance. Sebagai contoh, jika node current A ditandai dengan tentative distance sebesar 6, dan edge yang menghubungkannya dengan neighbor B memiliki panjang 2, maka distance menuju B (melalui A) adalah 6+2=8. Jika jarak yang didapat lebih kecil dari nilai tentative distance sebelumnya, maka nilai sebelumnya akan di overwrite. Walaupun semua neighbor sudah dicek, mereka belum ditandai sebagai visited oleh karena itu neighbor tersebut tetap berada di daftar unvisited.
4.
Setelah semua neighbor dari current node sudah dihitung, maka tandai current node sebagai visited dan hapus dari daftar unvisited. Sebuah node yang sudah ditandai sebagai visited tidak akan dicek lagi, distance yang sudah tercatat sudah final dan minimal.
5.
Jika node tujuan belum ditandai sebagai visited (saat menentukan rute antara dua node spesifik) atau jika nilai tentative terkecil dalam daftar unvisited adalah tak terhingga (saat melakukan complete traversal), maka hentikan. Algoritmanya sudah selesai.
6.
Tandai unvisited node yang memiliki nilai tentative terkecil sebagai current node selanjutnya, lalu kembali ke tahap 3.
23
2.2.3 Jalan dan Rute Menurut UU RI nomor 38 tahun 2004, Jalan adalah prasarana transportasi darat yang meliputi segala bagian jalan, termasuk bangunan pelengkap dan perlengkapannya yang diperuntukkan bagi lalu lintas, yang berada pada permukaan tanah, di atas permukaan tanah, di bawah permukaan tanah dan/atau air, serta di atas permukaan air, kecuali jalan kereta api, jalan lori, dan jalan kabel. Sedangkan menurut Kamus Besar Bahasa Indonesia, rute adalah jarak yang harus ditempuh (dilalui), jalan yang ditempuh, atau jalur angkutan yang menghubungkan dua tempat.
2.2.4 Peta Menurut Kamus Besar Bahasa Indonesia, peta adalah gambar atau lukisan pada kertas (dan sebagainya) yang menunjukkan letak tanah, laut, sungai, gunung, dan sebagainya. Peta juga merupakan representasi melalui gambar dari suatu daerah yang menyatakan sifat, seperti batas daerah, sifat permukaan, atau denah.
24
Gambar 2.9 Peta DKI Jakarta (Sumber: www.bdkjakarta.kemenag.go.id/kerangka/JAKMAP.jpg)
2.2.5 Transportasi Umum Menurut
Kamus
Besar
Bahasa
Indonesia,
transportasi
adalah
pengangkutan barang oleh berbagai jenis kendaraan sesuai dengan kemajuan teknologi. Sedangkan umum berarti mengenai seluruhnya atau semuanya, secara menyeluruh, tidak menyangkut yang khusus (tertentu) saja. Terdapat dua jenis transportasi umum: 1) Memiliki trayek yang ditentukan Transportasi jenis ini harus mengikuti jalur yang sudah ditentukan, contohnya bus.
25 2) Tidak memiliki trayek Transportasi jenis ini tidak memiliki jalur khusus yang perlu diikuti, contohnya bajaj dan taksi. Jenis-jenis transportasi umum yang ada di DKI Jakarta dan masuk dalam lingkup penelitian adalah sebagai berikut: 1) Bus kota besar
Gambar 2.10 Bus Kota Besar (Sumber: www.beritajakarta.com/images/foto/PPD_bus.jpg)
2) Bus kota sedang
Gambar 2.11 Bus Kota Sedang (Sumber: http://gambang.files.wordpress.com/2008/02/metromini.jpg)
26
3) Bus kota kecil
Gambar 2.12 Bus Kota Kecil (Sumber: http://fyeahjakarte.files.wordpress.com/2011/05/prodk_14_1.jpg)
4) Transjakarta
Gambar 2.13 Transjakarta (Sumber: http://fyeahjakarte.files.wordpress.com/2011/05/jakarta-131.jpg)
2.2.6 Tarif Menurut Kamus Besar Bahasa Indonesia, tarif berarti harga satuan jasa, aturan pungutan, atau daftar bea masuk. Sedangkan tarif angkutan umum
27 adalah biaya yang dikenakan pada pengguna jasa angkutan umum dari asal sampai tujuan perjalanan.
2.2.7 GPS GPS (Global Positioning System) adalah sistem untuk menentukan letak atau posisi di permukaan bumi dengan penyelarasan sistem dari satelit. Sistem ini menggunakan beberapa satelit yang mengirimkan gelombang mikro ke bumi. Sinyal yang diterima ini digunakan untuk menentukan letak, jarak, kecepatan, arah, waktu. GPS biasanya dikombinasikan dengan sinyal GSM untuk menentukan letak koordinat objek dan kemudian dipetakan dalam bentuk digital. Cara kerja GPS adalah dengan memancarkan sinyal ke bumi dan diterima oleh sebuah alat penerima. Ada tiga bagian penting dari sistem GPS yaitu bagian kontrol, bagian angkasa, dan bagian pengguna. 1) Bagian kontrol Bagian ini mengontrol dan melacak orbit satelit, lokasi, ketinggian, dan kecepatan. Sinyal-sinyal dari satelit diterima oleh bagian kontrol kemudian dikoreksi dan dikirimkan kembali ke satelit. Koreksi data yang tepat dan dikembalikan oleh satelit disebut data ephemeris. Data ephemeris kemudian dikirimkan ke alat navigasi pengguna. 2) Bagian angkasa Bagian ini terdiri dari banyak satelit yang berada di ketinggian 12.000 mil diatas permukaan bumi. Satelit sudah diatur sedemikian rupa untuk
28 menerima sinyal dengan paling sedikit empat buah satelit. Sinyal satelit yang dipancarkan ke bumi dapat menembus awan, kaca, plastik, tetapi tidak dapat menembus gedung, gunung, maupun benda-benda yang solid dan memiliki ketinggian tertentu. Sebuah alat dari pengguna dapat menerima sinyal satelit paling kuat ketika satelit berada tepat diatas pengguna dibandingkan dengan satelit yang berada pada garis cakrawala. 3) Bagian pengguna Bagian ini meliputi alat navigasi yang digunakan. Sinyal yang dikirimkan oleh satelit berupa data almanac dan ephemeris yang akan diterima oleh alat navigasi pengguna. Data almanac berisi perkiraan lokasi satelit yang dipancarkan secara terus menerus, namun tidak seperti data ephemeris yang hanya valid untuk 4-6 jam. Alat navigasi paling sedikit memerlukan tiga buah
satelit
untuk
menampilkan
koordinat
sebuah
titik.
Untuk
menampilkan data ketinggian maka diperlukan empat buah satelit. Semakin kuat dan banyaknya sinyal yang diterima oleh pengguna, maka semakin akurat alat navigasi pengguna dalam menentukan koordinat posisinya.
Gambar 2.14 Cara Kerja GPS (Sumber: http://fortnightjournal.com/ed3img/VJ/gps-triangulation.jpg)
29 2.2.8 Android Menurut Nazruddin Safaat H.(2012), Android adalah sistem operasi perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android merupakan sistem operasi yang open source sehingga bebas untuk didistribusikan dan dipakai oleh vendor apapun. Pengembang memiliki beberapa pilihan untuk membuat aplikasi berbasis Android. Sebagian besar pengembang menggunakan Eclipse yang tersedia secara bebas untuk merancang dan mengembang aplikasi android. Eclipse adalah IDE (Integrated Development Environment) yang paling populer untuk pengembangan Android, karena Eclipse memiliki Android plug-in yang tersedia untuk memfasilitasi pengembangan Android. Selain itu, Eclipse juga mendapat dukungan langsung dari Google untuk menjadi IDE pengembang aplikasi android. Namun selain Eclipse masih ada IDE yang digunakan untuk pengembangan android seperti Netbeans. Tools lainnya yang digunakan untuk pengembangan aplikasi Android adalah SDK (Software Development Kit) Android. SDK Android adalah tools API (Application Programming interface) yang diperlukan untuk memulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Fungsi dari SDK Android itu sendiri adalah mengubah kelas bahasa java untuk dikompilasi. Beberapa fitur android yang paling penting adalah:
30 • Framework aplikasi yang mendukung penggantian komponen dan reuseable. • Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile. • Integrated browser berdasarkan engine open source WebKit. • Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi OpenGL ES 1,0 (opsional akselerasi hardware) • SQLite untuk penyimpanan data. • Media Support yang mendukung audio, video, dan gambar (MQEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony (tergantung hardware) • Bluetooth, EDGE, 3G, dan Wi-Fi (tergantung hardware) • Kamera, GPS, kompas, dan accelerometer (tergantung hardware) • Lingkungan Development yang lengkap dan kaya termasuk perangkat emulator, tools, untuk debugging, profil dan kinerja memori, dan plugin, IDE untuk Eclipse. Salah satu plugin yang didesain untuk IDE Eclipse adalah Android Development
Tools
(ADT).
ADT
memudahkan
pengembang
untuk
mengembangkan aplikasi Android dengan menggunakan IDE Eclipse. Kemudahan yang didapat adalah membuat aplikasi project Android, merancang tampilan aplikasi, dan menambah komponen-komponen lainnya. Fungsi lainnya adalah pengembang dapat melakukan running aplikasi menggunakan Android SDK melalui IDE Eclipse. Dengan menggunakan ADT, pengembang juga
31 dapat
melakukan
pembuatan
package
(.apk)
yang
kemudian
dapat
didistribusikan. 2.2.9 Google Map API Google Maps API adalah layanan gratis yang diberikan oleh Google. Melalui Google Maps pengguna dapat menambahkan fitur-fitur yang disediakan oleh Google Maps. Google Maps API adalah library JavaScript sehingga pengguna dapat menambahkannya pada aplikasi maupun website. Google Maps API membuat pengguna dapat membuat aplikasinya dengan mudah dan cepat karena pengguna hanya akan fokus kepada data-data pribadi dan Google Maps akan memberikan informasi mengenai data peta-peta di dunia. Pada Google Maps terdapat 4 jenis peta yang disediakan, diantaranya: • Road map, jenis peta ini menampilkan peta dengan jalan 2 dimensi
Gambar 2.15 Road map (Sumber: http://www.joomlart.com/joomla/extensions/ja-google-map)
32 • Satellite, menampilkan peta sesuai dengan foto satelit.
Gambar 2.16 Satellite Map (Sumber: http://www.joomlart.com/joomla/extensions/ja-google-map)
• Terrain, menampilkan relief fisik permukaan bumi dan menunjukkan seberapa tinggi suatu lokasi
Gambar 2.17 Terrain Map (Sumber: http://www.joomlart.com/joomla/extensions/ja-google-map)
33 • Hybrid, kombinasi antara jenis peta roadmap dan satellite.
Gambar 2.18 Hybrid Map (Sumber: http://www.joomlart.com/joomla/extensions/ja-google-map)
Terdapat banyak fitur di dalam Google Maps. Google Maps menyediakan route planner yang dapat memberikan arah kepada pengguna. Selain itu pengguna juga dapat menentukan marker sebagai penunjuk pada peta, menampilkan info tepat diatas peta. Google Maps juga dapat menampilkan lokasi-lokasi yang telah ditentukan oleh pengguna berdasarkan file KML (Keyhole Markup Language).
2.2.10 SQLite Menurut Michael Owens (2006) SQLite adalah database rasional yang bersifat embedded. SQLite didesain untuk menyediakan kemudahan dalam mengelola data. SQLite berjalan pada program sehingga program tidak memerlukan akses internet untuk mengelola data. Keuntungan menggunakan SQLite adalah membuat administrasi database menjadi lebih simpel, dan membuat aplikasi mudah untuk disebarkan. Seluruh elemen basis data seperti atribut, tabel, indeks, dan data juga disimpan ke dalam satu file dan
34 diintegrasikan pada aplikasi sehingga proses eksekusi query pada bahasa pemrograman dapat berjalan dengan cepat. SQLite merupakan bagian integral dari sebuah program. Protokol komunikasi menggunakan API melalui bahasa pemrograman sehingga SQLite dapat mereduksi overhead dan latency times. SQLite sudah diimplementasikan pada beberapa bahasa pemrograman seperti C maupun bahasa pemrograman berbasis script seperti PHP dan Perl. SQLite dapat melakukan transaksitransaksi yang bersifat isolasi, durabilitas, trigger, maupun query yang kompleks. Di dalam SQLite tidak terdapat pengecekan tipe data, sehingga data bisa dimasukkan ke dalam string untuk sebuah kolom bertipe integer ataupun float. SQLite mengakses data secara paralel sehingga proses dapat berjalan bersamaan dan mengakses database yang sama tanpa mengalami masalah. Namun proses write data tidak dapat dilakukan secara paralel.