IN1037 . CODE INITIATION

Sesi 16: Ujian Akhir Semester (UAS) & Presentasi Proyek

Finalisasi Kode: Evaluasi komprehensif atas kemampuan merancang, mengimplementasikan, dan menyajikan solusi komputasi saintifik dari Sesi 1 hingga 15.

I. Ringkasan Semester (Sesi 1-15)

Mata kuliah ini telah bertransformasi dari pengantar sintaks dasar menjadi kursus Komputasi Saintifik. UAS dan presentasi proyek akan menguji integrasi dari empat pilar utama:

Empat Pilar Evaluasi:

  • Pilar 1: Fondasi Logika (Sesi 1-7): Penguasaan Kondisional, Perulangan, List, dan String.
  • Pilar 2: Struktur Kode (Sesi 9-10): Kemampuan menerapkan Fungsi yang *reusable* dan memahami konsep Rekursi.
  • Pilar 3: Komputasi Saintifik (Sesi 11-13): Kemampuan menggunakan NumPy, Matplotlib, dan mengelola Data I/O (File Handling).
  • Pilar 4: Kualitas & Keandalan (Sesi 14-15): Penerapan Error Handling (try-except) dan Prinsip *Clean Code*.

Bobot Penilaian UAS:

UAS akan dibagi menjadi dua bagian dengan bobot yang sama:

  1. **Presentasi Proyek (20% Bobot Akhir):** Demonstrasi program yang berfungsi dan menjawab studi kasus (Sesi 15).
  2. **Ujian Praktik Komprehensif (20% Bobot Akhir):** Soal praktik tertutup yang menguji integrasi materi Sesi 1 hingga 14.

II. Kisi-Kisi Soal Praktik Komprehensif (UAS)

UAS akan terdiri dari 3 Studi Kasus Utama yang harus diselesaikan dalam kode Python. Fokus pada penggunaan pustaka saintifik dan struktur program yang baik.

Studi Kasus 1: Kalkulator Numerik Aman (Sesi 4, 5, 9, 14)

// Instruksi Kode UAS:

Buatlah fungsi hitung_integral_aman(a, b, N) untuk menghitung integral numerik menggunakan **Metode Trapesium** (Sesi 5).

  • Fungsi wajib menggunakan **perulangan** (for atau while).
  • Wajib menyertakan try-except untuk menangani ValueError pada input pengguna.
  • Gunakan if-else untuk memastikan $a < b$ (batas bawah harus lebih kecil dari batas atas).

Studi Kasus 2: Analisis Data Eksperimen dengan NumPy & Matplotlib (Sesi 11, 12, 13)

// Instruksi Kode UAS:

Simulasikan pembacaan berkas data eksperimen (Suhu dan Tekanan). Kemudian lakukan analisis dan visualisasi.

  • Gunakan File Handling (simulasi membaca data dari string/list).
  • Konversi data string ke **NumPy array** (Sesi 11).
  • Hitung korelasi antara Suhu dan Tekanan menggunakan fungsi NumPy.
  • Buat **plot sebar** (*scatter plot*) dari data tersebut menggunakan Matplotlib (Sesi 12).

Studi Kasus 3: Penyelesaian Sistem Matriks (Sesi 11)

// Instruksi Kode UAS:

Selesaikan sistem persamaan linear berikut menggunakan NumPy:

3x + 2y - z = 10

x - y + 2z = 5

-2x + y + 3z = 1

  • Definisikan matriks koefisien (A) dan vektor hasil (b) menggunakan np.array().
  • Gunakan np.linalg.solve() untuk mendapatkan nilai (x, y, z).

III. Kriteria Presentasi Proyek Akhir

Presentasi Proyek (maksimal 8 menit per kelompok/individu) harus mencakup:

  1. Latar Belakang (10%): Apa masalah saintifik yang dipecahkan dan mengapa Python adalah alat yang tepat?
  2. Struktur Kode (40%): Tunjukkan arsitektur fungsi dan modularitas. Jelaskan mengapa Anda menggunakan NumPy atau Matplotlib pada bagian tertentu.
  3. Demonstrasi (30%): Tunjukkan program berjalan (live demo) dengan data input dan hasil output (termasuk visualisasi). Demonstrasikan juga penanganan error jika diberi input yang salah.
  4. Kesimpulan & Clean Code (20%): Jelaskan tantangan terbesar dan bagaimana Anda memastikan kode Anda reusable dan mudah dipelihara (referensi docstrings, penamaan, dan PEP 8).
← Prev Page End of Module