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.
Pelajari cara menggabungkan konsep dasar Python, list, tuple, dan dictionary untuk membangun aplikasi kalkulator CLI yang fungsional dan interaktif.
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! Di bab sebelumnya, kita sudah belajar bagaimana mengelompokkan kode menggunakan fungsi dan modularitas agar program kita jauh lebih rapi dan terstruktur. Sekarang, saatnya kita melangkah ke momen yang paling seru: menguji dan menggabungkan semua ilmu dari Bab 1 sampai Bab 5 ke dalam sebuah proyek nyata! Selamat datang di Bab 6 dari seri belajar Python kita.
Di bab ini, kita akan merancang sebuah aplikasi kalkulator berbasis CLI (Command Line Interface). Tidak hanya sekadar menghitung angka, kalkulator kita juga akan dilengkapi fitur riwayat (history) menggunakan struktur data koleksi seperti List dan Dictionary. Penasaran bagaimana cara merancangnya? Yuk, kita bedah langkah demi langkah!
Sebelum kita mulai menulis kode kalkulatornya, mari kita ingat kembali bagaimana cara menyimpan banyak data di Python. Kita mengenal beberapa jenis struktur data:
[]): Digunakan untuk menyimpan daftar data yang bisa diubah (mutable), sangat cocok untuk mencatat riwayat perhitungan dari waktu ke waktu.()): Mirip dengan list, tetapi sifatnya tetap (immutable) atau tidak bisa diubah setelah dibuat.{}): Menyimpan data dengan pasangan kunci dan nilai (key-value), sangat berguna jika kita ingin mengelompokkan operasi matematika berdasarkan kuncinya (misal: '+' untuk penjumlahan).Bayangkan kalkulator kita bisa berjalan terus-menerus sampai pengguna memilih untuk keluar (menggunakan perulangan while yang sudah kita pelajari sebelumnya). Setiap kali pengguna melakukan perhitungan, hasilnya akan kita simpan ke dalam sebuah list agar bisa dilihat kembali kapan saja.
Mari kita langsung tulis kodenya ke dalam file kalkulator.py:
def tampilkan_menu():
print("\n=== APLIKASI KALKULATOR SEDERHANA ===")
print("1. Penjumlahan (+)")
print("2. Pengurangan (-)")
print("3. Perkalian (*)")
print("4. Pembagian (/)")
print("5. Lihat Riwayat Hitung")
print("6. Keluar")
def kalkulator():
# List untuk menyimpan riwayat perhitungan
riwayat_hitung = []
while True:
tampilkan_menu()
pilihan = input("Pilih menu (1-6): ")
if pilihan == '6':
print("Terima kasih telah menggunakan kalkulator kami. Sampai jumpa!")
break
if pilihan == '5':
print("\n--- RIWAYAT PERHITUNGAN ---")
if not riwayat_hitung:
print("Belum ada riwayat perhitungan.")
else:
for idx, item in enumerate(riwayat_hitung, 1):
print(f"{idx}. {item}")
continue
if pilihan in ['1', '2', '3', '4']:
try:
angka1 = float(input("Masukkan angka pertama: "))
angka2 = float(input("Masukkan angka kedua: "))
except ValueError:
print("Kesalahan: Harap masukkan angka yang valid!")
continue
hasil = 0
operasi = ""
if pilihan == '1':
hasil = angka1 + angka2
operasi = f"{angka1} + {angka2} = {hasil}"
elif pilihan == '2':
hasil = angka1 - angka2
operasi = f"{angka1} - {angka2} = {hasil}"
elif pilihan == '3':
hasil = angka1 * angka2
operasi = f"{angka1} * {angka2} = {hasil}"
elif pilihan == '4':
if angka2 == 0:
print("Kesalahan: Tidak bisa membagi dengan angka nol (0)!")
continue
hasil = angka1 / angka2
operasi = f"{angka1} / {angka2} = {hasil}"
print(f"Hasil: {hasil}")
# Menambahkan data baru ke dalam List riwayat
riwayat_hitung.append(operasi)
else:
print("Pilihan tidak valid. Silakan pilih nomor 1 sampai 6.")
# Menjalankan program kalkulator
if __name__ == "__main__":
kalkulator()
Mari kita ulas beberapa baris kode penting yang membuat aplikasi ini bekerja dengan baik:
tampilkan_menu(): Mengemas tampilan antarmuka teks agar fungsi utama kalkulator tetap bersih dan mudah dibaca (menerapkan prinsip modularitas dari bab sebelumnya).riwayat_hitung.append(operasi): Setiap kali operasi matematika selesai dilakukan, string hasil perhitungan dimasukkan ke dalam list riwayat_hitung menggunakan method append().try-except: Mencegah program crash atau error jika pengguna secara tidak sengaja memasukkan huruf alih-alih angka.Catatan Penting: Selalu perhatikan penanganan pembagian dengan angka nol (angka2 == 0). Di Python, membagi angka dengan nol akan memicu errorZeroDivisionErroryang bisa menghentikan program secara paksa jika tidak ditangani dengan kondisi if.
Hebat sekali! Kamu baru saja merancang, menulis, dan menguji aplikasi CLI pertamamu yang menggabungkan variabel, perulangan, percabangan, fungsi, serta struktur data list. Program ini membuktikan bahwa kamu sudah menguasai fondasi pemrograman dasar di Python dengan sangat baik.
Di bab berikutnya, kita akan mendalami konsep fungsi lebih jauh lagi—khususnya bagaimana memecah program yang lebih besar menjadi bagian-bagian yang jauh lebih rapi, terorganisir, dan reusable menggunakan teknik lanjutan di Python. Sampai jumpa di Bab 7!
Merangkum seluruh ilmu dari bab 1 hingga 9 untuk membangun aplikasi manajemen tugas harian berbasis terminal yang utuh, interaktif, dan fungsional.
Pelajari cara berinteraksi dengan sistem file komputer di Python untuk membaca, menulis, dan mengamankan data secara permanen.
Pelajari cara menyelamatkan program Python dari error dan crash mendadak menggunakan blok try, except, else, dan finally dengan mudah.
Tinggalkan Tanggapan atau Pertanyaan
Email Anda privat (tidak dipublikasikan)Belum ada tanggapan untuk artikel ini.
Jadilah yang pertama memulai diskusi teknis & berbagi wawasan!