Rabu, 12 Desember 2018

Create Read Update Delete data PyMysql dan Tkinter

Pada kesempatan ini saya akan membuat applikasi dimana kita membuat applikasi dekstop (GUI) menggunakan Tkinter dan mengelola datanya ke dalam database mysql. Ini merupakan dokumentasi lanjutan pada tag Python. Saya merekomendasikan untuk pemula belajar dulu ke yang dasarnya dulu. Karena kode ini cukup kompleks. Bahan yang diiperlukan untuk membuat applikasi ini adalah:
  • PhpMyadmin(Server Mysql bisa Xampp/ Lampp dan sebagainya)
  • Python3
  • Tkinter
  • Pip(digunakan untuk menginstal PyMysql)
  • PyMysql
  • Geany atau Text Editor lainya
Saya tidak akan membahas tentang menginstall bahan-bahan diatas silahkan browsing saja. Saya memakai Python3 terbaru. Mari kita melanjutkan tahpan selanjutnya. Buatlah database kampus dan table mahasiswa dengan sql ini.
create database kampus; use kampus; CREATE TABLE `kampus`.`Mahasiswa` ( `nim` INT(10) NOT NULL PRIMARY KEY, `nama_mahasiswa` VARCHAR(60) NOT NULL , `jenis_kelamin` ENUM('laki-laki','perempuan') NOT NULL , `tempat_lahir` VARCHAR(100) NOT NULL , `tanggal_lahir` DATE NOT NULL , `alamat` VARCHAR(500) NOT NULL , `pekerjaan` VARCHAR(50) NOT NULL);
Bila sudah membuat database dan tabel di mysql.Mari kita buat form Mahasiswa dengan menggunakan geany. Buka text editor kalian lalu copy paste kode ini:
#import modules import tkinter as tk import pymysql as PyMysql import tkinter.messagebox as tkMessageBox from tkinter import ttk from tkinter import * win = tk.Tk() win.title('Form Mahasiswa') #variabel untuk koneksi database server_name = 'localhost' username = 'root' password = '' database_name = 'kampus' #buat fungsi-fungsi def database(): global conn, cursor, server_name, username, password, database_name conn = PyMysql.connect(server_name,username,password,database_name) cursor = conn.cursor() def entry(): database() cursor.execute("INSERT INTO Mahasiswa ( nim, nama_mahasiswa, jenis_kelamin, tempat_lahir, tanggal_lahir, alamat, pekerjaan) values ((%s),(%s),(%s),(%s),(%s),(%s),(%s))",(nim.get(),nama.get(),kelamin.get(),tempat.get(),tanggal.get(),alamat.get(),pekerjaan.get())); conn.commit() sta.configure(text = 'Status :Entry data success!') sta.configure(foreground = 'green') #buat variabel-variabel nim = tk.IntVar() nama = tk.StringVar() kelamin = tk.StringVar() tempat = tk.StringVar() tanggal = tk.StringVar() alamat = tk.StringVar() pekerjaan = tk.StringVar() nim.set('') #menginisiasi komponen-komponen labTittle = ttk.Label(win, font=(16), foreground='#0000FF', text='Formulir Mahasiswa') labNim = ttk.Label(win, text='NIM ') labNama = ttk.Label(win, text='Nama ') labJenisKel = ttk.Label(win, text='Jenis Kelamin ') labTempatLah = ttk.Label(win, text='Tempat Lahir ') labTanggaLah = ttk.Label(win, text='Tanggal Lahir ') labAlamat = ttk.Label(win, text='Alamat ') labPekerjaan = ttk.Label(win, text='Pekerjaan ') sta = ttk.Label(win, text='') #colom-colom masukan colNim = ttk.Entry(win, textvariable=nim, width=12) colNama = ttk.Entry(win, textvariable=nama, width=50) colTempat = ttk.Entry(win, textvariable=tempat, width=50) colTanggal = ttk.Entry(win, textvariable=tanggal, width=50) colAlamat = ttk.Entry(win, textvariable=alamat, width=50) #radiobutton dan combobox radLaki = ttk.Radiobutton(win,variable=kelamin, text='laki-laki', value='laki-laki') radPerempuan = ttk.Radiobutton(win,variable=kelamin, text='perempuan', value='perempuan') number_chosen= ttk.Combobox(win, width=12, textvariable=pekerjaan) number_chosen['values']=('Mahasiswa','Wirausaha','Petani','PNS','Lain-lain') #Tombol tombol bAdd = ttk.Button(win, text='Add',command=entry) #menempatkan komponen-komponen labTittle.grid(column=2,sticky=tk.W+tk.E) labNim.grid(column=0,row=1,sticky=tk.W) labNama.grid(column=0,row=2,sticky=tk.W) labJenisKel.grid(column=0,row=3,sticky=tk.W) labTempatLah.grid(column=0,row=4,sticky=tk.W) labTanggaLah.grid(column=0,row=5,sticky=tk.W) labAlamat.grid(column=0,row=6,sticky=tk.W) labPekerjaan.grid(column=0,row=7,sticky=tk.W) colNim.grid(column=1,row=1,sticky=tk.W) colNama.grid(column=1,row=2,columnspan=2,sticky=tk.W) colTempat.grid(column=1,row=4,columnspan=2,sticky=tk.W) colTanggal.grid(column=1,row=5,columnspan=2,sticky=tk.W) colAlamat.grid(column=1,row=6,columnspan=2,sticky=tk.W) radLaki.grid(column=1,row=3,sticky=tk.W+tk.E) radPerempuan.grid(column=2,row=3,sticky=tk.W+tk.E) number_chosen.grid(column=1,row=7,sticky=tk.W) sta.grid(column=1,row=8,sticky=tk.W) bAdd.grid(column=3, row=4,sticky=tk.E) win.mainloop()
Lalu save file tersebut dan namai dengan mahasiswa.py lalu eksekusi file tersebut jika berhasil maka akan tampil seperti ini. Untuk fungsi Read, Update dan Delete akan dibahas pada postingan berikutnya.
 .: Good Luck :.

Tidak ada komentar:

Posting Komentar