diff --git a/app/src/main/java/com/example/bondoman/adapter/TransactionListAdapter.kt b/app/src/main/java/com/example/bondoman/adapter/TransactionListAdapter.kt
index e37a2be9ad8340150ce60768fbc2e38e4104e2f0..b0ba205fba51770a6adc4809d3bc5390729123a1 100644
--- a/app/src/main/java/com/example/bondoman/adapter/TransactionListAdapter.kt
+++ b/app/src/main/java/com/example/bondoman/adapter/TransactionListAdapter.kt
@@ -13,13 +13,14 @@ import androidx.recyclerview.widget.RecyclerView
 import com.example.bondoman.R
 import com.example.bondoman.activities.EditTransaction
 import com.example.bondoman.entities.Transaction
+import com.example.bondoman.lib.SecurePreferences
 import com.example.bondoman.viewModels.TransactionsViewModel
 import java.text.SimpleDateFormat
 import java.time.LocalDate
 import java.time.format.DateTimeFormatter
 import java.util.Locale
 
-class TransactionListAdapter(private val transactions : TransactionsViewModel, private val startEditIntent: (Intent) -> Unit) : ListAdapter<Transaction, TransactionListAdapter.TransactionViewHolder>(TransactionComparator()) {
+class TransactionListAdapter(private val transactions : TransactionsViewModel, private val startEditIntent: (Intent) -> Unit, securePreferences: SecurePreferences) : ListAdapter<Transaction, TransactionListAdapter.TransactionViewHolder>(TransactionComparator()) {
 
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TransactionViewHolder {
         return TransactionViewHolder.create(parent, transactions, startEditIntent)
diff --git a/app/src/main/java/com/example/bondoman/fragments/GrafFragment.kt b/app/src/main/java/com/example/bondoman/fragments/GrafFragment.kt
index caeb1bd6a6915ba89bce214f23d152a369b8e0ed..c81b5a2e52e0a29d08cb39b127ef2a50e77f48e5 100644
--- a/app/src/main/java/com/example/bondoman/fragments/GrafFragment.kt
+++ b/app/src/main/java/com/example/bondoman/fragments/GrafFragment.kt
@@ -11,6 +11,7 @@ import com.example.bondoman.database.TransactionDatabase
 import com.example.bondoman.databinding.FragmentGrafBinding
 import com.example.bondoman.entities.Transaction
 import com.example.bondoman.lib.ITransactionGraphAdapter
+import com.example.bondoman.lib.SecurePreferences
 import com.example.bondoman.lib.TransactionPieChartAdapter
 import com.example.bondoman.repositories.TransactionRepository
 import com.example.bondoman.viewModels.TransactionViewModelFactory
@@ -23,13 +24,14 @@ class GrafFragment : Fragment() {
     private var _binding: FragmentGrafBinding? = null
     private val binding get() = _binding!!
     private lateinit var graphAdapter: ITransactionGraphAdapter<PieChart>
+    private lateinit var securePreferences: SecurePreferences
     private val transactionViewModel: TransactionsViewModel by viewModels {
         TransactionViewModelFactory(
             TransactionRepository(
                 TransactionDatabase.getInstance(requireContext(), CoroutineScope(
                     SupervisorJob()
                 )
-                ).transactionDao())
+                ).transactionDao(), securePreferences)
         )
     }
     private lateinit var transactions: List<Transaction>
@@ -37,6 +39,8 @@ class GrafFragment : Fragment() {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         graphAdapter = TransactionPieChartAdapter()
+        securePreferences = SecurePreferences(requireContext())
+        Log.i("EMAIL", securePreferences.getEmail() ?: "KOSONG")
         transactionViewModel.allTransaction.observe(this) {
             transactions = it
         }
diff --git a/app/src/main/java/com/example/bondoman/fragments/ScanFragment.kt b/app/src/main/java/com/example/bondoman/fragments/ScanFragment.kt
index b0af2a122ff926e3fd38d81cd82e22e58fa4d271..d565eb2215871a2db1d0506260902d5cf3a65b36 100644
--- a/app/src/main/java/com/example/bondoman/fragments/ScanFragment.kt
+++ b/app/src/main/java/com/example/bondoman/fragments/ScanFragment.kt
@@ -60,7 +60,7 @@ class ScanFragment : Fragment() {
                 TransactionDatabase.getInstance(requireContext(), CoroutineScope(
                     SupervisorJob()
                 )
-                ).transactionDao())
+                ).transactionDao(), securePreferences)
         )
     }
     private var loadingDialog: Dialog? = null
diff --git a/app/src/main/java/com/example/bondoman/fragments/SettingsFragment.kt b/app/src/main/java/com/example/bondoman/fragments/SettingsFragment.kt
index 982bcc9737e49c2b760f6991af4b8d556a703d83..02b177ade5dfae0e5362742d42830177ffc67b20 100644
--- a/app/src/main/java/com/example/bondoman/fragments/SettingsFragment.kt
+++ b/app/src/main/java/com/example/bondoman/fragments/SettingsFragment.kt
@@ -46,6 +46,7 @@ import java.util.Locale
 class SettingsFragment : Fragment() {
     private var _binding: FragmentSettingsBinding? = null
     private val binding get() = _binding!!
+    private lateinit var securePreferences: SecurePreferences
     private val transactionViewModel: TransactionsViewModel by viewModels {
         TransactionViewModelFactory(
             TransactionRepository(
@@ -54,7 +55,7 @@ class SettingsFragment : Fragment() {
                     CoroutineScope(
                         SupervisorJob()
                     )
-                ).transactionDao()
+                ).transactionDao(), securePreferences
             )
         )
     }
