Redaksi Aktif Selasa, 13 Oktober 2026 Portal Jurnalisme Teknologi & Gaming
Topik: Semua Berita Tutorial Teknologi Gaming Berita & Wawasan Setup & Gear Opini & Esai
Tutorial • Estimasi 7 Menit Membaca

Bab 10: Proyek Akhir: Membangun Aplikasi To-Do List Konsol yang Interaktif

Merangkum seluruh ilmu dari bab 1 hingga 9 untuk membangun aplikasi manajemen tugas harian berbasis terminal yang utuh, interaktif, dan fungsional.

Bab 10: Proyek Akhir: Membangun Aplikasi To-Do List Konsol yang Interaktif
Panduan langkah demi langkah Bab 10: Proyek Akhir: Membangun Aplikasi To-Do List Konsol yang Interaktif
Pemberitahuan Sponsor • Iklan
Google AdSense Placement [Slot: 2938475610]
Format: Otomatis Responsif • Ditampilkan di lingkungan produksi
📚 SERI TUTORIAL: Seri Belajar Pemrograman Python dari Nol untuk Pemula Bab 10 dari 10 • Level: Pemula (Beginner)

Kuasai dasar-dasar pemrograman Python dari nol hingga mampu membangun aplikasi mandiri. Seri tutorial praktis ini dirancang khusus untuk pemula dengan pendekatan langkah demi langkah dan studi kasus nyata.

Halo semuanya! Selamat datang kembali di portal ikhsanhamid.my.id. Tidak terasa, kita akhirnya sudah sampai di penghujung perjalanan kita dalam Seri Belajar Pemrograman Python dari Nol untuk Pemula. Di bab sebelumnya (Bab 9), kita telah belajar bagaimana cara mengolah file eksternal—mulai dari membaca hingga menulis berkas teks agar data kita tidak hilang begitu program ditutup. Nah, ilmu tentang variabel, perulangan, fungsi, struktur data, hingga file handling tersebut kini akan kita gabungkan menjadi satu karya nyata: Aplikasi To-Do List Konsol yang Interaktif!

Merancang Arsitektur Aplikasi Berbasis Terminal

Sebelum mulai mengetik kode, mari kita rancang dulu seperti apa alur kerja dari aplikasi manajemen tugas harian (To-Do List) kita. Aplikasi ini akan memiliki beberapa fitur utama:

  • Menampilkan Daftar Tugas: Melihat daftar tugas yang sedang aktif beserta statusnya (selesai atau belum).
  • Menambah Tugas Baru: Memasukkan tugas harian baru ke dalam daftar.
  • Menandai Tugas Selesai: Mengubah status tugas dari belum selesai menjadi selesai.
  • Menghapus Tugas: Menghapus tugas yang sudah tidak diperlukan.
  • Penyimpanan Otomatis (File Handling): Menyimpan data tugas ke dalam file teks (misalnya todo.txt) agar aman dan tetap ada saat program dibuka kembali.

Struktur Data yang Digunakan

Kita akan memanfaatkan List of Dictionaries. Setiap tugas akan direpresentasikan sebagai sebuah Dictionary yang memiliki kunci teks (isi tugas) dan selesai (status boolean True atau False).

Menulis Kode Program Utama

Sekarang, mari kita buat file Python baru dengan nama todo_app.py. Ketik atau salin kode lengkap di bawah ini ke dalam editor kode kesayanganmu:

import os

FILENAME = "todo.txt"

def muat_tugas():
    tugas = []
    if os.path.exists(FILENAME):
        with open(FILENAME, "r", encoding="utf-8") as f:
            for baris in f:
                baris = baris.strip()
                if baris:
                    # Format dalam file: [Status]|Teks Tugas
                    status_str, teks = baris.split("|", 1)
                    selesai = True if status_str == "1" else False
                    tugas.append({"teks": teks, "selesai": selesai})
    return tugas

def simpan_tugas(tugas):
    with open(FILENAME, "w", encoding="utf-8") as f:
        for item in tugas:
            status_str = "1" if item["selesai"] else "0"
            f.write(f"{status_str}|{item['teks']}\n")

def tampilkan_tugas(tugas):
    if not tugas:
        print("\nBelum ada tugas di dalam daftar.")
        return
    print("\n--- DAFTAR TUGAS ANDA ---")
    for i, item in enumerate(tugas, 1):
        status = "[X]" if item["selesai"] else "[ ]"
        print(f"{i}. {status} {item['teks']}")

def tambah_tugas(tugas):
    teks = input("Masukkan nama tugas baru: ").strip()
    if teks:
        tugas.append({"teks": teks, "selesai": False})
        simpan_tugas(tugas)
        print(f"Tugas '{teks}' berhasil ditambahkan!")
    else:
        print("Nama tugas tidak boleh kosong!")

