import gradio as gr import numpy as np import tensorflow as tf from sklearn.preprocessing import StandardScaler # Load Model model = tf.keras.models.load_model("model_makanan.h5") # Normalizer untuk preprocessing input scaler = StandardScaler() def predict_halal_haram(kalori, gizi, vitamin, zat_besi): # Normalisasi input X_input = np.array([[kalori, gizi, vitamin, zat_besi]]) X_scaled = scaler.fit_transform(X_input) # Prediksi model prediction = model.predict(X_scaled)[0][0] # Klasifikasi berdasarkan threshold 0.5 hasil = "Haram" if prediction > 0.5 else "Halal" return f"Prediksi: {hasil} (Probabilitas: {prediction:.4f})" # Buat UI Gradio demo = gr.Interface( fn=predict_halal_haram, inputs=[ gr.Number(label="Kalori"), gr.Number(label="Gizi"), gr.Number(label="Vitamin"), gr.Number(label="Zat Besi") ], outputs="text", title="Model Prediksi Makanan Halal atau Haram", description="Masukkan nilai kalori, gizi, vitamin, dan zat besi makanan, lalu klik 'Prediksi' untuk mengetahui apakah makanan tersebut Halal atau Haram." ) # Jalankan aplikasi demo.launch()