Cara Membuat Aplikasi Kasir Sederhana dengan PySimpleGUI dan Python

 

Heyooi teman-teman!

postingan kali ini adalah postingan pertama saya, saya ingin berbagi tentang cara membuat aplikasi kasir sederhana menggunakan Python Mungkin penulisan di Codeboxnya masih berantakan jadi mohon maaf yang sebesar besarnya. PySimpleGUI. Kita akan membuat aplikasi kasir yang memungkinkan pengguna memasukkan item, harga, dan jumlah, dan kemudian menampilkan hasilnya dalam tabel. Aplikasi ini juga akan menghitung total dari semua transaksi.

Saya Akan Menjelaskan Step By Step:


import PySimpleGUI as sg


2.Buat Fungsi Layout Untuk Input Data


def create_layout():
    layout = [
        [sg.Text('Item'), sg.InputText(key='item', size=(20, 1)), sg.Text('Harga'),  
        sg.InputText(key='harga', size=(10, 1)), sg.Text('Jumlah'),
        sg.InputText(key='jumlah', size=(10, 1))],
        [sg.Button('Tambah'), sg.Button('Keluar')],
        [sg.Table(values=[], headings=['Item', 'Harga', 'Jumlah', 'Total'],
        auto_size_columns=False, justification='center', num_rows=10, key='table',  
        col_widths=[20, 12, 10, 12], text_color='black', background_color='white')],
        [sg.Text('Total:', size=(20, 1)), sg.Text('', size=(20, 1), key='total_text')],
    ]
    return layout


3.Buat Fungsi Untuk Memasukan Data Dan Fungsi Lainnya


def show_error_popup(message):
    sg.popup_error(message, title='Error')

def main():
    sg.theme('Default1')

    window = sg.Window('Aplikasi Kasir', create_layout())

    data = []

    while True:
        event, values = window.read()

        if event == sg.WIN_CLOSED or event == 'Keluar':
            break
        elif event == 'Tambah':
            item = values['item']
            harga = values['harga']
            jumlah = values['jumlah']

            # Periksa apakah semua kolom input sudah diisi
            if not all([item, harga, jumlah]):
                show_error_popup('Data belum diinput. Harap isi semua kolom.')
                continue

            harga = float(harga)
            jumlah = int(jumlah)
            total = harga * jumlah

            harga_formatted = f'Rp. {harga:,.2f}'
            total_formatted = f'Rp. {total:,.2f}'

            data.append([item, harga_formatted, str(jumlah), total_formatted])

            window['table'].update(values=data)

            total_semua = sum([float(row[3][3:].replace(',', '')) for row in data])
            window['total_text'].update(f'Total: Rp. {total_semua:,.2f}')

            window['item'].update('')
            window['harga'].update('')
            window['jumlah'].update('')

    window.close()


4.Buat Penutup Aplikasinya


    if __name__ == '__main__':
    main()
    


5.Untuk Script Full Aplikasinya   


import PySimpleGUI as sg

def create_layout():
    layout = [
        [sg.Text('Item'), sg.InputText(key='item', size=(20, 1)), sg.Text('Harga'),  
        sg.InputText(key='harga', size=(10, 1)), sg.Text('Jumlah'),
        sg.InputText(key='jumlah', size=(10, 1))],
        [sg.Button('Tambah'), sg.Button('Keluar')],
        [sg.Table(values=[], headings=['Item', 'Harga', 'Jumlah', 'Total'],
        auto_size_columns=False, justification='center', num_rows=10, key='table',  
        col_widths=[20, 12, 10, 12], text_color='black', background_color='white')],
        [sg.Text('Total:', size=(20, 1)), sg.Text('', size=(20, 1), key='total_text')],
    ]
    return layout   

def show_error_popup(message):
    sg.popup_error(message, title='Error')

def main():
    sg.theme('Default1')

    window = sg.Window('Aplikasi Kasir', create_layout())

    data = []

    while True:
        event, values = window.read()

        if event == sg.WIN_CLOSED or event == 'Keluar':
            break
        elif event == 'Tambah':
            item = values['item']
            harga = values['harga']
            jumlah = values['jumlah']

            # Periksa apakah semua kolom input sudah diisi
            if not all([item, harga, jumlah]):
                show_error_popup('Data belum diinput. Harap isi semua kolom.')
                continue

            harga = float(harga)
            jumlah = int(jumlah)
            total = harga * jumlah

            harga_formatted = f'Rp. {harga:,.2f}'
            total_formatted = f'Rp. {total:,.2f}'

            data.append([item, harga_formatted, str(jumlah), total_formatted])

            window['table'].update(values=data)

            total_semua = sum([float(row[3][3:].replace(',', '')) for row in data])
            window['total_text'].update(f'Total: Rp. {total_semua:,.2f}')

            window['item'].update('')
            window['harga'].update('')
            window['jumlah'].update('')

    window.close()

if __name__ == '__main__':
    main()

Script ini dapat disesuaikan dengan kebutuhan Anda. Anda dapat mengubah tata letak, warna, atau menambahkan fitur tambahan sesuai keinginan. Aplikasi kasir sederhana ini adalah contoh bagaimana kita dapat dengan cepat membuat antarmuka pengguna yang fungsional dengan Python. Jika ada pertanyaan atau saran, jangan ragu untuk meninggalkan komentar di bawah. 

Selamat coding! 

Posting Komentar

Lebih baru Lebih lama