Menu "Metode Formula MMAG " (Sub Menu "Contoh Resep MMAG"

 Isi Menu "Metode Formula MMAG "

(Konten Sub Menu "Contoh Resep MMAG")


Kode isi file menu_metode_formula_mmag.py


import tkinter as tk

# --- Import dengan fallback agar lebih robust ---
try:
    from FormulaMMAG.sub_menu_metode_formula_mmag import show_sub_menu_metode_formula_mmag
    from FormulaMMAG.sub_menu_kategori_bahan_formula_mmag import show_sub_menu_kategori_bahan_formula_mmag
    from FormulaMMAG.sub_menu_kelompok_bahan_resep_mmag import show_sub_menu_kelompok_bahan_resep_mmag
    from FormulaMMAG.sub_menu_kombinasi_bahan_resep_mmag import show_sub_menu_kombinasi_bahan_resep_mmag
    from FormulaMMAG.sub_menu_lihat_bahan_resep_tersimpan import show_sub_menu_lihat_bahan_resep_tersimpan
    from FormulaMMAG.sub_menu_modifikasi_resep_asal_ke_mmag import show_sub_menu_modifikasi_resep_asal_ke_mmag
    from FormulaMMAG.sub_menu_contoh_resep_mmag import show_sub_menu_contoh_resep_mmag    
    
except ImportError:
    from sub_menu_metode_formula_mmag import show_sub_menu_metode_formula_mmag
    from sub_menu_kategori_bahan_formula_mmag import show_sub_menu_kategori_bahan_formula_mmag
    from sub_menu_kelompok_bahan_resep_mmag import show_sub_menu_kelompok_bahan_resep_mmag
    from sub_menu_kombinasi_bahan_resep_mmag import show_sub_menu_kombinasi_bahan_resep_mmag
    from sub_menu_lihat_bahan_resep_tersimpan import show_sub_menu_lihat_bahan_resep_tersimpan
    from sub_menu_modifikasi_resep_asal_ke_mmag import show_sub_menu_modifikasi_resep_asal_ke_mmag
    from sub_menu_contoh_resep_mmag import show_sub_menu_contoh_resep_mmag


def show_menu_metode_formula_mmag(root_frame):
    # Bersihkan frame
    for widget in root_frame.winfo_children():
        widget.destroy()

    # Judul
    tk.Label(root_frame, text="Metode Formula MMAG", font=("Arial", 18, "bold")).pack(pady=20)

    # Daftar sub menu
    menu_items = [
        ("Konsep & Metode Formula MMAG", lambda: show_sub_menu_metode_formula_mmag(root_frame)),
        ("Kategori Bahan Formula MMAG", lambda: show_sub_menu_kategori_bahan_formula_mmag(root_frame)),
        ("Kelompok Bahan Resep MMAG", lambda: show_sub_menu_kelompok_bahan_resep_mmag(root_frame)),
        ("Kombinasi Bahan Resep MMAG", lambda: show_sub_menu_kombinasi_bahan_resep_mmag(root_frame)),
        ("Bahan Resep MMAG Tersimpan", lambda: show_sub_menu_lihat_bahan_resep_tersimpan(root_frame)),
        ("Modifikasi Resep Asal Ke MMAG", lambda: show_sub_menu_modifikasi_resep_asal_ke_mmag(root_frame)),
        ("Contoh Resep MMAG", lambda: show_sub_menu_contoh_resep_mmag(root_frame))
    ]

    # Buat tombol dari daftar
    for text, cmd in menu_items:
        tk.Button(
            root_frame, text=text, font=("Arial", 12),
            width=30, height=2, bg="#4CAF50", fg="white",
            command=cmd
        ).pack(pady=10)

    # Tombol kembali
    tk.Button(
        root_frame, text="⬅ Kembali Ke Menu Utama", font=("Arial", 12),
        width=25, height=1, bg="gray", fg="white",
        command=lambda: kembali_ke_menu_utama(root_frame)
    ).pack(pady=20)


def kembali_ke_menu_utama(root_frame):
    from menu_utama import tampilkan_halaman_utama
    tampilkan_halaman_utama(root_frame)



Kode isi file sub_menu_contoh_resep_mmag.py


# sub_menu_contoh_resep_mmag.py
import tkinter as tk
from tkinter import messagebox
from PIL import Image, ImageTk
import os

def show_sub_menu_contoh_resep_mmag(root_frame):
    from menu_metode_formula_mmag import  show_menu_metode_formula_mmag

    # Bersihkan frame utama
    for widget in root_frame.winfo_children():
        widget.destroy()

    literasi_path = "/storage/emulated/0/AppJadi/SmartNutriChefAI/FormulaMMAG/contoh_resep_mmag_nasi_blewah_kari_telur.txt"

    # Auto buat file kalau belum ada
    if not os.path.exists(literasi_path):
        os.makedirs(os.path.dirname(literasi_path), exist_ok=True)
        with open(literasi_path, "w", encoding="utf-8") as f:
            f.write("")
        messagebox.showinfo("Info", f"File literasi baru dibuat di:\n{literasi_path}\n\nSilakan isi kontennya.")

    # ===== Bagian Scrollable =====
    content_frame = tk.Frame(root_frame)
    content_frame.pack(fill="both", expand=True)

    canvas = tk.Canvas(content_frame)
    scrollbar_y = tk.Scrollbar(content_frame, orient="vertical", command=canvas.yview)
    scrollbar_x = tk.Scrollbar(content_frame, orient="horizontal", command=canvas.xview)

    scrollable_frame = tk.Frame(canvas)
    scrollable_frame.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))

    canvas.create_window((0, 0), window=scrollable_frame, anchor="nw")
    canvas.configure(yscrollcommand=scrollbar_y.set, xscrollcommand=scrollbar_x.set)

    canvas.grid(row=0, column=0, sticky="nsew")
    scrollbar_y.grid(row=0, column=1, sticky="ns")
    scrollbar_x.grid(row=1, column=0, sticky="ew")

    content_frame.grid_rowconfigure(0, weight=1)
    content_frame.grid_columnconfigure(0, weight=1)

    # ===== Judul =====
    tk.Label(scrollable_frame, text="Contoh Resep MMAG",
             font=("Arial", 16, "bold"), bg="lightgrey").pack(pady=10)

    # ===== Text widget =====
    text_widget = tk.Text(scrollable_frame, wrap="word", font=("Arial", 8), height=33, width=40)
    text_widget.pack(padx=10, pady=10)
    image_refs = []  # simpan referensi gambar

    try:
        with open(literasi_path, "r", encoding="utf-8") as f:
            for idx, line in enumerate(f, start=1):
                # Jika baris ini mengandung "Gambar:"
                if line.strip().lower().startswith("gambar:"):
                    gambar_path = line.split(":", 1)[1].strip()
                    if os.path.exists(gambar_path):
                        try:
                            img = Image.open(gambar_path)
                            max_width = 400
                            if img.width > max_width:
                                ratio = max_width / img.width
                                img = img.resize((max_width, int(img.height * ratio)), Image.LANCZOS)
                            photo = ImageTk.PhotoImage(img)
                            image_refs.append(photo)

                            # Sisipkan gambar di Text
                            text_widget.insert(tk.END, "\n")
                            text_widget.image_create(tk.END, image=photo)
                            text_widget.insert(tk.END, "\n\n")
                        except Exception as e:
                            text_widget.insert(tk.END, f"[Gagal memuat gambar: {e}]\n")
                    else:
                        text_widget.insert(tk.END, f"[File gambar tidak ditemukan: {gambar_path}]\n")
                else:
                    text_widget.insert(tk.END, line)

    except FileNotFoundError:
        messagebox.showerror("Error", f"File literasi tidak ditemukan:\n{literasi_path}")
        return

    text_widget.config(state="disabled")
    text_widget.image_refs = image_refs  # simpan supaya tidak dihapus GC

    # ===== Tombol Kembali =====
    btn_kembali = tk.Button(root_frame, text="Kembali", font=("Arial", 14),
              command=lambda: show_menu_metode_formula_mmag(root_frame),
              bg="orange", fg="white")
    btn_kembali.pack(side="bottom", pady=10)

    # Scroll mouse
    def _on_mouse_wheel(event):
        canvas.yview_scroll(int(-1*(event.delta/120)), "units")
    canvas.bind_all("<MouseWheel>", _on_mouse_wheel)



