diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/AddTransactionsFragment.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/AddTransactionsFragment.kt
index 4d43062e817e1c77f68134b666ed071007fe3c69..52f644281cc1e4af9b8e40ab573ac10582b5d75c 100644
--- a/app/src/main/java/com/example/bondoyap/ui/transactions/AddTransactionsFragment.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/transactions/AddTransactionsFragment.kt
@@ -9,6 +9,7 @@ import android.widget.ArrayAdapter
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import com.example.bondoyap.databinding.FragmentAddTransactionsBinding
+import java.util.Date
 
 class AddTransactionsFragment : Fragment() {
 
@@ -49,7 +50,8 @@ class AddTransactionsFragment : Fragment() {
             val transaction: Transactions = Transactions(
                 judul = binding.editTextJudul.text.toString(),
                 nominal = binding.editTextNominal.text.toString().toDouble(),
-                isPemasukan = isPemasukan
+                isPemasukan = isPemasukan,
+                tanggal = Date().toString()
             )
 
             transactionsViewModel.upsert(transaction)
diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/EditTransactionsFragment.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/EditTransactionsFragment.kt
index 9ca1bc7c70e3a2fc21a5fdc169fc8c62b9e80476..1a02e7560ea38d381079e543129dccd6b82b9c3b 100644
--- a/app/src/main/java/com/example/bondoyap/ui/transactions/EditTransactionsFragment.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/transactions/EditTransactionsFragment.kt
@@ -37,6 +37,8 @@ class EditTransactionsFragment : Fragment() {
     ): View {
         _binding = FragmentEditTransactionsBinding.inflate(inflater, container, false)
 
+        var tanggal: String = ""
+
         val pemasukan = "Pemasukan"
         val pengeluaran = "Pengeluaran"
 
@@ -46,6 +48,8 @@ class EditTransactionsFragment : Fragment() {
         adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item)
         binding.spinnerKategori.adapter = adapter
 
+        binding.spinnerKategori.isEnabled = false
+
         val transactionId: Int = arguments?.getInt("transaction_id") ?: -1
 
         CoroutineScope(Main).launch {
@@ -61,6 +65,8 @@ class EditTransactionsFragment : Fragment() {
                 binding.spinnerKategori.setSelection(categories.indexOf(pengeluaran))
             }
 
+            tanggal = originalTransaction.tanggal
+
         }
 
         binding.buttonSimpan.setOnClickListener {
@@ -73,6 +79,7 @@ class EditTransactionsFragment : Fragment() {
                 judul = binding.editTextJudul.text.toString(),
                 nominal = binding.editTextNominal.text.toString().toDouble(),
                 isPemasukan = isPemasukan,
+                tanggal = tanggal,
                 id = transactionId
             )
 
@@ -89,15 +96,11 @@ class EditTransactionsFragment : Fragment() {
         }
 
         binding.buttonHapus.setOnClickListener {
-            val isPemasukan: Boolean = when (binding.spinnerKategori.selectedItem.toString()) {
-                pemasukan -> true
-                else -> false
-            }
-
             val transaction: Transactions = Transactions(
-                judul = binding.editTextJudul.text.toString(),
-                nominal = binding.editTextNominal.text.toString().toDouble(),
-                isPemasukan = isPemasukan,
+                judul = "",
+                nominal = 0.0,
+                isPemasukan = false,
+                tanggal = "",
                 id = transactionId
             )
 
diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/Transactions.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/Transactions.kt
index 152e4636c4a171aecc4e5ee1c76438ab253c8e97..c5e55dd1edfcd9ce3f0b704610a1bdb256e2ffbd 100644
--- a/app/src/main/java/com/example/bondoyap/ui/transactions/Transactions.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/transactions/Transactions.kt
@@ -15,6 +15,12 @@ data class Transactions(
     @ColumnInfo(name = "is_pemasukan")
     val isPemasukan: Boolean,
 
+    @ColumnInfo(name = "tanggal")
+    val tanggal: String,
+
+    @ColumnInfo(name = "lokasi")
+    val lokasi: String = "",
+
     @PrimaryKey(autoGenerate = true)
     @ColumnInfo(name = "id")
     val id: Int = 0
diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsRoomDatabase.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsRoomDatabase.kt
index 7785d489a5e8005ec795881e8ac81aa79c940d2a..b5e530fdd2363d8ca3ad5e4c0dcbea8db70df86b 100644
--- a/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsRoomDatabase.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsRoomDatabase.kt
@@ -4,10 +4,12 @@ import android.content.Context
 import androidx.room.Database
 import androidx.room.Room
 import androidx.room.RoomDatabase
+import androidx.room.migration.Migration
+import androidx.sqlite.db.SupportSQLiteDatabase
 
 @Database(
     entities = [Transactions::class],
-    version = 1,
+    version = 2,
     exportSchema = false
 )
 public abstract class TransactionsRoomDatabase: RoomDatabase() {
@@ -24,10 +26,29 @@ public abstract class TransactionsRoomDatabase: RoomDatabase() {
                     context.applicationContext,
                     TransactionsRoomDatabase::class.java,
                     "transactions_database"
-                ).build()
+                ).addMigrations(MIGRATION_1_2).
+                build()
                 INSTANCE = instance
                 instance
             }
         }
+        private val MIGRATION_1_2: Migration = object : Migration(1, 2) {
+            override fun migrate(db: SupportSQLiteDatabase) {
+                db.execSQL("CREATE TABLE IF NOT EXISTS `transactions_new` " +
+                        "(`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
+                        "`judul` TEXT NOT NULL, " +
+                        "`nominal` REAL NOT NULL, " +
+                        "`is_pemasukan` INTEGER NOT NULL, " +
+                        "`tanggal` TEXT NOT NULL, " +
+                        "`lokasi` TEXT NOT NULL)")
+
+                db.execSQL("INSERT INTO transactions_new (id, judul, nominal, is_pemasukan) " +
+                        "SELECT id, judul, nominal, is_pemasukan FROM transactions")
+
+                db.execSQL("DROP TABLE transactions")
+
+                db.execSQL("ALTER TABLE transactions_new RENAME TO transactions")
+            }
+        }
     }
 }
\ No newline at end of file