05 May 2021

Memanfaatkan Fungsi Timer Pada Sub Function AFTER Yang Terdapat Pada Function Label Yang Disediakan Module Tkinter – Part 2

www.niguru.com Niguru.com | Rabu, 5 Mei 2021 | Pada posting sebelumnya Niguru.com sudah memperkenalkan dan menjelaskan sub function AFTER yang merupakan bagian dari function LABEL.

Pada posting kali ini Niguru.com akan melanjutkan penjelasan mengenai after dengan sedikit memodifikasi program timerKu01.py yang sudah dijelaskan pada posting sebelumnya menjadi DOWN TIMER (= timer penghitung mundur).

Berikut ini script dari timerKu.py:

def gantiAngka():
 a=14;label01["text"]=a
#-----------------------------------------------
from Tkinter import *
layar=Tk();layar.title("TIMER DIGITAL")
layar.geometry("350x100")

label01=Label(layar,font=("Tahoma",30,"bold"))
label01.pack();a=15;label01["text"]=a

label01.after(1000,gantiAngka)
layar.mainloop()
 


www.niguru.com

 
Niguru.com memindahkan instruksi penulisan teks pada label menjadi function dengan nama " timerKu":

def timerKu():
 label01["text"]=a;label01.after(1000,gantiAngka)


www.niguru.com

 
Setelah pergantian maka program menjadi:

def gantiAngka():
 a=14;label01["text"]=a

def timerKu():
 label01["text"]=a;label01.after(1000,gantiAngka)
#---------------------------------------------------
from Tkinter import *
layar=Tk();layar.title("TIMER DIGITAL")
layar.geometry("350x100")

label01=Label(layar,font=("Tahoma",30,"bold"))
label01.pack();a=15;timerKu()

layar.mainloop()


www.niguru.com

 

Saat dieksekusi hasilnya sama:


www.niguru.com

Niguru.com kemudian mengganti variabel "a" lokal dengan variabel "a" global. Agar pengolahan pada function gantiAngka bisa berpengaruh pada function lainnya.
Function " gantiAngka" menjadi:

def gantiAngka():
 global a;a-=1
 label01["text"]=a


www.niguru.com

Saat dieksekusi hasilnya sama:

www.niguru.com

Sekali lagi Niguru.com mengganti function " gantiAngka" menjadi:

def gantiAngka():
 global a;a-=1
 if a>=0:timerKu()
 else:label01["text"]="Selesai :-)"


 
Program selengkapnya adalah:

def gantiAngka():
 global a;a-=1
 if a>=0:timerKu()
 else:label01["text"]="Selesai :-)"

def timerKu():
 label01["text"]=a;label01.after(1000,gantiAngka)
#-----------------------------------------------------
from Tkinter import *
layar=Tk();layar.title("TIMER DIGITAL")
layar.geometry("350x100")

label01=Label(layar,font=("Tahoma",30,"bold"))
label01.pack();a=15;timerKu()

layar.mainloop()


www.niguru.com

Hasilnya adalah down timer (= timer yang menghitung mundur) setiap detik. Tampil angka 15 sebagai awal, hitung mundur sampai 0, dan diakhiri dengan tulisan Selesai :-).

www.niguru.com

Demikianlah penjelasan mengenai cara pemanfaatan sub function AFTER untuk membuat timer dengan tampilan GUI.
Selamat mencoba .. Have a nice day :-)

www.Niguru.com (Nino Guevara Ruwano)

No comments:

Post a Comment