🐍
📝 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
forloop danrange(). - Mengendalikan penghentian loop dengan perintah
breakdancontinue.
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. |