
🔧 SERI 1: MEMBANGUN MINI PROJECT UNTUK PEMULA
Bagian 3: Membuat Todo List App Sederhana dengan Java Console
Pada mini project kali ini, kita akan membuat aplikasi Todo List sederhana menggunakan Java berbasis console. Proyek ini bertujuan untuk melatih konsep CRUD (Create, Read, Update, Delete), penggunaan ArrayList
, serta validasi input pengguna.
🎯 Tujuan Mini Project
- Melatih logika CRUD dalam program nyata
- Memahami penggunaan
ArrayList
dan perulangan - Menangani input teks dari pengguna dengan validasi
🧱 Fitur Aplikasi
- Tambah todo item
- Lihat semua todo item
- Hapus todo item berdasarkan nomor
- Validasi input agar tidak kosong atau invalid
📦 Source Code Todo List Java Console
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
import java.util.ArrayList; import java.util.Scanner; public class TodoListApp { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ArrayList<String> todos = new ArrayList<>(); int pilihan; do { System.out.println("\n=== TODO LIST APP ==="); System.out.println("1. Tambah Todo"); System.out.println("2. Lihat Todo"); System.out.println("3. Hapus Todo"); System.out.println("0. Keluar"); System.out.print("Pilih menu: "); pilihan = scanner.nextInt(); scanner.nextLine(); // buang newline switch (pilihan) { case 1: System.out.print("Masukkan todo: "); String todo = scanner.nextLine(); if (todo.trim().isEmpty()) { System.out.println("Todo tidak boleh kosong."); } else { todos.add(todo); System.out.println("Todo ditambahkan!"); } break; case 2: System.out.println("\nDaftar Todo:"); if (todos.isEmpty()) { System.out.println("(Belum ada todo)"); } else { for (int i = 0; i < todos.size(); i++) { System.out.println((i + 1) + ". " + todos.get(i)); } } break; case 3: System.out.print("Masukkan nomor todo yang ingin dihapus: "); int index = scanner.nextInt(); scanner.nextLine(); // buang newline if (index > 0 && index <= todos.size()) { String removed = todos.remove(index - 1); System.out.println("Todo '" + removed + "' dihapus."); } else { System.out.println("Nomor tidak valid."); } break; case 0: System.out.println("Terima kasih telah menggunakan aplikasi ini!"); break; default: System.out.println("Pilihan tidak valid."); } } while (pilihan != 0); } } |
📝 Catatan
- Kamu bisa memperluas fitur dengan menambahkan status “selesai/belum”, menyimpan ke file, atau fitur edit.
- Gunakan
try-catch
untuk membuat input angka lebih tahan error.
📌 Penutup
Aplikasi todo list seperti ini sering dijadikan latihan CRUD dasar karena sangat praktis dan mencerminkan aplikasi nyata. Di artikel selanjutnya, kita akan membangun Simulasi Kasir Mini — proyek yang akan menantang logika, perulangan, dan perhitungan diskon!