diff --git a/login.py b/login.py index 4d0c679..51e08f3 100644 --- a/login.py +++ b/login.py @@ -168,11 +168,9 @@ def show_login(): """, unsafe_allow_html=True) - # Input form username = st.text_input("Username", placeholder="Masukkan username") password = st.text_input("Password", type="password", placeholder="Masukkan password") - - # Validasi tombol login tetap tidak diubah + if st.button("Login", key="login_button"): user = validate_login(username, password) if user: @@ -183,10 +181,9 @@ def show_login(): else: st.error("Username atau password salah.") - st.markdown('', unsafe_allow_html=True) # Tutup container + st.markdown('', unsafe_allow_html=True) st.markdown('', unsafe_allow_html=True) - # Footer st.markdown( """
{login_button_text} diff --git a/pages/pimpinan_form.py b/pages/pimpinan_form.py index d46c940..ea1b7ff 100644 --- a/pages/pimpinan_form.py +++ b/pages/pimpinan_form.py @@ -81,7 +81,7 @@ def navbar():- Masukkan ID Karyawan untuk memulai prediksi. -
+ """, unsafe_allow_html=True ) - employee_id = st.text_input("Masukkan ID Karyawan", placeholder="Contoh: EM12345") + employee_id = st.text_input("Masukkan ID Karyawan yang ingin dicek", placeholder="Contoh: EM12345") # Tombol untuk memulai prediksi - if st.button("Validasi dan Prediksi"): + if st.button("Lihat Hasil Prediksi"): if not employee_id: st.error("Harap masukkan ID Karyawan terlebih dahulu.") return @@ -328,10 +325,9 @@ def show_prediction(): return # Proses data karyawan - df = pd.DataFrame([employee_data]) # Ubah dictionary menjadi DataFrame - df = process_employee_data(df) # Proses data + df = pd.DataFrame([employee_data]) + df = process_employee_data(df) - # Kolom yang diharapkan oleh model expected_columns_class = class_model.feature_names_ expected_columns_reg = reg_model.feature_names_ @@ -453,11 +449,6 @@ def show_prediction(): buf = io.BytesIO() plt.savefig(buf, format='png', bbox_inches="tight", dpi=100) buf.seek(0) - # cols = st.columns(2) # Bagi halaman menjadi 4 kolom - # with cols[0]: # Grafik SHAP ditempatkan di kolom pertama - # st.image(buf, caption="SHAP Waterfall Plot", use_container_width=True) - - # plt.close() col1, col2 = st.columns([1.5, 2]) # **Kolom pertama untuk grafik, kolom kedua untuk penjelasan** @@ -496,27 +487,6 @@ def show_prediction(): generate_shap_plot(X_test_class, explainer_class, shap_dict, predicted_class) - # top_factors = sorted(shap_dict.items(), key=lambda x: abs(x[1]), reverse=True)[:5] - - # # Bangun kesimpulan dinamis - # summary = " dan ".join( - # [f"{factor} dengan kontribusi {'+' if value > 0 else ''}{value:.2f}" for factor, value in top_factors] - # ) - - # # Kesimpulan Dinamis - # st.markdown( - # f""" - #