Membuat GUI dengan Program Python CRUD Lengkap
Dunia Programming - Python merupakan bahasa pemrograman yang sekarang paling banyak dicari, namun banyak dari programmer pemula yang bingung apakah bisa python dijadikan sebagai aplikasi? jawabannya bisa, karena python nantinya akan menjadi sebuah aplikasi dengan multi device bisa android, dekstop maupun web.
Di tutorial kali ini saya akan memberikan penjelasan lengkap bagaimana cara membuat aplikasi dekstop menggunakan bahasa pemrograman python dengan metode CRUD lengkap.
Membuat GUI dengan Program Python CRUD Lengkap |
Sebenarnya dari situs PyQt sendiri http://pyqt.sourceforge.net/Docs/PyQt5 sudah menyediakan tutorialnya, namun saya disini saya memberikan tutorial bahasa indonesia bagi para pemula atau yang belum pernah mencoba membuat aplikasi dari bahasa python ini.
Sebelum masuk ke pembasahan tentang pembuatan CRUD sistem menggunakan bahasa pemrograman python, kita bahas terlebih dahulu apa saja yang harus disiapkan.
Cara Install PyQt5 & PyQt5-tools
Pertama, langkah yang harus kita lakukan yaitu dengan menginstall PyQt5 terlebih dahulu. Untuk proses instalasinya menggunakan di CMD(command Prompt). Caranya buka CMD sebagai Administrator, lalu menuliskan script berikut lalu enter.pip install pyqt5
tunggu hingga proses selesai. Selanjutnya install PyQt5-tools dengan menuliskan perintah berikutpip install pyqt5-tools
tunggu hingga proses installasi selesai.
Kemudian download file dibawah ini sekaligus lakukan instalasi, untuk linknya adalah sebagai berikut : http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.4.1/PyQt5-5.4.1-gpl-Py3.4-Qt5.4.1-x64.exe. pip list
jika hasil ouput nya terdapat package bernama pyqt5 dan pyqt5-tools seperti ini, maka installasi berhasil. disamping itu juga kita harus mengecek apakah package PyQt5 sudah bisa diakses di Python-prompt. Caranya dengan menuliskan script berikut di Python-promptfrom PyQt5 import QtCore, QtGui, QtWidgets
jika output nya seperti ini / tidak terjadi error maka package sudah bisa diakses di python-prompt. Membuat Desain GUI Desktop
Pengertian Qt Designer
Menjalankan Desain GUI di Python
pushd "E:\ProjectGUI\"
masuk ke direktori file
Kemudian tuliskan script berikutpython -m PyQt5.uic.pyuic -x namafile.ui -o namafile.py
convert ui ke dalam python code
untuk namafile sesuaikan dengan nama file yang sudah disimpan sebelumnya. Script di atas akan melakukan convert file .ui ke dalam bentuk file dengan ektensi .py. python namafile.py
atau membuka filenya melalui python-IDLE dan run.
maka akan muncul tampilan window GUI yang telah kita buat tadi. Install PyMySQL
pip install pymysql
import pymysql
Membuat Desain GUI
Kemudian langkah selanjutnya yaitu membuat desain tampilan GUI menggunakan Qt Designer. Buat lah desain seperti gambar berikut.Setelah membuat desain seperti gambar di atas, Jangan lupa nama objek dari LineEdit dan Button dirubah dan disesuikan. Lalu simpan desain tersebut di folder yang teman-teman inginkan.
Apabila proses covert sudah selesai lalu buka file tersebut(yang berektensi .py) menggunakan Pyhton-IDLE atau Python text editor seperti PyCharm.
Membuat Koneksi ke Database
Fungsi Koneksi
def koneksi(self):
con = pymysql.connect(db='aplikasi', user='root', passwd='',
host='localhost', port=3306, autocommit=True)
cur = con.cursor()
if(cur):
self.messagebox("Koneksi", "Koneksi Berhasil")
else:
self.messagebox("Koneksi", "Koneksi Gagal")
fungsi di atas akan menghubungkan koneksi ke database yang telah kita buat selumnya. Selain itu juga, di dalam fungsi tersebut terdapat fungsi untuk memunculkan messagebox. Fungsi Messagebox
def messagebox(self, title, message):
mess = QtWidgets.QMessageBox()
mess.setWindowTitle(title)
mess.setText(message)
mess.setStandardButtons(QtWidgets.QMessageBox.Ok)
mess.exec_()
kemudian fungsi koneksi tersebut kita akan taruh di fungsi setupUi. Fungsi setupUi ini adalah fungsi utamanya, jadi ketika program di run maka fungsi koneksi akan otomatis di panggil.
self.koneksi()
kemudian run program dan cek apakah koneksi berhasil atau gagal. Menyimpan data ke Database
Fungsi save
def save(self):
firstname = self.FirstName.text()
lastname = self.LastName.text()
address = self.Address.toPlainText()
phone = self.Phone.text()
insert = (firstname, lastname, address, phone)
print(insert)
con = pymysql.connect(db='aplikasi', user='root', passwd='',
host='localhost', port=3306, autocommit=True)
cur = con.cursor()
sql = "INSERT INTO data(first_name, last_name, address, phone)" + \
"VALUES"+str(insert)
data = cur.execute(sql)
if(data):
self.messagebox("SUKSES", "Data Barang Tersimpan")
else:
self.messagebox("GAGAL", "Data Barang Gagal Tersimpan")
Untuk isian address saya menggunakan widgets QTextEdit.Kemudian panggil fungsi save tersebut ketika kita meng-click button save. Berikut cara pemanggilan fungsinya :
self.Save.clicked.connect(self.save)
letakkan script di atas di bawah baris self.Save.setObjectName(“Save”) seperti gambar di bawahrun program, isi data kemudian click button save lihat apakah proses menyimpan data berhasil atau tidak.
Menampilkan Data dari Database
Fungsi Tampil
def Tampil(self):
firstname = self.FirstName.text()
db = pymysql.connect(db='aplikasi', user='root', passwd='',
host='localhost', port=3306, autocommit=True)
cursor = db.cursor()
cursor.execute("SELECT * FROM data WHERE first_name='"+str(firstname)+"'")
data = cursor.fetchall()
if (data):
for tp in data:
self.LastName.setText("" + tp[1])
self.Address.setText("" + tp[2])
self.Phone.setText("" + tp[3])
self.messagebox("INFO","Data Ada")
else:
self.messagebox("INFO", "Data belum ada")
panggil fungsi tersebut pada button check seperti gambar di bawah.Mengupdate Data di Database
Fungsi Update
def update(self):
firstname = self.FirstName.text()
lastname = self.LastName.text()
address = self.Address.toPlainText()
phone = self.Phone.text()
con = pymysql.connect(db='aplikasi', user='root', passwd='',
host='localhost', port=3306, autocommit=True)
cur = con.cursor()
sql = "UPDATE data SET last_name=%s, address=%s, phone=%s WHERE first_name=%s"
data = cur.execute(sql, (lastname, address, phone, firstname))
if (data):
self.messagebox("SUKSES", "Data Berhasil Di Update")
else:
self.messagebox("GAGAL", "Data Gagal Di Update")
dan panggil fungsi update di atas pada button update seperti gambar di bawah kemudian coba program. Apakah data berhasil di update atau tidak.Menghapus Data
Fungsi Hapus
def delete(self):
firstname = self.FirstName.text()
con = pymysql.connect(db='aplikasi', user='root', passwd='',
host='localhost', port=3306, autocommit=True)
cur = con.cursor()
sql = "DELETE FROM data where first_name=%s"
data = cur.execute(sql, (firstname))
if (data):
self.messagebox("SUKSES", "Data Berhasil Di HAPUS")
else:
self.messagebox("GAGAL", "Data GAGAL Di HAPUS")
panggil fungsi delete di atas pada button DELETE seperti gambar di bawah kemudian coba program. Apakah data berhasil di hapus atau tidak.Menghapus Isian
Fungsi clear
def clear(self):
self.FirstName.clear()
self.LastName.clear()
self.Address.clear()
self.Phone.clear()
Panggil fungsi clear di atas pada button CLEAR seperti pada button yang lain kemudian coba program. Apakah data isian berhasil di hapus atau tidak.Terakhir coba program dan fungsi-fungsi button nya, apabila program yang temen-temen buat berjalan dengan lancar berarti teman-teman berhasil membuat CRUD dan Koneksi Database pada Aplikasi Desktop Python.
Mungkin ini saja yang dapat saya jelaskan, mungkin nanti kita akan mencoba membuat aplikasi lebih dari 1 tabel beserta dengan login menggunakan bahasa pemrograman python.
Post a Comment for "Membuat GUI dengan Program Python CRUD Lengkap"
- Gunakan Kata-Kata Yang Sopan
- Dilarang Keras Menaruh Link Aktif Dibawah Postingan
- Dilarang Membuat SPAM
- Dilarang Saling Melecehkan Antar Sesama
- Dilarang Promosi Web/Blog/Obat-Obatan Atau Yang Lain