hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/pertemuan-5_kelo…  · web viewpertemuan 5....

18
PERTEMUAN 5 PEMROGRAMAN MOBILE 2 Maps, GPS, Location based Services Disusun Oleh Anggota Kelompok 2 Untung Nur Khifni 16.11.0137 Ade Putra Praditya 16.11.0117 Ahmad 16.11.0118 Desi Putri Pratiwi 16.11.0164 Moch Mugni Labib 16.11.0123 Ridho Santoso Handoyo 16.11.0133 M.I.Zulkifli Nurul ‘Ilmi 16.11.0134 Yusup Efendi 16.11.0142

Upload: others

Post on 25-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

PERTEMUAN 5

PEMROGRAMAN MOBILE 2

Maps, GPS, Location based Services

Disusun Oleh

Anggota Kelompok 2

Untung Nur Khifni 16.11.0137

Ade Putra Praditya 16.11.0117

Ahmad 16.11.0118

Desi Putri Pratiwi 16.11.0164

Moch Mugni Labib 16.11.0123

Ridho Santoso Handoyo 16.11.0133

M.I.Zulkifli Nurul ‘Ilmi 16.11.0134

Yusup Efendi 16.11.0142

Yanuar Arviansyah 16.11.0146

Zidni Mujib 16.11.0160

Rafli Husain Kurniawan 16.11.0165

Page 2: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

PROGRAM STUDI TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM PURWOKERTO

2018/2019

1. Pemahaman Maps, GPS dan based location

a. Google MAPS

Google Maps adalah  layanan pemetaan web yang dikembangkan oleh

Google. Layanan ini memberikan citra satelit, peta jalan, panorama 360°, kondisi lalu

lintas, dan perencanaan rute untuk bepergian dengan berjalan kaki, mobil, sepeda

(versi beta), atau angkutan umum.

b. Google Maps API

Merupakan Google maps api memungkinkan kita untuk menampilkan peta /

maps di dalam aplikasi kita. Kita dapat mengatur mode peta seperti apa yang akan

ditampilkan seperti mode “satelit” misalnya. Google Maps API adalah suatu library

yang berbentuk javascript yang berguna untuk memodifikasi peda yang ada di Google

Maps sesuai dengan kebutuhan. Dalam perkembangannya Goggle Maps API diberikan

kemampuan untuk mengambil gambar peta statis. Melakukan geocoding, dan

memberikan penuntun arah. Google Maps API bersifat gratis untuk publik.

Kekurangan yang ada pada Google Maps API yaitu jika ingin melakukan

akses harus terdapat layanan internet pada perangkat yang digunakan. Sedangkan

kelebihan yang ada pada Google Maps API yaitu:

Dukungan penuh yang dilakukan Google sehingga terjamin dan bervariasi fitur

yang ada pada Google Maps API.

Banyak pengembang yang menggunakan Google Maps API sehingga mudah

dalam mencari referensi dalam pengembangan aplikasi.

Page 3: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

c. Google Place Auto Complete

Google menyediakan API yang membuat kita semakin mudah dalam

melakukan input alamat seperti nama jalan, nama kota, nama daerah dan nama

tempat. Dimana ketika kita mengetikan sebuah kata maka kita akan diberikan pilihan

dalam bentuk auto complete secara realtime. Jika juga dapat melaukan filter disini,

contoh jika kita ingin hanya ingin menampilkan alamat / tempat yang ada di

Indonesia saja.

d. Google Direction API

API ini memungkinkan kita untuk mengerahui arah atau rute antara 2 titik

koordinat atau lebih. Dengan memanfaatkan API ini kita dapat menggambar garis

rute tersebut atau sering dikenal dengan istilah Polyline. Selain rute jika juga

mendapatkan informasi berupa jarak, estimasi waktu tiba sampai step-step jalan yang

harus kita lewati.

e. GPS (Global Positioning System)

