Daily Task Manager

Daily Task Manager



LAPORAN EVALUASI TENGAH SEMESTER (ETS)

Anggota 1 

Nama: Hafidz Panji Ashari

NRP: 5025231278

Anggota 2

Nama: Amin Vinurdi

NRP: 5025231241

Kelas: Pemrograman Perangkat Bergerak B

Departemen: Teknik Informatika, Institut Teknologi Sepuluh Nopember (ITS)


Link

Source Code : GitHub
Download : Drive
Blogspot : Blog
PPT : Canva
Video Presentasi : ....



1. Pendahuluan

Daily Task Manager adalah aplikasi pengelolaan tugas harian berbasis Android yang dirancang untuk membantu pengguna mencatat, memantau, dan mengorganisasi daftar kegiatan mereka secara efisien. Pengembangan aplikasi ini mengutamakan kemudahan interaksi pengguna (User Experience) dengan mengimplementasikan antarmuka yang modern, bersih, dan intuitif.

2. Teknologi dan Lingkungan Pengembangan

Pengembangan aplikasi ini memanfaatkan teknologi front-end modern pada ekosistem Android, yang meliputi:

  • Bahasa Pemrograman: Kotlin

  • UI Framework: Jetpack Compose (Material Design 3)

  • Arsitektur & State Management: Pendekatan antarmuka deklaratif menggunakan mutableStateListOf dan remember untuk reaktivitas data.

  • Manajemen Tema: Material Theme dengan kustomisasi palet warna dominan biru.

  • Library Pendukung:

    • androidx.compose.material3: Untuk penyediaan komponen antarmuka modern.

    • androidx.compose.material:material-icons-extended: Untuk kebutuhan aset visual dan ikonografi standar Material.

    • java.time: Untuk pemrosesan dan format data tanggal serta waktu (mendukung API 26 ke atas).

3. Fitur Utama Aplikasi

  • Manajemen Tugas (CRUD Dasar): Fasilitas untuk menambahkan tugas baru yang mencakup atribut judul, tanggal tenggat (deadline), dan waktu pelaksanaan.

  • Integrasi Pemilih Waktu: Penggunaan komponen DatePicker dan TimePicker bawaan Material 3 untuk memastikan validitas format input dari pengguna.

  • Identifikasi Hari Otomatis: Sistem secara dinamis mengonversi dan menampilkan nama hari (Senin, Selasa, dst.) berdasarkan input tanggal kalender yang dipilih pengguna.

  • Sistem Penyaringan dan Pengurutan (Filter & Sorting):

    • Semua: Menampilkan keseluruhan data tugas tanpa proses penyaringan.

    • Belum Selesai: Menyaring dan menampilkan tugas yang masih berstatus aktif.

    • Selesai: Menampilkan riwayat tugas yang telah ditandai rampung.

    • Terdekat: Mengurutkan daftar tugas secara ascending berdasarkan kedekatan tanggal deadline.

  • Antarmuka Responsif: Tata letak disempurnakan dengan Extended Floating Action Button untuk aksi penambahan tugas dan Horizontal Scroll pada baris navigasi filter.





4. Struktur dan Modularitas Kode Program

Struktur Folder :

DailyTaskManager/
├── app/
│   ├── src/
│   │   └── main/
│   │       ├── java/com/example/dailytaskmanager/
│   │       │   ├── ui/theme/
│   │       │   │   ├── Color.kt          # Definisi palet warna kustom (Biru Modern)
│   │       │   │   ├── Theme.kt          # Konfigurasi tema Material3 (Light/Dark Mode)
│   │       │   │   └── Type.kt           # Konfigurasi tipografi/font aplikasi
│   │       │   ├── Components.kt         # Komponen UI reusable (KartuTugas, DialogTambahTugas)
│   │       │   ├── MainActivity.kt       # Activity utama sebagai entry point aplikasi
│   │       │   ├── TaskManagerScreen.kt  # Layar utama (Logika Filter, List, & Scaffold)
│   │       │   └── Tugas.kt              # Data Class (Model data untuk objek Tugas)
│   │       ├── res/                      # Resource aplikasi (Icon, Layout XML jika ada)
│   │       └── AndroidManifest.xml       # Konfigurasi manifest Android
│   ├── build.gradle.kts                  # Konfigurasi build level modul (Dependensi & SDK)
│   └── ...
├── gradle/
│   └── libs.versions.toml                # Manajemen versi library (Compose, Material3, dll)
└── build.gradle.kts                      # Konfigurasi build level project

Untuk mematuhi prinsip Clean Architecture, direktori proyek dipisahkan menjadi beberapa modul spesifik:
  • Tugas.kt: Bertindak sebagai Data Model (data class) yang merepresentasikan struktur entitas tugas tunggal.

  • Components.kt: Memuat komponen visual yang dapat digunakan ulang (reusable UI components), meliputi:

    • KartuTugas: Berisi instruksi tata letak (layouting) untuk setiap baris item tugas.

    • DialogTambahTugas: Mengatur logika kemunculan pop-up form input data.

  • TaskManagerScreen.kt: Merupakan layar utama yang mengoordinasikan tata letak, logika penyaringan data, dan penanganan interaksi pengguna secara menyeluruh.

  • ui/theme/: Direktori pengatur konsistensi visual, berisi definisi komposisi warna (Color.kt) dan hierarki tema bawaan (Theme.kt).

5. Implementasi Antarmuka Pengguna (UI)

(Catatan: Sisipkan tangkapan layar / screenshot aplikasi dari Emulator atau HP fisik Anda pada bagian ini)

  • Layar Utama: Menampilkan daftar tugas menggunakan komponen LazyColumn agar pergerakan daftar gulir (scroll) berjalan efisien tanpa membebani memori.

  • Dialog Input: Menampilkan form berlapis dengan integrasi pemilih tanggal dan waktu berbasis kalender visual.

  • Filter Horizontal: Menampilkan deretan tombol penyaring berformat Horizontal Scroll pada bagian atas layar untuk optimalisasi ruang horizontal pada perangkat.

6. Kesimpulan

Aplikasi Daily Task Manager telah berhasil diimplementasikan dengan fungsionalitas pengelolaan tugas yang terstruktur. Penggunaan kerangka kerja Jetpack Compose terbukti mempercepat siklus pengembangan UI menjadi lebih responsif dan rapi. Ketersediaan fitur penyaringan dan pengurutan berbasis waktu memungkinkan pengguna untuk mengelola skala prioritas kegiatan harian mereka dengan jauh lebih optimal.


Comments

Popular posts from this blog

EAS

DisplayClock