Farih.co.id
Home Programming Cara Membuat Aplikasi Timer Pomodoro Menggunakan Python

Cara Membuat Aplikasi Timer Pomodoro Menggunakan Python

time timer on a wooden table

Teknik Pomodoro adalah teknik manajemen waktu yang dikembangkan oleh Francesco Cirillo. Ini melibatkan penggunaan pengatur waktu untuk memecah pekerjaan menjadi interval 25 menit yang dipisahkan oleh jeda lima menit. Setelah Anda menyelesaikan siklus ini empat kali, Anda dapat beristirahat lebih lama selama 20 menit.


Teknik Pomodoro meningkatkan produktivitas, menghilangkan gangguan, dan meningkatkan fokus individu pada pekerjaan. Teknik ini menghilangkan multitasking dan menghadiahi Anda dengan istirahat sebagai hadiah. Ini membantu Anda tetap santai dan termotivasi untuk melanjutkan pekerjaan Anda dengan penuh dedikasi.


Modul Tkinter dan Matematika

Untuk membangun Aplikasi Timer Pomodoro, Anda memerlukan modul Tkinter dan Matematika. Tkinter adalah pustaka GUI standar untuk Python. Ini menawarkan berbagai widget seperti tombol, label, dan kotak teks, sehingga Anda dapat mengembangkan aplikasi dalam waktu singkat. Untuk menginstal Tkinter, buka terminal dan jalankan:

pip install tkinter

Modul Math hadir di pustaka Python standar dan sangat berguna dalam melakukan perhitungan matematis. Muncul dengan fungsi aritmatika, trigonometri, eksponensial, logaritmik, utilitas, dan konstanta seperti pi dan e.

Cara Membuat Aplikasi Timer Pomodoro Menggunakan Python

Anda dapat menemukan kode sumber Aplikasi Timer Pomodoro Menggunakan Python di sini repositori GitHub.

Mulailah dengan mengimpor modul Tkinter dan Math. Menginisialisasi variabel efisiensi kerja Pomodoro time, break time, long break time, counter, dan timer. Anda akan menggunakan variabel penghitung, perwakilanuntuk mengetahui jumlah siklus Pomodoro yang telah diselesaikan pengatur waktu.

 from tkinter import *
import math

WORK_MIN = 25
SHORT_BREAK_MIN = 5
LONG_BREAK_MIN = 20
reps = 0
timer = None

Tentukan fungsi, reset_timer(). Mulailah dengan mengatur Awal status tombol ke normal untuk mengaktifkannya; Anda akan melihat nanti di mana menonaktifkannya.

Panggil metode after_cancel() untuk menghentikan fungsi pengatur waktu. Menggunakan item_config() metode di kanvas untuk mengatur ulang timer yang ditampilkan di layar ke nol. Ubah teks judul menjadi “Timer” dan warnai ungu. Hapus semua tanda centang yang ada dengan menyetel teks ke string kosong.

