IN1037 . CODE INITIATION

Sesi 8: Ujian Tengah Semester (UTS)

Evaluasi Komprehensif: Menguji kemampuan dasar pemrograman terstruktur dari Sesi 1 hingga Sesi 7.

I. Ringkasan Konsep Kunci (Sesi 1 - 7)

UTS ini akan menguji kemampuan Anda dalam mengintegrasikan tiga pilar utama pemrograman:

  • Data & I/O: Membaca input, memilih tipe data yang tepat (int, float, List, Tuple), dan memformat output (f-string).
  • Logika Kontrol: Menerapkan kondisional (if-elif-else) untuk pengambilan keputusan dan perulangan (for, while) untuk kalkulasi iteratif.
  • Struktur Data Dasar: Mengelola koleksi data saintifik menggunakan List (mutable) untuk data variabel dan Tuple (immutable) untuk koordinat atau konstanta.
  • Ekspresi & String: Menerjemahkan rumus matematika ke sintaks Python, serta mem-parsing atau memformat data teks.

Fokus Utama Latihan Praktik:

UTS akan bersifat Praktikum Kode. Anda diharapkan mampu menulis kode Python yang efisien dan terstruktur untuk memecahkan masalah.

Sesi Keterampilan yang Diuji Aplikasi Khas
1-3 Variabel, Operator, Modul math Implementasi rumus fisika kompleks (ex: Gerak Lurus Berubah Beraturan).
4 Kondisional (if-elif-else) Klasifikasi data (ex: Menentukan apakah fluida bersifat Laminar atau Turbulen).
5 Perulangan (for, while) Kalkulasi deret (ex: Penjumlahan deret Taylor) atau iterasi numerik (ex: Metode Babylonian).
6-7 List, Tuple, String Pembersihan data (menghilangkan outlier), parsing metadata dari teks, dan menyajikan laporan dengan presisi.

II. Contoh Soal & Studi Kasus UTS

Kasus 1: Klasifikasi Data Eksperimen dengan Iterasi (Sesi 4, 5, 6)

Anda memiliki data suhu (T) dan tekanan (P) dari sebuah reaksi kimia. Buat program yang mengklasifikasikan setiap titik data.

  1. Definisikan DATA_SUHU dan DATA_TEKANAN sebagai dua List terpisah.
  2. Gunakan perulangan (for loop) untuk mengiterasi kedua List secara paralel (gunakan range(len(List))).
  3. Dalam perulangan, gunakan kondisional (if-elif-else) untuk menentukan status:
    • Status Kritis: Jika T > 350 K DAN P > 10 atm.
    • Status Normal: Jika T ≤ 350 K DAN P ≤ 10 atm.
    • Status Peringatan: Sisanya.
  4. Cetak status untuk setiap pasangan data.

Kasus 2: Kalkulasi Error dan Pemformatan Laporan (Sesi 3, 7)

Hitung persentase error antara nilai teoretis dan eksperimen, kemudian format hasilnya.

Task: python
# Nilai yang diberikan
nilai_teoritis = 9.80665 # Gravitasi standar (m/s^2)
nilai_eksperimen = 9.85123 

# Formula Error Absolut: |Teoritis - Eksperimen|
# Formula Persentase Error: (Error Absolut / Teoritis) * 100

# 1. Hitung error absolut
error_absolut = abs(nilai_teoritis - nilai_eksperimen)

# 2. Hitung persentase error
persen_error = (error_absolut / nilai_teoritis) * 100

# 3. Format output menggunakan f-string
print(f"Nilai Eksperimen: {nilai_eksperimen:.5f} m/s^2")
print(f"Error Absolut: {error_absolut:.4f}")
print(f"Persentase Error: {persen_error:.2f}%")

Kasus 3: Kalkulasi Deret Iteratif (Sesi 5)

Hitung jumlah 10 suku pertama dari deret S = ∑n=110 1/n2.

Task: python
# Inisialisasi variabel
total_sum = 0.0

# Perulangan dari n=1 hingga n=10
for n in range(1, 11):
    # Hitung suku ke-n: 1 / n^2
    suku = 1.0 / (n**2)
    
    # Tambahkan ke total sum
    total_sum += suku

# Cetak hasil dengan 6 angka desimal
print(f"Total 10 suku pertama: {total_sum:.6f}")

III. Tips Strategi Menghadapi UTS

  1. Analisis Masalah: Sebelum menulis kode, tuliskan alur logikanya (pseudocode). Tentukan dulu struktur kontrol apa yang akan digunakan (if atau for/while).
  2. Pilih Tipe Data: Selalu gunakan float() untuk input yang melibatkan perhitungan saintifik agar hasilnya akurat (hindari pembagian integer).
  3. Debugging: Uji kode Anda dengan nilai input sederhana yang Anda sudah tahu hasilnya secara manual. Gunakan print() di tengah kode untuk melacak nilai variabel.
  4. Efisiensi: Jika Anda bekerja dengan List, pastikan Anda menggunakan metode bawaan (sort(), append()) sebelum beralih ke perulangan manual.