diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f1ec3ca3962e81c27a5cfc2d2f70cc2cf38411e2..0b78d2b7b1cddcddc0f58b869aa4375484304144 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -22,6 +22,15 @@
             android:permission="android.permission.INTERNET">
         </service>
 
+        <receiver
+            android:name=".ui.transactions.TransactionsBroadcastReceiver"
+            android:enabled="true"
+            android:exported="false">
+            <intent-filter>
+                <action android:name="com.BondoYap.transactions.randomize" />
+            </intent-filter>
+        </receiver>
+
         <activity
             android:name=".ui.login.LoginActivity"
             android:screenOrientation="portrait"
@@ -38,6 +47,8 @@
             android:exported="true">
         </activity>
 
+
+
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoyap/service/api/Constants.kt b/app/src/main/java/com/example/bondoyap/service/api/Constants.kt
index 76fb345217e505ad47427a35808c9e2a256b86ef..897daedea631dae9a33ff6c0eca3671394eb39df 100644
--- a/app/src/main/java/com/example/bondoyap/service/api/Constants.kt
+++ b/app/src/main/java/com/example/bondoyap/service/api/Constants.kt
@@ -3,4 +3,5 @@ package com.example.bondoyap.service.api
 object Constants {
     const val BASE_URL: String = "https://pbd-backend-2024.vercel.app/api/"
     const val SHARED_PREFS_NAME = "BondoYap"
+    const val ACTION_RANDOMIZE_TRANSACTIONS = "com.BondoYap.transactions.randomize"
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt b/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt
index 8018684cc1dabee268479d5c16e1e2029ee1dba6..6835e7ef6031f01445a21a2f40fb95665ac99041 100644
--- a/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt
@@ -2,6 +2,7 @@ package com.example.bondoyap.ui.settings
 
 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 +10,7 @@ import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
 import com.example.bondoyap.databinding.FragmentSettingsBinding
+import com.example.bondoyap.service.api.Constants.ACTION_RANDOMIZE_TRANSACTIONS
 import com.example.bondoyap.ui.login.LoginActivity
 
 class SettingsFragment : Fragment() {
@@ -60,7 +62,12 @@ class SettingsFragment : Fragment() {
 
         randomButton.setOnClickListener {
             Toast.makeText(appContext, "Membuat transaksi random ...", Toast.LENGTH_SHORT).show()
-            //todo
+
+            val intent = Intent(ACTION_RANDOMIZE_TRANSACTIONS)
+            intent.putExtra("message", "Randomize from setting!")
+            requireContext().sendBroadcast(intent)
+
+            Log.d("BroadcastDebug", "Sending broadcast from SettingsFragment")
         }
 
         saveButton.setOnClickListener{
diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsBroadcastReceiver.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsBroadcastReceiver.kt
new file mode 100644
index 0000000000000000000000000000000000000000..f2d37566bed4a1ac0d4d4e2ef9f0e6099a775010
--- /dev/null
+++ b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsBroadcastReceiver.kt
@@ -0,0 +1,19 @@
+package com.example.bondoyap.ui.transactions
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.util.Log
+import android.widget.Toast
+
+class TransactionsBroadcastReceiver : BroadcastReceiver() {
+    override fun onReceive(context: Context?, intent: Intent?) {
+        Log.d("BroadcastDebug", "onReceive")
+
+        val message = intent?.getStringExtra("message")
+        if (message != null) {
+            Log.d("BroadcastDebug", message)
+        }
+        Toast.makeText(context?.applicationContext, "Received message: $message", Toast.LENGTH_SHORT).show()
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsFragment.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsFragment.kt
index b8cbc5f6ddde72493ea3dc5d9e81c53015e6557e..29a85c939d979b4c8706088f6c0021956fb5b0e3 100644
--- a/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsFragment.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsFragment.kt
@@ -1,6 +1,8 @@
 package com.example.bondoyap.ui.transactions
 
+import android.content.IntentFilter
 import android.os.Bundle
+import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
@@ -8,15 +10,26 @@ import android.widget.TextView
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
 import com.example.bondoyap.databinding.FragmentTransactionsBinding
+import com.example.bondoyap.service.api.Constants.ACTION_RANDOMIZE_TRANSACTIONS
 
 class TransactionsFragment : Fragment() {
 
     private var _binding: FragmentTransactionsBinding? = null
 
-    // This property is only valid between onCreateView and
-    // onDestroyView.
     private val binding get() = _binding!!
 
+    private val receiver = TransactionsBroadcastReceiver()
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        registerReceiver()
+    }
+
+    override fun onDestroy() {
+        unregisterReceiver()
+        super.onDestroy()
+    }
+
     override fun onCreateView(
             inflater: LayoutInflater,
             container: ViewGroup?,
@@ -32,11 +45,27 @@ class TransactionsFragment : Fragment() {
         transactionsViewModel.text.observe(viewLifecycleOwner) {
             textView.text = it
         }
+
+
         return root
     }
 
+
     override fun onDestroyView() {
         super.onDestroyView()
         _binding = null
     }
+
+    private fun registerReceiver() {
+        val filter = IntentFilter(ACTION_RANDOMIZE_TRANSACTIONS)
+        requireContext().registerReceiver(receiver, filter)
+    }
+
+    private fun unregisterReceiver() {
+        try {
+            requireContext().unregisterReceiver(receiver)
+        } catch (e: IllegalArgumentException) {
+            Log.d("BroadcastDebug", "Error unregister")
+        }
+    }
 }
\ No newline at end of file