diff --git a/bondoman/app/src/main/AndroidManifest.xml b/bondoman/app/src/main/AndroidManifest.xml
index c20e85f0e0048f7fa46aeb724a8712a36ea795f4..8c247b9c0976e8c5eb0f3e6e0a7e2252ebd84faf 100644
--- a/bondoman/app/src/main/AndroidManifest.xml
+++ b/bondoman/app/src/main/AndroidManifest.xml
@@ -1,14 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools">
+    xmlns:tools="http://schemas.android.com/tools" >
 
-    <uses-feature android:name="android.hardware.camera.any"/>
+    <uses-feature android:name="android.hardware.camera.any" />
 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
-    <uses-permission android:name="android.permission.CAMERA"/>
-
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.CAMERA" />
     <uses-permission android:name="android.permission.INTERNET" />
 
     <application
@@ -21,20 +20,28 @@
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
         android:theme="@style/Theme.Bondoman"
-        tools:targetApi="31">
+        tools:targetApi="31" >
+        <receiver
+            android:name=".utils.RandomizeTransaction"
+            android:enabled="true"
+            android:exported="false" >
+            <intent-filter>
+                <action android:name="com.example.bondoman.RANDOMIZE_TRANSACTION" />
+            </intent-filter>
+        </receiver>
+
         <activity
             android:name=".LoginPage"
-            android:screenOrientation="sensor"
-            android:exported="false" />
-
+            android:exported="false"
+            android:screenOrientation="sensor" />
         <activity
             android:name=".MainActivity"
-            android:screenOrientation="sensor"
-            android:exported="true"/>
+            android:exported="true"
+            android:screenOrientation="sensor" />
         <activity
-                android:name=".SplashScreen"
-                android:screenOrientation="sensor"
-                android:exported="true">
+            android:name=".SplashScreen"
+            android:exported="true"
+            android:screenOrientation="sensor" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 
@@ -42,15 +49,16 @@
             </intent-filter>
         </activity>
 
-        <service android:name=".utils.CheckExpiryToken"
+        <service
+            android:name=".utils.CheckExpiryToken"
             android:enabled="true"
-            android:exported="false"  />
+            android:exported="false" />
 
         <provider
             android:name="androidx.core.content.FileProvider"
             android:authorities="${applicationId}.provider"
             android:exported="false"
-            android:grantUriPermissions="true">
+            android:grantUriPermissions="true" >
             <meta-data
                 android:name="android.support.FILE_PROVIDER_PATHS"
                 android:resource="@xml/file_paths" />
diff --git a/bondoman/app/src/main/java/com/example/bondoman/AddTransactionPage.kt b/bondoman/app/src/main/java/com/example/bondoman/AddTransactionPage.kt
index c1792b4d1c155a4d2c5372dc85522ba59382cb66..49d012958c8cae56b38acd3df81ba72712493044 100644
--- a/bondoman/app/src/main/java/com/example/bondoman/AddTransactionPage.kt
+++ b/bondoman/app/src/main/java/com/example/bondoman/AddTransactionPage.kt
@@ -1,5 +1,9 @@
 package com.example.bondoman
 
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.content.IntentFilter
 import android.os.Bundle
 import android.util.Log
 import android.view.View
@@ -10,12 +14,14 @@ import android.widget.RadioButton
 import android.widget.RadioGroup
 import androidx.core.content.ContentProviderCompat
 import androidx.fragment.app.FragmentTransaction
+import androidx.localbroadcastmanager.content.LocalBroadcastManager
 import com.example.bondoman.retrofit.Retrofit
 import com.example.bondoman.retrofit.endpoint.EndpointCheckExpiry
 import com.example.bondoman.retrofit.request.CheckExpiryRequest
 import com.example.bondoman.room.Transaction
 import com.example.bondoman.room.TransactionDB
 import com.example.bondoman.utils.AuthManager
