BASE_STATION // GUIDES // PYTHON LANGUAGE

Cara Membuat Program Python Sederhana: Panduan Praktis untuk Pemula

LOG_DATE: 2026.09.29 | AUTHOR: SYSTEM_LEAD
Cara Membuat Program Python Sederhana: Panduan Praktis untuk Pemula
Hardware Subject

SAMSUNG GALAXY A36 5G (8GB/256GB) & M33 NEW

[ HARDWARE LINK ]

Membangun Fondasi Rekayasa Perangkat Lunak dengan Python

Menulis kode bukan sekadar merangkai sintaks agar mesin berjalan; ini adalah proses menstrukturkan logika sistematis. Di GEARFORGE, kami menerapkan standar arsitektur bersih (clean architecture) bahkan untuk script paling sederhana. Panduan ini dirancang untuk melatih pemula berpikir selayaknya software engineer: terstruktur, modular, dan efisien.


1. Prasyarat Lingkungan Eksekusi

Sebelum menulis baris pertama, pastikan lingkungan kerja terpasang dengan benar:

  1. Python 3.10+: Unduh dan pasang dari repositori resmi python.org.
  2. Terminal / CLI: Bash, Zsh, atau Windows PowerShell.
  3. Editor Kode: VS Code atau editor teks berbasis terminal (Neovim/Nano).

Verifikasi instalasi melalui terminal:

python3 --version

2. Studi Kasus: Program CLI Kalkulator Keuangan Sederhana

Kita akan membangun kalkulator rasio tabungan modular. Program ini akan menerima input pengguna, memvalidasi data, melakukan kalkulasi logika bisnis, dan mencetak output terformat.

Desain Struktur Proyek

Untuk proyek sederhana, kita menggunakan satu file modular dengan pemisahan tanggung jawab (separation of concerns):

  • Fungsi I/O: Mengelola input/output terminal.
  • Fungsi Logika Bisnis: Melakukan kalkulasi matematis murni.
  • Fungsi Entry Point: Mengontrol alur utama eksekusi.

3. Implementasi Kode Bersih (Clean Code)

Buat file bernama finance_calculator.py dan masukkan kode berikut:

"""
Module: finance_calculator.py
Author: Engineering Team @ GEARFORGE
Description: Program CLI untuk menghitung rasio alokasi tabungan bulanan.
"""

import sys

def hitung_alokasi(pendapatan: float, target_persen: float) -> tuple[float, float]:
    """
    Menghitung nominal tabungan dan sisa anggaran operasional.
    Pure function: Tidak memiliki efek samping (side effects).
    """
    nominal_tabungan = pendapatan * (target_persen / 100)
    sisa_anggaran = pendapatan - nominal_tabungan
    return nominal_tabungan, sisa_anggaran

def ambil_input_float(pesan: str) -> float:
    """
    Mengambil dan memvalidasi input numerik desimal dari pengguna.
    Menangani kesalahan format secara defensif.
    """
    while True:
        try:
            nilai = float(input(pesan))
            if nilai < 0:
                print("[ERROR] Nilai tidak boleh negatif. Coba lagi.")
                continue
            return nilai
        except ValueError:
            print("[ERROR] Format input tidak valid. Masukkan angka yang benar.")

def main() -> None:
    """
    Entry point utama program.
    Mengontrol alur eksekusi aplikasi.
    """
    print("=" * 40)
    print("   GEARFORGE: SAVINGS RATIO ENGINE   ")
    print("=" * 40)

    # 1. Tahap Input
    pendapatan = ambil_input_float("Masukkan total pendapatan bulanan (Rp): ")
    target_persen = ambil_input_float("Masukkan target alokasi tabungan (%): ")

    if target_persen > 100:
        print("[FATAL] Target tabungan tidak boleh melebihi 100%.")
        sys.exit(1)

    # 2. Tahap Pemrosesan Logika
    tabungan, operasional = hitung_alokasi(pendapatan, target_persen)

    # 3. Tahap Output Presentasi
    print("\n" + "-" * 40)
    print("RINGKASAN ALOKASI KEUANGAN")
    print("-" * 40)
    print(f"Total Pendapatan : Rp {pendapatan:,.2f}")
    print(f"Alokasi Tabungan : Rp {tabungan:,.2f} ({target_persen}%)")
    print(f"Sisa Operasional : Rp {operasional:,.2f}")
    print("=" * 40)
    print("[SUCCESS] Analisis selesai.\n")

if __name__ == "__main__":
    main()

4. Bedah Arsitektur & Prinsip Rekayasa

  1. Type Hinting (pendapatan: float): Memberikan kejelasan tipe data bagi developer lain serta mempermudah analisis statis (linter).
  2. Penanganan Kesalahan Defensif (try-except): Mencegah program mengalami crash mendadak saat menerima input non-numerik.
  3. Isolasi Logika (hitung_alokasi): Logika matematika tidak mencetak output langsung. Fungsi ini menerima parameter dan mengembalikan nilai, memudahkan pengujian otomatis (unit testing).
  4. Guard Clause __name__ == '__main__': Memastikan modul dapat diimpor ke skrip lain di masa depan tanpa mengeksekusi blok main() secara otomatis.

5. Eksekusi Program

Jalankan program melalui terminal dengan perintah:

python3 finance_calculator.py

Uji program dengan berbagai skenario, termasuk memasukkan karakter non-angka atau angka negatif, untuk mengamati ketahanan validasi data yang telah dibangun.


Standar Praktik GEARFORGE

  • Selalu gunakan penamaan variabel yang deskriptif dan konsisten (Snake_case untuk fungsi/variabel Python).
  • Hindari penggunaan variabel global.
  • Selalu tangani potensi runtime error pada titik interaksi pengguna.