diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/ScanFragment.kt b/app/src/main/java/com/example/if3210_2024_android_aab/ScanFragment.kt
index 89e29428e0af1bb97df6e1609e06bbcf8d8ddc36..a08a30123d13b93559d6e2467412bfddb0f08f80 100644
--- a/app/src/main/java/com/example/if3210_2024_android_aab/ScanFragment.kt
+++ b/app/src/main/java/com/example/if3210_2024_android_aab/ScanFragment.kt
@@ -274,7 +274,8 @@ class ScanFragment : Fragment() {
                                     judul = item.name,
                                     isPemasukan = false,
                                     nominal = item.price,
-                                    lokasi = "Institut Teknologi Bandung"
+                                    lokasi = "Institut Teknologi Bandung",
+                                    email = SharedPreference.getEmail(requireContext())
                                 )
                                 transactionViewModel.insert(tr)
 //                                val replyIntent = Intent()
diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/Transaction.kt b/app/src/main/java/com/example/if3210_2024_android_aab/Transaction.kt
index 3f544bc87710be478616b5f21533c307df0767d7..d7314dffecc48b475ed376314f40e247639baba0 100644
--- a/app/src/main/java/com/example/if3210_2024_android_aab/Transaction.kt
+++ b/app/src/main/java/com/example/if3210_2024_android_aab/Transaction.kt
@@ -18,7 +18,9 @@ data class Transaction(@PrimaryKey(autoGenerate = true) private val id:Int? = nu
                        @ColumnInfo(name = "isPemasukan") private var isPemasukan:Boolean?,
                        @ColumnInfo(name = "nominal") private var nominal:Double?,
                        @ColumnInfo(name = "lokasi") private var lokasi:String?,
-                       @ColumnInfo(name = "date") private var date:String? = LocalDate.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy"))
+                       @ColumnInfo(name = "email") private var email:String?,
+                       @ColumnInfo(name = "date") private var date:String? = LocalDate.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy")
+                       )
 ) {
 
 //    companion object{
@@ -59,6 +61,14 @@ data class Transaction(@PrimaryKey(autoGenerate = true) private val id:Int? = nu
         this.isPemasukan = _isPemasukan
     }
 
+    public fun getEmail():String?{
+        return this.email
+    }
+
+    public fun setEmail(_email:String?){
+        this.email = _email
+    }
+
     public fun getLokasi():String?{
         return this.lokasi
     }
diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionDB.kt b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionDB.kt
index fbe4d3bbbce2e9e895317b24d95641fbbe95f1df..40e696fa438166651cefba4f637ad891c94e3906 100644
--- a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionDB.kt
+++ b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionDB.kt
@@ -47,12 +47,12 @@ public abstract class TransactionDB : RoomDatabase() {
         }
 
         suspend fun populateDB(transactionDao: TransactionDao){
-            transactionDao.deleteAll()
+//            transactionDao.deleteAll()
 
-            var transaction = Transaction(1,"Gaji",true,1000000.0,"Kantor")
+//            var transaction = Transaction(1,"Gaji",true,1000000.0,"Kantor",email = null)
 //            transactionDao.insert(transaction)
 //            transaction = Transaction(2,"Makan",false,20000,"Kantin")
-            transactionDao.insert(transaction)
+//            transactionDao.insert(transaction)
         }
 
     }
diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionFragment.kt b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionFragment.kt
index 0dd652a7fb912129163c04cc5398539a4901be96..3d244899c8bb01687d97dd8e2b2599054424cd03 100644
--- a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionFragment.kt
+++ b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionFragment.kt
@@ -37,11 +37,17 @@ class TransactionFragment : Fragment() {
 
         transactionViewModel.allTransactions.observe(viewLifecycleOwner) {
             transactions -> transactions?.let {
+                var userTransaction: MutableList<Transaction> = ArrayList<Transaction>()
+                for (transaction in it) {
+                    if (!transaction.getEmail()!!.isNullOrBlank() && !SharedPreference.getEmail(requireContext()).isNullOrBlank() && transaction.getEmail()!! == SharedPreference.getEmail(requireContext())) {
+                        userTransaction.add(transaction)
+                    }
+                }
 //                Log.d("TransactionFragment", "Transaction List: "+it.toString())
 //                it.forEach{
 //                    Log.d("TransactionFragment", "Transaction ID: "+it.getId().toString())
 //                }
-                adapter.submitList(it) }
+                adapter.submitList(userTransaction) }
         }
 
         adapter.setOnClickListener(object : TransactionListAdapter.OnClickListener {
@@ -88,7 +94,7 @@ class TransactionFragment : Fragment() {
             val lokasi = data?.getStringExtra(NewTransactionActivity.EXTRA_LOKASI)
             val isPemasukan = data?.getBooleanExtra(NewTransactionActivity.EXTRA_ISPEMASUKAN, false)
             Log.d("TransactionFragment", "judul: $judul nominal: $nominal lokasi: $lokasi isPemasukan: $isPemasukan")
-            val tr = Transaction( judul = judul, isPemasukan = isPemasukan, nominal = nominal, lokasi = lokasi)
+            val tr = Transaction( judul = judul, isPemasukan = isPemasukan, nominal = nominal, lokasi = lokasi, email = SharedPreference.getEmail(requireContext()))
             Log.d("TransactionFragment",tr.toString())
             transactionViewModel.insert(tr)
 
@@ -116,7 +122,7 @@ class TransactionFragment : Fragment() {
         val randomLokasi = "Location ${Random.nextInt(10)}"
         val randomIsPemasukan = Random.nextBoolean()
 
-        val transaction = Transaction(judul = randomJudul, isPemasukan = randomIsPemasukan, nominal = randomNominal, lokasi = randomLokasi)
+        val transaction = Transaction(judul = randomJudul, isPemasukan = randomIsPemasukan, nominal = randomNominal, lokasi = randomLokasi, email = SharedPreference.getEmail(requireContext()))
         transactionViewModel.insert(transaction)
 
         Log.d("TransactionFragment", "Inserted random transaction: $transaction")
diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionListAdapter.kt b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionListAdapter.kt
index 44bedf09c87bc40a7683149226b18f9957bb8ecd..cbbb9910d613123eb64d7d6f8c4e3cbbba811a62 100644
--- a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionListAdapter.kt
+++ b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionListAdapter.kt
@@ -37,14 +37,23 @@ class TransactionListAdapter(val context: Context) : ListAdapter<Transaction, Tr
 
     override fun onBindViewHolder(holder: TransactionViewHolder, position: Int) {
         val current = getItem(position)
-        holder.bindNominal(current.getNominal().toString())
-        holder.bindJudul(current.getJudul())
-        holder.bindLokasi(current.getLokasi())
-        holder.bindDate(current.getDate())
-        holder.bindId(current.getId().toString())
+//        Log.d("TransactionListAdapter",SharedPreference.getEmail(context)!!)
+        if (current.getEmail()!=null &&SharedPreference.getEmail(context)!=null && current.getEmail()!!.equals(SharedPreference.getEmail(context))){
+            holder.bindNominal(current.getNominal().toString())
+            holder.bindJudul(current.getJudul())
+            holder.bindLokasi(current.getLokasi())
+            holder.bindDate(current.getDate())
+            holder.bindId(current.getId().toString())
+            holder.transactionMenuButton.setOnClickListener{
+                if (onClickListener != null){
+                    onClickListener!!.onClick(current)
+                }
+            }
+        }
+
 //        Log.d("TransactionListAdapter", "Transaction ID: "+current.getId().toString())
 //        holder.setTransactionMenuButtonOnClickListener()
-        holder.transactionMenuButton.setOnClickListener{
+//        holder.transactionMenuButton.setOnClickListener{
 //            val popupMenu = PopupMenu(holder.transactionMenuButton.context, holder.transactionMenuButton)
 //            popupMenu.inflate(R.menu.transaction_popup_menu)
 //            popupMenu.setOnMenuItemClickListener { item ->
@@ -72,10 +81,10 @@ class TransactionListAdapter(val context: Context) : ListAdapter<Transaction, Tr
 //                    else -> false
 //                }
 //            }
-            if (onClickListener != null){
-                onClickListener!!.onClick(current)
-            }
-        }
+//            if (onClickListener != null){
+//                onClickListener!!.onClick(current)
+//            }
+//        }
 
         holder.openMapButton.setOnClickListener{
 //            if (onClickMapListener != null){