diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 134140e48207243b53b1849046752bd230022e5b..09c062799ef54a9e81ecb4bc85c2f933e658a260 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,11 +2,11 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
 
-    <uses-permission android:name="android.permission.INTERNET"/>
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
-    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 
     <application
         android:name=".BondowowoApp"
@@ -22,7 +22,11 @@
         <activity
             android:name=".MainActivity"
             android:exported="false"
-            android:theme="@style/AppTheme.NoActionBar"/>
+            android:theme="@style/AppTheme.NoActionBar" />
+        <activity
+            android:name=".ui.transaction.TransactionActivity"
+            android:exported="false"
+            android:theme="@style/AppTheme.NoActionBar" />
         <activity
             android:name=".LoginActivity"
             android:exported="true"
diff --git a/app/src/main/java/com/atm/bondowowo/BondowowoApp.kt b/app/src/main/java/com/atm/bondowowo/BondowowoApp.kt
index c52591accbab03846ed52308e2396d774068895a..b3bf28ecf14175afe24cd093bbcdd92be8ac813d 100644
--- a/app/src/main/java/com/atm/bondowowo/BondowowoApp.kt
+++ b/app/src/main/java/com/atm/bondowowo/BondowowoApp.kt
@@ -23,12 +23,12 @@ class BondowowoApp : Application() {
             }
 
             override fun onTokenInvalid() {
-                val intent = Intent(context, LoginActivity::class.java)
-                intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
-                context.startActivity(intent)
-                if (context is Activity) {
-                    context.finish()
-                }
+//                val intent = Intent(context, LoginActivity::class.java)
+//                intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
+//                context.startActivity(intent)
+//                if (context is Activity) {
+//                    context.finish()
+//                }
             }
 
             override fun onNetworkError() {
diff --git a/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionActivity.kt b/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionActivity.kt
index 1249c07397ce1cc4ac6003679346cc8e22040369..1c5bb6d557559979b1bd78dfa4e37e928cc4665c 100644
--- a/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionActivity.kt
+++ b/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionActivity.kt
@@ -3,32 +3,35 @@ package com.atm.bondowowo.ui.transaction
 import android.content.Intent
 import android.os.Bundle
 import androidx.appcompat.app.AppCompatActivity
+import com.atm.bondowowo.MainActivity
 import com.atm.bondowowo.R
-import com.atm.bondowowo.ui.transaction.TransactionFragment.TransactionInteractionListener
 
-class TransactionActivity : AppCompatActivity(), TransactionInteractionListener {
+class TransactionActivity : AppCompatActivity(), TransactionInputFragment.TransactionInputListener {
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
-        setContentView(R.layout.fragment_transaction)
+        setContentView(R.layout.activity_transaction)
 
-        val fragment = TransactionFragment()
-        fragment.setListener(this)
+        val transactionInputFragment = TransactionInputFragment()
+
+        // Get the id passed from the intent
+        val id = intent.getIntExtra("id", -1)
+
+        // Pass the id to the fragment
+        val args = Bundle().apply {
+            putInt("id", id)
+        }
+        transactionInputFragment.arguments = args
+
+        transactionInputFragment.setListener(this)
 
         supportFragmentManager.beginTransaction()
-            .replace(R.id.transactionFragment, fragment)
+            .add(R.id.fragment_container, transactionInputFragment)
             .commit()
     }
 
-    override fun onTransactionItemClick(transactionId: Int?) {
-        val intent = Intent(this, TransactionInputFragment::class.java)
-        intent.putExtra("id", transactionId)
-        startActivity(intent)
-    }
-
-    override fun onAddTransactionButtonClick() {
-        // Navigasi ke TransactionInputFragment
-        val intent = Intent(this, TransactionInputFragment::class.java)
-        startActivity(intent)
+    override fun onTransactionSubmitted() {
+        startActivity(Intent(this, MainActivity::class.java))
+        finish()
     }
 }
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 5029176ffec9b6f68c60a5372a4915638f6607fb..41cf1c5c2db8ea686a7729b483d2aa315a0d3f77 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
@@ -2,6 +2,7 @@ package com.atm.bondowowo.ui.transaction
 
 import android.app.AlertDialog
 import android.content.DialogInterface
+import android.content.Intent
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
@@ -17,13 +18,7 @@ import com.atm.bondowowo.data.entity.Transaction
 import com.google.android.material.floatingactionbutton.FloatingActionButton
 
 
-
 class TransactionFragment : Fragment() {
-    override fun onCreateView(
-        inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
-    ): View? {
-        return inflater.inflate(R.layout.fragment_transaction, container, false)
-    }
 
     private lateinit var recyclerView: RecyclerView
     private lateinit var fab: FloatingActionButton
@@ -37,9 +32,6 @@ class TransactionFragment : Fragment() {
         fun onAddTransactionButtonClick()
     }
 
-    fun setListener(listener: TransactionInteractionListener) {
-        this.listener = listener
-    }
 
     override fun onCreateView(
         inflater: LayoutInflater,
@@ -58,17 +50,20 @@ class TransactionFragment : Fragment() {
             override fun onClick(position: Int) {
                 val dialog = AlertDialog.Builder(requireContext())
                 dialog.setTitle(list[position].nama)
-                dialog.setItems(R.array.transaction_option,
-                    DialogInterface.OnClickListener { dialog, which ->
-                        if (which == 0) {
-                            listener.onTransactionItemClick(list[position].id)
-                        } else if (which == 1) {
-                            database.transactionDao().delete(list[position])
-                            getData()
-                        } else {
-                            dialog.dismiss()
-                        }
-                    })
+                dialog.setItems(R.array.transaction_option
+                ) { dialog, which ->
+                    if (which == 0) {
+                        val intent =
+                            Intent(requireContext(), TransactionActivity::class.java)
+                        intent.putExtra("id", list[position].id)
+                        startActivity(intent)
+                    } else if (which == 1) {
+                        database.transactionDao().delete(list[position])
+                        getData()
+                    } else {
+                        dialog.dismiss()
+                    }
+                }
                 val dialogView = dialog.create()
                 dialogView.show()
             }
@@ -81,7 +76,7 @@ class TransactionFragment : Fragment() {
         )
 
         fab.setOnClickListener {
-            listener.onAddTransactionButtonClick()
+            startActivity(Intent(requireContext(), TransactionActivity::class.java))
         }
 
         return view
diff --git a/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionInputFragment.kt b/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionInputFragment.kt
index 92f03587636e2c9b1d8a0d16bf3c2b8572b6ad18..4ecbf1f361e9c6b6fe717426b67a2f6a5172b1e3 100644
--- a/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionInputFragment.kt
+++ b/app/src/main/java/com/atm/bondowowo/ui/transaction/TransactionInputFragment.kt
@@ -1,6 +1,8 @@
 package com.atm.bondowowo.ui.transaction
 
+import android.content.Intent
 import android.os.Bundle
+import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
@@ -9,6 +11,7 @@ import android.widget.EditText
 import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.navigation.fragment.findNavController
+import com.atm.bondowowo.MainActivity
 import com.atm.bondowowo.R
 import com.atm.bondowowo.data.AppDatabase
 import com.atm.bondowowo.data.entity.Transaction
@@ -21,8 +24,17 @@ class TransactionInputFragment : Fragment() {
     private lateinit var lokasi_transaksi: EditText
     private lateinit var btnSave: Button
     private lateinit var database: AppDatabase
+    private lateinit var listener: TransactionInputListener
 
-    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+    interface TransactionInputListener {
+        fun onTransactionSubmitted()
+    }
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View? {
         val view = inflater.inflate(R.layout.fragment_transaction_input, container, false)
 
         nama_transaksi = view.findViewById(R.id.nama_transaksi)
@@ -68,7 +80,7 @@ class TransactionInputFragment : Fragment() {
                             lokasi_transaksi.text.toString()
                         )
                     )
-                    findNavController().navigate(R.id.action_transactionInputFragment_to_transactionFragment)
+                    listener.onTransactionSubmitted()
                 }
             } else {
                 Toast.makeText(requireContext(), "Input invalid", Toast.LENGTH_SHORT).show()
@@ -77,4 +89,8 @@ class TransactionInputFragment : Fragment() {
 
         return view
     }
+
+    fun setListener(listener: TransactionInputListener) {
+        this.listener = listener
+    }
 }
diff --git a/app/src/main/res/layout/activity_transaction.xml b/app/src/main/res/layout/activity_transaction.xml
new file mode 100644
index 0000000000000000000000000000000000000000..35e6cbbe24299f460262a5be1d9c819b1cc66a45
--- /dev/null
+++ b/app/src/main/res/layout/activity_transaction.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/fragment_container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    <!-- Other layout elements for the Activity -->
+</FrameLayout>
\ No newline at end of file