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

Jobsheet 01: Fondasi, Operator & CLI I/O

Praktikum terstruktur: Menulis skrip konversi suhu interaktif, kalkulator aritmatika, dan pemformatan data kasir dengan validasi input.

1. Kompetensi Dasar & Indikator

Tujuan Praktikum:
  • Mampu membuat dan mengeksekusi file skrip .py di terminal.
  • Mampu membaca input dari user dengan input() dan melakukan casting tipe data dengan benar.
  • Mampu merangkai formula perhitungan menggunakan operator aritmatika dan pembulatan.
  • Mampu mencetak laporan keuangan/data dengan format rapi menggunakan f-string.

2. Aktivitas Terbimbing: Konverter Finansial Multi-Valuta

Ketik dan jalankan kode berikut pada file lab1_konverter.py:

python (lab1_konverter.py)
# ==========================================
# LAB 1: KONVERSI MATA UANG INTERAKTIF
# ==========================================

print("========================================")
print("     SISTEM KONVERSI MATA UANG IDR      ")
print("========================================")

# 1. Input Data
nama_nasabah = input("Nama Nasabah      : ").strip()
nominal_idr_str = input("Nominal Uang (IDR): ")

# 2. Type Casting & Validasi Sederhana
nominal_idr = float(nominal_idr_str)

# 3. Kurs Konversi Tetap
KURS_USD = 16000.0   # 1 USD = Rp 16.000
KURS_JPY = 105.5     # 1 JPY = Rp 105.5
KURS_SGD = 11900.0   # 1 SGD = Rp 11.900

# 4. Kalkulasi Aritmatika
hasil_usd = nominal_idr / KURS_USD
hasil_jpy = nominal_idr / KURS_JPY
hasil_sgd = nominal_idr / KURS_SGD

# 5. Output Laporan dengan f-string formatting
print("\n----------------------------------------")
print(f"Laporan Valuta Asing untuk: {nama_nasabah.upper()}")
print(f"Nominal Dasar: Rp {nominal_idr:,.2f}")
print("----------------------------------------")
print(f" > US Dollar (USD)     : $ {hasil_usd:,.2f}")
print(f" > Japanese Yen (JPY)  : ¥ {hasil_jpy:,.0f}")
print(f" > Singapore Dollar(SGD: S$ {hasil_sgd:,.2f}")
print("========================================")
🔍 Analisis Teknis Aktivitas 1:
  • Format {nominal_idr:,.2f} pada f-string memberikan tanda koma ribuan dan membatasi 2 digit desimal.
  • Konstanta kurs ditulis dengan huruf kapital (KURS_USD) mengikuti konvensi PEP 8 untuk variabel konstan.

3. Tugas Mandiri: Generator Slip Gaji Karyawan

Studi Kasus: Perhitungan Gaji Bersih Karyawan

Buatlah program slip_gaji.py yang meminta masukan:
1. Nama Karyawan (string)
2. Jabatan / Divisi (string)
3. Gaji Pokok (float)
4. Jumlah Hari Masuk Kerja (int)

Aturan Kalkulasi:
  • Tunjangan Makan & Transport: Rp 40.000 per hari masuk kerja.
  • Gaji Kotor (Gross): Gaji Pokok + (Hari Masuk * 40.000)
  • Potongan BPJS Kesehatan (1%): 1% * Gaji Pokok
  • Potongan PPh 21 (5%): 5% * Gaji Kotor
  • Gaji Bersih (Take Home Pay): Gaji Kotor - (BPJS + PPh 21)
Kriteria Keberhasilan: Program menghasilkan struk rincian slip gaji yang rapi dan menghitung total potongan serta take home pay secara akurat.

4. Rubrik Evaluasi & Penilaian

Aspek Penilaian Bobot Kriteria Sempurna
Kesesuaian Tipe Data & Casting 25% Input dikonversi ke float/int secara tepat tanpa error.
Akurasi Perhitungan Rumus 35% Hasil potongan BPJS, PPh 21, dan Gaji Bersih 100% presisi.
Format Tampilan & Output (f-string) 25% Tampilan slip gaji terformat rapi dengan pemisah ribuan.
Kebersihan Kode (PEP 8) 15% Penamaan variabel snake_case dan komentar yang deskriptif.