Cara menggunakan gui python

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.

import tkinter as tk
root = tk.Tk()
label = tk.Label(root, text = "Contoh tkinter").pack()
root.mainloop()

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

    def load_excel(self, event=None):
        #filedialog adalah bagian dari library tkinter untuk menanyakan lokasi file excel yang untuk dibaca
        path = filedialog.askopenfilename()
        df_credit = pd.read_excel(path)
        df_credit_shape = df_credit.shape
        self.output.config(text='Data loaded is:' + str(df_credit_shape))

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.py

Artikel dan file berkaitan dapat ditemukan di website personal saya

Apa itu GUI di python?

Tkinter adalah graphic user interface (GUI) standar python digunakan untuk membuat tampilan aplikasi dengan komponen-komponen yang ada di modul tkinter seperti Button, Textbox, Label, Frame, Window yang mana sangat mendukung dalam penciptaan aplikasi GUI .

Aplikasi apa yang bisa dibangun dengan python?

Python adalah sebuah bahasa pemrograman yang digunakan untuk membuat aplikasi, perintah komputer, dan melakukan analisis data. Sebagai general-purpose language, Python bisa digunakan untuk membuat program apa saja dan menyelesaikan berbagai permasalahan. Selain itu, Python juga dinilai mudah untuk dipelajari.

Apa itu Mainloop?

mainloop () adalah loop tak terbatas yang digunakan untuk menjalankan aplikasi, tunggu sampai suatu peristiwa terjadi dan prosesnya peristiwa selama jendela tidak ditutup.

Apa yang dimaksud dengan library Tkinter?

Tkinter merupakan library yang sudah sering kamu dengar untuk membuat aplikasi antarmuka (GUI) python. Tkinter menyediakan cara cepat dan mudah yang berorientasikan objek yang kuat dalam membuat aplikasi python berbasiskan GUI. Tkinter biasanya secara default di-bundle dengan Python.