diff --git a/app/src/main/java/com/example/myapplication/repository/TransactionRepository.kt b/app/src/main/java/com/example/myapplication/repository/TransactionRepository.kt
index 7d089e64f8d103162513767bf89ae119c33be083..cf800c2867b434244e2524015994c91bc30ceb0d 100644
--- a/app/src/main/java/com/example/myapplication/repository/TransactionRepository.kt
+++ b/app/src/main/java/com/example/myapplication/repository/TransactionRepository.kt
@@ -6,6 +6,8 @@ import androidx.lifecycle.MutableLiveData
 import com.example.myapplication.dao.TransactionDao
 import com.example.myapplication.database.TransactionDatabase
 import com.example.myapplication.entities.TransactionEntity
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.withContext
 
 
 class TransactionRepository(context: Context) {
@@ -18,17 +20,29 @@ class TransactionRepository(context: Context) {
         allTransactions = transactionDao.getAllTransactions()
     }
 
-    fun insertTransaction(title: String, nominal: String, kategori: String, lokasi: String, tanggal: String) {
-        val transaction = TransactionEntity(title = title, nominal = nominal, kategori = kategori, lokasi = lokasi, tanggal = tanggal)
-        transactionDao.insertTransaction(transaction)
+    suspend fun insertTransaction(title: String, nominal: String, kategori: String, lokasi: String, tanggal: String){
+        withContext(Dispatchers.IO) {
+            val transaction = TransactionEntity(
+                title = title,
+                nominal = nominal,
+                kategori = kategori,
+                lokasi = lokasi,
+                tanggal = tanggal
+            )
+            transactionDao.insertTransaction(transaction)
+        }
     }
 
-    fun updateTransaction(title: String, nominal: String, kategori: String, id: Int) {
-        // id buat yang mau diupdate data yang mana
-        transactionDao.update(title, nominal, kategori, id)
+    suspend fun updateTransaction(title: String, nominal: String, kategori: String, id: Int) {
+        withContext(Dispatchers.IO) {
+            // id buat yang mau diupdate data yang mana
+            transactionDao.update(title, nominal, kategori, id)
+        }
     }
 
-    fun deleteTransaction(id: Int) {
-        transactionDao.delete(id)
+    suspend fun deleteTransaction(id: Int) {
+        withContext(Dispatchers.IO) {
+            transactionDao.delete(id)
+        }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/myapplication/ui/transactions/TransactionViewModel.kt b/app/src/main/java/com/example/myapplication/ui/transactions/TransactionViewModel.kt
index 0f59214503d5d4e76197f7c1e63d086d13b10da9..99710846c56602cc65d147b722f92f28c5121e22 100644
--- a/app/src/main/java/com/example/myapplication/ui/transactions/TransactionViewModel.kt
+++ b/app/src/main/java/com/example/myapplication/ui/transactions/TransactionViewModel.kt
@@ -22,17 +22,17 @@ class TransactionViewModel(application : Application) : ViewModel() {
 //        //TODO("Implement kalau transaksi berubah di viewnya juga langsung berubah")
 //        Log.i("Development", "Transaction changed, transaction: $it")
 //    }
-    fun addTransaction(title: String, nominal: String, kategori: String, lokasi: String, tanggal: String) {
+    suspend fun addTransaction(title: String, nominal: String, kategori: String, lokasi: String, tanggal: String) {
         repository.insertTransaction(title, nominal , kategori, lokasi, tanggal)
     }
-//
-//    fun updateTransaction() {
-//        TODO("implement update transaction")
-//    }
-//
-//    fun deleteTransaction() {
-//        TODO("implement delete transaction")
-//    }
+
+    suspend fun updateTransaction() {
+        TODO("implement update transaction")
+    }
+
+    suspend fun deleteTransaction() {
+        TODO("implement delete transaction")
+    }
 
     private val _text = MutableLiveData<String>().apply {
         value = ""