DeretCode|

Tips, Trik dan Tutorial
Seputar IT, Coding, Internet Marketing, Keahlian, Pendidikan, Hobi Dan Lainnya
Night :

Cara Menghitung Jarak Dengan Longitude dan Latitude - Kotlin

advertisement
    
Cara menghitung jarak dengan latitude dan longitude di android
    Saya pernah membuat sebuah aplikasi android mirip seperti sistem Go Glam pada aplikasi gojek. Di dalam projek tersebut saya di tuntun untuk dapat menentukan jarak lokasi antara customer dengan layanan penyedia jasa riasnya untuk membuat fungsi menampilkan layanan rias di range jarak tertentu. Saya sudah memiliki data koordinat longitude dan latitude dari customer melalui fungsi gps dan penyedia jasa rias dari data lokasinya. Metode yang saya gunakan sederhana, hanya membuat garis lurus antara titik koordinat A dengan titik koordinat B. 

    Pada kesempatan kali ini saya akan berbagi codenya buat kalian, disini saya menggunakan bahasa pemrogramman kotlin, bagi kalian yang menggunakan java juga masih bisa, karena sama-sama running di jvm(java virtual machine). Sebelumnya kita intermezzo dulu, belajar rumus matematika berikut.


Kita akan menggunakan rumus diatas untuk membuat codenya, jadi kalian perhatikan baik baik, kenapa codenya seperti itu. Kenapa gak pake rumus rumus linier seperti ini.
Yap, sebenernya gak maslah kamu mau pake rumus linier di atas. Tapi kali ini kita pake rumus yang mengukur sudutnya juga karena saya pendukung teori bumi itu bulat bukan datar.

Membuat Fungsi Penghitung Jarak

Buat sebuah class kotlin dengan nama DistanceHelper. Disini saya anggap kalian sudah bisa membuat aplikasi android ya sobat, jadi tidak perlu saya jelaskan langkah-langkah membuat class. Silahkan ketik code berikut.
package com.project.framework.mvp.utils
class DistanceHelper{
    fun distance(lat1: Double?, lon1: Double?, lat2: Double?, lon2: Double?): Double {
        val theta = lon1!! - lon2!!
        var dist = Math.sin(deg2rad(lat1!!)) * Math.sin(deg2rad(lat2!!)) + (Math.cos(deg2rad(lat1))
                * Math.cos(deg2rad(lat2))
                * Math.cos(deg2rad(theta)))
        dist = Math.acos(dist)
        dist = rad2deg(dist)
        dist = dist * 60.0 * 1.1515 //Konversi kedalam Miles
        return  dist * 1.609344; //Konversi kedalam kilometer
    }

    private fun deg2rad(deg: Double): Double {
        return deg * Math.PI / 180.0 //Sudut
    }

    private fun rad2deg(rad: Double): Double {
        return rad * 180.0 / Math.PI //Sudut
    }
}
Kayanya kalo saya jelaskan agar ribet juga, intinya code di atas merepresentasikan rumusnya, sinus, cosinus, akar, kuadrat dan lainnya :D.

Cara Menggunakan Fungsinya

Kalian bisa menggunakan fungsinya pada proyek aplikasi android kalian yang memerlukan penghitungan jarak didalamnya, atau sekedar membuat framework yang dilengkapi fungsi tersebut. 

var distanceHelper = DistanceHelper()
var jarak = dh.distance(latitudeCustomer, longitudeCustomer, latitudePerias, longitudePerias)
    
    Terimakasih sudah mampir di tutorial cara menghitung jarak dengan longitude dan latitude. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, kalau ada pertanyaan silahkan tulis di kolom komentar. Good luck!
advertisement



0 Komentar untuk " Cara Menghitung Jarak Dengan Longitude dan Latitude - Kotlin"

Silahkan berkomentar dengan baik dan bijak!