Dalam artikel-artikel sebelumnya, kita telah belajar menggunakan Python untuk menganalisa data. Akan tetapi, semua analisa data yang telah dilakukan mengharuskan pengguna menjalankan analisa dengan menggunakan Python. Dalam artikel ini kita akan belajar membuat aplikasi dengan tampilan grafis GUI yang dapat dijalankan tanpa menggunakan aplikasi Python.
Kita akan menggunakan tkinter, sebuah library module dari Python yang menyediakan akses menggunakan tampilan grafis.
Selain Tkinter, Python memiliki banyak library lainnya untuk membuat GUI, seperti Kivy, PyQT, WxPython, PyGUI, dan PySide. Dari semua ini, Tkinter lebih banyak dipakai dan juga diikutsertakan dalam library dasar dari Python.
Dari contoh yang mudah, mari kita kembangkan sebuah aplikasi GUI dimana aplikasi tersebut dapat membaca sebuah file excel berisi data aplikasi German Credit dan memberikan ringkasan dari data tersebut dan disimpan dalam bentuk excel.
Pertama kita perlu menggunakan konsep class. Class menyediakan sebuah tipe objek dalam Python dimana tiap Class dapat memiliki object, atribut yang spesifik untuk kelas tersebut.
Berikut adalah contoh koding tkinter dengan menggunakan konsep class, dan ditambahkan beberapa Widget berisikan teks dan tombol.
import tkinter as tk class Application: def __init__(self, master): self.master = master self.master.title('German_Credit') self.master.geometry('200x200') self.label = tk.Label(master, text='Read through German Credit') self.label.pack() self.output = tk.Label(master, text='Data Loaded: ') self.output.pack() self.button_loadexcel= tk.Button(master, text='Load Excel') self.button_loadexcel.pack() self.button_summaryexcel= tk.Button(master, text='Export Summary') self.button_summaryexcel.pack() self.output1 = tk.Label(master, text='Data Saved: ') self.output1.pack() self.button_quit = tk.Button(master, text='Quit') self.button_quit.pack() root = tk.Tk() app = Application(root) root.mainloop()Langkah berikutnya adalah membuat tombol-tombol widget untuk dapat membuka file excel, seperti file excel German Credit yang berisikan debitur-debitur yang mengajukan aplikasi kredit dan apakah dapat membayar kembali pinjaman tersebut atau tidak.
Tujuan dari contoh program ini adalah membuka file excel German Credit dan membuat ringkasan dari data tersebut dalam bentuk file excel dalam format yang telah ditentukan. Untuk membuat koding yang rapi, kita juga akan menggunakan function, yaitu kode yang terorganisir dan dapat digunakan kembali yang digunakan untuk melakukan tindakan tunggal yang terkait. function dimulai dengan koding def. Dimana function dapat dibuat untuk menerima masukan (input) dan memberikan hasil (output). Berikut adalah contoh function yang dijalankan ketika pengguna klik tombol Load Excel
Setelah membaca file excel tersebut, selanjutnya adalah melakukan ringkasan dengan menggunakan library panda dan perintah crosstab. Hasil ringkasan tersebut kita simpan kembali dalam bentuk excel dengan menggunakan library xlsxwriter, seperti contoh berikut:
def summary_excel(self, event=None): savename = filedialog.asksaveasfilename() export_excel = savename.split('.')[0] + '.xlsx' self.output1.config(text='Data Saved:' + str(export_excel)) writer = pd.ExcelWriter(export_excel, engine='xlsxwriter') writer.write_cells df_credit_tab1 = pd.crosstab(df_credit.purpose, df_credit.default) df_credit_tab1.to_excel(writer, sheet_name='Sheet1', startrow=5, header=True, index=True) workbook = writer.book worksheet = writer.sheets['Sheet1'] worksheet.write('A1', 'Data Source:') worksheet.write('B1', path) worksheet.write('A2', 'Total Data') worksheet.write('B2', str(df_credit_shape)) worksheet.write('A4', 'Basic Summary') writer.save()Langkah terakhir adalah mengubah koding Python ini menjadi aplikasi exe (executable ) yang dapat dijalankan tanpa menggunakan Python. Kita gunakan library Pyinstaller dari command line Windows atau Terminal di Mac.
pyinstaller --onefile namefile.pyArtikel dan file berkaitan dapat ditemukan di website personal saya