Tree View
Tree View
py
import tkinter #Memanggil framework tkinter
from tkinter import * #Mengimport semua fungsi/class/procedure
from tkinter import messagebox #yang ada di tkinter
import os
import csv
from fpdf import FPDF
csv_filename = 'data.csv'
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
def tambah():
Vid = Id_Entri.get() #Menyimpan entry Id ke variabel Vid
Vnama = Nama_Entri.get()
Valamat = Alamat_Entri.get()
Vtelp = Telp_Entri.get()
vData = open('data.csv','a')
data = csv.writer(vData,lineterminator='\n')
data.writerow([Vid,Vnama,Valamat,Vtelp])
print(vData)
vData.close()
pesan=('Data anda sudah tersimpan!')
print(pesan)
clear_entry()
def clear_entry():
#Menghapus isi kolom entry setelah data tersimpan
Id_Entri.delete(0,END)
Nama_Entri.delete(0,END)
Alamat_Entri.delete(0,END)
Telp_Entri.delete(0,END)
Id_Entri.focus_set() # Menempatkan kembali kursor ke kolom entry Id
def update():
data1 =[]
with open ('data.csv','r') as csv_file :
csv_reader=csv.reader(csv_file, delimiter=",") #, delimiter=","
for row in csv_reader:
data1.append(row)
Headers = data1.pop(0)
print("-" * 56)
print(f'{Headers[0]:<5} {Headers[1]:<20} {Headers[2]:<20} {Headers[3]:<15}')
print("-" * 56)
for list in data1_sorted: # Menggunakan data1_sorted yang sudah diurutkan
print(f'{list[0]:<5} {list[1]:<20} {list[2]:<20} {list[3]:<15}')
print("-" * 56)
Id_Entri.focus_set()
def hapus():
#Id_Entri=""
Vid = Id_Entri.get() #Menyimpan entry Id ke variabel Vid
Vnama = Nama_Entri.get()
Valamat = Alamat_Entri.get()
Vtelp = Telp_Entri.get()
Vdelete = [Vid, Vnama,Valamat,Vtelp]
print(Vdelete)
contact1 = []
with open(csv_filename, mode="r") as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
contact1.append(row)
print(contact1)
def cari():
Vid = Id_Entri.get()
Vnama = Nama_Entri.get()
contacts = []
with open(csv_filename, mode="r") as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
contacts.append(row)
# mencari contact
indeks = 0
for data in contacts:
if (data['NO'] == Vid) or (data['NAMA'] == Vnama): # no
data_found = contacts[indeks]
indeks += 1
if len(data_found) > 0:
print("DATA DITEMUKAN: ")
print(f"No Id: {data_found['NO']}")
print(f"Nama: {data_found['NAMA']}")
print(f"Alamat: {data_found['ALAMAT']}")
print(f"Telepon: {data_found['TELEPON']}")
print('-'*35)
clear_entry()
Id_Entri.insert(0, data_found['NO'])
Nama_Entri.insert(0, data_found['NAMA'])
Alamat_Entri.insert(0, data_found['ALAMAT'])
Telp_Entri.insert(0, data_found['TELEPON'])
else:
print("Tidak ada data ditemukan")
print('-'*35)
#Menampilakn messagebox->syntax: messagebox.showinfo(title,msg)
messagebox.showinfo('INFO','Tidak ada data ditemukan')
def pdf():
from fpdf import FPDF
#Membuat Button
Button(Layar, text="Tambah", command=tambah, font=(None, 12), height=1,
width=8).place(x=15, y=180)
Button(Layar, text="Update", command=update, font=(None, 12), height=1,
width=8).place(x=110, y=180)
Button(Layar, text="Cari", command=cari, font=(None, 12), height=1,
width=8).place(x=202, y=180)
Button(Layar, text="PDF", command=pdf, font=(None, 12), height=1,
width=8).place(x=294, y=180)
Button(Layar, text="Clear", command=clear_entry, font=(None, 12), height=1,
width=8).place(x=386, y=180)
Button(Layar, text="Quit", command=Layar.destroy, font=(None, 12), height=1,
width=8).place(x=478, y=180)
#Button(Layar,text="Delete",command=hapus,font=(None,12),height=1,width=8).place(x=
247,y=220)