diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index caf528e4ba794d6a973e64253ceca3c672fe6b5b..1332daba8108a151989a0ad68341ece09f1de182 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,15 @@
         </provider>
 
 
+
+
     </application>
 
+    <queries>
+        <intent>
+            <action android:name="android.intent.action.VIEW" />
+            <data android:scheme="geo" />
+        </intent>
+    </queries>
+
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionFragment.kt b/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionFragment.kt
index 024da2b21172c97f0151b5abb55d0d77ccbcb314..90ec75d3e7f9caf5bff20761ed898281cb5e80ea 100644
--- a/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionFragment.kt
+++ b/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionFragment.kt
@@ -14,6 +14,7 @@ import com.atm.bondowowo.R
 import com.atm.bondowowo.adapter.TransactionAdapter
 import com.atm.bondowowo.data.local.database.AppDatabase
 import com.atm.bondowowo.data.local.entity.TransactionEntity
+import com.atm.bondowowo.utils.GoogleMapsUtil
 import com.google.android.material.floatingactionbutton.FloatingActionButton
 
 
@@ -60,7 +61,15 @@ class TransactionFragment : Fragment() {
                     } else if (which == 1) {
                         database.transactionDao().delete(list[position])
                         getData()
-                    } else {
+                    }
+                    else if(which == 2){
+                        list[position].id?.let {
+                            GoogleMapsUtil.openGoogleMaps(requireContext(),
+                                it
+                            )
+                        }
+                    }
+                    else {
                         dialog.dismiss()
                     }
                 }
diff --git a/app/src/main/java/com/atm/bondowowo/utils/GoogleMapsUtil.kt b/app/src/main/java/com/atm/bondowowo/utils/GoogleMapsUtil.kt
new file mode 100644
index 0000000000000000000000000000000000000000..9fa8b4bfa1bac599c529b407664ea1dfe277fe99
--- /dev/null
+++ b/app/src/main/java/com/atm/bondowowo/utils/GoogleMapsUtil.kt
@@ -0,0 +1,35 @@
+package com.atm.bondowowo.utils
+
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
+import android.widget.Toast
+import com.atm.bondowowo.data.local.database.AppDatabase
+import com.atm.bondowowo.data.local.entity.TransactionEntity
+
+object GoogleMapsUtil {
+
+    fun openGoogleMaps(context: Context, transactionId: Int) {
+        val database = AppDatabase.getInstance(context.applicationContext)
+        val destinationName = getDestinationNameFromDatabase(database, transactionId)
+
+        if (!destinationName.isNullOrEmpty()) {
+            val uri = Uri.parse("geo:0,0?q=$destinationName")
+            val mapIntent = Intent(Intent.ACTION_VIEW, uri)
+            mapIntent.setPackage("com.google.android.apps.maps")
+
+            if (mapIntent.resolveActivity(context.packageManager) != null) {
+                context.startActivity(mapIntent)
+            } else {
+                 Toast.makeText(context, "Google Maps app not found", Toast.LENGTH_SHORT).show()
+            }
+        } else {
+             Toast.makeText(context, "Destination not found", Toast.LENGTH_SHORT).show()
+        }
+    }
+
+    private fun getDestinationNameFromDatabase(database: AppDatabase, transactionId: Int): String? {
+        val transaction: TransactionEntity? = database.transactionDao().get(transactionId)
+        return transaction?.lokasi
+    }
+}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 99ab9a4ca9140f4938bdb47c93f4242692426563..8f1fe466582ed06765f13edd885a7a4c34aba4bf 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -10,6 +10,7 @@
     <string-array name="transaction_option">
         <item>Edit</item>
         <item>Delete</item>
+        <item>Open in maps</item>
         <item>Cancel</item>
     </string-array>
 </resources>
\ No newline at end of file