ListUp: Aplikasi Catatan Pribadi
ETS - Pemrograman Perangkat Bergerak (D)
Disusun oleh:
Nadia Evi Nathania / 5025221063
Sebagai bentuk Evaluasi Tengah Semester, kami diberi tugas proyek membuat aplikasi mobile sederhana. Saya bersama teman kelompok saya memilih tema aplikasi to-do list personal, dengan nama "ListUp".
Deskripsi:
ListUp adalah aplikasi To-Do List yang membantu pengguna mencatat dan mengelola tugas harian.
Fitur Utama:
- Input tugas dengan nama dan deadline
- Checkbox untuk status tugas (selesai/belum)
- Penyortiran tugas berdasarkan nama, deadline, dan status
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)
}
}
Hasil Akhir Produk:
Implementasi:
- 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
Video Aplikasi: [Link Youtube]
Link source code: [Link Github]
.png)
.png)


Komentar
Posting Komentar