ListUp: Aplikasi Catatan Daftar Kegiatan
EAS/Final Proyek - Pemrograman Perangkat Bergerak (D)
Disusun oleh:
Nadia Evi Nathania / 5025221063
Nerisa Afiani / 5025221064
Sebagai bentuk Evaluasi Akhir Semester, kami diberi tugas Final Proyek membuat aplikasi mobile sederhana. Saya bersama teman kelompok saya membuat aplikasi pencatatan daftar kegiatan, dengan nama "ListUp".
Deskripsi:
Tema
ListUp adalah aplikasi mobile berbasis Android yang berfungsi sebagai pengelola daftar tugas (to-do list) dengan fitur tambahan berupa penentuan deadline dan status penyelesaian tugas, yang mempermudah pengguna dalam mengatur jadwal dan prioritas aktivitas harian.
Tujuan
Membantu pengguna mencatat, mengelola, dan memantau tugas-tugas mereka secara efisien.
Memberikan kemudahan dalam mengatur deadline untuk setiap tugas sehingga pengguna tidak melewatkan tenggat waktu penting.
Menyediakan indikator visual (checkbox) agar pengguna dapat mengetahui tugas mana yang sudah selesai dan mana yang masih perlu dikerjakan.
Menyediakan fitur penyortiran berdasarkan nama, deadline, dan status untuk mempermudah navigasi daftar tugas
Memberikan sistem login dan register sederhana untuk melindungi data pengguna secara lokal.
Target
Mahasiswa atau pelajar yang membutuhkan aplikasi sederhana untuk mencatat tugas kuliah, deadline ujian, atau project.
Pekerja atau profesional yang ingin mengatur pekerjaan harian atau daftar to-do pribadi.
Siapa pun yang membutuhkan aplikasi to-do list ringan tanpa sistem yang kompleks atau membutuhkan koneksi internet.
Pengguna Android yang lebih nyaman dengan aplikasi yang simpel, ringan, dan memiliki navigasi yang mudah dipahami.
Fitur Utama:
- Login/register dalam aplikasi
- Menambah tugas dengan menginputkan nama dan deadline
- Checkbox untuk status tugas (selesai/belum)
- Penyortiran tugas berdasarkan nama, deadline, dan status
- Hapus tugas yang sudah selesai/tidak diperlukan
Desain:
Langkah Pengerjaan:
Buat Project Baru di Android Studio
Buka Android Studio → New ProjectPilih Empty Activity
Pilih Bahasa: Kotlin, dan tentukan nama project (ListUp)
Tambahkan Dependencies di build.gradle
Tambahkan berikut ke file build.gradle (Module: app):
implementation "androidx.recyclerview:recyclerview:1.3.1"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.2"
Tujuan: Menggunakan RecyclerView untuk daftar tugas dan ViewModel untuk manajemen data
Buat Data Class Task
Contoh kode:
data class Task(
val id: Int,
var name: String,
var deadline: LocalDate,
var isCompleted: Boolean = false
)
Tujuan: Menyimpan data tugas, termasuk nama, tanggal deadline, dan status selesai
Buat Layout XML
Edit activity_main.xml untuk membuat antarmuka input dan daftar:
<EditText android:id="@+id/editTextTask" />
<Button android:id="@+id/btnPickDate" android:text="Pilih Tanggal" />
<Button android:id="@+id/btnAddTask" android:text="Tambah Tugas" />
<Spinner android:id="@+id/spinnerSort" />
<androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerViewTasks" />
Tujuan: Memberikan tampilan bagi pengguna untuk memasukkan tugas dan melihat daftar
Buat Adapter RecyclerView (TaskAdapter)
Adapter mengelola data dan menampilkannya dalam bentuk daftar
Tambahkan fitur checkbox di item untuk mengubah status tugas
Contoh:
class TaskAdapter(...) : RecyclerView.Adapter<TaskViewHolder>() {
// binding item layout, update status isCompleted
}
Buat ViewModel (TaskViewModel)
Gunakan LiveData agar RecyclerView otomatis update saat data berubah:
class TaskViewModel : ViewModel() {
val taskList = MutableLiveData<MutableList<Task>>()
fun addTask(task: Task) { ... }
fun sortTasksBy(criteria: String) { ... }
}
Gunakan DatePickerDialog
Untuk memilih tanggal deadline dengan dialog:
val datePicker = DatePickerDialog(...)
datePicker.setOnDateSetListener { _, year, month, day ->
val date = LocalDate.of(year, month + 1, day)
}
Tambahkan Penyortiran di Spinner
Spinner memungkinkan pemilihan cara urut:
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(...) {
viewModel.sortTasksBy(selectedOption)
}
}
Tambahkan Fitur Register dan Login
- Menggunakan SharedPreferences untuk menyimpan akun.
- Membuat 2 Activity: LoginActivity (form login) dan RegisterActivity (form register).
- Di AndroidManifest.xml, mengatur LoginActivity menjadi halaman pertama.
Hasil Akhir Produk:
Implementasi:
- Mendaftar menggunakan menu Register
- Masuk ke akun menggunakan Login
- Menambah catatan baru dengan menekan tombol +
- Mengatur deadline catatan
- Mencentang checkbox untuk catatan/task yang telah selesai
- Menghapus catatan dengan mengklik ikon tempat sampah
- Memperbarui tata letak dan tampilan antarmuka
Link Dokumentasi: [Link Google Docs]
Video Aplikasi: [Link Youtube]
Link source code: [Link Github]
.png)
.png)




Komentar
Posting Komentar