Pertanahan

Cara Transformasi Koordinat dengan Visual Basic (VBA Excel)

27 Juli 2026·2 menit baca

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.