BAB II LANDASAN TEORI
2.1
Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
Mulit-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 pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in. (www.eclipse.org) 2.2
API (Application Programming Interface) API adalah seperangkat aturan tertentu atau algoritma tertentu yang
dikodekan dengan spesifik dapat digunakan dan berkomunikasi oleh perangkat lunak lainnya (Applikasi). Berfungsi sebagai antarmuka antara program perangkat lunak yang berbeda dan memfasilitasi interaksi antara kedua applikasi tersebut, mirip dengan cara antarmuka pengguna memfasilitasi interaksi antara manusia dan komputer.
5 http://digilib.mercubuana.ac.id/
6
API dapat dibuat untuk aplikasi, sistem operasi , dll, sebagai cara mendefinisikan "kosakata" dan ruang lingkup sumber daya (pemanggilan fungsifungsi di luar applikasi itu sendiri Dalam web , API biasanya satu set didefinisikan dengan Hypertext Transfer Protocol ( HTTP ) permintaan pesan , bersama dengan definisi struktur respon pesan, yang biasanya dalam Extensible Markup Language ( XML ) atau JavaScript Object Notation (JSON Encode) format. Sementara "Web API" hampir sinonim untuk layanan web , tren baru-baru (disebut Web 2.0 ) telah bergerak menjauh dari Simple Object Access Protocol ( SOAP ) jasa berdasarkan arah yang lebih langsung Representational State Transfer (REST) komunikasi gaya. Web API memungkinkan kombinasi dari beberapa layanan ke dalam aplikasi baru yang dikenal sebagai mashups (www.wikipedia.com). 2.3
Google Map API API atau Application Programming Interface
merupakan
suatu
dokumentasi yang terdiri dari interface, fungsi, kelas, struktur dan sebagainya untuk membangunsebuah perangkat lunak. Dengan adanya API ini, maka memudahkan programmer untuk “membongkar” suatu software untuk kemudian dapat dikembangkan atau diintegrasikan dengan perangkat lunak yang lain. API dapat dikatakan sebagai penghubung suatu aplikasi dengan aplikasi lainnya yang memungkinkan programmer menggunakan system function. Proses ini dikelola
melalui operating system.
memungkinkan suatu aplikasi dengan berhubungan dan berinteraksi.
Keunggulan dari API ini adalah aplikasi
lainnya
dapat
saling
Bahasa yang digunakan oleh Google Map
yang terdiri dari HTML, JavaScript dan AJAX serta XML, memungkinkan untuk menampilkan peta Google Map di website lain. Google
juga
menyediakan
layanan
Google
Map
API
yang
memungkinkan para pengembang untuk mengintegrasikan Google Map ke dalam website masing-masing
dengan menambahkan
data
point
sendiri.
Dengan menggunakan Google Map API, Google Map dapat ditampilkan pada web site eksternal. Agar aplikasi Google Map dapat muncul di website tertentu, diperlukan adanya
API key. API key merupakan
http://digilib.mercubuana.ac.id/
kode unik
yang
7
digenerasikan oleh Google untuk suatu website tertentu, agar server Google map dapat mengenali. Berikut ini langkah-langkah untuk mendapatkan API Key : a. Langkah pertama tentunya adalah mendaftar akun Google (sama seperti membuat email di Google). Setelah terdaftar dan login ke Google, masuk ke halaman Google API Console: https://code.google.com/apis/console/. b. Kemudian klik Create project, Pilih Menu "Services" maka akan tampil service-service yang disediakan Google, pilih salah satu service yang akan digunakan. Misalnya "Google Maps API v2" pilih satus menjadi "On" c. Setelah sudah memilih salah satu service dan sudah "On" maka Pilih menu "API Access". maka API Key kita sudah tercantum dan siap digunakan 2.4
Android SDK Android
SDK
mencakup
perangkat
tools
pengembangan
yang
komprehensif. Android SDK terdiri dari debugger, libraries, handset emulator, dokumentasi, contoh kode program dan tutorial. Saat ini Android sudah mendukung arsitektur x86 pada Linux (distribusi Linux apapun untuk desktop modern), Mac OS X 10.4.8 atau lebih, Windows XP atau Vista. Persyaratan mencakup JDK, Apache Ant dan Python 2.2 atau lebih. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan menggunakan plugin Android Development Tools (ADT), dengan ini pengembang dapat menggunakan IDE untuk mengedit dokumen Java dan XML (Extensible Markup Language) serta menggunakan peralatan command line untuk menciptakan, membangun, melakukan debug aplikasi Android dan pengendalian perangkat Android (misalnya reboot, menginstal paket perangkat lunak). Android SDK telah dirilis pada tanggal 12 November 2007. Dan pada tanggal 15 Juli 2008 tim Android Developer Challenge dengan sengaja mengirimkan e-mail ke semua pendatang baru di Android Developer Challenge untuk mengumumkan bahwa rilis SDK terbaru telah tersedia pada halaman download. E-mail tersebut juga ditujukan kepada pemenang Android Developer Challenge putaran pertama. Sebuah penyataan bahwa Google telah menyediakan rilis SDK terbaru untuk beberapa pengembang.
http://digilib.mercubuana.ac.id/
8
Pada tanggal 18 Agustus 2008, Android SDK 0.9 beta dirilis. Rilis ini menyediakan API yang telah diperbarui dan diperluas, perbaikan pada tools pengembangan dan disain terbaru untuk tampilan home. Petunjuk untuk mengupgrade SDK sudah tersedia pada rilis sebelumnya. Pada tanggal 23 September 2008, Android 1.0 SDK telah dirilis. Pada tanggal 9 Maret 2009, Google merilis versi 1.1 untuk ponsel Android. Rilis terbaru tersebut termasuk dukungan untuk pencarian dengan suara, harga aplikasi, perbaikan jam alarm, perbaikan pengiriman e-mail pada gmail, perbaikan notification dan peta. Pada pertengahan Mei 2009, Google merilis versi 1.5 (Cupcake) pada sistem operasi Android dan SDK. Pembaruan ini termasuk pada dukungan beberapa fitur baru seperti perekaman video, bluetooth, sistem keyboard pada layar dan pengenalan suara. Rilis ini juga membuka AppWidget framework kepada para pengembang yang memungkinkan untuk membuat widget sendiri pada tampilan home. Pada September 2009 versi 1.6 (Donut) dirilis yang dapat menampilkan hasil pencarian yang lebih baik dan penggunaan indikator baterai. Aplikasi Android dipaketkan ke dalam format .apk dan disimpan pada folder /data/app. Pengguna dapat menjalankan perintah adb root untuk mengakses folder tersebut karena root memiliki izin untuk mengakses folder tersebut. (xdadevelopers.com) 2.5
Bahasa Pemrograman Java Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu
http://digilib.mercubuana.ac.id/
9
berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web. Kelebihan dari bahasa pemrograman java sebagai berikut: a.
Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform /
sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut. b.
OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
c.
Perpustakaan Kelas Yang Lengkap Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program
program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. d.
Bergaya C++ Java memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik
banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-
http://digilib.mercubuana.ac.id/
10
universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. e.
Pengumpulan sampah otomatis Java memiliki fasilitas pengaturan penggunaan memori sehingga para
pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas). Selain beberapa kelebihan, Java juga memiliki beberapa kekurangan diantaranya: a.
Tulis sekali, jalankan di mana saja Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan
platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X. b.
Mudah didekompilasi Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode
sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. c.
Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada
bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
http://digilib.mercubuana.ac.id/
11
2.6
Waterfall Penulis menggunakan model Waterfall yang sering juga disebut model
sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Menurut Sukamto dan Shalahuddin (2011:26) "Model air terjun (waterfall) menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengkodean, pengujian dan tahap pendukung (support)". Memperhatikan karakteristik ini, sangat penting bagi tim pengembang perangkat lunak untuk secara bersama-sama melakukan analisa kebutuhan dan desain sistem sesempurna mungkin sebelum masuk ke tahapan pengkodean. Secara garis besar metode waterfall mempunyai langkah-langkah sebagai berikut: 1.
Analisa Kebutuhan (Requirment Analysis) Proses
pengumpulan
kebutuhan
dilakukan
secara
intensif
untuk
mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan. 2.
Desain Proses multilangkah yang fokus pada desain pembuatan program perangkat
lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan. 3.
Pembuatan Kode Program Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari
tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. 4.
Pengujian Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional
dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk
http://digilib.mercubuana.ac.id/
12
meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. 5.
Support / Maintenance Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan
ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
Gambar 2.1 Ilustrasi Model Waterfall (Sumber : Sukamto & Salahudin, 2011, hal.27) 2.7
SQLite SQLite merupakan sebuah sistem manajemen basisdata relasional yang
bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp. Tidak seperti pada paradigma client-server umumnya, Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency times, dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata
http://digilib.mercubuana.ac.id/
13
(definisi data, tabel, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai. 2.8
UML (Unifield Modelling Language) Menurut Munawar (2005:17) “UML adalah salah satu alat bantu yang
sangat handal di dunia perkembangan sistem yang berorientasi objek”. UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch, Objeck Modeling Technique (OMT) dan Objeck Oriented Software Engineering (OOSE). Metode Booch sangat terkenal dengan nama Desgin Objeck Oriented metode ini menjadikan proses analisis dan design kedalam empat tahapan iteratif yaitu: identifikasi kelas-kelas dan objek-objek, identifikasi simantik dari hubungan objek dan kelas tersebut, perincian interface dan implementasi. 2.8.1 Use Case Diagram Menurut Munawar (2005:64) “Use case adalah alat bantu terbaik guna menstimulasi pengguna potensial untuk mengatakan tentang suatu sistem dari sudut pandangnya”. Deskripsi Use Case adalah abstraksi dari interaksi antara sistem dengan actor. Actor adalah abstraction dari orang dan sistem yang lain yang mengaktifkan fungsi dari target sistem. Masalah umum dengan Use Case adalah memfokuskan pada interasi diantara user dan sistem seringkali perubahan pada proses bisnis adalah jalan terbaik untuk menyelesaikan masalah oleh karena itu Use Case harus dibedakan menjadi sistem use case dan business use case. Sistem use case adalah sebuah interasi dengan software sedangkan business use case lebih menekankan kepada bagaimana sebuah bisnis merespon kepada pelanggan atau kejadian.
http://digilib.mercubuana.ac.id/
14
No.
Gambar
Nama
01.
Actor
02.
Use Case
03.
Communicates
Keterangan Orang atau divisi yang terlibat dalam suatu sistem.
Kegiatan yang dilakukan oleh actor. Komunikasi antar actor dan use case Relasi use case dimana proses
Include
04.
bersangkutan akan dilanjutkan ke proses yang dituju. Relasi use case tambahan ke sebuah
Extends
05.
use
ditambahkan
case dapat
yang berdiri
sendiri tanpa use case tambahan itu.
System Boundary
06.
Batas gambaran antara sistem dan actor.
Gambar 2.2 Simbol – Simbol Use Case Diagram (Sumber : Martin Fowler, 2005, p144) 2.8.2
Activity Diagram Menurut Munawar (2005:109) “Activity Diagram adalah teknik untuk
mendiskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak kasus”. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku pararel sedangkan flowchart tidak biasa. Node pada activity diagram disebut
http://digilib.mercubuana.ac.id/
15
dengan action bukan activity. Activity menunjukan ke urutan action sehingga diagram tersebut menunjukan activity yang membangun action. Action biasa didekomposisi menjadi sub activity. Action biasa diimplementasikan sebagai sub activity atau sebagai method pada class. Untuk menunjukan sub activity digunakan simbol rake untuk menunjukan sebuah pemanggilan pada method digunakan syntax nama class , nama method. Simbol
Nama
Keterangan Titik awal atau permulaan
Initial State
dalam memulai aktifitas diagram.
State
Suatu aktifitas yang dilakukan aktor. Digunakan untuk
Control Flow
menghubungkan antara aktifitas dengan aktifitas lainnya. Pilihan yang diambil untuk
Decision
menunjukkan suatu keputusan yang lebih dari satu True / False.
Final State
Titik akhir atau mengakhiri suatu aktifitas diagram.
Gambar 2.3 Simbol – Simbol Activity Diagram (Sumber : Martin Fowler, 2005, p165) 2.8.3 Sequence Diagram Sequence diagram menurut Munawar (2005, p187) adalah grafik dua dimensi dimana obyek ditunjukkan dalam dimensi horizontal, sedangkan lifeline ditunjukkan dalam dimensi vertikal.
http://digilib.mercubuana.ac.id/
16
Sequence diagram menunjukan interaksi objek dengan waktu yang direpresentasikan dalam grafik dua dimensi. Dimensi vertical menunjukan waktu, digambarkan melintang kebawah. Dimensi horizontal menunjukkan jenis peranan yang menggambarkan individu objek dalam diagram collaboration. Durasi aktivitas objek ditunjukkan oleh lifeline yang berupa garis putus-putus. Message ditampilkan sebagai panah dari satu lifeline sebuah objek ke lifeline objek yang lainnya.
No.
Simbol
Nama
Keterangan Orang, proses, atau sistem lain yang berinteraksi
dengan
system
informasi dan mendapat manfaat dari 01.
Aktor / Actor
system. Berpartipasi secara berurutan dengan mengirimkan
atau
mengirimkan
pesan. Di tempatkan di bagian atas diagram.
Berpartipasi secara berurutan dengan 02.
Objek / Object
mengirimkan atau menerima pesan. Di tempatkan di bagian atas diagram.
Menandakan 03.
Garis Hidup / Lifeline
kehidupan
objek
selama urutan. Diakhiri tanda X pada titik di mana kelas tidak lagi berinteraksi.
http://digilib.mercubuana.ac.id/
17
Fokus
kontrol
adalah
persegi
yang
sempit
panjang
panjang
04.
Objek yang
ditempatkan di atas sebuah garis
berinteraksi
hidup.
/ Activation
Menandakan
ketika
suatu
objek
mengirim atau menerima pesan.
05.
06.
Pesan /
Membuat / Create
Message Send
Keluaran / 08.
lainnya.
Message
Masukkan / 07.
Objek mengirim satu pesan ke objek
Message Return
Menyatakan suatu objek membuat objek
yang
lain,
arah
panah
mengarah pada objek yang dibuat.
Menyatakan
bahwa
mengirim
masukkan
suatu
objek
ke
objek
lainnya arah panah megarah pada objek yang dikirimi.
Objek atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian.
http://digilib.mercubuana.ac.id/
18
Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah Hasil Akhir
09.
/ Destroy
mengarah pada objek yang diakhiri, sebaiknya jika ada create maka ada destroy.
Gambar 2.4 Simbol – Simbol Sequence Diagram (Sumber : Munawar, 2005, p192)
2.9
Mobile Positioning
Dalam kamus besar Bahasa Indonesia dijelaskan bahwa pelacakan adalah proses, perbuatan, cara melacak; proses, cara, perbuatan mencari (menelusuri) jejak. Melacak adalah mencari atau menuruti jejak, memeriksa dengan teliti, menyelidiki, mengusut. Mobile positioning merupakan penentuan posisi lokasi pada mobile device. Menurut Westfall (2012), cara menentukan lokasi ada bermacam-macam antara lain: 1.
Global Positioning System atau GPS GPS menggunakan system satelit yang mengorbit planet untuk membantu penerima menentukan lokasi saat ini. Meskipun dapat memberikan data lokasi yang paling akurat, namun GPS bermasalah ketika digunakan di dalam ruangan atau lingkungan perkotaan karena gedung-gedung tinggi dapat menyebabkan ganguan sinyal.
2.
Wireless Network Access Points Perangkat yang menggunakan Wi-Fi untuk konektivitas jaringan, dapat juga menggabungkannya dengan nama SSID untuk jaringan Wi-Fi. Dengan demikian, keduanya dapat menghasilkan kekuatan sinyal untuk melakukan pelacakan terhadap posisi lokasi. Manfaat utama menggunakan Wi-Fi sebagai penentu lokasi yaitu memungkinkan perangkat untuk memperoleh informasi lokasi di daerah yang data lokasinya tidak diberikan GPS. Lingkungan perkotaan dapat meningkatkan akurasi Wi-Fi menentukan
http://digilib.mercubuana.ac.id/
19
lokasi karena berlimpahnya jaringan Wi-Fi yang tersedia dalam menentukan lokasi saat ini. 3.
Cell ID Pelacakan dengan Cell ID bisa digunakan tanpa memerlukan koneksi Internet. Meskipun begitu, hal ini kurang akurat karena cara pelacakan ini mengambil data lokasi dari nomor identitas BTS terdekat berdasarkan kekuatan sinyal bersamaan dengan informasi waktu terkait dan lokasi menara sel yang kurang adanya kecendrungan untuk berubah.
4.
IP Adress Allocation Selama perangkat ponsel atau computer menerima IP address yang dinamis ketika menghubungi Wi-Fi atau jaringan mobile, provider biasanya mengetahui komponen blok dari IP address, dan mengetahui pola distribusi di dalam beragam area geografis.
2.10
GPS (Global Positioning System) GPS menggunakan informasi sistem satelit yang mengorbit planet bumi
untuk membantu menentukan lokasi saat ini. GPS berfungsi untuk mengakses lokasi pengguna pada saat tertentu. GPS dapat ditemukan dalam unit navigasi mobil, ataupun telepon seluler. Dengan menggunakan GPS, pengguna dapat melakukan pelacakan terhadap setiap perpindahan lokasi. Menurut Milette (2012) dalam buku yang berjudul “Profesional AndroidTM Sensor Programming”, setiap satelit GPS terus mentransmisikan posisi saat ini (data ephemeris) dan data almanak. Data almanak meliputi data tentang setiap satelit di konstelasi, termasuk data yang mengorbit serta informasi mengenai keadaan sistem secara keseluruhan. Setiap satelit mentransmisikan data keduanya. Data ephemeris memberikan keakuratan perhitungan lokasi yang lebih baik. Untuk menghitung lokasinya, sistem GPS harus bisa menentukan jarak dari beberapa satelit. Sebelum lokasi dapat dihitung, beberapa satelit harus ditemukan. Banyak sateli yang mengorbit bumi, namun hanya sedikit yang bisa dilihat pada waktu tertentu karena sebagian berada dibawah cakrawala. Alamanak dapat memberikan bantuan dalam menentukan satelit yang digunakan untuk lokasi dan waktu tertentu.
http://digilib.mercubuana.ac.id/
20
2.11
Google Maps Google merupakan mesin pencari yang paling terkenal. Google sudah
memiliki teknologi untuk menampilkan dan memperbaharui peta secara interaktif. Adapun proses bisnis yang memungkinkan orang lain untuk menggunakan dan menambahkan fitur ini kedalam website mereka dengan Google Maps API. Hal ini terbukti bahwa teknologi pemetaan tersedia di dalam aplikasi pada ponsel. Dalam hal ini adalah aplikasi Google Maps API merupakan library dari JavaScript. Google Maps bekerja dengan GPS pada telepon seluler. Jika location sensing diaktifkan, Google Maps akan menentukan lokasi ketika aplikasi mulai dijalankan. Untuk mengekspresikan lokasi di bumi, perlu adanya koordinat. Koordinat bumi terdiri dari garis lintang (latitude) dan garis bujur (longitude). Garis lintang terukur secara vertikal yaitu dari selatan ke utara, sedangkan garis bujur terukur secara horizontal yaitu dari barat ke timur. Daerah khatulistiwa berada pada garis lintang 00 . Ini artinya daerah yang berada dibawah khatulistiwa, akan memiliki nilai negatif, sedangkan daerah yang berada diatas khatulistiwa, memiliki nilai positif. Demikian juga untuk garis bujur 00 disebut meridian utama. Daerah yang memiliki nilai bujur negatif berarti letak di posisi barat dari meridian utama, sedangkan daerah dengan nilai bujur positif berarti terletak di posisi timur dari meridian utama. Untuk lebih jelas, dapat dilihat dari gambar 2.5
Gambar 2. 5 Koordinat Bumi (Sumber: http://members.uia.net/tajames/astronomy/notes-coordinates.html)
http://digilib.mercubuana.ac.id/
21
2.12
Android Semua dimulai pada bulan juli 2000, di mana google bekerja sama denga
android inc., perusahaan internet terkemuka yang berada di palo alto, California amerika serikat. Alasan di antara keduanya dapat bekerja sama di karenakan dengan alasan karena beberapa pendiri android inc. nekerja pada google , di antarannya Andi Rubin , Rich Miner , Nick Sears , dan Chris White .ketika saat itu android banyak disepelekan sebagai perangkat lunak pada telepon seluluer , karena ketika itu sudah banyak OS untuk mobile , seperti Symbian dan OS komersial milik beberapa pabrikan . tapi selang beberapa waktu kemudian , Android tahu-tahu sudah berkembang dengan pesat dan menjadi phenomenal. 2.12.1 Perkembangan Android Sekitar September 2007 google mengajukan hak paten aplikasi telepon seluler yang akhirnya menjadi cikal bakal Nexus One, salah satu jenis telepon pintar GSM yang menggunakan android pada system operasinya, telepon seluler ini diproduksi oleh HTC corporation dan tersedia di pasaran pada tanggal 5 januari 2010. Pada tanggal 9 Desember 2008, diumumkan bahwa ada anggota baru yang bergabung dalam program kerja android, antara lain ARM Holdings, atheros communications, Asustek computer inc, Garmin Ltd, Softbank, Sony Ericson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan open Hadset Alliances, OHA mengumumkan produk perdana mereka, yaitu android untuk perangkat bergerak ( mobile ) yang menggunakan modifikasi kernel Linux 2.6 sejak android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru hingga sekarang ini . Telepon pertama yang memakai system operasi android adalah HTC Dream, yang dirilis pada 22 oktober 2008,
lalu pada akhirnya tahun 2009
diperkirakan palik sedikit terdapat 18 jenis perangkat ponsel yang menggunakan android. Android OS Mobile menguasai lebih dari 30% pasar ponsel di seluruh dunia pada saat ini. Sebagian besar pengguna ponsel saat ini lebih memilih
http://digilib.mercubuana.ac.id/
22
android mobile phonenya karena aplikasinya yang bervariasi dan interaktif, open source, mudah digunakan, integrasi dengan situs social, kemudahan instalasi program dan harga terjangkau. 2.12.2 Perkembangan Versi Android Android versi 1.1 Google merilis android 1.1 pada tanggal 19 maret 2009 . fitur yang di miliki versi antaranya adalah sebagai tampilannya yang lebih indah dan cantik pada aplikasi, penambahan fitur pada jam alarm, voice search ( pencarian suara ), pengiriman pesan dengan Gmail, dan pemberitahuan email
Gambar 2.6 Android versi 1.1. Android versi 1.5 ( Cupcake ) Google kembali merilis perangkat smartphone menggunakan android SDK ( software development kit ) versi 1.5 ( cupake ) pada pertengahan mei 2009. Ada beberapa pembaruan di sini, di antaranya penambahan beberapa fitur seperti kemampuan antaranya penambahan beberapa fitur seperti kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke youtube dan gambar ke Picasa secara langsung dari telepon. Ada juga Bluetooth A2DP yang memungkinkan hubungan secara otomatis ke headset Bluetooth. Ditambahkan juga adanya animasi layar, serta keyboard pada layar yang dapat desesuaikan dengan system .
http://digilib.mercubuana.ac.id/
23
Gambar 2.7 Android versi 1.5 (Cupcake) Android versi 1.6 ( Donut ) Versi ini dibuat nama donut dan dirilis pada bulan September 2009 di tahun yang sama dengan versi 1.5 . di sini ada fitur baru yang antara lain proses pencarian yang lebih baik dibandingkan versi sebelumnya , adanya indicator baterai dan control applet VPN . Fitur lainnya adalah gallery yang memungkinkan pengguna memilih foto yang akan di hapus. Fitur kamera, camcorder, dan gallery juga diintegrasikan , dukungan ke standar telekomunikasi yang lain , seperti CDMA / EVDO, 802.1X, VPN,Gesture, dan Text-To-engine . juga ada kemmapuan dial kontak, dan teknologi text-to-speech change speech ( tidak tersedia pada semua ponsel ), serta dukungan terhadap resolusi VWGA .
Gambar 2.8 Android versi 1.6 (Donut ) Android versi 2.0/1.2 (Eclair) Pada tanggal 3 desember 2009, open Handset Alliance kembali meluncurkan ponsel android dengan versi 2.0/2.1 (éclair), perubahan
http://digilib.mercubuana.ac.id/
yang
24
dilakukan adalah optimal hardware penuh terhadap standar HTML5 , daftar kontak deperbaharui serta adanya dukungan flash untuk kamera 3,2 MP, digital zoom , dan bluetooh 2.1
Gambar 2.9 Android versi 2.0/1.2 (Eclair ) Android versi 2.2 (Froyo : Frozen Yoghurt) Pada tanggal 20 mei 2010, android versi 2.2 (froyo) diluncurkan. Perubahan – perubahan dibandingkan versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1, memiliki kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, integrasi java script engine versi 8 yang dipakai Google Chrome sehingga mempercepat kemampuan rendering browser. Ada juga pemasangan aplikasi dalam SD card, kemampuan Wife Hotspot portable, dan kemampuan auto update dalam aplikasi Android Market .
Gambar 2.10 Android versi 2.2 (froyo : Frozen Yoghurt)
http://digilib.mercubuana.ac.id/
25
Android versi 2.3 ( Gingerbread ) Pada tanggal 06 desember 2010, android versi ini di luncurkan perubahan yang cukup baik di lakukan di dalam versi terbaru ini , peningkatannya sendiri di dalam kemampuan permainan ( gaming ) , peningkatan fungsi copy paste, layar antar muka ( use interface ) , didesain ulang, dukungan format video VP8 dan Webm , ada juga efek audio baru ( reverb, equalization, headphone virtualization, dan bass boots ), serta dukungan jumlah kamera yang lebih dari satu .
Gambar 2.11 Android versi 2.3 ( Gingerbread ) Android versi 3.0/3.1 (Honeycomb) Android Honeycomb dirancang khusus untuk bias mengakomudikaskan tablet. Android versi ini mendukung ukuran layar yang lebih besar dan lebar serta baik . use interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb mendukung pula untuk multi prosesor dan juga akselarasi perangkat keras ( Hardware ) untuk grafis. Tablet pertama yang sibuat dengan Honeycomb adalah Motorola Xoom.
Gambar 2.12 Android versi 3.0/3.1 (Honeycomb)
http://digilib.mercubuana.ac.id/
26
Android versi 4.0 ( ICS: Ice Cream Sandwich ) Versi android ini diumumkan pada tanggal 19 oktober 2011, dengan fitur baru termasuk bias membuka kunci dengan pengenalan wajah, jaringan data control pemantauan penggunaa, integrasi dengan social network, perangkat tambahan fotografi, bias mencari email secara offline, dan berbagi informasi dengan menggunakan Near Field Communication (NCF).
Gambar 2.13 Android versi 4.0 (ICS: Ice Cream Sandwich) Android versi 4.1 (Jellybean) Versi android ini diumukan pda bulan juli 2012. Android ICS sudah cukup mempesona dengan tingkat responsifitas yang lebih baik, dan juga jelly Bean menawarkan kenyamanan yang lebih baik berkat Project Butter. Google mengklaim ada 3 hal yang membuat Project Butter tampil mempesona, Vsync untuk anti flickr, lalu Triple Buffering untuk mengoptimalisasi pada prosesor untuk meningkatkan responsifitas ponsel. Jadi bukan Cuma sentuhan saja yang direspon dengan cepat, jelly bean juga membuat perpindahan aplikasi semakin halus.
http://digilib.mercubuana.ac.id/
27
Gambar 2.14 Android versi 4.1 (Jellybean) Android versi 4.4 (Kitkat) Versi android ini diluncurkan pada tanggal 31 oktober 2013 dengan membawa semua perubahan dari versi-versi sebelumnya. Android versi kitkat ini memiliki berbagai keunggulan sebagai software yang memakai basis kode komputer yang bisa didistribusikan secara terbuka (open source) sehingga pengguna bisa membuat aplikasi baru di dalamnya. Android memiliki aplikasi native Google yang terintegrasi seperti pushmail Gmail, Google Maps, dan Google Calendar.
Gambar 2.15 Android versi 4.4 (Kitkat) Android versi 5.0 (Lollipop) Versi android ini diluncurkan pada tanggal 15 Oktober 2014 memiliki perubahan terhadap fitur desain antarmuka (tampilan) yang dinamakan “Material Design”, 64-bit ART compiler, Project Volta yang berguna untuk meningkatkan daya hidup baterai 30% lebih tahan lama, “factory reset protection” fitur ini berguna
http://digilib.mercubuana.ac.id/
28
ketika smartphone hilang, ia tidak bisa direset ulang tanpa memasukkan id google dan kata sandi (password).
Gambar 2.16 Android versi 5.0 (Lollipop) 2.12.3 Fitur pada Arsitektur Android Fitur yang tersedia pada android : Framework aplikasi, memungkinkan penggunaan dan pemindahan dari komponen yang tersedia. Dalvik virtual machine, virtual machine yang di optimalkan untuk perangkat mobile. Grafik, grafik 2D dan grafik 3D yang didasarkan pada library OpenGL. SQlite, untuk penyimpanan data. Mendukung media, audio, video, dan berbagai format gambar. GSM ,Bluetooth ,EDGE ,3G , tergantung hardware . Camera,
global
positioning
system
(GPS),
compass
accelerometer ( tergantung hardware ). 2.13
XML (Extensible Markup Language) XML adalah bahasa markup yang merupakan lanjutan dari HTML
(HyperText Markup Language). Meskipun XML terlihat mirip dengan HTML,
http://digilib.mercubuana.ac.id/
dan
29
namun XML bukan digunakan untuk menggantikan HTML. XML dan HTML memiliki perbedaan yaitu: 1. XML digunakan untuk keperluan pertukaran dan penyimpanan data secara ringkas dan mudah diatur, sedangkan HTML dirancang untuk memperlihatkan data sebagaimana data itu ingin ditampilkan. 2. XML mengizinkan memberi nama pada tag sesuai keinginan dan bersifat casesensitive, sedangkan HTML tidak memperbolehkan untuk itu. Dokumen XML terdiri dari bagian-bagian yang disebut dengan node. 2.14
Kantor Urusan Agama (KUA) Kantor Urusan Agama (KUA) adalah kantor yang melaksanakan sebagian
tugas kantor Kementerian Agama Indonesia di kabupaten dan kotamadya dibidang urusan agama Islam dalam wilayah kecamatan. Dalam melaksanakan tugasnya, maka Kantur Urusan Agama berfungsi sebagai: 1.
Penyelenggara statistik dan dokumentasi
2.
Penyelenggara surat menyurat, kearsipan, pengetikan, dan rumah tangga Kantor Urusan Agama Kecamatan.
3.
Pelaksana pencatatan pernikahan, rujuk, mengurus dan membina masjid, zakat, wakaf, baitul maal dan ibadah social, kependudukan dan pengembangan keluarga sakinah sesuai dengan kebijaksanaan yang ditetapkan oleh Dirjen Bimas Islam berdasarkan peraturan perundangundangan yang berlaku.
2.15
Teori Euclidean Distance Euclidean distance adalah perhitungan jarak dari 2 buah titik dalam
Euclidean space. Euclidean space diperkenalkan oleh Euclid, seorang matematikawan dari Yunani sekitar tahun 300 B.C.E. untuk mempelajari hubungan antara sudut dan jarak. Euclidean ini berkaitan dengan Teorema Phytagoras dan biasanya diterapkan pada 1, 2 dan 3 dimensi. Tapi juga sederhana jika diterapkan pada dimensi yang lebih tinggi.
http://digilib.mercubuana.ac.id/
30
Pada 1 dimensi Semisal ingin menghitung jarak Euclidean 1 dimensi. Titip pertama adalah 4, titik kedua adalah -10. Caranya adalah kurankan -10 dengan 4. sehingga menghasilkan -14. Cari nilai absolut dari nilai -14 dengan cara mempangkatkannya sehingga mendapat nilai 196. Kemudian diakarkan sehingga mendapatkan nilai 14. Sehingga jarak euclidean dari 2 titik tersebut adalah 14. Pada 2 dimensi
Gambar 2.17 Koordinat Jarak Caranya hampir sama. Misalkan titik pertama mempunyai kordinat (1,2). Titik kedua ada di kordinat (5,5). Caranya adalah kurangkan setiap kordinat titik kedua dengan titik yang pertama. Yaitu, (5-1,5-2) sehingga menjadi (4,3). Kemudian pangkatkan masing-masing sehingga memperoleh (16,9). Kemudian tambahkan semuanya sehingga memperoleh nilai 16+9 = 25. Hasil ini kemudian diakarkan menjadi 5. Sehingga jarak euclideannya adalah 5.
Gambar 2.18 Rumus Euclidean Distance
http://digilib.mercubuana.ac.id/
31
Sehingga dari Formula diatas kita dapat implementasi menjadi : Rumus Jarak Euclidean
√
hitungan (Jarak) diatas masih dalam satuan decimal degree (sesuai dengan format longlat yang dipakai) sehingga untuk menyesuaikannya perlu dikalikan dengan 111.319 km (1 derajat bumi = 111.319 km)
http://digilib.mercubuana.ac.id/
32
http://digilib.mercubuana.ac.id/