Pemrograman

Bahasa

Framework

Peralatan

Info

Membuat Program Pomodoro Timer Berbasis CLI dengan Python

– 06 August 2016
Pomodoro merupakan sebuah teknik yang memanfaatkan waktu 25 menit untuk fokus mengerjakan sesuatu. Pomodoro dapat diterapkan untuk berbagai jenis pekerjaan. Pomodoro akan mencegah kita melakukan pekerjaan multitasking dan membantu fokus.pomodoro timer
Pada kesempatan ini, kita akan membuat program Timer Pomodoro. Timer ini mulai menghitung mundur mulai dari 25 menit.

1. Impor Pustaka yang Diperlukan

Pada pembuatan program ini, kita memerlukan dua pustaka. Yaitu time dan sys (sistem). Pustaka time kita perlukan untuk melakukan perulangan per detik. Sedangkan pustaka sys untuk menampilkan ke konsol (CLI).
import time
import sys

2. Deklarasi Variabel Awal

Ada dua variabel awal yang kita butuhkan:
menit = 60 # detik
pomodoro = 25

3. Perulangan Per Detik

Inilah kunci dari program timer pomodoro:
for sisa in range(pomodoro * menit, 0, -1):
    sys.stdout.write("\r")
    
    menit = menit - 1
    if menit <= 0:
        pomodoro = pomodoro - 1
        menit = 60
    
    if menit <= 9:
        sys.stdout.write("[{:2d}:0{:1d}] Pomodoroing...!".format(pomodoro-1, menit))
    else:
        sys.stdout.write("[{:2d}:{:1d}] Pomodoroing...!".format(pomodoro-1, menit))    
    
    sys.stdout.flush()
    time.sleep(1)

4. Pesan Ketika Waktu Habis

sys.stdout.write("Selesai!\n")
Selain menggunakan pesan tertulis, kita juga dapat menggunakan suara untuk menandakan waktu sudah habis.

5. Kode Lengkap: pomodoro.py

import time
import sys

menit = 60
pomodoro = 25


for sisa in range(pomodoro * menit, 0, -1):
    sys.stdout.write("\r")
    
    menit = menit - 1
    if menit <= 0:
        pomodoro = pomodoro - 1
        menit = 60
    
    if menit <= 9:
        sys.stdout.write("[{:2d}:0{:1d}] Pomodoroing...!".format(pomodoro-1, menit))
    else:
        sys.stdout.write("[{:2d}:{:1d}] Pomodoroing...!".format(pomodoro-1, menit))    
    
    sys.stdout.flush()
    time.sleep(1)

sys.stdout.write("Selesai!\n")

6. Demo dalam Timelapse