@@ -62,18 +63,19 @@ class SettingsFragment : Fragment() {
     private lateinit var transactions: List<Transaction>
     private lateinit var transactionFileAdapter: ITransactionFileAdapter
     private lateinit var transactionDownloader: TransactionDownloader
-    private lateinit var securePreferences: SecurePreferences
     private val XLSX_MIME_TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
     private val XLS_MIME_TYPE = "application/vnd.ms-excel"
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        securePreferences = SecurePreferences(requireContext())
         transactionViewModel.allTransaction.observe(this) {
             transactions = it
         }
         transactionFileAdapter = TransactionExcelAdapter()
         transactionDownloader = TransactionDownloader()
         authRepository =  AuthRepository(SecurePreferences(requireContext()))
+
     }
 
     override fun onCreateView(
diff --git a/app/src/main/java/com/example/bondoman/fragments/TransaksiFragment.kt b/app/src/main/java/com/example/bondoman/fragments/TransaksiFragment.kt
index 01244ec2ef1814a277bcf9a211784ff33584bb4f..637784ae3200acad88f00fc414faf1387aa73ded 100644
--- a/app/src/main/java/com/example/bondoman/fragments/TransaksiFragment.kt
+++ b/app/src/main/java/com/example/bondoman/fragments/TransaksiFragment.kt
@@ -18,6 +18,7 @@ import com.example.bondoman.activities.EditTransaction
 import com.example.bondoman.adapter.TransactionListAdapter
 import com.example.bondoman.database.TransactionDatabase
 import com.example.bondoman.entities.Transaction
+import com.example.bondoman.lib.SecurePreferences
 import com.example.bondoman.repositories.TransactionRepository
 import com.example.bondoman.viewModels.TransactionViewModelFactory
 import com.example.bondoman.viewModels.TransactionsViewModel
@@ -30,18 +31,20 @@ class TransaksiFragment : Fragment() {
     private lateinit var adapter: TransactionListAdapter
     private val newTransactionRequestCode = 1
     private val editTransactionRequestCode = 2
+    private lateinit var securePreferences: SecurePreferences
     private val wordViewModel: TransactionsViewModel by viewModels {
         TransactionViewModelFactory(
             TransactionRepository(
                 TransactionDatabase.getInstance(requireContext(), CoroutineScope(
             SupervisorJob()
         )
-        ).transactionDao())
+        ).transactionDao(), securePreferences)
         )
     }
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        securePreferences = SecurePreferences(requireContext())
     }
 
 
@@ -53,7 +56,7 @@ class TransaksiFragment : Fragment() {
 
 
         val recyclerView: RecyclerView = view.findViewById(R.id.recycler_view)
-        adapter = TransactionListAdapter(wordViewModel, ::itemEditRequest)
+        adapter = TransactionListAdapter(wordViewModel, ::itemEditRequest, securePreferences)
         recyclerView.layoutManager = LinearLayoutManager(requireContext())
         recyclerView.adapter = adapter
 
@@ -91,7 +94,7 @@ class TransaksiFragment : Fragment() {
                 amount = amount,
                 location = location,
                 date = Date(),
-                userEmail = "testing"
+                userEmail = securePreferences.getEmail() ?: ""
             )
             wordViewModel.insert(transaction)
         } else if (requestCode == editTransactionRequestCode && resultCode == Activity.RESULT_OK) {
diff --git a/app/src/main/java/com/example/bondoman/interfaces/ITransactionDao.kt b/app/src/main/java/com/example/bondoman/interfaces/ITransactionDao.kt
index a7502af0b3eb7bd154f2e6f7a16e8d73ba4e9a10..4c21ee91af898bd67eeba11bcd7192607811cf8c 100644
--- a/app/src/main/java/com/example/bondoman/interfaces/ITransactionDao.kt
+++ b/app/src/main/java/com/example/bondoman/interfaces/ITransactionDao.kt
@@ -13,7 +13,7 @@ import kotlinx.coroutines.flow.Flow
 
 @Dao
 interface ITransactionDao {
-    @Query("SELECT * FROM transactions WHERE userEmail = :userEmail OR userEmail != :userEmail ORDER BY date DESC")
+    @Query("SELECT * FROM transactions WHERE userEmail = :userEmail ORDER BY date DESC")
     fun getAll(userEmail : String): Flow<List<Transaction>>
     @Insert(onConflict = OnConflictStrategy.IGNORE)
     suspend fun insert(transaction: Transaction)
diff --git a/app/src/main/java/com/example/bondoman/repositories/TransactionRepository.kt b/app/src/main/java/com/example/bondoman/repositories/TransactionRepository.kt
index f6d0e13f6a8398012bd0f97d05ba03fd092afa1d..2ee2b3dbfb4a0412d887d8103e3cce9141ba1f8a 100644
--- a/app/src/main/java/com/example/bondoman/repositories/TransactionRepository.kt
+++ b/app/src/main/java/com/example/bondoman/repositories/TransactionRepository.kt
@@ -3,10 +3,11 @@ package com.example.bondoman.repositories
 import androidx.annotation.WorkerThread
 import com.example.bondoman.entities.Transaction
 import com.example.bondoman.interfaces.ITransactionDao
+import com.example.bondoman.lib.SecurePreferences
 import kotlinx.coroutines.flow.Flow
 
-class TransactionRepository(private val transactionDao: ITransactionDao) {
-    val allTransaction : Flow<List<Transaction>> = transactionDao.getAll("testing")
+class TransactionRepository(private val transactionDao: ITransactionDao, securePreferences: SecurePreferences) {
+    val allTransaction : Flow<List<Transaction>> = transactionDao.getAll(securePreferences.getEmail() ?: "")
 
     @Suppress("RedundantSuspendModifier")
     @WorkerThread