Referensi repetisi variabel global dan setel ulang ke nol.

 def reset_timer():
   start_button["state"] = "normal"
    root.after_cancel(timer)
    canvas.itemconfig(timer_text, text="00:00")
    title_label.config(text="Timer", fg=
    check_marks.config(text="")
    global reps
    reps = 0

Tentukan fungsi start_timer(). Di sinilah Anda akan menonaktifkan Awal tombol untuk mencegah pengguna mengkliknya lagi.

Lanjutkan dengan referensi global perwakilan variabel dan menambahkannya. Dapatkan jumlah detik untuk melakukan pekerjaan Anda, istirahat pendek, dan istirahat panjang. Jika variabel penghitung tidak menyisakan sisa saat dibagi delapan (empat siklus Pomodoro di mana satu siklus terdiri dari sesi kerja dan istirahat singkat), mulai timer istirahat panjang dan tampilkan di layar dengan warna Biru.

Demikian pula, jika sisanya adalah nol saat dibagi dua, mulai dan tampilkan pengatur waktu jeda singkat dalam warna Hijau. Jika tidak, mulailah pengatur waktu kerja dan tampilkan yang sama dalam warna Merah.

 def start_timer():
   start_button["state"] = "disabled"

Tentukan fungsi, hitung_mundur() yang menerima hitungan. Tetapkan variabel hitungan minimum sebagai bilangan bulat kecil terdekat dengan hitungan dibagi 60. Tetapkan hitungan kedua sebagai modulus hitungan dengan 60. Jika detik kurang dari 10, tampilkan angka nol tambahan di depannya. Atur kanvas untuk menampilkan menit dan waktu saat ini seperti yang dihitung di atas.

Jika hitungannya lebih besar dari nol, rujuk pengatur waktu global dan atur tanyakan kembali fungsi count_down itu sendiri setelah penundaan satu detik dan kurangi hitungannya satu.

 def count_down(count):
    count_min = math.floor(count / 60)
    count_sec = count % 60

    if count_sec < 10:
        count_sec = f"0{count_sec}"

    canvas.itemconfig(timer_text, text=f"{count_min}:{count_sec}")

    if count > 0:
        global timer
        timer = root.after(1000, count_down, count - 1)

Jika tidak, hubungi start_timer() fungsi, setel tanda centang ke nol, dan hitung sesi kerja sebagai bilangan bulat terdekat terkecil ke penghitung dibagi dua. Ulangi sesi kerja dan tingkatkan tanda centang dengan tepat. Konfigurasikan check_marks() berfungsi untuk menampilkan teks sebagai variabel tanda centang.

     else:
        start_timer()
        marks = ""
        work_sessions = math.floor(reps / 2)

        for _ in range(work_sessions):
            marks += "✓"

        check_marks.config(text=marks)

Inisialisasi instance Tkinter dan tampilkan jendela root. Tetapkan judul aplikasi Anda dan konfigurasikan agar memiliki bantalan di kedua arah. Atur latar belakang menjadi kuning muda.

 root = Tk()
root.title("Pomodoro Timer Application")
root.config(padx=100, pady=50, bg="#f7f5dd")

Tentukan widget label yang menampilkan teks sebagai Timer. Atur warna font, warna latar belakang, dan gaya font. Gunakan pengelola tata letak Grid untuk mengatur elemen aplikasi. Tempatkan label judul di baris pertama dan kolom kedua.

 title_label = Label(text="Timer", fg='#A020F0', bg="#f7f5dd", font=("Arial", 50))
title_label.grid(column=1, row=0)

Tentukan kanvas dengan lebar dan tinggi 200×224 piksel. Setel ketebalan batas ke nol. Gunakan widget PhotoImage untuk menampilkan gambar Tomat di atas kanvas. Menggunakan buat_gambar() metode untuk menyisipkan gambar pada kanvas.

Menggunakan buat_teks() metode untuk membuat teks waktu masuk mm: ss format. Setel lebar, tinggi, teks, warna, dan gaya font waktu hitung mundur. Tempatkan ini di baris kedua dan kolom kedua dari grid.

 canvas = Canvas(width=200, height=224, highlightthickness=0)
tomato_img = PhotoImage(file="tomato.png")
canvas.create_image(100, 112, image=tomato_img)
timer_text = canvas.create_text(100, 130, text="00:00", fill="white", font=("Arial", 35, "bold"))
canvas.grid(column=1, row=1)

Tentukan dua tombol, tombol MulaiDan tombol Atur ulang. Atur teks yang harus ditampilkan, tanpa batas, fungsi yang harus dijalankan saat diklik, warna latar belakang, dan gaya font. Posisikan tombol Start di kolom pertama, baris kedua dan tombol Reset di kolom yang sama, baris ketiga.

 start_button = Button(text="Start", highlightthickness=0, command=start_timer, bg="#e7305b", font=("arial", 15, "bold"))
start_button.grid(column=0, row=2)

reset_button = Button(text="Reset", highlightthickness=0, command = reset_timer, bg="#e7305b", font=("arial", 15, "bold"))
reset_button.grid(column=2, row=2)

Buat label yang awalnya menampilkan tanda centang sebagai tidak ada. Atur warna font, warna latar belakang, dan gaya font. Letakkan di kolom kedua dan baris keempat, di bawah tombol di tengah.

Itu mainloop() fungsi memberi tahu Python untuk menjalankan loop acara Tkinter dan mendengarkan acara sampai Anda menutup jendela.

 check_marks = Label(text="", fg='#00FF00', bg="#f7f5dd", font=("arial", 25, "bold"))
check_marks.grid(column=1, row=3)

root.mainloop()

Gabungkan semua kode dan coba aplikasi Pomodoro Timer.

Contoh Keluaran Aplikasi Timer Pomodoro

Saat Anda menjalankan program ini, Anda akan melihat jendela dengan judul “Timer” dan penghitung waktu mundur disetel ke nol. Saat mengklik tombol Mulai, judul berubah menjadi “Bekerja”, dan penghitung waktu mulai menghitung mundur.

Layar Kerja Aplikasi Pomodoro Timer

Tepat setelah 25 menit, tanda centang muncul dan aplikasi memulai penghitung waktu istirahat singkat selama lima menit.

Layar Istirahat Singkat Aplikasi Timer Pomodoro

Setelah empat siklus Pomodoro, pengatur waktu Istirahat Panjang disetel selama 20 menit. Setelah waktunya habis, pengatur waktu kerja dimulai lagi.

Aplikasi Timer Pomodoro Layar Istirahat Panjang

Aplikasi yang Dapat Anda Bangun Menggunakan Modul Matematika dan Tkinter

Ada banyak sekali aplikasi yang dapat Anda buat menggunakan Tkinter dan modul Math. Pemula dapat menjelajahi platform dengan membuat kalkulator. Kalkulator dapat dari berbagai jenis termasuk aritmatika, geometris, grafik, dan keuangan. Anda dapat membuat kartu flash matematika dan generator soal matematika untuk dipecahkan oleh pengguna.

Kotak alat pengubah sistem bilangan, trigonometri, dan statistik terbukti berguna untuk berlatih matematika dengan cara yang lebih sederhana dan menyenangkan.

Comment
Share:

Leave a Reply

Your email address will not be published. Required fields are marked *

Ad