TKINTER TUTORIAL | Login | Python


MEMBUAT LOGIN GUI DENGAN PYTHON TKINTER?


Halo PythonMania!…Apa kabarnya hari ini? Pasti LEBIH FRESH dari hari biasanya ya…karena hari ini adalah hari pertama kita di tahun 2013…YES! Sudah buat DAFTAR IMPIAN Anda di tahun 2013? Khususnya tentang perkembangan ilmu pemrograman Python, ingin seberapa dalam ilmu kita di tahun 2013 ini? Kalo belum…Ayo Tulis Dulu DAFTAR IMPIAN ANDA!
Oiya, insyaAlloh di tahun 2013 ini akan ada buku baru Python yang berjudul “Python, Pemrograman Yang Baik.” tulisan admin KlinikPython tentunya. Ditunggu saja tanggal mainnya ya…(hehehe…cos sudah masuk DAFTAR IMPIAN Admin).
login_selamat_tahun_baru2013
Nah, sebagai pembuka di awal tahun 2013 ini, kami ingin mengajak para PythonMania untuk membuat sebuah aplikasi sederhana berbasis GUI Tkinter“Bagaimana membuat form Login di GUI Python –
tampilan program
demo_login
login_selamat_tahun_baru2013






Kode program
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# nama file: login.py
#
# Python ver. 2.6
# Sistem Operasi: Debian 6 (squeeze)
# Tgl pembuatan: 1 Januari 2013 at 10.32 AM
# Penulis: KlinikPython.wordpress.com
#
from Tkinter import *
import tkMessageBox as mb
datUser = 'admin'
datPassword = '12345'
class DemoLogin:
    def __init__(self, induk, judul):
        self.induk = induk
         
        self.induk.title(judul)
        self.induk.protocol("WM_DELETE_WINDOW", self.Tutup)
        self.induk.resizable(False, False)
         
        self.aturKomponen()
         
        self.entUser.focus_set()
         
    def aturKomponen(self):
        # atur frame utama
        frameUtama = Frame(self.induk, bd=10)
        frameUtama.pack(fill=BOTH, expand=YES)
         
        # atur frame data
        frData = Frame(frameUtama, bd=5)
        frData.pack(fill=BOTH, expand=YES)
         
        # atur input username
        Label(frData, text='nama pengguna:').grid(row=0, column=0, sticky=W)
        self.entUser = Entry(frData)
        self.entUser.grid(row=0, column=1)
         
        # atur input password
        Label(frData, text='kata kunci:').grid(row=1, column=0, sticky=W)
        self.entPass = Entry(frData, show='*')
        self.entPass.grid(row=1, column=1)
         
        # atur cek --> perlihatkan kata kunci
        self.cek = IntVar()
         
        self.cbShowPass = Checkbutton(frData, text='lihat kata kunci',
            variable=self.cek, command=self.lihatPassword)
        self.cbShowPass.grid(row=2, column=1, sticky=E)
         
        # atur frame tombol
        frTombol = Frame(frameUtama, bd=5)
        frTombol.pack(fill=BOTH, expand=YES)
         
        # atur tombol login
        self.btnLogin = Button(frTombol, text='Login', command=self.prosesLogin)
        self.btnLogin.pack(side=LEFT, fill=BOTH, expand=YES)
         
        self.btnBatal = Button(frTombol, text='Batal', command=self.Tutup)
        self.btnBatal.pack(side=LEFT, fill=BOTH, expand=YES)
         
    def prosesLogin(self, event=None):
        # ambil data input dari pengguna
        nmUser = self.entUser.get()
        passUser = self.entPass.get()
         
        # logika pemrograman
        if nmUser=='':
            mb.showwarning('Pesan Salah', 'Nama User tidak boleh kosong!', parent=self.induk)
            self.entUser.focus_set()
        elif passUser=='':
            mb.showwarning('Pesan Salah', 'Kata Kunci tidak boleh kosong!', parent=self.induk)
            self.entPass.focus_set()
        elif (nmUser==datUser) and (passUser==datPassword):
            mb.showinfo("Login", "Selamat Tahun Baru 2013!!!", parent=self.induk)
            self.Tutup()
        else:
            mb.showwarning('Pesan Salah', 'Nama Pengguna atau Kata Kunci SALAH!!', parent=self.induk)
            self.Hapus()
             
    def lihatPassword(self, event=None):
        nilaiCek = self.cek.get()
         
        if nilaiCek== 1:
            self.entPass['show'] = ''
        else:
            self.entPass['show'] = '*'
         
    def Tutup(self, event=None):
        self.induk.destroy()
         
    def Hapus(self, event=None):
        self.entUser.delete(0, END)
        self.entPass.delete(0, END)
        self.entUser.focus_set()       
         
if __name__ == '__main__':
    root = Tk()
     
    app = DemoLogin(root, ":: Demo Login Password ::")
     
    root.mainloop()




Selamat mencoba!



Comments

Popular posts from this blog

tugas 1 PBI : SUMBER DAYA MANUSIA DAN TANGGUNG JAWAB SOSIAL WIRAUSAHA

Laporan Perjalanan TMII