Merupakan sistem navigasi satelit yang menyediakan pelacakan posisi dan

pengaturan waktu kepada pengguna. GPS dalam istilah formal adalah NAVSTAR

GPS, singkatan dari Navigator Satellite Timing and Ranging Global Positioning

Sistem. GPS terdiri atas 3 segmen utama, yaitu :

Segmen Kontrol, terdiri dari suatu sistem yang mengontrol kegiatan satelit GPS

yang tersebar diseluruh dunia.

Segmen Satelit, teridir dari satelit-satelit GPS. Satelit bertugas untuk menerima

dan menyimpan data yang ditransmisikan oleh segmen kontrol dan

memancarkan data secara kontinyu ke segmen pengguna. Konstelasi GPS terdiri

dari 24 satelit yang menempati 6 buah bidang orbit yang berbentuk mendekati

lingkaran, dengan masing-masing bidang orbit ditempati 4 buah satelit.

Kedudukan masingmasing satelit dalam tiap orbitnya diatur sedemikian rupa

dengan jarak interval diantaranya tidak sama. Hal ini untuk meminimalkan

pengaruh keadaan dimana ada satelit yang tidak berfungsi.

Segmen Pengguna, terdiri dari para pengguna yang tersebar diseluruh

permukaan bumi dan alat penerima GPS. Segmen ini bertugas menerima data

Page 4: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

dari satelit dan memprosesnya untuk menentukan posisi, arah, jarak, dan waktu

yang diperlukan.

Cara kerja GPS :

Pertama-tama yang harus dimiliki untuk menggunakan GPS adalah GPS

receiver. GPS receiver merupakan perangkat penerima sinyal satelit GPS,

perangkat ini berfungsi untuk memperhitungkan letak koordinat berlandaskan

data-data yang tersedia.

Sinyal gelombang mikro dipancarkan oleh setaip GPS. GPS receiver ini

menerima sinyal dari satelit yang memancarkan gelombang mikro dari setiap

satelit GPS. Lalu sinyal tersebut mentriangulasi letak dengan cara

mengkalkulasikan lamanya perjalanan ketika satelit GPS mengirim kode sinyal

dan dikalikan kecepatan cahay yang dimaksudkan sebagai penentu jarak

receiver dari satelit.

Dengan memiliki minimal 3 kode sinyal dari satelit yang berbeda, penerima

sinyal GPS bisa melakukan penghitungan posisi regular satu titik koordinat letak

bujur juga letak lintang bumi (Longitude dan Latitude). Dengan kata lain

triangulasi digunakan untuk mengunci lokasi ketika GPS tersebut menyala.

Ketika mengunci sinyal pada satelit

Keempat, GPS receiver mengukur keberadaan atau letak ketinggian suatu titik di

atas permukaan laut atau yang disebut Altitude.

f. Location based Services

Merupakan istilah umum yang digunakan untuk menggambarkan teknologi

yang digunakan untuk menemukan lokasi perangkat yang digunakan atau

menggabungkan antara proses dari layanan mobile dengan posisi geografis dari

penggunanya. Poin pentingnya adalah ketika posisi target, dimana sebuah target

bisa jadi adalah pengguna LBS sendiri atau entitas lain yang tergabung dalam suatu

layanan. Dua unsur utama LBS adalah :

Location Manager (API Maps)

Menyediakan tools/source untuk LBS, API Maps menyedikan fasilitas untuk

menampikan, memanupulasi peta berserta fitur-fitur seperti tampilan satelit,

jalan, maupun gabungannya.

Page 5: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

Location Providers (API Location)

Pengguna dapat menentukan lokasinya, melacak gerakan/perpindahan, serta

kedekatan dengan lokasi tertentu dengan mendeteksi perpindahan. Secara garis

besar, LBS dapat dibagi menjadi dua, yaitu:

Pull Service: Layanan hanya diberikan ketika ada permintaan dari pengguna.

