Pada pembuatan aplikasi yang terpenting adalah tempat penyimpanan data yang ada dalam aplikasi tersebut atau yang sering kita sebut dengan Database. Pada artikel ini saya akan berbagi pengalaman saya dalam membuat koneksi ke database dan CRUD di pyhton desktop menggunakan PyQt5. Sebelum masuk, buatlah database dengan nama dbyhton dan buat tabel data dengan struktur seperti berikut struktur tabel data
Di artikel yang saya buat ini, saya menggunakan PyMySQL sebagai package yang akan menghubungkan pyhton ke databasenya. Untuk databasenya sendiri, saya menggunakan XAMPP. Langkah pertama yang dilakukan adalah menginstall package PyMySQL nya terlebih dahulu dengan menuliskan script berikut di CMD teman-teman :
tunggu sampai installasi selesai. Setelah kita akan cek apakah package PyMySQL sudah terinstall dengan benar di perangkat kita atau belum. Cara nya dengan menuliskan : def messagebox(self, title, message): 0pada pyhton-crompt teman-teman. Jika hasilnya seperti di bawah maka installasi berhasil. cek install PyMySQL
Kemedian 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. Kemudian convert desain tersebut ke dalam bentuk python file(.py). Untuk melakukan convert desain ui ke dalam py bisa dilihat di artikel saya yang sebelumnya atau klik disini. Proses convert ini dilakukan agar kita bisa mendapatkan file pyhton dari ui tersebut yang nantinya kita bisa otak-atik. Apabila proses covert sudah selesai lalu buka file tersebut(yang berektensi .py) menggunakan Pyhton-IDLE atau Python text editor seperti PyCharm.
Untuk melakukan koneksi ke database, kita harus menginport terlebih dahulu package PyMySQL di baris setelah from PyQt5 import QtCore, QtGui, QtWidget. Seperti gambar di bawah import pymysqlKemudian kita membuat fungsi koneksi. Berikut syntak fungsi koneksi tersebut. Fungsi Koneksi def koneksi(self): 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. Jadi ketika program di run maka akan muncul messagebox yang isi nya koneksi berhasil atau koneksi gagal. Fungsi Messagebox def messagebox(self, title, message): 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. Letakkan fungsi koneksi dengan menuliskan script berikut self.koneksi() memanggil fungsi koneksikemudian run program dan cek apakah koneksi berhasil atau gagal.
Untuk menyimpan data yang ada di aplikasi GUI nya. Terlebih dahulu kita akan membuat fungsi save. Fungsi ini akan memanggil data-data yang ada di tiap LineEdit. Kemudian melakukan query INSERT SQL ke dalam tabel yang ada di database. Fungsi ini di buat di bawah fungsi messagebox. Fungsi save def save(self):
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 bawah run program, isi data kemudian click button save lihat apakah proses menyimpan data berhasil atau tidak.
Sama seperti menyimpan data, untuk menampilkan data juga kita terlebih dahulu membuat fungsi Tampil untuk menampilkan data di database. Dan memanggil fungsi tersebut ketika meng-click button check. Data yang ditampikan berdasarkan nama depan/first name nya. Fungsi Tampil def Tampil(self): panggil fungsi tersebut pada button check seperti gambar di bawah. memenggil fungsi Tampil pada button Check
untuk menghapus data juga kita terlebih dahulu membuat fungsi Hapus untuk menampilkan data di database. Dan memanggil fungsi tersebut ketika meng-click button update. Data yang diupdate berdasarkan nama depan/first name nya. Fungsi Update def update(self): dan panggil fungsi update di atas pada button update seperti gambar di bawah kemudian coba program. Apakah data berhasil di update atau tidak.
Sama seperti menyimpan data, untuk menghapus data juga kita terlebih dahulu membuat fungsi delete untuk menghapus data di database dengan query SQL DELETE. Dan memanggil fungsi tersebut ketika meng-click button delete. Data yang diahapus berdasarkan nama depan/first name nya. Fungsi Hapus def delete(self): panggil fungsi delete di atas pada button DELETE seperti gambar di bawah kemudian coba program. Apakah data berhasil di hapus atau tidak. memanggil fungsi delete
Pada desain di atas terdapat button CLEAR. Button ini berfungsi untuk menghapus isian yang ada di dalam LineEdit. Script untuk menghapus isian tersebut kita letakkan pada fungsi clear. Berikut script fungsi clear tersebut Fungsi clear def clear(self): 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. Next, kita akan belajar cara menampilkan data dari database ke dalam tabel dan lain-lain. Apabila ada saran atau komentar bisa komen saja di bawah. Terima kasih !! |