🐍 📝 Bagian 3 (Jobsheet Praktikum Terstruktur) • Modul JS-02 100% Standar Industri & Vokasi

Jobsheet 02: Kontrol Alur Logika & Looping

Praktikum terstruktur: Implementasi sistem penilaian akademik otomatis, autentikasi PIN login dengan batas percobaan, dan simulasi ATM sederhana.

1. Kompetensi Dasar & Indikator

Tujuan Praktikum:
  • Mampu memvalidasi masukan pengguna secara berulang sampai memenuhi syarat valid.
  • Menerapkan kondisi multi-kriteria menggunakan operator logika (and, or, not).
  • Membuat tabel iterasi akumulasi matematis menggunakan for loop dan range().
  • Mengendalikan penghentian loop dengan perintah break dan continue.

2. Aktivitas Terbimbing: Sistem Login & Validasi Sandi Kuat

Ketik dan jalankan kode berikut pada file lab2_auth.py:

python (lab2_auth.py)
# ==========================================
# LAB 2: SISTEM VALIDASI KEAMANAN AUTENTIKASI
# ==========================================

USERNAME_VALID = "admin"
PASSWORD_VALID = "Python2026!"

maks_percobaan = 3
percobaan_ke = 1
login_sukses = False

print("=== GERBANG KEAMANAN SISTEM ===")

while percobaan_ke <= maks_percobaan:
    print(f"\n[ Percobaan Login {percobaan_ke} dari {maks_percobaan} ]")
    user = input("Username: ").strip()
    pwd = input("Password: ").strip()

    # Validasi Autentikasi
    if user == USERNAME_VALID and pwd == PASSWORD_VALID:
        login_sukses = True
        print("\n[+] LOGIN BERHASIL! Selamat datang di Sistem Utama.")
        break
    else:
        sisa = maks_percobaan - percobaan_ke
        if sisa > 0:
            print(f"[-] Kredensial salah! Sisa percobaan Anda: {sisa}")
        else:
            print("[X] Akun Anda DIBLOKIR sementara karena 3x gagal.")
        
    percobaan_ke += 1

if not login_sukses:
    print("\nSilakan hubungi administrator IT untuk membuka blokir.")

3. Tugas Mandiri: Tabel Simulasi Angsuran Kredit Bank

Studi Kasus: Simulator Cicilan Pinjaman Flat

Buat program kalkulator_kredit.py yang meminta masukan:
Pokok Pinjaman (Rp): contoh Rp 12.000.000
Bunga Pertahun (%): contoh 10%
Tenor (Bulan): contoh 12 bulan

Aturan Rumus:
  • Cicilan Pokok / Bulan: Pokok Pinjaman / Tenor
  • Bunga / Bulan: (Pokok Pinjaman * (Bunga/100)) / 12
  • Total Angsuran / Bulan: Cicilan Pokok + Bunga
  • Gunakan for bulan in range(1, tenor + 1): untuk mencetak tabel jadwal cicilan bulan ke-1 hingga akhir beserta Sisa Pokok Pinjaman yang berkurang setiap bulannya.
Kriteria Keberhasilan: Program mencetak tabel rapi dengan kolom: Bulan | Angsuran Pokok | Bunga | Total Bayar | Sisa Pokok.

4. Rubrik Evaluasi & Penilaian

Aspek Penilaian Bobot Kriteria Sempurna
Struktur Looping & Terminasi 30% Loop berjalan sesuai tenor bulan tanpa off-by-one error.
Akumulasi & Pengurangan Saldo 30% Sisa pokok pinjaman di bulan terakhir mencapai Rp 0.
Kerapian Format Tabel Konsol 25% Kolom tabel sejajar lurus dengan pemisah angka ribuan.
Validasi Masukan Negatif/Nol 15% Program menolak tenor ≤ 0 atau pinjaman negatif.