hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo… · Web viewPERTEMUAN 5....
Transcript of hirupmotekar.comhirupmotekar.com/.../uploads/2018/11/Pertemuan-5_Kelo… · Web viewPERTEMUAN 5....
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
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.
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
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.
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).
- 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:
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
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
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) {
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.
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.
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.
Referensi
https://www.simplifiedcoding.net/how-to-search-location-in-google-map-in-android/
http://www.zoftino.com/android-show-current-location-on-map-example
https://medium.com/@rizal_hilman/bermain-google-maps-api-android-kuy-bikin-aplikasi-kayak-
go-jek-belajarapi-20b004d6abdf
https://console.cloud.google.com/google/maps-apis/apis/placesandroid.googleapis.com/metrics?
project=pmo-pertemuan-5&duration=PT1H