BelajarPython - Assalamualaikum wr. wb.
Jumpa lagi sahabat python.. Pada kesempatan kali ini saya akan mengajak kalian untuk membuat aplikasi stopwatch nih.. Seperti apa? Langsung saja yuk di simak...
Aplikasi ini saya posting dengan berbagai versi.. Dengan penambahan fitur di tiap versinya.. Jika kalian ingin melihat semua versi nya, KLIK DISINI ya...
Kali ini, saya akan memberikan versi ketiga. Dimana pada versi ini saya akan memberikan kolom input teks yang saya gunakan sebagai layar untuk mencetak waktu.
Kalian juga bisa membuat code program ini menjadi file aplikasi loh.. iya file aplikasi seperti "exe" itu.. sehingga, nantinya kita cukup klik dua kali saja untuk menjalankan aplikasi ini... tanpa perlu repot - repot membuka nya di IDLE atau IDE python.. nah seperti apa caranya? cukup mudah kok.. dan saya juga sudah membuatkan tutorialnya.. untuk kalian yang menggunakan windows, KALIAN BISA KLIK DISINI ya temen - temen.. atau jika pada link pertama terlalu rumit, KALIAN BISA MENCOBA CARA INI ya.... dan bagi pengguna linux ? tenang saja.. bisa juga kok membuat file executable nya.. untuk melihat tutorialnya, KALIAN BISA KLIK DISINI temen - temen...
Dan berikut contoh screenshoot dari mini aplikasi kali ini...
Nah itu dia temen - temen penjelasan code programnya.. Mohon maaf apabila ada penjelasan yang kurang jelas, atau bahkan ada kekeliruan... Mohon kasi pembenaran atau pendapat kalian di kolom komentar ya... Biar kita bisa belajar bersama..
Oke terimakasih dan sampai di sini dulu ya... Jangan lupa untuk membaca versi yang lain... Biar ilmunya nambah.. Hehe.. Temikasih sekali lagi dan sekian...
Wassalamualaikum wr. wb.
Jumpa lagi sahabat python.. Pada kesempatan kali ini saya akan mengajak kalian untuk membuat aplikasi stopwatch nih.. Seperti apa? Langsung saja yuk di simak...
Pengenalan aplikasi yang akan kita buat.
Aplikasi yang kita buat kali ini adalah aplikasi stopwatch pada umumnya.. Dan saya rasa tidak ada yang sepesial juga.. heheAplikasi ini saya posting dengan berbagai versi.. Dengan penambahan fitur di tiap versinya.. Jika kalian ingin melihat semua versi nya, KLIK DISINI ya...
Kali ini, saya akan memberikan versi ketiga. Dimana pada versi ini saya akan memberikan kolom input teks yang saya gunakan sebagai layar untuk mencetak waktu.
Rincian Lengkap Aplikasi Stopwatch Tkinter Versi 3.0
Aplikasi ini menggunakan library Tkinter.. Jadi, untuk menjalankannya, kalian tidak perlu install library tambahan.... Dan berikut rincian lengkap versi ini..Nama | : mn-StopWatch 3.0 |
Versi | : 3.0 || selanjutnya. |
Platform | : Python 3.x || Install. |
Modul | : Tkinter. |
Baris Code | : +-77 baris. |
Penambahan | : +-9 baris. |
Terdiri dari | : 1 class dan 9 metode. |
Fitur | : Mini Layar |
Kelemahan | : Layar masih bisa di edit dan tampilannya kecil. |
syarat menjalankan | : Python 3.x, dan editor teks / IDE. |
Cara menjalankan | : install python 3, copy paste code program pada editor/IDE, simpan dalam file python(ekstensi ‘.py’), lalu jalankan. |
Kalian juga bisa membuat code program ini menjadi file aplikasi loh.. iya file aplikasi seperti "exe" itu.. sehingga, nantinya kita cukup klik dua kali saja untuk menjalankan aplikasi ini... tanpa perlu repot - repot membuka nya di IDLE atau IDE python.. nah seperti apa caranya? cukup mudah kok.. dan saya juga sudah membuatkan tutorialnya.. untuk kalian yang menggunakan windows, KALIAN BISA KLIK DISINI ya temen - temen.. atau jika pada link pertama terlalu rumit, KALIAN BISA MENCOBA CARA INI ya.... dan bagi pengguna linux ? tenang saja.. bisa juga kok membuat file executable nya.. untuk melihat tutorialnya, KALIAN BISA KLIK DISINI temen - temen...
Code program aplikasi StopWatch Tkinter versi 2.0
Nah lalu seperti apa code program versi ini ? Oke, Berikut saya berikan code program nya ya...from tkinter import * import time class StopWatch(Frame): def __init__(self, parent): Frame.__init__(self, parent) self._start = 0.0 self.waktuSekarang = 0.0 self.sedangBerjalan = False self.waktuString = StringVar() self.textStart= StringVar() self.textStart.set('Start') parent.configure(background='light blue') parent.title('stopwatch') self.buatTeks() self.buatKolom() self.buatTombol() self.posisi=1 def buatTeks(self): self.teks = Label(self, textvariable=self.waktuString,font="Verdana 19 bold", bg='light blue', fg='blue') self.aturWaktu(self.waktuSekarang) self.teks.grid(row=0, column=0) def perbarui(self): self.waktuSekarang = time.time() - self._start self.aturWaktu(self.waktuSekarang) self._timer = self.after(50, self.perbarui) def aturWaktu(self, waktu): menit = int(waktu / 60) detik = int(waktu - menit * 60.0) jam = int((waktu - menit * 60.0 - detik) * 100) self.waktuString.set('%02d:%02d:%02d' % (menit, detik, jam)) def Start(self): if not self.sedangBerjalan and self.textStart.get() == 'Start' : self.textStart.set('Cetak') self._start = time.time() - self.waktuSekarang self.perbarui() self.sedangBerjalan = True elif self.sedangBerjalan and self.textStart.get() == 'Cetak' : self.kolom.insert(END, str(self.posisi)+ ". " + self.waktuString.get()+"<>") self.posisi+=1 def pause(self): if self.sedangBerjalan: self.textStart.set('Start') self.after_cancel(self._timer) self.waktuSekarang = time.time() - self._start self.aturWaktu(self.waktuSekarang) self.sedangBerjalan = False def Reset(self): self._start = time.time() self.waktuSekarang = 0.0 self.aturWaktu(self.waktuSekarang) self.kolom.delete('0',END) def buatKolom(self): self.kolom = Entry(bg='blue', fg='white') self.kolom.grid(row=1,column=0,columnspan=4,pady=4) def buatTombol(self): Button(textvariable=self.textStart, command=self.Start).grid(row=2, column=0) Button(text='Pause', command=self.pause).grid(row=2, column=1) Button(text='Reset', command=self.Reset).grid(row=2, column=2) Button(text='Quit', command=self.quit).grid(row=2, column=3) def main(): root = Tk() sw = StopWatch(root) sw.grid(row=0,column=0, columnspan=4) root.mainloop() if __name__ == '__main__': main()
Dan berikut contoh screenshoot dari mini aplikasi kali ini...
Penjelasan code program Aplikasi StopWatch Tkinter versi 3.0
Sekarang saya akan mencoba untuk menjelaskan code program yang sudah saya bagikan di atas tadi.. Agar kalian lebih mudah untuk memahaminya.. Oke, Langsung saja..[NOTE : Teks berwarna MERAH pada penjelasan adalah Code tambahan yang tidak ada di versi sebelumnya. Dan yang Berwarna BIRU akan di hapus di versi berikutnya. Jika Code berwarna MERAH dan komentar berwarna BIRU maka merupakan code baru dan akan di hapus di versi berikutnya]
from tkinter import * //mengimpor semua class ‘Tkinter’
import time //mengimport class ‘Time’
class StopWatch(Frame): //class ‘StopWatch’ dan meng inheritence class ‘Frame’
def __init__(self, parent): //membuat construktor dari class ‘StopWatch’
Frame.__init__(self, parent) //menjalankan konstruktor class parent (Frame)
self._start = 0.0 //membuat variabel
self.waktuSekarang = 0.0 //inisialisasi variabel untuk memperbarui waktu
self.sedangBerjalan = False //inisialisasi variabel ‘sedangBerjalan’ (False = stopwatch tidak berjalan. True=Stopwatch berjalan)
self.waktuString = StringVar() //insiialisasi class stringvar (untuk memperbarui teks angka stopwatch)
self.textStart= StringVar() //inisialisasi variabel dan class StringVar. Variabel ini digunakan untuk teks tombol ‘start/resume/pause’
self.textStart.set('Start') //mengubah isi teks ‘textStart’ menjadi ‘start’
parent.configure(background='light blue') //mengubah warna window menjadi biru
parent.title('stopwatch') //mengubah judul window
self.buatTeks() //menjalankan metode ‘buatTeks’
self.buatKolom() //menjalankan metode ‘buatKolom
self.buatTombol() //menjalankan metode ‘buatTombol’
self.posisi=1 //inisialisasi ‘posisi’ (urutan pencetakan)
def buatTeks(self): //metode ‘buatTeks’
self.teks = Label(self, textvariable=self.waktuString,font="Verdana 19 bold", bg='light blue', fg='blue') //membuat label dengan settingan dan ukuran yang sudah saya tentukan. Ini untuk menampilkan angka angka stopwatch
self.aturWaktu(self.waktuSekarang) //menjalankan metode ‘aturWaktu’ dengan memasukkan nilai variabel ‘waktuSekarang’ sebagai parameter
self.teks.grid(row=0, column=0) //memasukkan teks angka stopwatch kedalam window
def perbarui(self): //metode perbarui waktu
self.waktuSekarang = time.time() - self._start //mendpatkan waktu sekarang (waktu stopwatch)
self.aturWaktu(self.waktuSekarang) //menjalankan metode ‘aturWaktu’ dengan memasukkan nilai variabel ‘waktuSekarang’ sebagai parameter
self._timer = self.after(50, self.perbarui) //digunakan untuk memanggil metode ‘perbarui’ lagi setelah/setiap 50 mili detik
def aturWaktu(self, waktu): //metode ‘aturWaktu’
menit = int(waktu / 60) //mendapatkan waktu dalam menit
detik = int(waktu - menit * 60.0) //mendapatkan waktu dalam detik
jam = int((waktu - menit * 60.0 - detik) * 100) //mendapatkan waktu dalam mili detik
self.waktuString.set('%02d:%02d:%02d' % (menit, detik, jam)) //menggabungkan angka menit, detik dan mili detik dan di masukkan ke dalam ‘WaktuString’
def Start(self): //metode ‘start’
if not self.sedangBerjalan and (self.textStart.get() == 'Start' or self.textStart.get()=='Resume') : //memastikan stopwatch tidak berjalan dan teks tombolnya adalah ‘Start’ atau ‘Resume’
self.textStart.set('cETAK') //mengubah teks tombol menjadi ‘Pause’
self._start = time.time() - self.waktuSekarang //mendapatkan nilai stop watch
self.perbarui() //menjalankan metode perbarui
self.sedangBerjalan = True //mengubah variabel menajdi true. (menandakan stopwatch berjalan)
elif self.sedangBerjalan and self.textStart.get() == 'Pause' : //mengecek apakah stopwatch berjalan dan teks tombolnya adalah ‘Pause’
self.kolom.insert(END, str(self.posisi)+ ". " + self.waktuString.get()+"<>") //memasukkan waktu ke mini layar
self.posisi+=1 //menambah nilai ‘posisi’ (uruatan cetak)
def pause(self): //metode ‘pause’
if self.sedangBerjalan: //memastikan stopwatch berjalan (bernilai True)
self.after_cancel(self._timer) //menjalankan metode ‘after_cancel’ (bawaan) untuk pause timer
self.waktuSekarang = time.time() - self._start //mendapatkan waktu stopwatch
self.aturWaktu(self.waktuSekarang) //menjalankan metode ‘aturWaktu’
self.sedangBerjalan = False //mengubah variabel ‘sedangBerjalan’ menjadi false (menandakan stopwatch berhenti)
def Reset(self): //metode ‘Reset’
self._start = time.time() //mendapatkan waktu stopwatch
self.waktuSekarang = 0.0 //mereset waktu
self.aturWaktu(self.waktuSekarang) //menjalankan metode ‘aturWaktu’ dengan memasukkan ‘waktuSekarang’ sebagai parameter
self.kolom.delete('0',END) //menghapus semua isi di kolom teks (mini layar)
def buatKolom(self): //metode buatKolom
self.kolom = Entry(bg='blue', fg='white') //membuat mini layar atau kolom dengan backgrund putih
self.kolom.grid(row=1,column=0,columnspan=4,pady=4) //memasukkan kolom teks/mni layar
def buatTombol(self): //metode buat tombol
Button(textvariable=self.textStart, command=self.Start).grid(row=2, column=0) //membuat tombol ‘start atau resume atau pause’ dan memasukkan ke dalm window
Button(text='Pause', command=self.pause).grid(row=2, column=1) //membuat tombol pause
Button(text='Reset', command=self.Reset).grid(row=2, column=1) //membuat tombol ‘Reset’ yang akan menjalankan metode ‘Reset’ ketika di klik dan langsung di masukkan ke window
Button(text='Quit', command=self.quit).grid(row=2, column=2) //membuat tombol ‘Quit’ yang akan menutup aplikasi ketika di klik dan langsung di masukkan ke window
def main(): //metode main
root = Tk() //menjalankan window tkinter
sw = StopWatch(root) //menjalankan class ‘stopWatch’
sw.grid(row=0,column=0, columnspan=4) //memasukkan frame class ‘StopWatch’ ke window
root.mainloop() //agar tidak langsung close
if __name__ == '__main__': //code yang di jalankan pertama kali
main() //menjalankan metode ‘main’
Nah itu dia temen - temen penjelasan code programnya.. Mohon maaf apabila ada penjelasan yang kurang jelas, atau bahkan ada kekeliruan... Mohon kasi pembenaran atau pendapat kalian di kolom komentar ya... Biar kita bisa belajar bersama..
Oke terimakasih dan sampai di sini dulu ya... Jangan lupa untuk membaca versi yang lain... Biar ilmunya nambah.. Hehe.. Temikasih sekali lagi dan sekian...
Wassalamualaikum wr. wb.
ConversionConversion EmoticonEmoticon