import tkinter as tk from database import setup_database, connect from pembeli_menu import PembeliMenu from kasir import KasirPage from pemilik import PemilikPage from tkinter import messagebox # --- Login Screen --- class LoginScreen: def __init__(self, root): self.root = root self.frame = tk.Frame(root) self.frame.pack(fill="both", expand=True) tk.Label(self.frame,text="LOGIN SISTEM CAFE", font=("Arial",18,"bold")).pack(pady=20) tk.Label(self.frame,text="Username").pack() self.username_entry = tk.Entry(self.frame) self.username_entry.pack() tk.Label(self.frame,text="Password").pack() self.password_entry = tk.Entry(self.frame, show="*") self.password_entry.pack(pady=5) tk.Button(self.frame,text="Login", bg="#cfe2ff", command=self.login).pack(pady=10) def login(self): username = self.username_entry.get() password = self.password_entry.get() db = connect() cur = db.cursor() cur.execute("SELECT role FROM users WHERE username=? AND password=?", (username,password)) result = cur.fetchone() db.close() if result: role = result[0] self.frame.destroy() if role=="pembeli": PembeliMenu(self.root) elif role=="kasir": KasirPage(self.root) elif role=="pemilik": PemilikPage(self.root) else: messagebox.showerror("Error","Role tidak dikenali") else: messagebox.showerror("Error","Username / Password salah") # --- App --- class App(tk.Tk): def __init__(self): super().__init__() self.title("Sistem Cafe") self.geometry("700x600") # --- Run Program --- if __name__=="__main__": setup_database() app = App() LoginScreen(app) app.mainloop()