GPS dan layanan geolokasi di aplikasi seluler — apa itu, cara mendapatkan koordinat

Penulis: IT Sectr Diterbitkan: 2026-03-22 Waktu membaca: 8 mnt

GPS dan layanan geolokasi di aplikasi seluler — adalah API untuk menentukan lokasi fisik perangkat menggunakan satelit, Wi-Fi, dan jaringan seluler. Menurut Google Android Location Guide (2025), lebih dari 60% aplikasi seluler menggunakan data lokasi untuk personalisasi konten. Fused Location Provider di Android menggabungkan beberapa sumber untuk meningkatkan akurasi dan mengurangi konsumsi daya.

Poin utama

  • GPS — sistem navigasi satelit global, memberikan akurasi hingga 3-5 meter di area terbuka.
  • Layanan geolokasi di Android dan iOS menyediakan API untuk mendapatkan koordinat melalui GPS, Wi-Fi, dan menara seluler.
  • FusedLocationProviderClient di Android menggabungkan GPS, Wi-Fi, dan sensor untuk keseimbangan optimal antara akurasi dan konsumsi daya.
  • CLLocationManager di iOS mengelola permintaan geolokasi dengan pengaturan akurasi dan mode latar belakang.
  • Izin geolokasi dibagi menjadi “saat digunakan” dan “selalu” — yang kedua memerlukan justifikasi tambahan.

Apa itu GPS dan layanan geolokasi

GPS (Global Positioning System) — adalah sistem navigasi satelit yang terdiri dari 31 satelit aktif di orbit pada ketinggian sekitar 20 200 km. Pada perangkat seluler, chip GPS menerima sinyal dari satelit dan menghitung koordinat berdasarkan trilaterasi — pengukuran waktu propagasi sinyal dari beberapa satelit. Layanan geolokasi di sistem operasi seluler menambahkan ke GPS data dari titik akses Wi-Fi dan menara seluler untuk mempercepat penentuan koordinat (A-GPS) dan meningkatkan akurasi di dalam ruangan. Menurut data GPS.gov (2024), akurasi GPS sipil adalah 3-5 meter di langit cerah dan hingga 15 meter dalam kondisi bangunan padat.

Sistem satelit tambahan

Perangkat seluler modern tidak hanya mendukung sistem GPS Amerika, tetapi juga sistem navigasi global lainnya: GLONASS Rusia (24 satelit), Galileo Eropa (28 satelit) dan BeiDou China. Dukungan simultan beberapa sistem meningkatkan akurasi dan kecepatan penentuan koordinat — perangkat dapat menggunakan hingga 40 satelit dari berbagai sistem untuk menghitung posisi. Di iOS dan Android, pemilihan sistem satelit dilakukan secara otomatis pada level chip perangkat keras, pengembang tidak perlu mengelola ini.

Bagaimana penentuan lokasi bekerja

Proses penentuan lokasi pada perangkat seluler terdiri dari beberapa tahap: pengumpulan data dari sumber (satelit, Wi-Fi, jaringan seluler), penyaringan dan koreksi kesalahan, perhitungan koordinat dan pengiriman hasil ke aplikasi. Sistem operasi mengelola proses ini melalui layanan geolokasi terpadu yang mengoptimalkan kerja semua sumber untuk menghemat baterai. Berikut adalah tiga sumber utama data lokasi.

GPS dan navigasi satelit

Navigasi satelit memberikan akurasi maksimum (3-5 meter), tetapi memerlukan pandangan langsung ke langit. Di dalam ruangan atau di daerah perkotaan padat, sinyal GPS dapat melemah atau hilang sepenuhnya. Waktu penentuan posisi pertama (TTFF) adalah 30-60 detik saat cold start dan 5-10 detik saat hot start. A-GPS (Assisted GPS) mempercepat start dengan mengunduh data ephemeris satelit melalui internet, bukan menunggu data dari satelit.

Penentuan posisi melalui Wi-Fi dan menara seluler

Wi-Fi positioning menggunakan database alamat MAC titik akses dengan koordinat yang diketahui. Akurasinya 10-50 meter dalam jangkauan Wi-Fi. Menara seluler memberikan akurasi 100 meter hingga beberapa kilometer tergantung kepadatan menara. Kombinasi semua sumber (Fused Location) memungkinkan mendapatkan koordinat dengan akurasi yang wajar dengan konsumsi daya minimal — terutama ketika chip GPS dimatikan atau sinyal satelit tidak tersedia.

Penyedia geolokasi di Android dan iOS

