0% found this document useful (0 votes)
97 views6 pages

Modul 3 Program Timer Android Studio "Aplikasi Timer Count Down"

This document describes an Android countdown timer application created using Android Studio. It includes code for the MainActivity class that controls the timer and buttons to start, pause, and reset the timer. The activity_main layout file defines the user interface with buttons and a text view to display the countdown. When run, the app allows starting a 10 minute countdown timer that can be paused or reset as needed.

Uploaded by

Al Hadad123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views6 pages

Modul 3 Program Timer Android Studio "Aplikasi Timer Count Down"

This document describes an Android countdown timer application created using Android Studio. It includes code for the MainActivity class that controls the timer and buttons to start, pause, and reset the timer. The activity_main layout file defines the user interface with buttons and a text view to display the countdown. When run, the app allows starting a 10 minute countdown timer that can be paused or reset as needed.

Uploaded by

Al Hadad123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Nama : Alfauzan Daffa Habibie

NIM : 40040318650052
Prodi : STr. Teknologi Rekayasa Otomasi

MODUL 3
PROGRAM TIMER ANDROID STUDIO
“APLIKASI TIMER COUNT DOWN”

 New Project dengan menggunakan template Empty Activity

 Program pada MainActivity.java


package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.example.alfa.R;

import java.util.Locale;

public class MainActivity extends AppCompatActivity {


private static final long START_TIME_IN_MILLIS = 600000;
private TextView DisplayCountDown;
private Button TombolStart;
private Button TombolReset;
private android.os.CountDownTimer CountDownTimer;
private boolean TimerRunning;
private long TimeLeftInMillis = START_TIME_IN_MILLIS;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DisplayCountDown = findViewById(R.id.display);
TombolStart = findViewById(R.id.btnstart);
TombolReset = findViewById(R.id.btnreset);
TombolStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TimerRunning) {
pauseTimer();
} else {
startTimer();
}
}
});

TombolReset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetTimer();
}
});
updateCountDownText();
}
private void startTimer() {
CountDownTimer = new CountDownTimer(TimeLeftInMillis, 1000) {
@Override
public void onTick(long millisUntilFinished) {
TimeLeftInMillis = millisUntilFinished;
updateCountDownText();
}

@Override
public void onFinish() {
TimerRunning = false;
TombolStart.setText("Start");
TombolStart.setVisibility(View.INVISIBLE);
TombolReset.setVisibility(View.VISIBLE);
}
}.start();
TimerRunning = true;
TombolStart.setText("pause");
TombolReset.setVisibility(View.INVISIBLE);
}

private void pauseTimer() {


CountDownTimer.cancel();
TimerRunning = false;
TombolStart.setText("Start");
TombolReset.setVisibility(View.VISIBLE);
}
private void resetTimer() {
TimeLeftInMillis = START_TIME_IN_MILLIS;
updateCountDownText();
TombolReset.setVisibility(View.INVISIBLE);
TombolReset.setVisibility(View.VISIBLE);
}
private void updateCountDownText() {
int minutes = (int) (TimeLeftInMillis / 1000) / 60;
int seconds = (int) (TimeLeftInMillis / 1000) % 60;

String timeLeftFormatted = String.format(Locale.getDefault(), "%02d:%02d",


minutes, seconds);
DisplayCountDown.setText(timeLeftFormatted);
}
}

 Program pada activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginTop="32dp"
android:text="Program Timer Count Down"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:textSize="20sp"/>

<TextView
android:id="@+id/display"
android:layout_width="157dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginStart="176dp"
android:layout_marginTop="291dp"
android:layout_marginEnd="176dp"
android:layout_marginBottom="57dp"
android:text="00:00"
android:textColor="@android:color/black"
android:textSize="60sp"
app:layout_constraintBottom_toTopOf="@+id/btnstart"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />

<Button
android:id="@+id/btnstart"
android:layout_width="88dp"
android:layout_height="48dp"
android:layout_marginStart="161dp"
android:layout_marginTop="69dp"
android:layout_marginEnd="162dp"
android:layout_marginBottom="37dp"
android:text="Start"
app:layout_constraintBottom_toTopOf="@+id/btnreset"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/display" />

<Button
android:id="@+id/btnreset"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_marginStart="161dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="162dp"
android:layout_marginBottom="64dp"
android:text="Reset"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnstart" />
</androidx.constraintlayout.widget.ConstraintLayout>
 Tampilan ketika dijalankan

 Ulasan
- MainActivity.java
Script yang mengatur tampilan pada halaman utama yang berisikan tampilan timer
berupa tombol yang digunakan untuk mengoperasikan memulai dan mereset time.
Digunakan untuk memberi perintah sesuai dengan yang diinginkan.
- Activity_main.xml
MainActivity.java diberikan program onClick untuk tombol start dan tombol reset yang
berisikan persamaan, sehingga bilangan yang diinputkan saat aplikasi dijalankan dapat
dioperasikan sesuai dengan perintah pada tombol.
Dengan menambahkan library CountDownTimer pada android studio maka perhitungan
mundur pada aplikasi android dapat dilakukan. Atur nilai pada CountDownTimer(); untuk
mengatur berapa waktu count down.
 Kesimpulan
Pada percobaan modul 3 ini “Aplikasi Timer Count Down” dilakukan dengan
menggunakan library CountDownTimer. MainActivity.java digunakan untuk penulisan
script yang mengoperasikan start, pause dan reset. Activity_main.xml digunakan untuk
mengatur tampilan. Pada tampilan menggunakan 2 Button untuk start dan reset, lalu
menggunakan 1 TextView untuk tampilan angka.

You might also like