Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Tugas PBO Week 9

Source Code :
Keseluruhan :
import mysql.connector
from tkinter import messagebox
from tkinter import *
import tkinter as tk

def register():
mydb = mysql.connector.connect(
host="localhost",
user="Mario Rizki",
password="marioumaga12",
database="tugaspbo"
)
insertdt = mydb.cursor()

check_user = "SELECT * FROM signin WHERE username = %s"


user_data = (entry_user.get(),)
insertdt.execute(check_user, user_data)
existing_user = insertdt.fetchall()
if existing_user:
messagebox.showwarning("Perhatian!!","Pengguna sudah ada")
else:
sql_saya = "INSERT INTO signin(username,password) VALUES (%s, %s)"
user_info = (entry_user.get(), entry_pass.get())
insertdt.execute(sql_saya, user_info)
mydb.commit()
messagebox.showinfo("Berhasil", "Registrasi telah berhasil")
mydb.close()

def login():
mydb = mysql.connector.connect(
host="localhost",
user="Mario Rizki",
password="marioumaga12",
database="tugaspbo"
)
check = mydb.cursor()
sql = "SELECT * FROM signin WHERE username = %s AND password = %s"
user_info = (entry_user.get(), entry_pass.get())
check.execute(sql, user_info)
result = check.fetchall()

if result:
messagebox.showinfo("Sukses", "Selamat datang, anda berhasil login")
elif entry_user.get() == "admin" and entry_pass.get() == "admin":
messagebox.showinfo("Admin Login", "Login sebagai admin berhasil")
else:
messagebox.showwarning("Login gagal", "Invalid username or password!")

def quit():
response = messagebox.askyesno("Program akan tertutup","Apakah anda yakin?")
if response:
root.destroy()

def clear_text(event):
if entry_user.get() == "Username":
entry_user.delete(0, tk.END)

def clear_pass(event):
if entry_pass.get() == "Password":
entry_pass.delete(0, tk.END)

def on_click(event):
if entry_user.get() == "":
entry_user.insert(0, "Username")

def on_clear(event):
if entry_pass.get() == "":
entry_pass.insert(0, "Password")

root = Tk()
root.title("Program Login PBO")
root.geometry("1280x720")

label = tk.Label(root, text="LOGIN USER PBO", pady=32, padx=32,font=16)


label.place(x=518,y=20)

label2 = tk.Label(root,text="USERNAME :")


label2.place(x=518,y=150)

entry_user = tk.Entry(root,bg='#ffffff',fg='#0d0d0d')
entry_user.insert(0,"Username")
entry_user.bind('<FocusIn>',clear_text)
entry_user.bind('<FocusOut>',on_click)
entry_user.place(x=600,y=152)

label3 = tk.Label(root, text="PASSWORD :")


label3.place(x=518,y=175)

entry_pass = tk.Entry(root, bg= '#ffffff', fg='#0d0d0d')


entry_pass.insert(0,"Password")
entry_pass.bind('<FocusIn>',clear_pass)
entry_pass.bind('<FocusOut>',on_clear)
entry_pass.place(x=600,y=175)

button_login = tk.Button(root,text="Login",command=login)
button_login.place(x=600,y=200)
button_register = tk.Button(root, text="Register",command=register)
button_register.place(x=650,y=200)
button_quit= tk.Button(root,text="Quit",command=quit)
button_quit.place(x=630,y=230)

root.mainloop()

Register :
def register():
mydb = mysql.connector.connect(
host="localhost",
user="Mario Rizki",
password="marioumaga12",
database="tugaspbo"
)
insertdt = mydb.cursor()
check_user = "SELECT * FROM signin WHERE username = %s"
user_data = (entry_user.get(),)
insertdt.execute(check_user, user_data)
existing_user = insertdt.fetchall()
if existing_user:
messagebox.showwarning("Perhatian!!","Pengguna sudah ada")
else:
sql_saya = "INSERT INTO signin(username,password) VALUES (%s, %s)"
user_info = (entry_user.get(), entry_pass.get())
insertdt.execute(sql_saya, user_info)
mydb.commit()
messagebox.showinfo("Berhasil", "Registrasi telah berhasil")
mydb.close()

You might also like