diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/MainActivity.kt b/app/src/main/java/com/example/if3210_2024_android_aab/MainActivity.kt
index 0a343b18c539f73433e32709a4d0141e53fcf46e..ecb252f72ef1adcbcc9e045446032eef2c3ef275 100644
--- a/app/src/main/java/com/example/if3210_2024_android_aab/MainActivity.kt
+++ b/app/src/main/java/com/example/if3210_2024_android_aab/MainActivity.kt
@@ -24,8 +24,7 @@ class MainActivity : AppCompatActivity() {
     private lateinit var bottomNavigationView: BottomNavigationView
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
-        SharedPreference.setStatusLogin(this, false)
-        if (!SharedPreference.getStatusLogin(this)) {
+        if (SharedPreference.getEmail(this).isNullOrBlank() || SharedPreference.getToken(this).isNullOrBlank()) {
             val intent = Intent(this, LoginActivity::class.java)
             startActivity(intent)
         }
diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/SettingFragment.kt b/app/src/main/java/com/example/if3210_2024_android_aab/SettingFragment.kt
index ed1040d31e53eb2f5ecba22c71425448bb4252f0..369f41bf712316a385eb20a4b7fe75dcded1bac9 100644
--- a/app/src/main/java/com/example/if3210_2024_android_aab/SettingFragment.kt
+++ b/app/src/main/java/com/example/if3210_2024_android_aab/SettingFragment.kt
@@ -9,6 +9,7 @@ import androidx.fragment.app.Fragment
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.widget.Button
 import android.widget.Toast
 import androidx.fragment.app.viewModels
 import org.apache.poi.xssf.usermodel.XSSFWorkbook
@@ -51,6 +52,7 @@ class SettingFragment : Fragment() {
         val view = inflater.inflate(R.layout.fragment_setting, container, false)
         val sendButton = view.findViewById<android.widget.Button>(R.id.button_kirim)
         val saveButton = view.findViewById<android.widget.Button>(R.id.button_simpan)
+        val logoutButton = view.findViewById<Button>(R.id.logout_button)
 
         sendButton.setOnClickListener {
             val emailIntent = Intent(
@@ -65,6 +67,14 @@ class SettingFragment : Fragment() {
             }
             Log.d("SAVE_EXCEL", "saveToExcel: data")
         }
+
+        logoutButton.setOnClickListener {
+            SharedPreference.clearLoginInfo(view.context)
+            val intent = Intent(view.context, MainActivity::class.java)
+            activity?.finish()
+            startActivity(intent)
+        }
+
         return view
     }
 
diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/SharedPreference.kt b/app/src/main/java/com/example/if3210_2024_android_aab/SharedPreference.kt
index 2ad5a8a68aa31e02cfc101613ed5360a30b35c39..a36c1cefba7a5c4bb1b1c4e307388b2a24e1081f 100644
--- a/app/src/main/java/com/example/if3210_2024_android_aab/SharedPreference.kt
+++ b/app/src/main/java/com/example/if3210_2024_android_aab/SharedPreference.kt
@@ -21,6 +21,14 @@ object SharedPreference {
 
     }
 
+    fun clearLoginInfo(context: Context) {
+        val preferences : SharedPreferences =
+            context.getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE)
+        val editor = preferences.edit()
+        editor.clear()
+        editor.apply()
+    }
+
     fun setStatusLogin(context: Context, status : Boolean) {
         val preferences : SharedPreferences =
             context.getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE)
diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml
index 2b336e2d33f7c2b6a5c7843b8c0ec9b7a261975d..ac231d7d87662630c877a7505a1c9cc1bc02ce79 100644
--- a/app/src/main/res/layout/fragment_setting.xml
+++ b/app/src/main/res/layout/fragment_setting.xml
@@ -1,27 +1,46 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <Button
-        android:id="@+id/button_kirim"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="20dp"
-        android:text="@string/kirim_daftar_transaksi"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-    <Button
-        android:id="@+id/button_simpan"
-        android:layout_width="wrap_content"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+    
+    <LinearLayout
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginTop="20dp"
-        android:text="@string/simpan_daftar_transaksi"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+        android:orientation="vertical"
+        android:gravity="center"
+        android:layout_gravity="center_horizontal"
+        android:padding="24dp">
+
+        <Button
+            android:id="@+id/button_kirim"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:text="@string/kirim_daftar_transaksi"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+        <Button
+            android:id="@+id/button_simpan"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:text="@string/simpan_daftar_transaksi"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+        <Button
+            android:id="@+id/logout_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:text="Logout"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+    </LinearLayout>
 
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 693ae0e9e93927c351095619dd136968b1d18a70..bbb30522119fc71fdc1522f8088a970ce75f3088 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -46,5 +46,5 @@
     <string name="title_activity_new_transaction">NewTransaction</string>
     <string name="kirim_daftar_transaksi">Kirim Daftar Transaksi</string>
     <string name="title_activity_edit_transaction">EditTransactionActivity</string>
-    <string name="simpan_daftar_transaksi" />
+    <string name="simpan_daftar_transaksi">Simpan Daftar Transaksi</string>
 </resources>
\ No newline at end of file