def tandai_selesai(tugas):
    tampilkan_tugas(tugas)
    if not tugas:
        return
    try:
        pilihan = int(input("Pilih nomor tugas yang sudah selesai: "))
        if 1 <= pilihan <= len(tugas):
            tugas[pilihan - 1]["selesai"] = True
            simpan_tugas(tugas)
            print("Tugas ditandai sebagai selesai!")
        else:
            print("Nomor tugas tidak valid.")
    except ValueError:
        print("Masukkan angka yang valid!")

def hapus_tugas(tugas):
    tampilkan_tugas(tugas)
    if not tugas:
        return
    try:
        pilihan = int(input("Pilih nomor tugas yang akan dihapus: "))
        if 1 <= pilihan <= len(tugas):
            tugas_dihapus = tugas.pop(pilihan - 1)
            simpan_tugas(tugas)
            print(f"Tugas '{tugas_dihapus['teks']}' berhasil dihapus!")
        else:
            print("Nomor tugas tidak valid.")
    except ValueError:
        print("Masukkan angka yang valid!")

def main():
    tugas = muat_tugas()
    while True:
        print("\n=== APLIKASI TO-DO LIST ===")
        print("1. Lihat Daftar Tugas")
        print("2. Tambah Tugas Baru")
        print("3. Tandai Tugas Selesai")
        print("4. Hapus Tugas")
        print("5. Keluar")
        
        pilihan = input("Pilih menu (1-5): ").strip()
        
        if pilihan == "1":
            tampilkan_tugas(tugas)
        elif pilihan == "2":
            tambah_tugas(tugas)
        elif pilihan == "3":
            tandai_selesai(tugas)
        elif pilihan == "4":
            hapus_tugas(tugas)
        elif pilihan == "5":
            print("Terima kasih telah menggunakan aplikasi To-Do List. Sampai jumpa!")
            break
        else:
            print("Pilihan tidak valid, silakan coba lagi.")

if __name__ == "__main__":
    main()

Memahami Bagian-Bagian Kunci Program

Mari kita bedah beberapa komponen penting dari kode di atas agar kamu benar-benar paham cara kerjanya:

  • Fungsi muat_tugas() & simpan_tugas(): Mengimplementasikan materi Bab 9. Program otomatis mengecek keberadaan file todo.txt. Jika ada, data dibaca dan diparsing kembali ke bentuk list dictionary. Setiap kali ada perubahan (tambah, selesai, hapus), fungsi simpan_tugas() langsung memperbarui file eksternal tersebut.
  • Perulangan while True di Fungsi main(): Membuat program terus berjalan interaktif menampilkan menu utama sampai pengguna memilih opsi nomor 5 untuk keluar.
  • Penanganan Error (try-except): Mencegah program crash atau tertutup paksa apabila pengguna tidak sengaja mengetik huruf alih-alih angka saat memilih menu nomor tugas.
Tips Penting: Selalu gunakan parameter encoding="utf-8" saat membuka file teks di Python agar karakter khusus atau emoji tidak mengalami corrupt atau error saat dibaca oleh sistem operasi yang berbeda.

Rangkuman Komprehensif dan Tips Lanjut

Selamat! Kamu baru saja merangkum seluruh konsep fundamental pemrograman Python: sintaks dasar, percabangan (if-elif-else), perulangan (while dan for), fungsi modular, struktur data (list & dictionary), hingga penanganan file teks eksternal menjadi satu aplikasi mandiri yang utuh dan berguna.

Perjalanan belajarmu tidak berhenti sampai di sini. Untuk melangkah ke jenjang Intermediate, kamu bisa mencoba mengembangkan aplikasi ini lebih jauh dengan:

  • Mengubah penyimpanan teks biasa menjadi database relasional menggunakan modul bawaan Python yaitu sqlite3.
  • Mempelajari Pemrograman Berorientasi Objek (OOP) untuk merestrukturisasi kode aplikasi menjadi berbasis kelas (classes).
  • Membangun antarmuka grafis (GUI) sederhana menggunakan pustaka seperti Tkinter atau membuat versi web menggunakan framework ringan seperti Flask.

Terima kasih banyak telah mengikuti seluruh rangkaian Seri Belajar Pemrograman Python dari Nol untuk Pemula di ikhsanhamid.my.id. Tetap semangat, teruslah berlatih menulis kode setiap hari, dan sampai jumpa di artikel tutorial tingkat lanjut berikutnya!

Topik Terkait: #Tutorial #Python #Proyek Akhir #Pemula

Diskusi Pembaca

0 Komentar
Diskusi Terbuka & Terbimbing

Tinggalkan Tanggapan atau Pertanyaan

Email Anda privat (tidak dipublikasikan)
Membalas komentar dari
Berapa 5 + 2 = ?
Hitung penjumlahan di atas untuk memverifikasi Anda adalah pembaca manusia asli.

Belum ada tanggapan untuk artikel ini.

Jadilah yang pertama memulai diskusi teknis & berbagi wawasan!

Liputan Terkait di Kategori Tutorial

Lihat Semua →