Di kedua platform, layanan geolokasi diimplementasikan melalui API sistem dengan tingkat abstraksi yang berbeda. Android menggunakan FusedLocationProviderClient dari Google Play Services, iOS menggunakan CLLocationManager dari Core Location. Kedua API memungkinkan meminta posisi satu kali atau berlangganan pembaruan reguler. Berikut adalah contoh mendapatkan koordinat di Android menggunakan Fused Location Provider di Kotlin.

Mendapatkan koordinat di Android

kotlin
val fusedClient = LocationServices.getFusedLocationProviderClient(this)

val locationRequest = LocationRequest.Builder(
    Priority.PRIORITY_HIGH_ACCURACY
)
.setIntervalMillis(5000)
.setMinUpdateIntervalMillis(2000)
.build()

val locationCallback = object : LocationCallback() {
    override fun onLocationResult(result: LocationResult) {
        result.lastLocation?.let { location ->
            Log.d("Lokasi", "Lat: ${location.latitude}, Lng: ${location.longitude}")
        }
    }
}

if (checkLocationPermission()) {
    fusedClient.requestLocationUpdates(
        locationRequest, locationCallback,
        Looper.getMainLooper()
    )
}

Dalam contoh, LocationRequest dikonfigurasi dengan prioritas HIGH_ACCURACY — ini mengaktifkan GPS untuk akurasi maksimum. setIntervalMillis mengatur interval pembaruan yang diinginkan (5 detik), setMinUpdateIntervalMillis — interval minimum (2 detik). Callback onLocationResult dipanggil setiap kali sistem menerima koordinat baru. Penting untuk memeriksa izin sebelum memanggil requestLocationUpdates — jika tidak, aplikasi akan crash dengan SecurityException.

Mendapatkan koordinat di iOS

swift
import CoreLocation

let locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()

// MARK: - CLLocationManagerDelegate
func locationManager(
    _ manager: CLLocationManager,
    didUpdateLocations locations: [CLLocation]
) {
    guard let location = locations.last else { return }
    print("Location: \(location.coordinate.latitude), \(location.coordinate.longitude)")
}

Di iOS, desiredAccuracy menentukan akurasi permintaan: kCLLocationAccuracyBest menggunakan semua sumber yang tersedia (GPS + Wi-Fi + jaringan seluler). Setelah meminta izin melalui requestWhenUseAuthorization, sistem menampilkan dialog kepada pengguna. Delegate didUpdateLocations menerima array objek CLLocation dengan koordinat, ketinggian, kecepatan, dan arah. Untuk menghentikan pembaruan, stopUpdatingLocation dipanggil untuk menghemat baterai.

Meminta izin geolokasi

Akses ke geolokasi memerlukan izin eksplisit pengguna di kedua platform. Di Android, digunakan izin ACCESS_FINE_LOCATION (GPS) dan ACCESS_COARSE_LOCATION (Wi-Fi/jaringan seluler). Mulai Android 10, akses latar belakang memerlukan izin terpisah ACCESS_BACKGROUND_LOCATION. Di iOS, tersedia tiga level: requestWhenInUseAuthorization (hanya saat aplikasi aktif), requestAlwaysAuthorization (di latar belakang) dan cap waktu untuk positioning presisi. Apple mewajibkan deskripsi di Info.plist: NSLocationWhenInUseUsageDescription atau NSLocationAlwaysAndWhenInUseUsageDescription. Tanpa kunci ini, permintaan izin diabaikan.

Optimalisasi konsumsi daya

Penggunaan GPS secara terus-menerus secara signifikan mengurangi daya baterai — hingga 30% per jam kerja terus-menerus pada akurasi maksimum. Untuk optimalisasi konsumsi daya, disarankan menggunakan geolokasi hanya saat diperlukan dan menghentikan pembaruan saat aplikasi masuk ke latar belakang. Di Android, FusedLocationProviderClient secara otomatis beralih antara GPS dan sumber jaringan tergantung ketersediaan dan prioritas permintaan. Di iOS, gunakan significant-change location service (startMonitoringSignificantLocationChanges) untuk pembaruan dengan konsumsi daya minimal — akurasi lebih rendah (hingga 500 meter), tetapi baterai hampir tidak terkuras. Juga praktikkan pemrosesan batch: kumpulkan koordinat dengan interval 5-10 menit dan kirim ke server dalam satu permintaan melalui WorkManager di Android atau BGTaskScheduler di iOS. Mengurangi frekuensi permintaan dari 1 detik menjadi 30 detik mengurangi konsumsi daya geolokasi hingga 85%.

Skenario penggunaan geolokasi