Push Service: Layanan diberikan langsung oleh sevice provider tanpa

menunggu permintaan dari pengguna.

Yang dibangun dari teknologi informasi dan komunikasi baru (New

Information and Communication Technologies / NICTS) yang didalamnya

meliputi: sistem telekomunikasi mobile dan perangkat genggam, dengan data

berasal dari internet dan Sistem Informasi Geografis (SIG) yang menggunakan

spatial database.

2. Dasar Pembuatan Maps dan based location

a. Pembuatan based location

Dalam mengimplementasikan LBS, ada 2 pendekatan dasar yang digunakan, yaitu :

- Memproses data di lokasi dan mengirimkan hasilnya ke alat.

- Mendapatkan data lokasi dari alat tersebut berdasarkan aplikasi yang

menggunakannya secara langsung.

Dalam Layanan Berbasis Lokasi terdapat lima komponen penting yaitu meliputi :

- Mobile Devices: Suatu alat yang digunakan oleh pengguna untuk meminta

informasi yang dibutuhkan. Informasi dapat diberikan dalam bentuk suara,

gambar, dan teks.

- Comunication Network: Komponen kedua adalah jaringan komunikasi yang

mengirim data pengguna dan informasi yang diminta dari mobile terminal ke

Service Provider kemudian mengirimkan kembali informasi yang diminta ke

pengguna. Communication Network dapat berupa jaringan seluler (GSM,

CDMA), Wireless Local Area Network (WLAN), atau Wireless Wide Area

Network (WWAN).

Page 6: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

- Positioning Component: Untuk memproses suatu layanan maka posisi pengguna

harus diketahui.

- Service and Aplication Provider: Penyedia layanan menawarkan berbagai macam

layanan kepada pengguna dan bertanggung jawab untuk memproses informasi

yang diminta oleh pengguna.

- Data and Content Provider: Penyedia layanan tidak selalu menyimpan semua data

yang dibutuhkan yang bisa diakses oleh pengguna. Untuk itu, data dapat diminta

dari data dan content provider.

3. Menampilkan Lokasi Saat ini

Untuk aplikasi android yang berbasis lokasi, memiliki fungsionalitas untuk mendeteksi

lokasi terkini pengguna menjadi salah satu fungsi yang harus dimiliki. Dengan memanfaatkan

Google Maps API, lokasi pengguna dapat diketahui dengan jaringan yang disediakan service

provider maupun wifi yang terhubung dengan perangkat android pengguna.

Disini akan dijelaskan bagaimana cara membuat sebuah aplikasi android sederhana untuk

melihat lokasi terkini pengguna dengan memanfaatkan Google Maps API yang akan dibangun

menggunakan Android Studio. Sebelum memulai diperlukan aplikasi yang sebelumnya dibangun

di tutorial Menampilkan Peta Dengan Google Maps API Pada Android Studio.

Persiapan

Beberapa hal yang perlu disiapkan antara lain :

1. Android Studio.

2. Perangkat android untuk uji coba aplikasi yang akan dibuat, pastikan perangkat

terhubung dengan internet dan aktifkan akses lokasi.

3. Aplikasi android dengan Google Maps API yang sebelumnnya dibuat di

tutorial Menampilkan Peta Dengan Google Maps API Pada Android Studio.

Callback dan Variable Baru

Buka MapsActivity.java pada package java, tambahkan beberapa calback yang

diperlukan, antara lain:

Page 7: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

1. GoogleApiClient.ConnectionCallbacks: Callback ini akan memiliki function 'public

function onConnected()' yang akan dipanggil saat perangkat terhubung dengan jaringan

internet.

2. GoogleApiClient.OnConnectionFailedListener: Menyediakan callback saat klien dengan

penyedia layanan gagal terhubung.

3. LocationListener: Callback ini diperlukan saat terjadi perubahan lokasi pengguna.

Masukan ketiga callback setelah OnMapReadyCallback hingga menjadi

