adalah sebuah algoritma yang digunakan untuk menghitung jarak antara dua titik di permukaan bumi menggunakan garis lintang (latitude) dan garis bujur (longitude) sebagai variabel inputan. Algoritma ini penting dalam navigasi, karena memberikan jarak lingkaran besar antara dua titik pada permukaan bola (bumi).
Cara kerja algoritma Haversine dapat dijelaskan sebagai berikut :
a = sin²(Δφ/2) + cos(φ1) × cos(φ2) × sin²(Δλ/2) di mana φ1 dan φ2 adalah latitude dari titik pertama dan kedua dalam radian.
c = 2 × atan2(√a, √(1-a)) di mana atan2 adalah fungsi matematika yang mengembalikan arctangent dari dua argumen.
d = R × c di mana R adalah radius bumi dalam km. Berikut adalah contoh penerapan dalam bahasa pemrograman Python :
import math
def haversine(lat1, lon1, lat2, lon2):
# Convert latitude and longitude to radians
lat1, lon1, lat2, lon2 = map(math.radians, [lat1, lon1, lat2, lon2])
# Calculate the difference between the two coordinates
dlat = lat2 - lat1
dlon = lon2 - lon1
# Apply the haversine formula
a = math.sin(dlat/2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon/2)**2
c = 2 * math.asin(math.sqrt(a))
# Calculate the radius of the Earth
r = 6371 # radius of Earth in kilometers
# Return the distance
return c * r
Itulah cara kerja algoritma Haversine. Mudah-mudahan penjelasan kami bisa membantu kalian memahami konsepnya.