Cara Membuat Aplikasi Stopwatch di Android

Cara Membuat Aplikasi Stopwatch di Android – Stopwatch adalah salah satu fitur dasar yang sering digunakan dalam aplikasi Android, baik untuk keperluan olahraga, produktivitas, atau sekadar pengukuran waktu. Dalam artikel ini, kita akan membahas cara membuat aplikasi stopwatch sederhana di Android menggunakan bahasa pemrograman Kotlin dan framework Android Studio.

Persiapan Awal

Sebelum mulai membuat aplikasi stopwatch, pastikan Anda telah menginstal:

  • Android Studio (versi terbaru)
  • JDK (Java Development Kit)
  • Emulator atau perangkat fisik untuk pengujian

Setelah semuanya siap, buat proyek baru di Android Studio dengan langkah-langkah berikut:

  1. Buka Android Studio dan pilih Start a new Android Studio project.
  2. Pilih template Empty Activity dan klik Next.
  3. Masukkan nama proyek, misalnya “StopwatchApp”.
  4. Pilih bahasa pemrograman Kotlin dan atur Minimum API Level sesuai kebutuhan.
  5. Klik Finish untuk membuat proyek.

Mendesain Tampilan UI Stopwatch

Untuk mendesain tampilan stopwatch, buka file activity_main.xml dan tambahkan elemen-elemen berikut:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    android:padding="20dp">

    <TextView
        android:id="@+id/tvTimer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="00:00:00"
        android:textSize="48sp"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btnStart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Start"/>

    <Button
        android:id="@+id/btnPause"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Pause"/>

    <Button
        android:id="@+id/btnReset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Reset"/>
</LinearLayout>

Kode di atas mendesain antarmuka sederhana dengan tampilan timer dan tiga tombol utama: Start, Pause, dan Reset.

Menambahkan Fungsionalitas Stopwatch

Sekarang, kita akan mengimplementasikan logika stopwatch menggunakan Handler dan Runnable. Buka file MainActivity.kt dan tambahkan kode berikut:

package com.example.stopwatchapp

import android.os.Bundle
import android.os.Handler
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    private lateinit var tvTimer: TextView
    private lateinit var btnStart: Button
    private lateinit var btnPause: Button
    private lateinit var btnReset: Button

    private var isRunning = false
    private var elapsedTime: Long = 0
    private val handler = Handler()
    private lateinit var runnable: Runnable

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        tvTimer = findViewById(R.id.tvTimer)
        btnStart = findViewById(R.id.btnStart)
        btnPause = findViewById(R.id.btnPause)
        btnReset = findViewById(R.id.btnReset)

        runnable = object : Runnable {
            override fun run() {
                elapsedTime++
                val seconds = (elapsedTime % 60).toInt()
                val minutes = (elapsedTime / 60 % 60).toInt()
                val hours = (elapsedTime / 3600).toInt()
                
                tvTimer.text = String.format("%02d:%02d:%02d", hours, minutes, seconds)
                handler.postDelayed(this, 1000)
            }
        }

        btnStart.setOnClickListener {
            if (!isRunning) {
                handler.post(runnable)
                isRunning = true
            }
        }

        btnPause.setOnClickListener {
            if (isRunning) {
                handler.removeCallbacks(runnable)
                isRunning = false
            }
        }

        btnReset.setOnClickListener {
            handler.removeCallbacks(runnable)
            isRunning = false
            elapsedTime = 0
            tvTimer.text = "00:00:00"
        }
    }
}

Penjelasan Kode

  • Variabel elapsedTime menyimpan jumlah detik yang telah berlalu.
  • Runnable runnable diperbarui setiap detik untuk menghitung waktu yang berlalu.
  • Handler handler digunakan untuk mengatur jeda waktu eksekusi.
  • Tombol Start: Memulai stopwatch jika belum berjalan.
  • Tombol Pause: Menghentikan stopwatch sementara.
  • Tombol Reset: Menghentikan stopwatch dan mengembalikan timer ke nol.

Pengujian Aplikasi

Setelah kode selesai ditulis, jalankan aplikasi dengan langkah berikut:

  1. Klik Run (ikon segitiga hijau di Android Studio).
  2. Pilih emulator atau perangkat fisik.
  3. Uji aplikasi dengan menekan tombol Start, Pause, dan Reset.

Kesimpulan

Dalam tutorial ini, kita telah membuat aplikasi stopwatch sederhana di Android menggunakan Kotlin. Dengan memanfaatkan Handler dan Runnable, kita dapat mengontrol waktu dengan presisi. Anda dapat mengembangkan aplikasi ini lebih lanjut dengan menambahkan fitur seperti lap timer atau menyimpan riwayat waktu.

Semoga tutorial ini bermanfaat! Jika Anda ingin meningkatkan desain UI atau menambahkan fitur lain, jangan ragu untuk bereksperimen lebih lanjut. Selamat coding!

 

Leave a Reply

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