ETS PPB

Nama: Dewa Putu Ananda Taurean Mahesa

NRP: 5025231158

Kelas: Pemrograman Perangkat Bergerak C

Source Code Aplikasi

Link Demo Youtube

Link Drive Aplikasi (APK, Infografis, PPT)

MyTasks - Todo List App

Aplikasi mobile yang dirancang untuk memudahkan pengguna dalam membuat daftar tugas yang harus diselesaikan. Membantu pengguna mengelola waktu dan tugas secara efisien agar lebih fokus dan teratur. Dengan desain yang intuitif dan bersih, dapat mengurangi beban pikiran dan meningkatkan produktivitas pengguna.

Fitur Utama

1. Manajemen Task
  • Create: Pengguna dapat menambahkan task baru melalui UI dialog. Input berupa title, description (opsional), tanggal dan waktu deadline (opsional).
  • Read: Task yang telah dibuat dapat dilihat pada layar utama berupa list.
  • Update: Task yang telah dibuat dapat diubah title, description, beserta deadline-nya melalui UI dialog edit.
  • Delete: Pengguna dapat menghapus task yang dibuat. Terdapat dialog konfirmasi sebelum melakukan penghapusan.
2. Filter Task Status
  • Pengguna dapat mengelompokkan task yang dilihat, berupa semua task, task yang belum diselesaikan, ataupun task yang sudah diselesaikan.
  • Pengguna hanya perlu menekan checkbox untuk menyelesaikan task. Task yang sudah selesai memiliki visual yang berbeda dari task yang belum selesai.
3. Sorting Task Deadline
  • Pada layar utama, pengguna dapat mengurutkan task yang dilihat berdasarkan deadline, berupa deadline terdekat atau terjauh. Task yang tidak memiliki deadline akan selalu berada di paling bawah.
  • Setiap task yang memiliki deadline akan setidaknya memiliki deadline tanggal (tidak ada waktu). Secara default, maka task tersebut akan memiliki default deadline waktu di pagi hari.

Antarmuka dan Pengalaman Pengguna

  • UI dibangun dengan Jetpack Compose dengan tampilan modern dan bersih.
  • Layout berupa nama aplikasi serta toggle sorting deadline di row paling atas, diikuti filter button untuk status di row berikutnya, lalu list dari task di row-row berikutnya. Button untuk menambah task berada di pojok bawah kanan.
  • Dialog untuk operasi input data serta konfirmasi penghapusan task.
  • Tampilan tiap task pada layar berupa semacam card horizontal. Komponen terdiri dari nama task, deadline (bila ada), serta icon untuk mengedit dan menghapus task.
  • Penggunaan komponen material design untuk date picker, time picker, serta status filter.
  • Iconography dari material design.
  • Tema warna kustom berupa warna biru dan netral (hitam dan putih).

Rangkuman Teknis

Aplikasi dikembangkan dengan Android Studio yang menggunakan Kotlin, UI framework Jetpack Compose, design system Material Design 3, serta arsitektur Model-View-ViewModel.

Model: Menggunakan class TodoTask yang berfungsi sebagai blueprint untuk atribut setiap task, seperti ID, title, description, deadline, dan status.
View: Mencakup MainActivity dan TodoAppScreen yang mengurus tampilan komponen UI pada layar dan mengoper interaksi ke ViewModel.
ViewModel: TodoViewModel merupakan layer aplikasi yang mengurus logika bisnis. Menyimpan list task, mengurus pengubahan atau penghapusan task, serta filter dari status.

Aplikasi menggunakan struktur data in-memory, dengan responsivitas berdasarkan State Flow, sehingga perubahan tampilan pada layar bisa cepat.

Comments

Popular posts from this blog

Tugas Pertemuan 7 - LoginPage

Tugas 1 - Eksplorasi Perkembangan Teknologi

Tugas Pertemuan 6 - Kalkulator