Langsung ke konten
KamusNgoding
Pemula Python 3 menit baca

Mengenal Dasar Python untuk Pemrograman Aplikasi CLI

#python #beginner #pengenalan
📚

Baca dulu sebelum ini:

Pendahuluan

Halo, rekan developer! Senang sekali bisa bertemu kembali di seri pengembangan CLI Expense Tracker kita. Jika kamu mengikuti seri ini dari awal, kamu pasti ingat bahwa pada artikel sebelumnya (#6), kita telah berhasil merancang logika inti menggunakan Object-Oriented Programming (OOP) yang cukup kompleks. Kita sudah belajar bagaimana kelas dan objek berinteraksi untuk mengelola data pengeluaran.

Namun, ada satu hal penting yang sering dilupakan oleh developer pemula: seberapa dalam kamu memahami “bahan baku” utama yang kamu gunakan? Dalam hal ini, bahan baku tersebut adalah bahasa Python itu sendiri. Meskipun kita fokus pada logika aplikasi, pemahaman yang dangkal terhadap sintaksis dan fitur dasar Python bisa menjadi penghambat besar saat aplikasi kita mulai berkembang menjadi lebih kompleks.

Dalam artikel ini, kita akan melakukan “deep dive” atau peninjauan mendalam terhadap fundamental Python. Kita tidak hanya akan melihat cara menulis kode, tetapi memahami bagaimana tipe data, struktur data, dan kontrol alur bekerja di balik layar. Tujuannya adalah agar kamu memiliki fondasi yang sangat kuat saat kita melanjutkan pengembangan fitur-fitur canggad pada tahap berikutnya dalam proyek CLI Expense Tracker ini.

Tipe Data: Fondasi Penyimpanan Informasi

Dalam membuat aplikasi pencatat keuangan, kita berurusan dengan berbagai jenis informasi. Ada nama transaksi (teks), jumlah pengeluaran (angka), hingga status pembayaran (logika benar/salah). Di Python, kemampuan untuk menentukan tipe data yang tepat sangat krusial agar perhitungan matematika kita tidak berantakan.

Mari kita lihat contoh sederhana bagaimana Budi mencatat pengeluannya menggunakan berbagai tipe data Python:

# Menyimpan nama pengguna sebagai string
nama_pengguna = "Budi Santoso"

# Menyimpan nominal pengeluaran sebagai float (untuk mendukung desimal)
# Misal: Budi baru saja membayar Gojek senilai Rp15.500,50
nominal_pengeluaran = 15500.50

# Menyimpan jumlah item sebagai integer
jumlah_item = 2

# Menyimpan status apakah transaksi sudah lunas (boolean)
is_lunas = True

# Menampilkan informasi dengan f-string (fitur Python modern)
print(f"User: {nama_penglan}")
print(f"Total bayar: Rp{nominal_pengeluaran:,.2f}")
print(f"Status Lunas: {is_lunas}")

Dalam kode di atas, kita menggunakan str (string) untuk teks, float untuk angka desimal, int (integer) untuk angka bulat, dan bool (boolean) untuk logika true/false. Sebagai developer, kamu harus teliti. Jangan sampai kamu mencoba menjumlahkan nominal_pengeluaran yang bertipe string dengan angka, karena Python akan memberikan error yang merepotkan.

Struktur Data: Mengelola Kumpulan Data

Aplikasi Expense Tracker kita tidak hanya mencatat satu transaksi, melainkan ratusan transaksi. Di sinilah kita membutuhkan struktur data yang lebih kompleks seperti list dan dictionary.

1. List (Daftar)

List digunakan untuk menyimpan urutan data. Bayangkan ini sebagai daftar belanjaan atau daftar riwayat transaksi yang berurutan.

# Daftar kategori pengeluaran
kategori_list = ["Makanan", "Transportasi", "Hiburan", "Belanja Online"]

# Menambah kategori baru (misal: belanja di Tokopedia)
kategori_list.append("E-commerce")

print(f"Daftar kategori saat ini: {kategori_list}")

2. Dictionary (Kamus)

Dictionary adalah struktur data yang sangat powerful di Python. Ia menyimpan data dalam pasangan key (kunci) dan value (nilai). Dalam proyek kita, satu transaksi paling cocok direpresentasikan sebagai sebuah dictionary.

# Satu entri transaksi menggunakan dictionary
transaksi_satu = {
    "id": 1,
    "item": "Kopi Kenangan",
    "harga": 25000,
    "kategori": "Makanan",
    "tanggal": "2026-04-05"
}

# Mengakses nilai berdasarkan kunci
print(f"Anda membeli {transaksi_satu['item']} seharga Rp{transaksi_satu['harga']}")

Dengan menggunakan dictionary, kita bisa dengan mudah mengambil informasi spesifik (seperti harga) tanpa harus mencari di seluruh urutan data. Kombinasi list yang berisi banyak dictionary inilah yang akan menjadi “nyawa” dari database sementara aplikasi kita.

Kontrol Alur: Menentukan Logika Aplikasi

Agar aplikasi kita tidak hanya sekadar menampilkan teks, kita butuh “otak” untuk mengambil keputusan. Di Python, ini dilakukan melalui if-else (percabangan) dan loops (perulangan).

Percabangan (Conditionals)

Kita bisa menggunakan logika ini untuk memberikan peringatan jika pengeluaran Budi sudah melebihi budget bulanan yang ditentukan.

budget_bulanan = 1000000
total_pengeluaran_saat_ini = 1200000

if total_pengeluaran_saat_ini > budget_bulanan:
    print("⚠️ Peringatan: Pengeluaran Anda sudah melebihi budget!")
elif total_pengeluaran_saat_ini == budget_bulanan:
    print("💡 Budget Anda sudah pas-pasan.")
else:
    print("✅ Pengeluaran masih aman.")

Perulangan (Loops)

Saat kita ingin menampilkan seluruh riwayat transaksi dari sebuah list, kita menggunakan for loop.

# Data simulasi riwayat transaksi
riwayat_transaksi = [
    {"item": "Bensin", "harga": 50000},
    {"item": "Makan Siang", "harga": 35000},
    {"item": "Pulsa", "harga": 100000}
]

print("--- Riwayat Pengeluaran Hari Ini ---")
total = 0
for transaksi in riwayat_transaksi:
    print(f"- {transaksi['item']}: Rp{transaksi['harga']}")
    total += transaksi['harga']

print(f"Total Keseluruhan: Rp{total}")

Implementasi dalam Proyek

Mari kita lihat bagaimana konsep-konsep dasar di atas diaplikasikan secara langsung ke dalam potongan kode dari proyek CLI Expense Tracker kita. Perhatikan bagaimana list digunakan untuk menampung objek, dan loop digunakan untuk memprosesnya.

class ExpenseTracker:
    def __init__(self):
        # Menggunakan list untuk menyimpan kumpulan dictionary transaksi
        self.transactions = []

    def add_transaction(self, item, amount):
        # Membuat dictionary baru untuk setiap transaksi
        new_entry = {
            "item": item,
            "amount": amount
        }
        self.transactions.append(new_entry)
        print(f"Berhasil menambahkan: {item} (Rp{amount})")

    def show_report(self):
        print("\n=== LAPORAN PENGELUARAN ===")
        total = 0
        # Menggunakan loop untuk iterasi data
        for t in self.transactions:
            print(f"Item: {t['item']} | Harga: Rp{t['amount']}")
            total += t['amount']
        print(f"----------------------------")
        print(f"Total Pengeluaran: Rp{total}")

# Inisialisasi aplikasi
app = ExpenseTracker()
app.add_transaction("Nasi Padang", 25000)
app.add_transaction("Es Teh", 5000)
app.show_report()

Dalam kode di atas, kita menerapkan list untuk self.transactions, dict untuk setiap elemen di dalamnya, dan for loop untuk melakukan kalkulasi total. Inilah kekuatan dasar Python yang kita gunakan.

Kesimpulan

Memahami tipe data (string, int, float), struktur data (list, dict), dan kontrol alur (if, for) adalah syarat mutlak sebelum melangkah ke tahap yang lebih kompleks seperti Error Handling atau File I/O. Tanpa fondasi yang kuat, kode Anda akan rentan terhadap bug yang sulit dilacak.

Teruslah berlatih dengan mencoba memodifikasi struktur data di atas! Selamat belajar!

Artikel Terkait