Afzaalmalwa commited on
Commit
1308d52
·
verified ·
1 Parent(s): b7c3201

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +61 -0
app.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import pipeline
3
+
4
+ # 1. Load pre-trained model sentiment AI dari Hugging Face
5
+ # Model ini sudah dilatih untuk memahami bahasa Indonesia
6
+ sentiment_model = pipeline("sentiment-analysis", model="w11wo/indonesian-roberta-base-sentiment-classifier")
7
+
8
+ # 2. Fungsi Utama Mesin Data-Driven DSS
9
+ def dss_evaluasi(opini, lokasi):
10
+ # AI menganalisis sentimen dari teks opini
11
+ hasil = sentiment_model(opini)[0]
12
+ label = hasil['label']
13
+ skor = hasil['score']
14
+
15
+ # Logika Pengambilan Keputusan (DSS) berdasarkan Sentimen dan Demografi
16
+ rekomendasi = ""
17
+ if label in ["negative", "NEGATIVE", "Negative"]:
18
+ sentimen_teks = "Negatif 📉 (Keresahan Ekonomi)"
19
+ if lokasi == "Masyarakat Desa":
20
+ rekomendasi = "Prioritas Kebijakan: Segera alokasikan Bantuan Langsung Tunai (BLT) & subsidi pupuk/bibit untuk menjaga daya beli petani."
21
+ elif lokasi == "Masyarakat Kabupaten":
22
+ rekomendasi = "Prioritas Kebijakan: Lakukan pemantauan ketat harga bahan pokok di pasar tradisional & berikan stimulus untuk UMKM lokal."
23
+ else: # Kota
24
+ rekomendasi = "Prioritas Kebijakan: Gelar operasi pasar murah untuk menekan inflasi pangan & kaji ulang tarif transportasi publik."
25
+
26
+ elif label in ["positive", "POSITIVE", "Positive"]:
27
+ sentimen_teks = "Positif 📈 (Optimisme)"
28
+ rekomendasi = "Kondisi Stabil: Lanjutkan program edukasi literasi keuangan dan dorong kampanye cinta produk dalam negeri (UMKM)."
29
+
30
+ else:
31
+ sentimen_teks = "Netral ➖"
32
+ rekomendasi = "Pantau Berkala: Lakukan sosialisasi kebijakan moneter secara transparan agar masyarakat terhindar dari panic buying."
33
+
34
+ # Format output untuk Dashboard
35
+ output_text = f"🗣️ Opini Masyarakat: \"{opini}\"\n📍 Pemetaan Demografi: {lokasi}\n\n"
36
+ output_text += f"📊 Hasil Evaluasi Model AI:\n- Sentimen Dominan: {sentimen_teks}\n- Akurasi/Keyakinan AI: {skor:.2f}\n\n"
37
+ output_text += f"💡 Rekomendasi DSS untuk Pemangku Kepentingan:\n{rekomendasi}"
38
+
39
+ return output_text
40
+
41
+ # 3. Membuat Antarmuka (UI) Dashboard Mockup dengan Gradio
42
+ with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", neutral_hue="slate")) as dashboard:
43
+ gr.Markdown("# 📉 Intelligence Data-Driven DSS")
44
+ gr.Markdown("### Evaluasi Sentimen Pelemahan Rupiah terhadap USD (Regional)")
45
+ gr.Markdown("Sistem ini menggunakan model *Artificial Intelligence* (Indonesian RoBERTa) untuk mengekstrak opini masyarakat dan merumuskan intervensi kebijakan publik yang tepat sasaran.")
46
+
47
+ with gr.Row():
48
+ with gr.Column(scale=1):
49
+ gr.Markdown("### 📥 Input Data Analitik")
50
+ opini_input = gr.Textbox(lines=4, label="Masukkan Opini / Keluhan Warga", placeholder="Contoh: Harga sembako makin mahal sejak dolar tembus 16 ribu, kami di kampung makin susah...")
51
+ lokasi_input = gr.Dropdown(choices=["Masyarakat Desa", "Masyarakat Kabupaten", "Masyarakat Kota"], label="Pilih Tingkat Demografi Wilayah", value="Masyarakat Desa")
52
+ submit_btn = gr.Button("Eksekusi Analisis DSS", variant="primary")
53
+
54
+ with gr.Column(scale=1):
55
+ gr.Markdown("### 📤 Output Rekomendasi Keputusan")
56
+ output_hasil = gr.Textbox(lines=10, label="Dashboard Hasil Intelijensi")
57
+
58
+ submit_btn.click(fn=dss_evaluasi, inputs=[opini_input, lokasi_input], outputs=output_hasil)
59
+
60
+ # Menjalankan aplikasi
61
+ dashboard.launch()