📖 Deskripsi Proyek
Aplikasi ini memungkinkan pengguna untuk:
- Menambahkan tugas baru.
- Melihat daftar tugas.
- Menandai tugas sebagai selesai.
- Menghapus tugas.
Level: Intermediate
Setelah mempelajari struktur data, modularisasi, error handling, dan OOP dasar, saatnya kita gabungkan konsep-konsep tersebut dalam sebuah aplikasi To-Do List sederhana berbasis CLI.
Aplikasi ini memungkinkan pengguna untuk:
# To-Do List CLI sederhana
tugas = []
def tampilkan_menu():
print("\n=== To-Do List ===")
print("1. Lihat daftar tugas")
print("2. Tambah tugas")
print("3. Tandai selesai")
print("4. Hapus tugas")
print("5. Keluar")
def lihat_tugas():
if not tugas:
print("Belum ada tugas.")
else:
for i, t in enumerate(tugas, start=1):
status = "✅" if t["selesai"] else "❌"
print(f"{i}. {t['nama']} [{status}]")
def tambah_tugas():
nama = input("Masukkan nama tugas: ")
tugas.append({"nama": nama, "selesai": False})
print("Tugas ditambahkan!")
def tandai_selesai():
lihat_tugas()
try:
idx = int(input("Nomor tugas yang selesai: ")) - 1
tugas[idx]["selesai"] = True
print("Tugas ditandai selesai!")
except (ValueError, IndexError):
print("Nomor tidak valid.")
def hapus_tugas():
lihat_tugas()
try:
idx = int(input("Nomor tugas yang dihapus: ")) - 1
tugas.pop(idx)
print("Tugas dihapus!")
except (ValueError, IndexError):
print("Nomor tidak valid.")
# Main loop
while True:
tampilkan_menu()
pilihan = input("Pilih menu: ")
if pilihan == "1":
lihat_tugas()
elif pilihan == "2":
tambah_tugas()
elif pilihan == "3":
tandai_selesai()
elif pilihan == "4":
hapus_tugas()
elif pilihan == "5":
print("Terima kasih sudah menggunakan To-Do List!")
break
else:
print("Pilihan tidak valid.")
👉 Program ini menggabungkan list, dictionary, fungsi, input-output, dan error handling sederhana.
Kembangkan aplikasi To-Do List ini dengan fitur tambahan:
todo.txt) agar tidak hilang saat program ditutup.Tugas dan ToDoList untuk mengelola data.