BAB 2 TINJAUAN PUSTAKA
2.1
Teori Umum Pada bagian ini memaparkan teori umum yang merupakan dasar dari teori-teori lain yang digunakan pada skripsi ini. 2.1.1 Sistem Informasi Geografis (SIG) 2.1.1.1 Pengertian SIG Sistem Menurut Pratama (2014:7) adalah sekumpulan prosedur yang saling berkaitan dan saling terhubung untuk melakukan suatu tugas bersama-sama. Informasi Menurut Pratama (2014:9) adalah hasil pengolahan data dari satu atau berbagai sumber, yang kemudian diolah sehingga memberikan nilai, arti dan manfaat. Pada proses pengolahan data menjadi informasi juga dilakukan proses verifikasi secara akurat, spesifik, dan tepat waktu. Hal ini penting agar informasi dapat memberikan nilai dan pemahaman kepada pengguna. Sistem informasi Menurut Pratama (2014:15-17) sistem informasi memiliki enam elemen fisik yang penting berikut adalah elemen elemennya: Perangkat keras, perangkat Lunak, Pengguna, Prosedur, Basis Data, dan Komunikasi. Sistem Informasi Geografis (SIG) atau Geographic Information System (GIS) menurut Irwansyah (2013:1) adalah sebuah sistem yang didesain untuk menangkap, menyimpan, memanipulasi, menganalisa, mengatur dan menampilkan seluruh jenis data geografis. Kata GIS yang terkadang dipakai sebagai istilah untuk geographical information science atau geospatial information studies yang merupakan ilmu studi atau pekerjaan yang berhubungan dengan Geographic Information System. Sistem informasi geografis dapat disimpulkan sebagai 9
10 gabungan kartografi, analisis statistik dan teknologi sistem basis data (database). 2.1.1.2 Komponen SIG Menurut Irwansyah(2013:11-12) komponen-komponen yang membangun sebuah sistem informasi geografis adalah: 1. Computer System and Software Merupakan sistem komputer dan kumpulan piranti lunak yang digunakan untuk mengolah data. 2. Spatial Data Merupakan data spasial (bereferensi keruangan dan kebumian) yang akan diolah 3. Data Management and Analysis Procedure Manajemen data dan analisa prosedur oleh Database Management System. 4. People Entitas sumber data manusia yang akan mengoperasikan sistem informasi geografis.
2.1.1.3 Data Spasial Data Spasial adalah sebagai suatu data yang mengacu pada posisi, objek dan hubungan diantaranya dalam ruang bumi (Irwansyah, 2013:14). Menurut Irwansyah (2013:5-6) Data spasial terbagi atas dua model data yaitu model data raster dan model data vector, berikut penjelasannya : 1. Model Data Vektor Model ini berbasiskan pada titik/point dengan nilai koordinat (x,y) untuk membangun objek spasialnya. Objek yang dibangun terbagi menjadi tiga bagian lagi yaitu berupa titik (point), garis (line), dan area (polygon).
11 2. Model Data Raster Data raster adalah data yang dihasilkan dari sistem Penginderaan Jauh. Pada data raster, objek geografis direpresentasikan sebagai struktur sel grid yang disebut dengan pixel (picture element). Pada data raster, resolusi (definisi visual) tergantung pada ukuran pixel-nya. Mengacu pada Irwansyah (2013:17-20) Data spasial membutuhkan
sumber
data
yang
digunakan
untuk
memodelkan bentuk permukaan bumi yang di antaranya ialah : 1.
Peta analog (antara lain peta topografi, peta tanah) Peta analog adalah peta dalam bentuk cetakan. Pada umumnya peta analog dibuat dengan teknik kartografi, sehingga sudah mempunyai referensi spasial seperti koordinat, skala, arah mata angin, dsb.
2.
Data dari sistem penginderaan jauh (antara lain citra satelit, foto udara, dsb.) Data Penginderaan Jauh dapat dikatakan sebagai sumber data yang terpenting bagi SIG karena ketersediaannya secara berskala. Data ini biasanya direpresentasikan dalam format raster.
3.
Data hasil pengukuran lapangan Hasil pengukuran lapangan adalah berupa data batas administrasi, batas kepemilikan lahan, batas persil, batas hak pengusahaan hutan, dsb, yang dihasilkan berdasarkan teknik perhitungan tersendiri. Pada umumnya data ini merupakan sumber data atribut.
4.
Data GPS Teknologi GPS memberikan terobosan penting dalam menyediakan data bagi SIG. Keakuratan pengukuran GPS semakin tinggi dengan berkembangnya teknologi. Data ini biasanya direpresentasikan dalam format vektor.
12 Masih mengacu pada Irwansyah (2013:20-21) Dalam data spasial terdapat entitas-entitas yang membangun data tersebut. Data spasial yang dibangun terbagi menjadi tiga bagian yaitu berupa titik (point), garis (line), dan area (polygon), berikut penjelasannya : 1. Titik (point) Titik merupakan representasi grafis yang paling sederhana pada suatu objek. Titik tidak mempunyai dimensi tetapi dapat ditampilkan dalam bentuk simbol baik pada peta maupun dalam layar monitor. Contoh: Lokasi Fasilitas Kesehatan, Lokasi Fasilitas Kesehatan. 2. Garis (line) Garis merupakan bentuk linear yang menghubungkan dua atau lebih titik dan merepresentasikan objek dalam satu dimensi. Contoh: Jalan, Sungai. 3. Area (Poligon) Poligon merupakan representasi objek dalam dua dimensi, Contoh: Danau, Persil Tanah.
2.1.1.4 Mobile GIS Mobile GIS adalah perluasan dari Sistem Informasi Geografis office into field. Mobile GIS bergantung secara penuh pada teknologi nirkabel (wireless) untuk mengakses data yang disimpan secara remote (Irwansyah , 2013:91). Menurut Irwansyah (2013:174-175) Teknologi GIS (Geographic Information System) mengalami perkembangan yang sangat pesat. Di antaranya adalah Mobile GIS di mana GIS yang tadinya hanya digunakan di dalam lingkungan kantor menjadi semakin fleksibel dan mampu digunakan di luar kantor secara mobile. Mobile GIS dapat digunakan untuk menangkap, menyimpan, update, manipulasi, analisa dan menampilkan informasi geografi secara mudah.
13 Mobile GIS mengintegrasikan salah satu atau lebih teknologi berikut : 1.
Perangkat Mobile .
2.
Global Positioning System (GPS) .
3.
Wireless communication untuk mengakses Internet GIS.
Mobile GIS dapat digunakan untuk hal-hal seperti berikut: 1.
Pemetaan
Lapangan:
Membuat,
mengubah,
dan
penggunaan peta dilapangan. 2.
Inventori Asset: Membuat dan maintain lokasi inventori asset dan informasi lainnya.
3.
Inspeksi: Mengelola digital record seperti logical code dan ticketing.
4.
Laporan Kecelakaan: Dokumentasi lokasi dan keadaan pada sebuah kejadian untuk mengambil tindakan atau pelaporan
5.
GIS analis dan pengambilan keputusan: Melakukan pengukuran, buffering, geoprocessing, dan analisis GIS lainnya.
2.1.2
Sistem Basis Data Basis data (database) adalah suatu koleksi dari data yang saling berhubungan secara logical serta dirancang untuk memenuhi kebutuhan informasi pada sebuah organisasi (Connolly dan Begg, 2005:31). Sistem Manajemen Basis Data menurut Connolly dan Begg (2005:31) adalah sebuah sistem perangkat lunak yang memungkinkan user untuk mendefinisikan, menciptakan, mempertahankan, dan mengontrol akses ke sebuah database. Menurut
Connolly
dan
Begg
(2005:39-41),
database
languages terdiri atas dua bagian yaitu DDL (Data Definition Language) dan DML (Data Manipulation Language).
14 1.
DDL (Data Definition Language) adalah sebuah bahasa yang mengijinkan user mendeskripsikan dan menamai entities, attribute dan relationship yang diperlukan untuk aplikasi bersama dengan integrity dan security constraints yang berhubungan.
2.
DML (Data Manipulation Language) adalah sebuah bahasa yang menyediakan sebuah set dari operasi-operasi yang mendukung manipulasi data yang ada di database. Mengacu pada Connolly dan Begg (2005:18-21), ada lima komponen yang terdapat pada lingkungan sistem manajemen basis data, yaitu : 1. Perangkat keras Sistem manajemen basis data dan program aplikasinya memerlukan
perangkat
keras
agar
bisa
dijalankan.
Perangkat keras beragam, dapat berupa personal computer (PC), single mainframe, dan jaringan komputer. Pemilihan jenis perangkat keras bergantung pada kebutuhan organisasi dan sistem manajemen basis data yang digunakan. 2. Perangkat lunak Perangkat
lunak
meliputi
perangkat
lunak
sistem
manajemen basis data itu sendiri, program-program aplikasinya, sistem operasi, dan termasuk perangkat lunak jaringan jika digunakan pada suatu jaringan komputer. 3. Data Merupakan komponen yang paling penting. Data berperan sebagai jembatan penghubung antara komponen mesin dengan komponen orang. 4. Prosedur Prosedur merujuk pada berbagai langkah dan aturan yang mempengaruhi desain dan penggunaan dari sebuah database. User dari sistem dan orang yang bertugas menangani database membutuhkan dokumen petunjuk untuk dapat menggunakan dan menjalankan suatu sistem.
15 5. Orang Komponen ini terdiri dari orang-orang yang terlibat di dalam sistem untuk menjalankan sistem manajemen basis data.
Arsitektur basis data menurut Connolly dan Begg (2005:34), ada tiga level ANSI-SPARC dalam sistem arsitektur basis data, diantaranya : 1. Level Eksternal Level eksternal merupakan sudut pandang user terhadap database. Level ini mendeskripsikan bagian dari database yang berhubungan dengan user yang bersangkutan. 2. Level Konseptual Level konseptual merupakan gabungan sudut pandang masingmasing user. Level ini mendeskripsikan data apa yang disimpan dalam database dan hubungan antar data. Level konseptual menunjukkan: 1. Semua entity, attributes dan hubungan antara keduanya 2. Data constraints 3. Informasi semantik mengenai data 4. Keamanan dan integritas data 3. Level Internal. 3. Level internal Level internal menunjuk pada database dalam komputer. Level ini mendeskripsikan bagaimana data disimpan dalam database. Level internal berhubungan dengan: 1. Alokasi penyimpanan data dan indeks 2. Record yang berisi deskripsi untuk penyimpanan 3. Penempatan record 4. Kompresi data dan teknik enkripsi data.
Teknik yang dibutuhkan untuk membangun sebuah database yang baik adalah normalisasi. Menurut Connolly dan Begg
16 (2005:375), normalisasi merupakan suatu teknik dengan pendekatan bottom-up yang digunakan untuk membantu mengidentifikasikan hubungan, dimulai dari menguji hubungan antar atribut. Tujuan utama normalisasi adalah menghasilkan relasi-relasi dengan properti yang berkesesuaian untuk memenuhi kebutuhan perusahaan. Tahapan normalisasi: 1.
Unnormalized Form (UNF) Merupakan suatu tabel yang berisikan satu atau lebih grup yang berulang. Contoh: nota penjualan yang disimpan ke dalam format tabel dengan baris dan kolom.
2.
First Normal Form (1NF) Merupakan sebuah relasi di mana setiap baris dan kolom berisikan satu dan hanya satu nilai.
3.
Second Normal Form (2NF) Dalam 2NF ini merupakan sebuah relasi dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally pada primary key.
4.
Third Normal Form (3NF) Dalam 3NF ini merupakan sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut nun-primary-key yang bersifat transitively dependent pada primary key.
5.
Boyce-Codd Normal Form (BCNF) Berdasarkan pada functional dependencies yang dimasukan ke dalam hitungan seluruh candidate key dalam suatu relasi, bagaimanapun BCNF juga memiliki batasan-batasan tambahan disamakan dengan definisi umum 3NF. Perbedaan antara 3NF dan BCNF, yaitu untuk functional dependency A->B, 3NF memungkinkan dependency ini dalam suatu relasi jika B adalah atribut primary key dan A bukan merupakan candidate key.
17 2.1.3 Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak atau software engineering menurut Somerville (2011:7) adalah disiplin teknik yang berkaitan dengan semua aspek produksi perangkat lunak dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah itu baru mulai digunakan. Model dari proses pengembangan perangkat lunak yang pertama kali dipublikasikan merupakan turunan dari proses-proses rekayasa perangkat lunak yang lebih umum (Sommerville, 2011:2932).
Gambar 2.1 Software development life cycle (Sumber: Sommerville, 2011:30) Oleh karena bentuknya yang menurun dari satu fase ke fase lain, model ini pun dikenal sebagai “waterfall model”. Model ini adalah contoh dari proses plan-driven yang pada prinsipnya, seluruh proses kegiatan harus direncanakan dan dijadwalkan sebelum mulai dikerjakan. Tahapan utama dari waterfall model mencakup serangkaian kegiatan pengembangan mendasar, yakni :
1.
Analisis dan definisi kebutuhan (Requirements analysis and definition) Analisis dan definisi kebutuhan adalah suatu tahapan dalam menentukan layanan, batasan, dan tujuan sistem secara terperinci
18 yang diambil berdasarkan hasil dari pembicaraan dengan user. Hasil dari tahapan ini adalah detail spesifikasi dari sistem. 2.
Perancangan sistem dan perangkat lunak (System and software design) Perancangan
sistem
mengalokasikan
kebutuhan-kebutuhan
sistem mulai dari perangkat keras maupun perangkat lunak. Perancangan perangkat lunak mendeskripsikan sistem perangkat lunak dan hubungannya. 3.
Implementasi dan pengetesan unit (Implementation and unit testing) Implementasi adalah suatu tahapan dimana perancang aplikasi menerapkan hasil perancangan dari tahap sebelumnya dengan kode-kode
bahasa
pemrograman
yang
akan
digunakan.
Pengetesan unit adalah suatu tahapan dimana perancang aplikasi melakukan pengujian pada tiap–tiap unit dalam program. 4.
Penggabungan dan pengujian sistem (Integration and system testing) Tiap-tiap unit program telah saling terhubung dan telah melewati tahapan pengujian untuk memastikan kebutuhan aplikasi telah terpenuhi. Setalah melewati tahapan pengujian, maka selanjutnya aplikasi akan dikirimkan ke customer.
5.
Pengoprasian dan Pemeliharaan (Operation and Maintenance) Pada tahapan ini aplikasi telah telah terpasang dan digunakan. Maintenance adalah tahapan untuk membetulkan kesalahan yang tidak muncul pada tahapan-tahapan sebelumnya.
2.1.4 Interaksi Manusia dan Komputer Menurut Shneiderman dan Plaisant (2010:22-23) Interaksi manusia dan komputer berkaitan dengan tampilan antarmuka yang digunakan oleh user untuk berkomunikasi dan berinteraksi dengan komputer. Interaksi manusia dan komputer merupakan disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem
19 komputer interaktif yang digunakan manusia. Kepentingan user harus diperhatikan dalam membuat aplikasi komputer. Aplikasi yang dihasilkan harus interaktif dan dapat digunakan dengan mudah oleh user. Mengacu pada Shneiderman dan Plaisant (2010:32), ada 5 faktor yang diperlukan dalam perancangan suatu antarmuka yang user-friendly: 1. Waktu belajar Berapa lama waktu yang diperlukan user tertentu untuk mempelajari penggunaan aksi yang relevan terhadap sebuah tugas. 2. Kecepatan kinerja Berapa lama waktu yang dibutuhkan oleh user untuk mengerjakan suatu tugas. 3. Tingkat kesalahan user Berapa banyak kesalahan dan jenis kesalahan apa yang dilakukan user dalam menyelesaikan suatu tugas. Pengendalian kesalahan adalah suatu komponen kritis dari penggunaan sistem antarmuka yang layak untuk dipelajari secara ekstensif. 4. Daya ingat Seberapa lama para user dapat menjaga ingatan mereka akan sesuatu yang telah dipelajari (daya ingat) dan keterkaitannya dengan waktu belajar. Frekuensi penggunaan pun memiliki peran yang penting. 5. Kepuasan subjektif Kepuasan masing-masing user terhadap berbagai aspek dari suatu tampilan antarmuka dapat diketahui dari hasil wawancara atau survei tertulis yang termasuk komentar bebas maupun tingkat kepuasan. Delapan aturan emas yang digunakan untuk merancang suatu antarmuka menurut Shneiderman dan Plaisant (2010:88-89) adalah : 1. Konsistensi Perancangan menu, warna, layout, jenis huruf, dan yang lain pada antarmuka harus dilakukan secara konsisten.
20 2. Melayani kebutuhan universal Keberagaman
user
menyebabkan
rancangan
layar
harus
mempertimbangkan perbedaan dalam hal usia, hambatan fisik, dan variasi teknologi. Jadi, ada pemberian petunjuk untuk user awam dan shortcuts untuk user yang sudah berpengalaman. 3. Memberikan umpan balik yang informatif Setiap aksi yang dilakukan oleh user, harus diberikan umpan balik agar tercipta suasana yang komunikatif. Aksi yang kecil dan sering digunakan, respon yang diberikan sederhana. Namun, pada aksi yang besar dan jarang digunakan, respon yang diberikan harus lebih banyak dan lebih rinci. 4. Merancang dialog untuk menghasilkan keadaan akhir Merancang komunikasi dengan user, urutan tindakan harus diatur dengan mengetahui keadaan awal, tengah, dan akhir. 5. Adanya pencegahan kesalahan dan penanganan kesalahan Sedapat mungkin, sistem dirancang untuk dapat mencegah user dari kesalahan fatal yang dilakukan. Apabila user melakukan kesalahan, maka sistem harus dapat mendeteksi kesalahan dan memberikan instruksi kepada user bagaimana memperbaikinya. 6. Memungkinkan pembalikkan aksi yang mudah Aksi dapat dikembalikan ke kondisi sebelumnya, apabila memungkinkan. Dalam suatu waktu, user mungkin tidak sengaja melakukan aksi yang tidak diinginkan dan ingin melakukan pembatalan. Sistem harus memberikan fungsi pembatalan agar user merasa nyaman dalam menggunakan sistem. 7. Mendukung pusat kendali internal User memiliki kendali sebagai pemberi aksi pada sistem antarmuka dan antarmuka tersebut harus merespon kembali, sehingga dapat mengontrol program-program yang ada dalam sistem. 8. Mengurangi beban ingatan jangka pendek Tampilan harus dibuat sederhana sehingga user tidak perlu banyak menghafal. Tampilan dari tiap halaman dibuat sederhana dan frekuensi perpindahan window harus dikurangi.
21 2.1.5 Object-Oriented Programming Menurut Clark (2011:1) Object-Oriented Programming adalah sebuah pendekatan untuk pengembangan perangkat lunak dimana struktur dari software ini didasarkan pada objek berinteraksi dengan satu sama lain untuk menyelesaikan tugas. Interaksi ini mengambil bentuk
pengiriman
pesan
bolak-balik
antara
objek.
Dalam
menanggapi pesan, objek dapat melakukan suatu tindakan atau metode. Menurut Clark (2011:3) banyak pengembang software beralih ke metode object oriented untuk menyelesaikan berbagai masalah. Kelebihan dari object oriented adalah sebagai berikut: a. Transisi yang lebih intuitif dari model analisis bisnis ke model implementasi perangkat lunak. b.
Pemeliharaan dan modifikasi program yang lebih efisien dan cepat.
c. Memungkinkan pembuatan sistem perangkat lunak dengan tim, dengan itu para ahli (specialists) dapat mengerjakan bagian tertentu yang dikuasai pada sistem. d. Kemampuan untuk menggunakan kembali potongan kode dalam program lain atau membeli kode yang ditulis oleh pengembang lain untuk meningkatkan fungsi dari program mereka dengan mudah. e.
Integrasi yang lebih baik dengan sistem komputasi lain walaupun hanya menggunakan sedikit informasi dari sistem lain.
f. Integrasi yang lebih baik dengan sistem operasi modern. g. Dapat membuat tampilan antarmuka yang lebih intuitif untuk pengguna.
Menurut Clark (2011:3-5) ada beberapa karakteristik dalam OOP: a. Object Dalam OOP, objek adalah sebuah struktur untuk menggabungkan data dan prosedur untuk memproses data tersebut.
22 b. Abstraction Suatu konsep dalam OOP yang melibatkan berbagai cara penggunaan
sebuah
objek
berdasarkan
objek
lain
yang
menggunakannya. c. Encapsulation Enkapsulasi adalah proses dimana tidak ada akses langsung yang diberikan untuk mengakses suatu data. Untuk mendapatkan akses ke data tersebut, diperlukan interaksi objek yang mempunyai akses terhadap data tersebut. a. Polymorphism Polimorfisme adalah kemampuan dari dua objek yang berbeda untuk merespon perintah yang sama dengan cara yang berbeda. e. Inheritance Dalam OOP, inheritance digunakan untuk mengklasifikasikan objek dalam program sesuai dengan karakteristik dan fungsi yang umum. Ini membuat pengerjaan objek-objek yang ada lebih mudah dan intuitif. Ini juga membuat pemrograman lebih mudah karena karakteristik umum yang ada di parent dapat diwariskan ke child. f. Aggregation Agregasi adalah suatu konsep dimana sebuah objek dibangun dari objek-objek lain yang bekerja sama untuk melakukan suatu tugas tertentu.
2.1.6 Object Oriented Analysis and Design Menurut Whitten dan Bentley (2007:25) Object Oriented Analysis and Design adalah kumpulan peralatan dan teknik untuk pembangunan sistem yang memanfaatkan teknologi objek untuk menkronstruksikan sebuah sistem dan perangkat lunak. 2.1.6.1 Object Oriented Analysis Object Oriented Analysis merupakan pendekatan yang digunakan untuk mempelajari objek-objek yang ada, apakah
23 objek tersebut dapat digunakan kembali atau diadaptasi untuk penggunaan baru dan menentukan objek baru atau modifikasi yang nantinya akan dikombinasikan dengan objek yang sudah ada kedalam aplikasi komputasi bisnis yang berguna. (Whitten dan Bentley, 2007:370). 2.1.6.2 Object Oriented Design Object oriented design merupakan sebuah pendekatan yang digunakan untuk menentukan solusi perangkat lunak khususnya pada objek-objek yang berkolaborasi, atribut mereka, dan metode mereka (Whitte dan
dan
Bentley,
2007:648). 2.1.7 Unified Modeling Language (UML) Unified Modeling Language (UML) adalah seperangkat ketentuan pemodelan yang digunakan untuk menspesifikasikan atau menjelaskan sebuah sistem software yang berhubungan dengan objek (Whitten dan Bentley, 2007:371). 2.1.7.1 Use Case Diagram Mengacu
pada
pendapat
Whitten
dan
Bentley
(2007:246) use case diagram adalah sebuah diagram yang menggambarkan interaksi antara sistem dan eksternal sistem, dan sistem dengan user. Secara grafis, use case diagram menjelaskan siapa yang menggunakan sistem dan bagaimana user berinteraksi dengan sistem. Use case diagram mempunyai notasi-notasi sebagai berikut: a. Use Case Use case diwakili secara grafis dalam bentuk elips dengan nama use case yang menjelaskan sistem yang ada pada diagram use case. Sebuah use case merepresentasikan tujuan tunggal dari sistem dan menggambarkan urutan
24 kegiatan dan interaksi pengguna dalam berusaha untuk mencapai tujuan. Sistem tersebut berhubungan dengan actor yang ada pada diagram use case tersebut.
Gambar 2.2 Notasi use case symbol b. Actor Actor diwakili secara grafis dalam bentuk orang yang digunakan untuk menginisiasi sebuah sistem dengan tujuan mendapatkan
informasi
dari
proses
interaksi
yang
dilakukan dengan sistem. Actor adalah user yang berperan dalam sebuah sistem.
Gambar 2.3 Notasi actor (Sumber: Whitten dan Bentley, 2007:247) c. Relationships Relationship diwakili secara grafis dalam bentuk garis antara dua simbol pada use case diagram. Definisi dari relasi yang ada dapat berbeda tergantung bagaimana garis yang digunakan dan jenis simbol yang terhubung. Hubungan-hubungan
tersebut
meliputi
associations,
extends, uses (include), depends on, dan inheritance.
1. Associations Hubungan antara actor dan use case yang menggambarkan interaksi antara actor dan use case. Hubungan ini disebut sebagai sebuah association. Association dimodelkan sebagai garis yang solid untuk menghubungkan actor dan use case. Association yang mengandung sebuah mata panah di ujung berhubungan
25 dengan use case menunjukkan use case sebagai penerima.
Sedangkan,
association
tanpa
panah
menunjukkan adanya interaksi antara use case dengan actor dengan actor sebagai penerima.
Gambar 2.4 Notasi associations pada use case (Sumber: Whitten dan Bentley, 2007:248) 2. Extends Extension use case adalah use case yang terdiri dari langkah-langkah yang diambil dari use case yang lebih kompleks untuk mempermudah use case sehingga memperluas
fungsionalitasnya
dan
lebih
mudah
dimengerti. Setiap relasi extends diberi keterangan “<<extends>>”.
Gambar 2.5 Notasi extends pada use case (Sumber: Whitten dan Bentley, 2007:249) 3. Uses (or Includes) Dalam sebuah use case diagram akan terdapat 2 (dua) atau lebih use case yang memiliki functionality yang sama, untuk mengurangi perulangan tersebut dapat mengkombinasikan langkah yang sama tersebut yang disebut abstract use case. Relasi antara abstract
26 use case dan use case yang menggunakannya disebut dengan uses (includes) relationship dan diberi label “<<uses>>” atau “<
>”.
Gambar 2.6 Notasi user pada use case (Sumber: Whitten dan Bentley, 2007:249) 4. Depends On Depends on adalah relasi antara use case yang menunjukkan bahwa suatu use case tidak bisa dilakukan
sampai
use
case
yang
sebelumnya
dilakukan. Digambarkan dengan garis anak panah, mulai dari satu use case dan menuju use case yang tergantung padanya. Masing-masing garis depends on relationship diberi label “<<depends on>>”.
Gambar 2.7 Notasi depends on pada use case (Sumber: Whitten dan Bentley, 2007:250)
27 5. Inheritance Inheritance dalam use case, merupakan suatu hubungan antara abstract actor yang dibuat untuk menyederhanakan aktivitas pada use case yang sama ketika ditunjuk oleh dua atau lebih actor.
Gambar 2.8 Notasi inheritance pada use case (Sumber: Whitten dan Bentley, 2007:250) d. Use Case System Disimbolkan dengan bentuk
persegi panjang
yang
mendefinisikan nama dari use case tersebut dan sistemsistem yang bekerja pada diagram use case tersebut.
Gambar 2.9 Notasi nama sistem pada use case
28
Gambar 2.10 Use case model diagram (Sumber: Whitten dan Bentley, 2007:246) 2.1.7.2 Activity Diagram Mengacu
pada
pendapat
Whitten
dan
Bentley
(2007:390), activity diagram merupakan diagram yang dapat digunakan secara grafis untuk menggambarkan aliran dari proses bisnis, langkah-langkah dari use case, atau logika karakteristik objek. Berikut penjelasan notasinya: 1. Initial node Titik solid yang menggambarkan awal sebuah proses.
Gambar 2.11 Notasi initial node pada activity diagram
2. Actions Segi empat bersudut tumpul menggambarkan sebuah kegiatan atau tugas yang perlu dilakukan.
Gambar 2.12 Notasi actions pada activity diagram
29 3. Flow Panah menggambarkan jalur dari satu kegiatan ke kegiatan lainnya.
Gambar 2.13 Notasi flow pada activity diagram 4. Decision Diamond menggambarkan sebuah kegiatan keputusan.
Gambar 2.14 Notasi decision pada activity diagram 5. Merge Diamond dengan dua atau lebih arus masuk dan satu arus keluar. Ini menggabungkan aliran yang sebelumnya dipisahkan oleh keputusan. Pemrosesan berlanjut dengan salah satu aliran yang masuk ke penggabungan.
Gambar 2.15 Notasi merge pada activity diagram
6. Fork Bar hitam dengan dua atau lebih arus masuk dan satu arus keluar. Tindakan ini untuk menggambarkan kegiatan yang dapat muncul sebagai paralel.
Gambar 2.16 Notasi fork pada activity diagram
30 7. Join Bar hitam dengan dua atau lebih arus masuk dan satu arus keluar, mencatat berakhirnya proses yang telah berjalan bersamaan sebelumnya. Semua tindakan yang masuk ke join harus diselesaikan sebelum proses berlanjut.
Gambar 2.17 Notasi join pada activity diagram 8. Activity final Titik
solid
di
dalam
sebuah
lingkaran
berlubang
menggambarkan akhir dari sebuah proses.
Gambar 2.18 Notasi activity final pada activity diagram 9. Subactivity indicator Simbol yang menunjukkan bahwa tindakan ini pecah dalam diagram lain dengan kegiatan terpisah.
Gambar 2.19 Notasi subactivity indicator pada activity diagram 10. Connector Huruf di dalam lingkaran memberi alat lain untuk mengelola kompleksitas. Arus masuk ke konektor akan melompat ke arus keluar dari konektor dengan huruf yang
cocok dalam lingkaran tersebut.
31 Gambar 2.20 Notasi connector pada activity diagram
Gambar 2.21 Contoh activity diagram 2.1.7.3 Sequence Diagram Mengacu
pada
pendapat
Whitten
dan
Bentley
(2007:659), sequence diagram merupakan diagram UML yang memodelkan logika sebuah use case dengan cara menggambarkan interaksi di antara objek berdasarkan urutan waktu. Dalam sequence diagram mempunyai notasi sebagai berikut :
a. Actor Actor
melakukan
interaksi
user
interface
dengan
menunjukkan simbol actor yang terdapat dalam use case. Garis vertikal putus-putus memanjang ke bawah dari aktor
32 menunjukkan garis kehidupan yang dimulai pada sequence diagram.
Gambar 2.22 Notasi actor pada sequence diagram b. Interface class Bentuk
kotak
menggambarkan
bentuk
yang
mengindikasikan class interface code. Untuk memperjelas makna
dari
simbol
tersebut
biasanya
diberikan
“<>” sebagai simbol tambahan. Terdapat juga simbol “:” yang berarti notasi diagram urutan standar untuk proses yang sedang berjalan dan simbol “---” yang menandakan “kehidupan” proses dari sekuensial tersebut.
Gambar 2.23 Notasi interface class pada sequence diagram c. Controller class Setiap use case akan memiliki satu atau lebih controller, yang digambarkan dengan notasi yang sama seperti interface class yang disimbolkan dengan “<>”.
Gambar 2.24 Notasi controller class pada sequence diagram d. Entity classes Penambahan kotak untuk setiap entitas diperlukan agar dapat berkolaborasi dalam urutan langkah. Simbol “:” mendefinisikan object instance, dengan kata lain seperti specific order, specific product.
33 Gambar 2.25 Notasi entity classes pada sequence diagram e. Messages Garis panah horizontal berfungsi untuk menyampaikan pesan dari setiap metode yang dikirimkan ke kelas.
Gambar 2.26 Notasi messages pada sequence diagram f. Activation bars Bentuk bar persegi panjang vertikal berfungsi untuk menunjukkan alur hidup dari setiap instance object yang digunakan selama periode waktu tertentu.
Gambar 2.27 Notasi activation bars pada sequence diagram g. Return messages Bentuk panah horizontal putus-putus merupakan pesan yang dikirim balik ke suatu instance object.
Gambar 2.28 Notasi return messages pada sequence diagram
h. Self-call Bentuk garis panah melengkung merupakan sebuah objek yang dapat memanggil method dari dirinya sendiri.
Gambar 2.29 Notasi self call pada sequence diagram
34
i. Frame Bentuk persegi panjang dengan judul di dalamnya yang digunakan ketika suatu area pada diagram mengalami perulangan (looping), seleksi (alternative) atau ketentuan (optional).
Gambar 2.30 Notasi frame pada sequence diagram
Gambar 2.31 Sequence diagram of the place new order use case (Sumber: Whitten dan Bentley, 2007:659)
2.1.7.4 Class Diagram Mengacu (2007:400),
pada
class
pendapat
diagram
Whitten
merupakan
dan gambar
Bentley grafis
mengenai struktur objek statis dari suatu sistem, dan menunjukkan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut. Dalam membuat class diagram diperlukan beberapa langkah yaitu:
35
a. Mengidentifikasi asosiasi dan multiplicity Sebuah asosiasi antara dua kelas objek adalah suatu objek atau kelas yang perlu mengetahui mengenai yang lain. Hal ini memperbolehkan satu objek atau kelas untuk referensi silang ke objek atau kelas lain dan untuk dapat mengiriminya
pesan.
Setelah
asosiasi
diidentifikasi,
multiplicity yang menentukan asosiasi harus didefinisikan. Multiplicity merupakan jumlah kejadian minimum dan maksimum dari suatu objek kelas yang berhubungan dengan objek kelas lain.
Gambar 2.32 Contoh association class diagram (Sumber: Whitten dan Bentley, 2007:406)
36 Berikut merupakan penjelasan mengenai jenis dari multiplicity, yaitu:
Gambar 2.33 Gambar tabel notasi multiplicity (Sumber: Whitten dan Bentley, 2007:377) b. Mengidentifikasi hubungan generalisasi atau spesialisasi Hubungan generalisasi atau spesialisasi merupakan klasifikasi hierarki yang terdiri dari supertype kelas (abstrak atau induk) dan subtype kelas (anak atau konkret). Kelas supertype adalah umum karena di dalamnya terdiri dari atribut umum dan behavior dari hierarki. Kelas subtype adalah khusus karena di dalamnya terdiri dari atribut dan behavior unik dari sebuah objek tetapi mewarisi atribut dan behavior kelas supertype.
37
Gambar 2.34 Hierarki generalisasi atau spesialisasi dalam member services system (Sumber:Whitten dan Bentley, 2007:404) c. Mengidentifikasi hubungan agregasi atau komposisi Agregasi adalah tipe hubungan unik di mana satu objek adalah bagian dari objek lainnya. Hubungan ini biasanya disebut whole or part relationship dan dapat dibaca sebagai “Objek A terdiri dari objek B dan objek B adalah bagian dari objek A”.
Gambar 2.35 Contoh agregasi class diagram (Sumber: Whitten dan Bentley, 2007:379)
38 Sedangkan komposisi merupakan bentuk agregrasi yang kuat dimana suatu objek bertanggung jawab atas objek lainnya dan objek lainnya dapat diasosiasikan hanya pada satu objek.
Gambar 2.36 Contoh komposisi class diagram (Sumber: Whitten dan Bentley, 2007:379) Dalam UML 2.0, notasi agregasi tidak digunakan lagi, karena hubungan komposisi memiliki perbedaan peran yang pasti dalam pemrograman, sedangkan hubungan agregasi memiliki peran yang kurang jelas. Misalnya, hubungannya antara klub dan anggota klub yang dapat disederhanakan menjadi relasi asosiasi satu atau lebih antara class object yang tidak saling bergantung. d.
Mempersiapkan class diagram Aturan pada langkah ini yaitu tidak membutuhkan foreign keys dan atribut dari primary key, karena dalam data class diagram tidak disimpan dalam database relasional. Mengacu
pada
pendapat
Whitten
dan
Bentley
(2007:650) UML memiliki 3 (tiga) level dari visibility yaitu: a. Public Dinotasikan dengan simbol “+”. Atribut public dan public method
dapat
berhubungan.
digunakan
oleh
semua
class
yang
39 b. Protected Dinotasikan dengan simbol “#”. Atribut protected dan protected method dapat digunakan oleh class itu sendiri dan class turunannya. c. Private Dinotasikan dengan simbol “-“. Atribut private dan private method hanya dapat digunakan oleh class itu sendiri. 2.2
Teori Khusus 2.2.1 Bengkel Pengertian bengkel menurut Kamus Besar Bahasa Indonesia adalah 1. Tempat memperbaiki mobil, sepeda, dan sebagainya. 2. Pabrik kecil, tempat tukang bekerja. 3. Tempat melakukan suatu kegiatan dengan arah dan tujuan yang pasti. Menurut Farid (2010:168) Industri jasa servis atau bengkel kendaraan bermotor memiliki tiga jenis. Jenis yang pertama yaitu bengkel resmi (authorized service centers) atau bengkel ATPM (agen tunggal pemegang merek) yang melayani kendaraan pada merek tertentu yang telah memiliki lisensi dari merek tersebut, kedua bengkel umum merupakan bengkel yang melayani kendaraan dari berbagai merek, ketiga bengkel khusus atau spesialis merupakan bengkel yang melayani perawatan/perbaikan pada kekhususan sistem dari kendaraan. Menurut tim KSS (2007:3-6) Berdasarkan fasilitas pelayanan, bengkel mobil dapat dibedakan menjadi empat, yaitu: 1. Bengkel Dealer Bengkel dealer merupakan bagian dari dealer otomotif yang memberikan pelayanan purnajual kepada konsumen, Bengkel jenis ini biasanya hanya melayani kendaraan dengan merek tertentu yang dijual di dealer tersebut. Pelayanan yang ditawarkan oleh bengkel dealer meliputi perawatan rutin hingga perbaikan yang
40 memerlukan penggantian suku cadang. Bengkel jenis ini biasanya terdiri dari beberapa bagian khusus yang memberikan pelayanan perawatan atau perbaikan tertentu pada komponen mobil (mesin, balancing, reparasi bodi, dan sebagainya). Oleh karena itu, teknisi yang bekerja di bengkel ini juga memiliki spesialisasi tertentu dan dilengkapi peralatan yang mendukung pekerjaannya. 2. Bengkel Pelayanan Umum Bengkel pelayanan umum merupakan bengkel independen yang mampu melakukan perawatan dan perbaikan beberapa komponen mobil. Bengkel semacam ini dapat dipandang sebagai beberapa bengkel khusus yang menggabungkan diri menjadi sebuah bengkel yang lebih besar. Berbeda dengan bengkel dealer, bengkel ini bukan merupakan bagian dari dealer otomotif. Oleh karena itu, pelayanan yang diberikan bengkel ini tidak ditujukan untuk pelayanan purnajual sebuah produk otomotif. Selain itu, bengkel pelayanan umum biasanya memberikan pelayanan perawatan dan perbaikan untuk berbagai merek kendaraan. 3. Bengkel Pelayanan Khusus Bengkel pelayanan khusus adalah bengkel otomotif yang memiliki spesialisasi dalam hal perawatan dan perbaikan salah satu elemen mobil. Sebagai contoh bengkel repair body, radiator, AC, spooring dan balancing, dan sebagainya. spesialisasi yang dilakukan oleh bengkel tersebut menuntut peralatan khusus sesuai dengan jenis operasi yang akan dilakukan. bagian terpenting dari bengkel pelayanan khusus adalah spesialisasi keahlian tenaga kerja sesuai dengan kualifikasi pekerjaan yang akan dilakukan. 4. Bengkel Unit Keliling Bengkel unit keliling memberikan pelayanan berupa perbaikan yang dilakukan di lokasi mobil konsumen. Bengkel jenis ini terdiri dari beberapa buah mobil yon dan derek yang secara periodik berpatroli di daerah tertentu, atau kadang-kadang menerima panggilan untuk memberi pelayanan kepada konsumen. Di
41 lndonesia, bengkel jenis ini jarang dioperasikan perorangan. biasanya bengkel tersebut dioperasikan oleh dealer atau produsen merek mobil tertentu. Hal ini dilakukan sebagai salah satu bentuk pelayanan purnajual bagi konsumen. kadang-kadang bengkel pelayanan umum yang cukup besar juga memberikan pelayanan bengkel keliling (panggilan). Biasanya permintaan ini datang dari konsumen melalui telepon. Untuk memenuhi permintaan tersebut, pihak bengkel akan mengirimkan teknisinya ke tempat konsumen dengan menggunakan mobil, dan membawa peralatan yang akan digunakan untuk perbaikan. kapasitas angkut mobil yang beroperasi sebagai bengkel bergerak sangat terbatas. Oleh karena itu, jenis pelayanan yang ditawarkannya pun terbatas. Sebagai kompensasi hal ini, bengkel jenis ini juga dilengkapi derek untuk membawa mobil ke bengkel pusat dengan peralatan yang lebih memadai. Berdasarkan skala usaha yang dijalankannya, bengkel mobil dapat diklasifikasikan menjadi dua, yaitu: 1. Bengkel Kecil Bengkel kecil adalah bengkel yang meliputi bengkel skala garasi rumah dengan satu sampai lima orang pekerja, hingga bengkel permanen dengan tenaga kerja hingga 19 orang. Cara lain untuk mengklasifikasikan skala usaha yang dijalankan oleh bengkel adalah aset yang dimiliki. Namun, agak sulit mengklasifikasikan bengkel berdasarkan kriteria tersebut, karena tidak ada standar baku tentang batas usaha besar dengan usaha kecil. Contohnya, Bank lndonesia dan Departemen Perindustrian mendefinisikan usaha kecil sebagai usaha yang memiliki aset lebih kecil dari Rp 600 juta, di luar investasi tanah dan
bangunan.
Di
lain
pihak,
SK
Menteri
Keuangan
No.1231/KMK.013/1989 menentukan bahwa usaha kecil sebagai usaha yang memilikijumlah aset tidak lebih dari Rp 300 juta, sementara nilai penjualan tidak melebihi Rp 300 juta per tahun.
42 2. Bengkel Besar Usaha besar adalah usaha yang mempekerjakan lebih dari 20 orang.
Berdasarkan
hal
tersebut,
sebuah
bengkel
dapat
diklasifikasikan sebagai bengkel besar apabila memiliki pegawai lebih dari 20 orang. Bengkel besar dapat diklasifikasikan berdasarkan aset yang dimilikinya. Biasanya, orang-orang juga mengklasifikasikan bengkel besar apabila dilengkapi peralatan canggih sebagaie peralatan kerjanya. Menurut tim KSS (2007:69-98) Terdapat 3 jenis bengkel bedasarkan jenis pelayanan atau pekerjaannya yaitu: 1. Bengkel Reparasi Bodi Bengkel reparasi adalah tempat untuk memperbaiki suatu alat yang rusak agar dapat berfungsi dan bekerja sebagaimana mestinya. Bengkel reparasi bodi merupakan bengkel mobil tempat proses perbaikan bodi mobil yang mengalami kerusakan akibat kecelakaan, tabrakan, atau keropos karena suatu hal. Bengkel reparasi bodi juga memberikan jasa pengecatan mobil yang merupakan tahap lebih lanjut dari perbaikan bodi mobil. Bengkel jenis reparasi bodi ini mencakup beberapa operasi pekerjaan bengkel, yang meliputi proses pengampelasan, pembentukan, pengelasan, pendempulan, dan pengecatan. 2. Bengkel Spooring dan Balancing Bengkel
spooring
dan
balancing
merupakan
bengkel
pelayanan khusus yang memberikan servis di bidang sistem kemudi, wheel alignment, dan wheelbalancing. Sistem kemudi merupakan serangkaian mekanisme yang digunakan untuk mengotrol arah gerakan mobil. Sistem tersebut menghubungkan gerakan roda kemudi (dikontrol oleh pengendara) dengan roda yang memberikan arah gerakan kendaraan. Dengan kata lain, sistem kemudi merupakan alat komunikasi antara pengemudi dan kendaraan. Permasalahan yang berkaitan dengan sistem kemudi biasanya dipengaruhi oleh kinerja sistem kemudi, posisi roda relatif terhadap badan kendaraan, jalan, dan kondisi fisik roda.
43 Dua hal terakhir merupakan pusat perhatian operasi wheel alignment dan wheel balancing. 3. Bengkel Servis Bengkel servis pada umumnya, bengkel servis selalu dikaitkan dengan kondisi/ performa mesin dan driveability kendaraan. Driveability adalah keadaan operasi kendaraan secara umum, kinerja kendaraan dalam tingkatan baik atau buruk, seperti mudah di-start, memiliki percepatan yang cukup baik, cukup cepat/mudah dipanasi. tidak mudah overheating, dan sebagainya. Oleh karena itu, kita mengenal bengkel servis yang spesialisasinya berbedabeda, sesuai dengan bagian dari mobil/kendaraan. Macam-macam spesialisasi bengkel servis yaitu bengkel servis yang menangani sistem pendingin mobil, bengkel servis yang menangani sistem elektrik mobil, bengkel servis yang menangani sistem gas buang kendaraan, bengkel servis yang menangani sistem pembakaran kendaraan, bengkel servis yang menangani sistem transmisi kendaraan, bengkel servis yang menangani bagian lain dari mesin kendaraan dan sistem lainnya atau bengkel yang menggabungkan berbagai jenis servis dalam satu tempat.
2.2.2 Android Menurut Lee (2011:2) Android adalah sistem operasi untuk mobile yang berbasiskan oleh Linux yang telah termodifikasi. Pada awal mulanya sistem operasi Android ini dikembangkan oleh perusahaan yang bernama Android. Namun ditahun 2005, Google membeli saham perusahaan Android dan mengambil alih kegiatan pengembangan sistem operasi tersebut dengan tujuan untuk memasukkan sistem operasi Android ke pasar mobile phone. Keunggulan utama menggunakan Android adalah sistem operasi tersebut menawarkan kemudahan dalam pengembangan aplikasinya. Seseorang hanya perlu membuat aplikasi untuk Android,
44 lalu aplikasi tersebut dapat dipergunakan pada berbagai devices yang memiliki sistem operasi Android. 2.2.2.1 Perkembangan Sistem Operasi Android Android telah mengalami banyak perkembangan sistem operasi semenjak pertama kali diluncurkan. Berikut adalah perkembangannya bedasarkan data yang diperoleh dari developer android.com (2015):
Gambar 2.37 Tabel versi android (Sumber: http://developer.android.com/about/dashboards/index.html) 2.2.2.2 Fitur Sistem Operasi Android Menurut Lee (2011:3) Android adalah sistem operasi open source dan bebas terbuka bagi developer untuk melakukan
customization,
sehingga
tidak
diperlukan
pengaturan tetap untuk perangkat keras maupun perangkat lunak yang akan dipergunakan. Namun Android sendiri memiliki fitur-fitur seperti: 1. Storage Dipergunakan basis data SQL Lite sebagai tempat untuk menampung data-data pengguna.
45 2. Connectivity Mendukung jaringan GSM/EDGE, IDEN, CDMA, EVDO, UMTS, Bluetooth, WiFi, LTE, dan WiMAX. 3. Messaging Dapat melakukan SMS (Short Message Service) dan MMS (Multimedia Message Service). 4. Web Browser Berlandaskan pada open-source WebKit dan Chrome V8 JavaScript engine. 5. Media Support Mendukung berbagai jenis media untuk foto dan video seperti: H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, dan BMP. 6. Hardware Support Sensor getaran, kamera, kompas digital, pendeteksi objek terdekat tanpa adanya kontak fisik, dan GPS (Global Positioning System). 7. Multi-touch Mendukung multi-touch screens. Dalam arti dapat menggunakan 2 jari atau lebih dalam penggunaannya. 8. Multi-tasking Mendukung multi-tasking application. Dalam arti dapat menggunakan lebih dari 1 aplikasi. 9. Flash Support Android 2.3 mendukung Flash 10.1. 10. Tethering Mendukung pembagian koneksi internet sebagai hotspot. 2.2.2.3 Arsitektur Android Menurut Lee (2011:3), sistem operasi Android dibagi menjadi lima bagian dalam empat lapisan utama, yaitu :
46
Gambar 2.38 Arsitektur dari android (sumber: Lee, 2011:3) 1. Linux Kernel Ini merupakan dasar dari Android. Lapisan ini berisikan semua drivers tingkatan rendah untuk segala komponen perangkat keras pada device Android. 2. Libraries Disini berisi semua kode yang memberikan fitur utama pada sistem operasi Android. 3. Android Runtime Android Runtime berada pada lapisan yang sama dengan libraries,
memberikan
inti
dari
libraries
yang
memperbolehkan developer untuk membuat aplikasi Android dengan menggunakan bahasa pemrograman Java. Selain itu juga terdapat Dalvik virtual machine, yang memungkinkan untuk mengoptimalkan battery-powered mobile devices dengan memori dan CPU yang terbatas. 4. Application Framework Memperlihatkan berbagai kemampuan dari sistem operasi Android kepada para developer aplikasi agar mereka dapat menggunakannya dalam pembuatan aplikasi tersebut.
47 5. Application Pada lapisan teratas ini, dapat ditemukan aplikasi bawaan yang terdapat pada device android (seperti contacts, browser), serta aplikasi-aplikasi yang diunduh dan diinstall dari Android Market.
2.2.2.4 Android Software Development Kit Menurut Mulyadi (2010:5) Android SDK (Software Development Kit) menyediakan tools dan API (Application Programming Interface) yang diperlukan untuk aplikasi pengembangan platform Android dengan menggunakan bahasa pemograman Java.
2.2.2.5 Android Development Tool Safaat (2012:6) Mendefinisikan Android Development Tool (ADT) adalah plugin yang didesain untuk IDE eclipse yang memberikan kemudahan dalam mengembangkan aplikasi Android
dengan
menggunakan
IDE
eclipse.
Dengan
menggunakan ADT untuk eclipse akan memudahkan dalam membuat aplikasi projek Android, membuat GUI aplikasi, dan menambahkan komponen-komponen yang lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui eclipse. Dengan ADT juga kita dapat melakukan pembuatan package Android (.apk) yang digunakan untuk distribusi aplikasi Android yang dirancang.
2.2.3 Java Programming Language Friesen (2010:2-3) menjelaskan bahwa Java adalah platform untuk mengeksekusi program dan terdiri dari library untuk menjalankan program dan berinteraksi dengan sistem operasi yang mendasarinya.
48 Java adalah bahasa pemrograman yang sederhana, berorientasi objek, terdibusi, di interpretasikan, kuat, aman, arsitektur netral, portable, kinerja tinggi, multithreaded dan dinamis. Java dapat dijalankan di berbagai sistem operasi dan arsitektur Komputer yang berbeda-beda. Java pertama kali dikembangkan oleh tim yang dipimpin oleh James Gosling di Sun Microsystem. Pada mulanya disebut Oak yang dirancang pada tahun 1990 untuk digunakan dalam chip tertanam dalam peralatan elektronik konsumen.
2.2.4 PHP Menurut Welling dan Thompson (2008:2-4) PHP dilahirkan pada tahun 1994 dan awalnya merupakan karya oleh seorang Rasmus Lerdorf. Kemudian diadopsi oleh para developer lainnya dan telah melalui empat kali penulisan ulang dan menghasilkan bahasa pemrograman yang bisa kita lihat saat ini. PHP adalah bahasa scripting server-side yang dirancang khusus untuk web, dimana dalam halaman HTML kita dapat menambahkan kode PHP yang akan dijalankan setiap kali halaman dikunjungi. Kode PHP tersebut akan diinterpretasikan di dalam web server dan menghasilkan HTML atau output yang kemudian akan dilihat visitor. Terdapat beberapa pesaing utama dari PHP, seperti Perl, Microsoft ASP.NET, Ruby (on Rails atau sebaliknya), Java Server Pages (JSP), dan ColdFusion. Dibandingkan dengan aplikasi-aplikasi tersebut, PHP memiliki banyak kelebihan, diantaranya performa yang sangat cepat, Interface untuk banyak sistem database yang berbeda, murah, mudah dipelajari dan digunakan, ketersediaan source code support dan dokumentasi
49 2.2.5 MySQL Menurut Welling dan Thompson (2008:3), MySQL adalah Relational Application Database Management System (RDBMS) yang sangat cepat dan kuat. Aplikasi database ini memungkinkan anda secara efisien dalam memasukan, mencari, mengurutkan, dan mengambil data. MySQL server mengontrol akses kedalam data untuk memastikan beberapa user dapat mengaksesnya secara bersamaan, untuk mempercepat akses kedalam database, dan untuk memastikan bahwa authorized users yang dapat memperoleh akses kedalam database. Masih mengacu pada Welling dan Thompson (2008:7-9), sama seperti PHP, MySQL juga mempunyai saingan dalam aplikasi database, seperti PostgreSQL, Microsoft SQL Server, dan Oracle. Penulis memilih MySQL karena memiliki kelebihan-kelebihan yang tidak dimiliki aplikasi lain, seperti: 1.
Kinerja yang tinggi
2.
Biaya yang rendah
3.
Konfigurasi dan kemudahan dalam mempelajarinya
4.
Portabilitas
5.
Ketersediannya source code dan support
Perubahan besar diperkenalkan dalam MySQL 5, meliputi: 1.
Tampilan
2.
Prosedur penyimpanan
3.
Basic trigger support
4.
Support cursor
2.2.6 Extensible Markup Language (XML) Menurut Connolly dan Begg (2010:1073), XML adalah sebuah
meta-language
(bahasa
yang
digunakan
untuk
mendeskripsikan bahasa lain) yang memungkinkan seorang designer membuat sendiri tag yang menyediakan fungsi yang tidak tersedia dalam HTML. XML merupakan sebuah versi meta language yang
50 diturunkan dari Standart Generalized Markup language (SGML), yang didesain khusus untuk dokumen website dan dapat mendukung perancangan
untuk
menciptakan
tag
sendiri,
yang
memiliki
kemampuan untuk mendefinisikan, mentransmisikan, memvalidasikan dan menginterpresentasikan data antara aplikasi dan organisasi. XML dikembangkan oleh World Wide Web Consortium (W3C) yang di dukung sekitar 150 orang anggotanya dan versi 1.0 pertama kali dirilis pada tahun 1998. Keunggulan yang dimiliki XML antara lain (Connolly dan Begg, 2010:1074) : 1. Simplicity XML menggunakan bahasa yang sederhana, mudah dimengerti oleh manusia dan mesin. 2. Open standart and platform / vendor- independent XML menggunakan standar terbuka dan tidak tergantung pada platform tertentu. 3. Extensibility XML memungkinkan user untuk mendefinisikan tag sendiri sehingga dikembangkan sesuai dengan kebutuhan user. 4. Reuse XML memungkinkan libraries dari XML tags untuk dibangun sekali dan dapat digunakan kembali oleh banyak aplikasi. 5. Separation of content and presentation XML memisahkan antara isi dan tampilan dari suatu data sesuai dengan pengaturan yang diinginkan. 6. Improved load balancing Data dapat ditampilkan pada browser dengan baik. 7. Support for the integration of data from multiple source Kemampuan mengintegritaskan data dari berbagai macam sumber yang berbeda adalah hal yang sulit dan memakan waktu. XML dapat menggabungkan data dari banyak sumber yang berbeda dengan cara yang mudah.
51 8. Ability to describe data from a wide variety of application XML dapat digunakan untuk mendeskripsikan data yang terdapat pada aplikasi yang berbeda. 9. More advance search engine Dengan
XML,
mesin
pencari
akan
mampu
untuk
menyederhanakan berbagai macam tags. 10. New opportunities XML memiliki banyak kelebihan yang dapat dihadirkan dalam banyak aplikasi teknologi saat ini. Struktur hirarkisnya cocok untuk kebanyakan tipe dokumen. Kekurangan – kekurangan XML: 1. Parser harus didesain untuk memahami struktur data bersarang yang berubah – ubah dan harus melakukan pengecekan tambahan untuk mendeteksi sintaks atau data yang tidak terformat atau terurut dengan benar. 2. Urutan penekanan tombol untuk pengetikkan ekspresi XML pada keyboard standar komputer sering kali kaku. 3. XML menggunakan teknologi Document Type Definitions (DTDs) yang dapat mendefinisikan sintaks yang valid dari dokumen XML.
2.2.7 JSON JSON (JavaScript Object Notation) adalah suatu format pertukaran data komputer. Format dari JSON adalah berbasis teks, dapat terbaca oleh manusia, digunakan untuk mempresentasikan struktur data sederhana, dan tidak bergantung dengan bahasa apapun. Biasanya digunakan pada aplikasi Ajax. Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui koneksi jaringan (Deitel dan Deitel, 2012:1303). Secara umum, JSON digunakan untuk mentransmisikan data antara server dan aplikasi web. Jenis media internet yang resmi untuk JSON adalah aplikasi atau JSON. Format JSON sering digunakan untuk serialisasi dan mengirimkan data terstruktur melalui koneksi
52 jaringan, terutama untuk pengiriman data antara server dan aplikasi web melayani sebagai alternatif ke XML.
2.2.8 Google Map API Menurut
Svennerberg
(2010:2-3),
Google
Map
API
merupakan salah satu solusi pemetaan yang populer di dalam jaringan internet. Kegunaan dari Google Map ini sendiri untuk melihat lokasi dari suatu tempat, untuk mencari posisi dari suatu alamat, untuk navigasi, dan beberapa hal lainnya. Google Map didasarkan pada prinsip, mayoritas informasi memiliki informasi suatu lokasi, jika memiliki lokasi, maka dapat ditampilkan di dalam peta. Google Map API juga menyediakan fasilitis penggunaan Google Map dalam kebutuhan aplikasi yang dikembangkan. Google Map dikembangkan oleh dua suadara kandung dari Denmark, yaitu Lars dan Jens Rasmussen. Mereka mendirikan Where 2 Technologies , yang dimana merupakan suatu perusahaan yang didedikasikan untuk membuat solusi pemetaan. Perusahaan tersebut didapatkan oleh Google pada bulan Oktober 2004, dan kedua bersaudara tersebut menciptakan Google Map. Google Map dikembangkan dengan menggunakan HTML, CSS, dan Javascript yang bekerja bersamaan. Ubin dalam peta merupakan gambar-gambar yang dimuatkan ke dalam background dengan menggunakan Ajax calls dan kemudian dimasukkan ke dalam tag suatu halaman HTML. Ketika navigasi dalam peta, API mengirim informasi tentang koordinat baru dan tingkat pembesaran peta dengan menggunakan Ajax calls yang mengembalikan gambar yang baru.
2.2.9 Global Positioning System (GPS) GPS (Global Positioning System) adalah sistem satelit navigasi dan penentuan posisi yang dimiliki dan dikelola oleh Amerika Serikat. Sistem ini didesain untuk memberikan posisi dan
53 kecepatan tiga dimensi serta informasi mengenai waktu. GPS terdiri dari 3 segmen yaitu segmen angkasa, control atau pengendali, dan pengguna. Segmen angkasa terdiri dari 24 satelit yang beroperasi dalam 6 orbit pada ketinggian 20.200 km dengan periode 12 jam (satelit akan kembali ke titik yang sama dalam 12 jam). Segmen Kontrol/Pengendali terdapat pusat pengendali utama yang terdapat di Colorodo Springs, dan 5 stasiun pemantau lainnya dan 3 antena yang tersebar di bumi ini. Pada sisi pengguna dibutuhkan penerima GPS yang biasanya terdiri dari penerima, prosesor, dan antena. (Budiawan, Santoso, dan Zahram, 2011:1)
2.3
Hasil penelitian Sebelumnya Pada bagian ini memaparkan hasil penelitian sebelumnya yang bersumber dari jurnal-jurnal yang berkaitan dengan skripsi ini. 2.3.1 Jurnal yang berjudul Design and Implementation an Online Location Based Services Using Google Maps for Android Mobile Salah satu penggunaan paling penting di smartphone ialah Location Based Services (LBS). Lokasi user dapat dengan mudah ditemukan karena smartphone didukung dengan Global Positioning System (GPS). Menggunakan GPS di dalam Google Map dapat membantu user untuk menemukan berbagai macam tempat. Banyak user menggunakan aplikasi untuk memberikan arah atau informasi tempat user berada saat ini. Aplikasi ini berupa sistem navigasi, pencarian tempat terdekat atau menampilkan peta . Namum, aplikasi peta online tidak mendukung fitur untuk menambah atau menghapus lokasi yang ditentukan. Maka dari itu penulis menyajikan sebuah metode untuk membangun sebuah navigation map online yang interaktif berdasarkan Google Map. Hal ini dapat dilakukan menggunakan database MySQL yang berada dalam server dan aplikasi mobile untuk client. Jurnal ini berisi tentang aplikasi pemetaan online yang dikembangkan menggunakan Google Maps API , Google Direction API, JSON, MySQL Database and PHP. Di dalam aplikasi ini user
54 dapat menambahkan dan menghapus tempat dari peta. Sedangkan aplikasi lain seperti Google tidak dapat memungkinkan pengguna untuk menambahkan tempat dan meninjau tempat tersebut. Google memiliki aplikasi terpisah yang disebut “Navigation” yang berfungsi untuk menghitung jarak dan durasi antara posisi user dengan tempat tujuan.
Dalam
aplikasi
ini
“Online
Mapping”
user
dapat
menambahkan, menghapus dan meninjau informasi suatu tempat dalam satu aplikasi. Dan juga dapat menghitung jarak antara 2 tempat di dalam peta dengan mudah. 2.3.2 Jurnal yang berjudul Pembuatan Aplikasi Pencarian Halte Transjakarta Terdekat Berbasis Android Transjakarta atau biasa disebut dengan busway merupakan salah satu alat transportasi yang disediakan bagi warga Jakarta yang bertujuan untuk mengantisipasi kemacetan yang biasa terjadi seharihari. Selain itu dengan adanya Transjakarta kini masyarakat mempunyai alternatif transmoda angkutan umum yang memberikan kemudahan menjangkau seluruh wilayah Jakarta dengan pelayanan yang berbeda dibandingkan dengan angkutan umum lainnya. Bagi pengguna jasa transportasi Transjakarta ini untuk mengetahui informasi halte yang terdekat untuk mencapai suatu tujuan biasanya masyarakat hanya mengkira-kira dimana halte Transjakarta terdekat dari posisinya atau dengan bertanya kepada masyarakat sekitar dimana halte Transjakarta terdekat dari posisi kita. Oleh karena itu penulis membuat aplikasi pencarian halte terdekat berbasis android. Yaitu aplikasi yang dapat menginfomasikan kepada penggunanya dimana halte Transjakarta terdekat dari posisi penggunanya. Sehingga penggunanya atau masyarakat tidak harus bingung untuk mencari halte Transjakarta yang terdekat dari posisinya. Selain itu masyarakat juga mendapatkan informasi jalan menuju halte Transjakarta tersebut. Dan pengguna juga dapat mencari rute antar halte. Aplikasi ini dibuat menggunakan Eclipse IDE.
55 Kekurangan dari aplikasi ini mengharuskan pengguna berada pada ruangan yang cukup terbuka dan cukupnya jaringan telepon, karena aplikasi ini masih menggunakan akses internet dan penggunaan fitur GPS. 2.3.3 Jurnal yang berjudul Perangkat Lunak Layanan Informasi SPBU Terdekat Berbasis Mobile untuk Pengguna Android Khususnya Daerah Bandung. Jurnal ini berisi informasi SPBU di Bandung, tidak semua SPBU terbaca oleh map sehinggal pengemudi hanya memperkirakan letak dan jaraknya saja. Dengan berkembangnya teknologi saat ini sangat mudah untuk mencari informasi dengan cepat dan mudah, untuk itu dengan bantuan adanya perangkat lunak untuk pencarian SPBU dapat diketahui lokasi SPBU beserta jarak dan penyebarannya. Penyedia layanan tidak selalu menyimpan seluruh data dan informasi yang diolahnya. Karena bisa jadi berbagai macam data dan informasi yang diolah tersebut berasal dari pengembang atau pihak ketiga yang memang memiliki otoritas untuk menyimpannya. Sebagai contoh basis data geografis dan lokasi bisa saja berasal dari badanbadan milik pemerintah atau juga data-data perusahaan/bisnis/industri bisa saja berasal dari Yellow Pages, maupun perusahaan penyedia data lainnya. analisa peta digital yaitu Google Map untuk mendapatkan data titik koordinat, kemudian melakukan perancangan sistem, pembuatan aplikasi menggunakan eclipse juno dan database MySQL menggunakan perintah JSON. Aplikasi
ini
dibuat
untuk
mempermudah
user
untuk
menentukan SPBU terdekat dengan posisi-nya. Karena banyak user saat berpergian jauh merasa kesulitan untuk mencari infomasi lokasi SPBU terdekat. Hal ini tidak menjadi masalah jika orang tersebut sudah mengenal lokasi dengan baik, akan tetapi bagi orang yang tidak mengenal lokasi akan menjadi suatu kendala. Bahkan dapat menjadi masalah yang merepotkan jika kendaraan sampai mogok karena tidak tahu lokasi SPBU terdekat. Aplikasi ini dikembangkan menjadi
56 aplikasi mobile yaitu berbasis android. Sehingga dapat digunakan dimana saja kapan saja, selama user memiliki koneksi internet untuk mengakses Google dan mengaktifkan GPS pada perangkat sehingga dapat mendapatkan posisi user berada dan lokasi SPBU terdekat. Dengan adanya perangkat lunak layanan informasi SPBU berbasis mobile dapat membantu memudahkan para pengendara kendaraan bermotor atau mobil dengan dipandu untuk menuju lokasi SPBU.