Membuat Program Countdown Timer (Pomodoro) dengan Python
Waktu hitung mundur (countdown timer) sering kita temukan pada kehidupan sehari-hari.
Biasanya kita gunakan untuk menghitung mundur sesuatu yang penting, seperti: deadline, detik pergantian tahun, timer saat memasak, pomodoro, dll.
Nah, pada tutorial ini.. Kita akan belajar membuat program timer dengan Python dengan studi kasus Pomodoro Timer.
Sebenarnya tidak hanya bisa dipakai untuk Pomodoro saja sih, program ini juga nanti akan bisa digunakan untuk timer yang lainnya.
Oke kalau bagitu,
Mari kita mulai!
Apa itu Pomodoro?
Pomodoro artinya tomat.
Pomodoro adalah teknik yang memanfaatkan waktu 25 menit untuk fokus mengerjakan sesuatu. Teknik ini menggunakan timer.
Karena Timer yang digunakan adalah timer tomat—timer yang biasanya digunakan untuk memasak di dapur—maka teknik ini disebut Pomodoro.

Membuat Program Countdown Timer
Nah, sekarang mari kita mulai membuat programnya.
Silakan buat program baru dengan nama pomodoro.py
atau terserah kamu. Bisa juga countdowntimer.py.
Setelah itu, isi kode programnya seperti ini:
#!/usr/bin/python3
import time
def countdownTimer(start_minute, start_second):
total_second = start_minute * 60 + start_second
while total_second:
mins, secs = divmod(total_second, 60)
print(f'{mins:02d}:{secs:02d}', end='\r')
time.sleep(1)
total_second -= 1
print("Done!")
if __name__ == '__main__':
countdownTimer(25, 00) #pomodoro timerSetelah itu, coba jalankan programnya.

Untuk mengetes, saya mengubah waktunya menjadi 10 detik.
Caranya, tinggal ganti saja 00 menjadi 00 dan 00 berikutnya menjadi 10
pada saat memanggil fungsi countdownTimer().
countdownTimer(00, 10)Penjelasan Program
Di bagian paling atas, melakukan impor modul time.
import timeModul ini kita butuhkan karena kita akan menggunakan fungsi-fungsi waktu.
Berikutnya kita membuat fungsi countdownTimer()
dengan dua parameter. Parameter pertama untuk manit
awal dan parameter kedua untuk detik awal.
def countdownTimer(start_minute, start_second):
# ada kode di sini...Jika mau ditambahkan parameter jam mulai juga bisa, tapi nanti akan berubah juga rumus untuk menghitung total detiknya.
Berikut ini kode untuk menghitung total detik dari timer:
total_second = start_minute * 60 + start_secondJika mau ditambah jam, bisa jadi seperti ini:
total_second = start_hour * start_minute *60 + start_minute * 60 + start_secondMengapa kita harus menghitung total detik?
Karena kita akan melakukan perulangan sebanyak detiknya.
while total_second:
mins, secs = divmod(total_second, 60)
print(f'{mins:02d}:{secs:02d}', end='\r')
time.sleep(1)
total_second -= 1Fungsi divmod() akan membagi total detik (total_second) dengan 60,
kemudian hasilnya akan disimpan ke dalam variabel mins dan sisa baginya
akan disimpan ke dalam variabel secs.
Berikutnya kita melakukan pinrt() isi kedua variabel ini.
print(f'{mins:02d}:{secs:02d}', end='\r')Simbol 02d artinya kita ingin mencetak angka dalam dua digit.
Lalu \r artinya teks yang dicetak akan ditindih atau ditulis ulang.
Berikutnya kita menunda waktu eksekusi selama satu
detik dengan fungsi sleep() dari modul time.
time.sleep(1)Terakhir mengurangi total detik dengan 1…
total_second -= 1…dan perulangan akan berhenti ketika total detik mencapai 0.
Gampang kan?
Akhir Kata…
Terima kasih sudah mengikuti tutorial ini, semoga bermanfaat.
Jika ada yang ditanyakan, silakan sampaikan melalui komentar.