Geolokasi digunakan dalam berbagai aplikasi seluler: dari navigator hingga layanan pengiriman. Skenario paling umum meliputi menampilkan pengguna di peta, geotargeting iklan, melacak kurir, geofence untuk notifikasi push, dan pelacakan aktivitas kebugaran. Setiap skenario memerlukan pendekatan sendiri terhadap akurasi dan frekuensi pembaruan. Berikut adalah tabel dengan rekomendasi konfigurasi untuk berbagai jenis aplikasi.

Jenis aplikasiAkurasiIntervalMode latar belakang
NavigatorHIGH (GPS)1-2 detikYa
PengirimanBALANCED (GPS+Wi-Fi)10-30 detikYa
CuacaLOW (Wi-Fi/jaringan seluler)SekaliTidak
Media sosialBALANCEDSaat dibukaTidak
KebugaranHIGH (GPS)5-10 detikYa

Saat merancang fungsionalitas geolokasi, penting untuk mempertimbangkan bahwa pengguna dapat mencabut izin kapan saja melalui pengaturan sistem. Aplikasi harus menangani dengan benar situasi ketika geolokasi tidak tersedia dan menampilkan penjelasan yang jelas mengapa fungsionalitas terbatas.

Geofencing

Geofencing — teknologi membuat batas virtual di peta, yang saat dilintasi aplikasi menerima notifikasi. Di Android, geofence diimplementasikan melalui GeofencingClient dari Google Play Services, di iOS — melalui CLCircularRegion dari Core Location. Saat masuk atau keluar dari zona, sistem membangunkan aplikasi dan mengirimkan peristiwa bahkan jika aplikasi ditutup atau diminimalkan. Ini digunakan untuk notifikasi push saat mendekati toko, pengingat tugas berdasarkan lokasi, dan otomatisasi perangkat IoT. Jumlah maksimum geofence terbatas: di Android — 100, di iOS — 20 secara bersamaan. Radius minimum zona adalah 50 meter di kedua platform, jika tidak sistem mungkin tidak merespons karena kesalahan penentuan lokasi. Saat memasuki zona, sistem menjalankan Intent di Android atau memanggil delegate locationManager:didEnterRegion di iOS.

Pertanyaan yang sering diajukan

Apa itu GPS di perangkat seluler?

GPS di smartphone adalah penerima internal sinyal sistem navigasi satelit yang menentukan koordinat dengan akurasi 3-5 meter. Pada perangkat juga tersedia GLONASS, Galileo, dan BeiDou untuk meningkatkan akurasi dan kecepatan positioning.

Apa perbedaan GPS dengan layanan geolokasi?

GPS hanyalah metode satelit penentuan koordinat. Layanan geolokasi menggabungkan GPS, positioning Wi-Fi, dan data menara seluler untuk penentuan lokasi yang lebih cepat dan hemat energi, terutama di dalam ruangan.

Bagaimana cara meminta izin geolokasi di iOS?

Panggil requestWhenInUseAuthorization() atau requestAlwaysAuthorization() pada instance CLLocationManager. Sebelumnya tambahkan NSLocationWhenInUseUsageDescription ke Info.plist dengan teks alasan penggunaan geolokasi yang jelas.

Bagaimana cara mengurangi konsumsi daya GPS di aplikasi?

Gunakan FusedLocationProviderClient di Android dan significant-change location service di iOS. Tingkatkan interval antar permintaan menjadi 10-30 detik, nonaktifkan pembaruan saat layar mati dan terapkan pengiriman koordinat batch ke server.

Bisakah mendapatkan geolokasi tanpa GPS?

Ya, tanpa GPS lokasi perkiraan dapat ditentukan melalui titik akses Wi-Fi (akurasi 10-50 meter) atau menara seluler (akurasi 100-5000 meter). Di Android, untuk ini digunakan ACCESS_COARSE_LOCATION.

Ringkasan

  • GPS — sistem navigasi satelit dengan akurasi 3-5 meter, dilengkapi GLONASS, Galileo, dan BeiDou.
  • Layanan geolokasi menggabungkan GPS, Wi-Fi, dan menara seluler untuk penentuan koordinat yang cepat dan akurat.
  • Android menggunakan FusedLocationProviderClient dengan LocationRequest untuk mengonfigurasi akurasi dan interval pembaruan.
  • iOS menggunakan CLLocationManager dengan desiredAccuracy dan delegate didUpdateLocations untuk mendapatkan koordinat.
  • Izin dibagi menjadi “saat digunakan” dan “selalu”, akses latar belakang memerlukan persetujuan terpisah dari pengguna.
  • Konsumsi daya GPS dapat dikurangi 85% dengan meningkatkan interval dan menggunakan perubahan lokasi signifikan.
  • Rekomendasi — pilih akurasi dan interval pembaruan tergantung skenario: navigator memerlukan HIGH, cuaca — LOW.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga