author Ahmad Muhardian

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 baisanya digunakan untuk memasak di dapur—maka teknik ini disebut Pomodoro.

Pomodoro Timer

Membuat Program Countdown Timer

Nah, sekarang mari kita mulai membuat programnya. Silahkan 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 timer

Setelah itu, coba jalankan programnya.

Demo program countdownt timer dengan Python

Untuk mengetes, saya mengubah waktunya menjadi 10 detik. Caranya, tinggal ganti saja 00 menjadi 00 dan 00 berikutnya menjadi 10 pada saat memanggil fungsi countdowntTimer().

countdownTimer(00, 10)

Penjelasan Program

Di bagian paling atas, melakukan impor modul time.

import time

Modul ini kita butuhkan karena kita akan menggunakan fungsi-fungsi waktu.

Berikutnya kita membuat fungsi countdownTimer() dengan dua paramter. Parameter pertama untuk manit awal dan parameter kedua untuk detik awal.

def countdownTimer(start_minute, start_second):
    # ada kode di sini...

Jika mau ditambahkan paramter jam mulai juga bisa, tapi nanati akan berubah juga rumus untuk menghitung total detiknya.

Berikut ini kode untuk menghitung total detik dari timer:

total_second = start_minute * 60 + start_second

Jika mau ditambah jam, bisa jadi seperti ini:

total_second = start_hour * start_minute *60 + start_minute * 60 + start_second

Mengapa 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 -= 1

Fungsi 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 perualgan akan berhenti ketika total detik mencapai 0.

Gampang kan?

Akhir Kata…

Terimakasih sudah mengikuti tutorial ini, semoga bermanfaat.

Jika ada yang ditanyakan, silahkan sampaikan melalui komentar.

Baca Juga ini

Ini yang Saya Lakukan untuk Munguasai Dasar Bahasa Python dalam Sebulan

Ini yang Saya Lakukan untuk Munguasai Dasar Bahasa Python dalam Sebulan

Selamat pagi semua, sudah santap sahur? Ya, akhirnya kita sudah sampai pada bulan Ramadhan. Jadi teringat bulan ramadhan dua tahun yang lalu. Saat itu, sehabis santap sahur, saya mengikuti kursus pemrograman Python di Codecademy. Sahur kode (ngoding sehabis sahur), saya lakukan setelah santap sahur sambil menunggu waktu imsak dan adzan subuh tiba… (ditemani secangkir kopi hangat) …Menyelesaikan sedikit demi sedikit kursus yang ada di Codecademy. Hal tersebut terus-menerus dilakukan setiap hari sampai lebaran.

Memahami Cara Kerja Fungsi Rekursif

Memahami Cara Kerja Fungsi Rekursif

Gimana sih cara kerja fungsi rekursif dalam pemrograman?

Manfaat fungsi time.sleep() pada pemrograman Python

Manfaat fungsi time.sleep() pada pemrograman Python

Python memiliki sebuah modul waktu (time). Banyak fungsi-fungsi yang berkaitan tentang waktu yang dapat digunakan dengan modul tersebut. Salah satunya adalah fungsi sleep(). Fungsi ini berguna untuk menunda waktu eksekusi. Fungsi ini membawa parameter berupa angka yang menyatakan detik (lama) penundaan. Misalkan, ingin menunda selama 5 detik: time.sleep(5)Fungsi ini dapat digunakan mengimpor modul time. Contoh program, berhitung sampai sepuluh. Lama penundaan perhitungan adalah 0.5 detik: import time for i in range(10):

Cara Coding Rumus Matematika di Python dengan Modul Math

Cara Coding Rumus Matematika di Python dengan Modul Math

Memahami modul Math di Python untuk melakuan operasi matematika dan coding rumus matematika.

Belajar Pemrograman Python: Cara Install Python di Windows

Belajar Pemrograman Python: Cara Install Python di Windows

Instalasi python di Windows sangat gampang. Langkah-langkanya sama seperti menginstal software Windows pada umumnya, next-next-finish. Tapi ada konfigurasi yang harus dipilih ditengah-tengah proses instalasi, agar perintah Python dapat dikenali di CMD. Python yang akan di instal dalam panduan ini adalah python versi 3. Download di situs resmi python ( python.org ). 1. Buka File python-3.msiSetelah download selesai, kita akan mendapatkan file python-3.4.2.msi. File python-3.4.2.msi adalah file instalator python. File ini akan melakukan instalasi ke sistem windows.

Perbedaan Perulangan While dan Do/While

Perbedaan Perulangan While dan Do/While

Pahami perbedaan perulangan while dengan do-while dalam pemrograman