Kode isi file contoh_resep_mmag_nasi_blewah_kari_telur.txt

--------------------------
CONTOH RESEP BERBASIS FORMULA MMAG
--------------------------

Contoh 1:
Resep mirip menu masakan ala hotel bintang lima.
NASI BLEWAH KARI TELUR
Bahan pembuatan Nasi Blewah:
- Beras 1 kg
- Buah Blewah 1 kg
- Garam secukupnya

Cara membuat Nasi Blewah:
1. Masukkan buah Blewah dan garam ke dalam periuk, rebus dengan air sampai mendidih, dan pastikan daging buah blewah sudah matang dan lunak.
2. Angkat buah blewah dari atas api.
3. Cuci dan bilas beras dengan air beraih, lalu tiriskan.
4. Campur beras dengan daging buah blewah, lalu aduk hingga tercampur merata dan blewah meresap ke dalam beras.
5. Masukkan air rebusan buah blewah tadi, tambahkan air untuk memastikan air cukup untuk memasak beras blewah menjadi nasi blewah.
6 Masak di atas api kompor atau dengan rice cooker. Masak hingga mendidih dan benar-benar telah matang menjadi nasi blewah.
Bahan pembuatan Kari Telur:
- Bawang Bombay 1/2 buah
- Bawang merah 3 buah
- Bawang putih 2 siung
- Wortel ukuran sedang 2 buah
- Kentang ukuran sedang 3 buah
- Sayur Bunga kol secukupnya (1 genggam tangan)
- Minyak makan secukupnya (agak banyak sedikit)
- Telur ayam 3 butir
- Mesis coklat secukupnya (1 sdm)
- Garam secukupnya
- Baking soda (NaHCO3) 1/2 sdt
- Glisin secukupnya (1/2 sdt) (optional)
Cara membuat Kari Telur:
1. Dua butir telur direbus dalam air mendidih, dan bila sudah matang, lalu angkat dari atas api.
2. Telur rebus dipotong kecil-kecil.
3. Bawang bombay, bawang merah, dan bawang putih diiris tipis-tipis. Dan sayur bunga kol dipotong kecil-kecil.
4. Tuang minyak makan ke wajan, lalu panaskan di atas api kompor.
5. Masukkan bawang bombay, bawang merah, dan bawang putih, lalu tumis hingga mengeluarkan aroma.
6. Masukkan wortel dan kentang, lalu aduk hingga minyak meresap ke dalam sayuran.
7. Masukkan air bersih 1 mangkok besar hingga masakan tercelup, lalu masak terus dan aduk hingga wortel dan kentang sudah melunak.
8. Tambahkan sayur bunga kol, dan garam.
9. Dalam wadah lain, pecahkan 1 butir telur, lalu aduk merata (kuning telur sebagai emulsifier) dan masukkan ke dalam masakan, lalu aduk kembali hingga wortel dan kentang sudah lunak.
10. Tambahkan Baking soda (NaHCO3), lalu aduk kembali.
11. Tambahkan Mesis coklat, lalu aduk hingga masakan benar-benar matang. Tambahkan Glisin (ini optional saja)
12. Angkat masakan dari atas api.
Cara Menyajikan:
1. Buat Nasi Blewah 1 porsi di atas piring.
2. Siramkan kari telur ke atas nasi blewah



Demikian, semoga bermanfaat.


Comments

Popular posts from this blog

Isi Menu "Setting"

Isi Menu "Riwayat Aktivitas" (Bagian 2)