tekan ALT+ENTER dan import class yang diperlukan, hingga

menjadi 

Page 8: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

Klik kanan pada bagian degnan garis bawah merah lalu pihih “Generate”, kemudian pilih

“Implement Method”.

Pilih semua method lalu klik OK, lalu tambahkan beberapa variable baru yang nanti akan

digunakan dibawahnya. Variable tersebut antara lain :

GoogleApiClient mGoogleApiClient;

private LocationRequest mLocationRequest;

private Marker mCurrLocationMarker;

private Location mLastLocation;

onMapReady()

Fungsi ini dipanggil saat peta siap digunakan. Disini letak ditambahkannya marker,

listener dan atribut-atribut fungsional lainnya.

buildGoogleApiClient()

Sekarang kita perlu menginisialisasi Google Play Services. Metode yang akan digunakan

adalah builder method (buildGoogleApiClient()). Setelahnya setMyLocationEnabled diperlukan

Page 9: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

untuk mengaktifkan location layer yang memungkinkan perangkat untuk berinteraksi dengan

lokasi terkini pengguna. Buat fungsi baru dengan nama function protected synchronized void

buildGoogleApiClient() dan tambahkan kode berikut:

GoogleApiClient.Builder digunakan untuk konfigurasi klien.

.addConnectionCallbacks menyediakan callback yang diperlukan saat klien tengah

terhubung atau terputus dari server.

addOnConnectionFailedListener menyediakan callback yang diperlukan saat klien gagal

terhubung dengan layanan.

addApi menambahkan LocationServices API titik akhir Google Play Services.

mGoogleApiClient.connect() klien harus terhubung terlebih dahulu sebelum dapat

melakukan sebuah operasi.

onConnected()

Dalam aplikasi yang berbasis lokasi, sangat perlu untuk memperbarui lokasi terkini secara

berkala. Dengan Location Provider yang memanfaatkan data lokasi dari GPS, sinyal cellular dan

jaringan Wi-Fi dapat dilakukan analisa lokasi dengan sangat akurat.

Jadi sekarang aplikasi berbasis lokasi ini telah dapat mengetahui kemungkinan lokasi

terkini. Selanjutnya perlu ditambahkan apa yang harus dilakukan saat lokasi pengguna berubah.

Untuk itu Google Maps API telah menyediakan fungsi onLocationChanged.

Selanjutnya diperlukan izin untuk mengakses lokasi terkini.

Permintaan Izin Akses Lokasi

Pada Android 6.0 Marshmallow, aplikasi tidak akan diberi izin apapun pada saat instalasi.

Melainkan aplikasi harus meminta izin satu per satu pada saat aplikasi berjalan. Jadi tambahkan

kode berikut:

public static final int MY_PERMISSIONS_REQUEST_LOCATION = 99;

public boolean checkLocationPermission(){

if (ContextCompat.checkSelfPermission(this,

android.Manifest.permission.ACCESS_FINE_LOCATION)

!= PackageManager.PERMISSION_GRANTED) {

Page 10: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

if (ActivityCompat.shouldShowRequestPermissionRationale(this,

android.Manifest.permission.ACCESS_FINE_LOCATION)) {

ActivityCompat.requestPermissions(this,

new String[]

{android.Manifest.permission.ACCESS_FINE_LOCATION},

MY_PERMISSIONS_REQUEST_LOCATION);

} else {

ActivityCompat.requestPermissions(this,

new String[]

{android.Manifest.permission.ACCESS_FINE_LOCATION},

MY_PERMISSIONS_REQUEST_LOCATION);

}

return false;

} else {

return true;

}

}

Pada kode diatas checkSelfPermission harus menghasilkan

PackageManager.PERMISSION_GRANTED, sehingga aplikasi dapat melanjutkan prosesnya.

Jika aplikasi tidak mendapat izin, method ini akan menghasilkan PERMISSION_DENIED, dan