+import com.example.bondoman.utils.RandomizeTransaction
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.launch
@@ -48,6 +54,8 @@ class AddTransactionPage : Fragment(R.layout.fragment_add_transaction) {
     private lateinit var field_lokasi: EditText
     val db by lazy { TransactionDB(requireContext()) }
 
+    private val randomizeReceiver = RandomizeTransaction()
+
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
@@ -57,12 +65,26 @@ class AddTransactionPage : Fragment(R.layout.fragment_add_transaction) {
         field_kategori = view.findViewById(R.id.field_kategori) as RadioGroup
         field_lokasi = view.findViewById(R.id.field_lokasi) as EditText
 
+        if (RandomizeTransaction.shouldRandomizePrice) field_nominal.setText(RandomizeTransaction.randomPrice.toString())
         setUpListener()
+        RandomizeTransaction.shouldRandomizePrice = false
     }
 //    fun showToast(message: String) {
 //        Toast.makeText(requireContext(), message, Toast.LENGTH_SHORT).show()
 //    }
 
+    override fun onResume() {
+        super.onResume()
+        LocalBroadcastManager.getInstance(requireContext())
+            .registerReceiver(randomizeReceiver, IntentFilter("com.example.bondoman.RANDOMIZE_TRANSACTION"))
+    }
+
+    override fun onPause() {
+        super.onPause()
+        LocalBroadcastManager.getInstance(requireContext()).unregisterReceiver(randomizeReceiver)
+    }
+
+
 
     private fun setUpListener() {
         add_button.setOnClickListener {
@@ -81,6 +103,7 @@ class AddTransactionPage : Fragment(R.layout.fragment_add_transaction) {
 
                     val payloadJson = JSONObject(String(payload, StandardCharsets.UTF_8))
                     Log.d("Main Activity", "payloadJson ${payloadJson}")
+
                     db.transactionDao().addTransaction(
                         Transaction(
                             0,
@@ -104,4 +127,10 @@ class AddTransactionPage : Fragment(R.layout.fragment_add_transaction) {
         }
     }
 
+    override fun onDestroyView() {
+        super.onDestroyView()
+        // Ensure the receiver is unregistered when the fragment is destroyed
+        LocalBroadcastManager.getInstance(requireContext()).unregisterReceiver(randomizeReceiver)
+    }
+
 }
diff --git a/bondoman/app/src/main/java/com/example/bondoman/SettingsPage.kt b/bondoman/app/src/main/java/com/example/bondoman/SettingsPage.kt
index 04782cf2844d139c6faa1f864af17fc5ee7b80ef..83e668c2dcd1f31bfea077f1d8e29bbcf0c1dd61 100644
--- a/bondoman/app/src/main/java/com/example/bondoman/SettingsPage.kt
+++ b/bondoman/app/src/main/java/com/example/bondoman/SettingsPage.kt
@@ -3,6 +3,7 @@ package com.example.bondoman
 import android.app.AlertDialog
 import android.content.Context
 import android.content.Intent
+import android.content.IntentFilter
 import android.net.Uri
 import android.os.Bundle
 import android.os.Environment
@@ -15,11 +16,13 @@ import android.widget.Button
 import android.widget.Toast
 import androidx.core.content.FileProvider
 import androidx.lifecycle.lifecycleScope
+import androidx.localbroadcastmanager.content.LocalBroadcastManager
 import com.example.bondoman.room.Transaction
 import com.example.bondoman.room.TransactionDB
 import com.example.bondoman.room.TransactionRepository
 import com.example.bondoman.room.TransactionRepositoryImplement
 import com.example.bondoman.utils.AuthManager
+import com.example.bondoman.utils.RandomizeTransaction
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
@@ -29,10 +32,12 @@ import java.io.File
 import java.io.FileOutputStream
 import java.text.SimpleDateFormat
 import java.util.Base64
+import kotlin.random.Random
 
 class SettingsPage : Fragment() {
     val db by lazy { TransactionDB(requireContext()) }
     private lateinit var transactionRepository: TransactionRepository
+    private val randomizeReceiver = RandomizeTransaction()
 
 
     override fun onCreate(savedInstanceState: Bundle?) {
@@ -51,7 +56,6 @@ class SettingsPage : Fragment() {
         super.onViewCreated(view, savedInstanceState)
         initAction()
     }
-
     fun initAction(){
         val logout_button = view?.findViewById<Button>(R.id.logout_button)
         logout_button?.setOnClickListener {
@@ -65,8 +69,25 @@ class SettingsPage : Fragment() {
         send_button?.setOnClickListener {
             export(".xlsx", true)
         }
+
+        val randomize_button = view?.findViewById<Button>(R.id.randomize_button)
+        randomize_button?.setOnClickListener {
+            randomizeTransaction()
+        }
+    }
+
+    override fun onResume() {
+        super.onResume()
+        LocalBroadcastManager.getInstance(requireContext())
+            .registerReceiver(randomizeReceiver, IntentFilter("com.example.bondoman.RANDOMIZE_TRANSACTION"))
     }
 
+    override fun onPause() {
+        super.onPause()
+        LocalBroadcastManager.getInstance(requireContext()).unregisterReceiver(randomizeReceiver)
+    }
+
+
     private fun showExtDialog() {
         val builder = AlertDialog.Builder(requireContext())
         val inflater = requireActivity().layoutInflater
@@ -202,4 +223,27 @@ class SettingsPage : Fragment() {
             activity?.finish()
         }
     }
+
+    fun randomizeTransaction(){
+        val randomPrice = Random.nextInt(10000)
+
+        val intent = Intent("com.example.bondoman.RANDOMIZE_TRANSACTION").apply {
+            putExtra("randomPrice", randomPrice)
+        }
+
+        LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent)
+        replaceFragment(AddTransactionPage(), HeaderTransaction())
+    }
+
+    fun replaceFragment(fragment: Fragment, headerFragment: Fragment) {
+        val transaction = parentFragmentManager.beginTransaction()
+        transaction.replace(R.id.frame_layout, fragment)
+        transaction.commit()
+
+        val headerTransaction = parentFragmentManager.beginTransaction()
+        headerTransaction.replace(R.id.header_layout, headerFragment)
+        headerTransaction.commit()
+    }
+
+
 }
\ No newline at end of file
diff --git a/bondoman/app/src/main/java/com/example/bondoman/utils/RandomizeTransaction.kt b/bondoman/app/src/main/java/com/example/bondoman/utils/RandomizeTransaction.kt
new file mode 100644
index 0000000000000000000000000000000000000000..d32b675fdf2c871d947c74b0e659365684730149
--- /dev/null
+++ b/bondoman/app/src/main/java/com/example/bondoman/utils/RandomizeTransaction.kt
@@ -0,0 +1,18 @@
+package com.example.bondoman.utils
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.util.Log
+
+class RandomizeTransaction : BroadcastReceiver() {
+
+    companion object {
+        var shouldRandomizePrice = false
+        var randomPrice:Int? = null
+    }
+    override fun onReceive(context: Context, intent: Intent) {
+        randomPrice = intent.getIntExtra("randomPrice", 0)
+        shouldRandomizePrice = true
+    }
+}
\ No newline at end of file
diff --git a/bondoman/app/src/main/res/layout/fragment_settings_page.xml b/bondoman/app/src/main/res/layout/fragment_settings_page.xml
index 12d961d881b38c0ebdbed6d7363da95c8e2a6b62..edecea867bd60d8315b8bbb2008231c583c0d5cc 100644
--- a/bondoman/app/src/main/res/layout/fragment_settings_page.xml
+++ b/bondoman/app/src/main/res/layout/fragment_settings_page.xml
@@ -53,6 +53,24 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@+id/save_button" />
 
+    <Button
+        android:id="@+id/randomize_button"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/save_button"
+        android:layout_marginStart="30dp"
+        android:layout_marginTop="20dp"
+        android:layout_marginEnd="30dp"
+        android:background="@drawable/custom_button"
+        android:fontFamily="@font/font_poppins"
+        android:text="Tumbas Karepe"
+        android:textAllCaps="false"
+        android:textColor="@color/white"
+        android:textSize="16dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/send_button" />
+
     <Button
         android:id="@+id/logout_button"
         android:layout_width="match_parent"
@@ -69,6 +87,6 @@
         android:textSize="16dp"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/send_button" />
+        app:layout_constraintTop_toBottomOf="@+id/randomize_button" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file