Cara Transformasi Koordinat dengan Visual Basic (VBA Excel)
Bagi surveyor dan pekerja pemetaan, data koordinat sering dikelola dalam jumlah besar di Excel. Ketika perlu mengonversi ratusan baris koordinat sekaligus, mengetik satu per satu jelas tidak praktis. Di sinilah Visual Basic—khususnya VBA di dalam Excel—menjadi alat yang sangat berguna: sebuah fungsi kecil bisa mengonversi seluruh kolom dalam sekejap.
Kenapa VBA di Excel
VBA (Visual Basic for Applications) tertanam langsung di Excel, jadi tidak perlu memasang apa pun. Anda bisa membuat fungsi kustom yang dipakai persis seperti rumus bawaan Excel, lalu menyeretnya ke bawah untuk memproses ribuan baris. Konversi yang paling sering dibutuhkan adalah antara DMS (derajat-menit-detik) dan derajat desimal.
Kode: DMS ke Desimal
Buka editor VBA dengan menekan Alt + F11, lalu masuk ke menu Insert → Module dan tempelkan kode berikut:
Function DMS2Dec(derajat As Double, menit As Double, detik As Double, _
Optional arah As String = "N") As Double
Dim hasil As Double
hasil = derajat + menit / 60 + detik / 3600
arah = UCase(Trim(arah))
If arah = "S" Or arah = "W" Then hasil = -hasil
DMS2Dec = hasil
End Function
Setelah tersimpan, gunakan di sel Excel seperti rumus biasa. Misalnya, untuk koordinat 6°12‘31” Lintang Selatan:
=DMS2Dec(6; 12; 31; "S")
Hasilnya sekitar -6.208611. Tanda negatif otomatis diberikan untuk arah Selatan (S) dan Barat (W).
Kode: Desimal ke DMS
Untuk arah sebaliknya, tempelkan fungsi ini:
Function Dec2DMS(desimal As Double) As String
Dim d As Long, m As Long
Dim s As Double, sisa As Double
sisa = Abs(desimal)
d = Int(sisa)
sisa = (sisa - d) * 60
m = Int(sisa)
s = (sisa - m) * 60
Dec2DMS = d & "° " & m & "' " & Format(s, "0.00") & Chr(34)
End Function
Menuliskan =Dec2DMS(6.208611) akan menghasilkan 6° 12' 31.00". Kombinasi kedua fungsi ini menutupi kebutuhan konversi harian sebagian besar pekerjaan koordinat.
Bagaimana dengan Geografis ke UTM/TM-3?
Perlu jujur: transformasi antar proyeksi (misalnya geografis ke UTM atau TM-3) jauh lebih rumit daripada konversi DMS. Rumusnya melibatkan parameter elipsoid, meridian tengah, faktor skala, dan banyak konstanta—rawan salah bila ditulis manual. Untuk kebutuhan ini, lebih aman dan cepat memakai alat khusus seperti transformasi koordinat online atau perangkat GIS seperti yang dibahas di transformasi koordinat dengan Global Mapper.
Catatan Sintaks
Contoh di atas memakai VBA Excel. Logika yang sama berlaku di VB.NET atau VB6 dengan sedikit perbedaan penulisan. Untuk memahami sistem koordinat yang Anda konversi, lihat perbedaan koordinat geografis, UTM, dan TM-3. Dengan sedikit VBA, tugas konversi koordinat massal yang tadinya melelahkan bisa selesai dalam hitungan detik.