aplikasi akan meminta persetujuan izin dari pengguna.

Page 11: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

Respon Permintaan Akses Lokasi

Sebuah dialog box akan ditampilkan saat aplikasi meminta persetujuan dari pengguna.

Saat pengguna menanggapi, sistem yang menyangkut method onRequestPermissionsResult(),

memberikan aplikasi tanggapan dari pengguna. Aplikasi ini mengambil alih apabila persetujuan

telah diberikan

Untuk uji coba aplikasi yang telah dibuat gunakan perangkat android yang terhubung ke

android studio dan memiliki koneksi internet serta aktifkan akses lokasi pada pengaturan

perangkat android. Jika uji coba berhasil maka akan muncul gambar seperti di bawah ini

4. Meperbaharui Lokasi Terbaru

Pada Android

Mengaktifkan atau menonaktifkan lokasi

1. Di ponsel atau tablet Android, tap Setelan  > Keamanan & lokasi > Lokasi.

2. Tap tombol di kanan atas untuk mengaktifkan atau menonaktifkan lokasi. 

3. Jika mengaktifkan lokasi, Anda dapat menggunakan mode akurasi tinggi untuk

hasil yang lebih akurat. Jika Anda diminta untuk meningkatkan keakuratan lokasi,

tap Setuju. Atau tap Mode > Akurasi tinggi.

Tips: Untuk mengaktifkan lokasi dengan cepat, geser layar perangkat dari atas ke bawah

dengan 2 jari > tap Lokasi.

Memeriksa dan memperbarui lokasi

Jika menggunakan browser, seperti Chrome atau Safari, Anda dapat melihat lokasi Anda dan

memperbaruinya langsung dari halaman hasil penelusuran. Langkah ini tidak berlaku untuk

Google app.

1. Di ponsel atau tablet Android, lakukan penelusuran di Google.

Page 12: hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo…  · Web viewPERTEMUAN 5. PEMROGRAMAN MOBILE 2. Maps, GPS, Location based Services. Disusun Oleh . Anggota

2. Scroll ke bagian bawah halaman hasil penelusuran. Lokasi Anda akan terlihat.

3. Untuk memperbarui lokasi, tap Gunakan lokasi akurat.

4. Jika diminta untuk membagikan lokasi perangkat dengan Google, tap Izinkan.

Memeriksa dan memperbarui lokasi pada komputer

Jika menggunakan browser, seperti Chrome atau Safari, Anda dapat melihat lokasi Anda

dan memperbaruinya langsung dari halaman hasil penelusuran. 

1. Di komputer, lakukan penelusuran di Google.

2. Scroll ke bagian bawah halaman hasil penelusuran. Lokasi Anda akan terlihat.

3. Untuk memperbarui lokasi, klik Gunakan lokasi akurat atau Perbarui lokasi.

4. Jika Anda diminta membagikan lokasi perangkat dengan Google, klik Izinkan.

Pada Iphone & Ipad

Mengaktifkan atau menonaktifkan lokasi

1. Di iPhone atau iPad, buka aplikasi Pengaturan.

2. Tap Privasi > Layanan Lokasi.

3. Tap tombol di kanan atas untuk mengaktifkan atau menonaktifkan lokasi.

Memeriksa dan memperbarui lokasi

Jika menggunakan browser, seperti Chrome atau Safari, Anda dapat melihat lokasi Anda

dan memperbaruinya langsung dari halaman hasil penelusuran. Langkah ini tidak berlaku untuk

Google app.

1. Di iPhone atau iPad, lakukan penelusuran di Google.

2. Scroll ke bagian bawah halaman hasil penelusuran. Lokasi Anda akan terlihat.

3. Untuk memperbarui lokasi, tap Gunakan lokasi akurat atau Perbarui.

4. Jika diminta untuk berbagi lokasi perangkat dengan Google, ketuk Izinkan.