Laboratorium Komputasi Numerik Terapan & Interaktif β Pertemuan 1 s.d. 14
Repositori: https://github.com/mrbrightsides/komnumlab
NumerikaLab (komnumlab) adalah platform laboratorium virtual dan media pembelajaran interaktif komputasi numerik berbasis web modern yang dirancang khusus untuk mahasiswa teknik, sains, dan ilmu komputer, serta dosen pengampu mata kuliah Metode Numerik / Analisis Numerik.
Platform ini mengintegrasikan 14 pekan perkuliahan standar RPS / Kurikulum OBE (Outcome-Based Education) dengan kalkulator numerik langkah demi langkah, kanvas grafik interaktif dengan playback trace, komparasi multi-metode (benchmark), generator kode multi-bahasa (Python, MATLAB, C++), generator soal latihan algoritmik tak hingga, sistem ujian mandiri, ekspor laporan resmi bertanda tangan (PDF), dan sistem penguncian materi mingguan khusus dosen (Role-Based Weekly Lock System).
-
Interactive Step-by-Step Playback Controller: Jalankan iterasi numerik layaknya pemutar media (Play, Pause, Step Forward, Step Backward, pengatur kecepatan
$0.5\times$ ,$1\times$ ,$2\times$ , dan slider langsung). - Kanvas Grafik Matematis Resolusi Tinggi: Visualisasi fungsi kontinu, titik potong akar, garis singgung (Newton-Raphson), pias trapesium/Simpson, titik interpolasi, serta kurva aproksimasi PDB.
-
Tabel Log Iterasi & Narasi Matematis: Penjelasan verbal dinamis untuk tiap langkah hitungan, meliputi substitusi nilai, nilai fungsi
$f(x)$ , turunan$f'(x)$ , dan persentase galat aproksimasi relatif ($\epsilon_a$ ). -
Token Bar Rumus Instan: Tombol cepat untuk menyisipkan variabel dan fungsi aljabar/transenden seperti
$x^2$ ,$x^3$ ,$\sqrt{x}$ ,$\sin(x)$ ,$\cos(x)$ ,$e^x$ ,$\ln(x)$ , dan$\pi$ . -
Pengecekan Syarat Awal Matematis: Validasi otomatis Teorema Bolzano (
$f(a) \cdot f(b) < 0$ ), deteksi singularitas turunan nol ($f'(x) \approx 0$ ), dan uji matriks dominan diagonal.
- Head-to-Head Solvers: Bandingkan langsung metode komputasi pada problem yang sama:
- Pencarian Akar: Biseksi vs Regula Falsi vs Titik Tetap vs Newton-Raphson vs Sekan.
- Sistem Persamaan Linier: Eliminasi Gauss vs Iterasi Jacobi vs Gauss-Seidel.
- Integrasi Numerik: Kaidah Trapesium vs Simpson 1/3 vs Simpson 3/8.
- Persamaan Diferensial Biasa: Metode Euler vs Heun (RK2) vs Runge-Kutta Orde 4 (RK4).
- Grafik Konvergensi Galat Logaritmik: Pantau grafik penurunan galat per iterasi pada kanvas ganda.
- Tabel Analisis Metrik: Menampilkan jumlah iterasi hingga konvergen, nilai galat akhir, kecepatan konvergensi teoritis (linier vs kuadratik), dan catatan keunggulan/kelemahan masing-masing metode.
- Python (NumPy / SciPy): Script komputasi lengkap dengan komentar baris dan visualisasi Matplotlib.
- MATLAB / GNU Octave: Kode skrip siap eksekusi di lingkungan komputasi teknis kampus.
- C++ (Modern C++17): Implementasi algoritma berkinerja tinggi dengan pustaka standar
<cmath>dan<iomanip>. - Sinkronisasi Parameter Lab: Nilai input fungsi, tebakan awal, toleransi galat, dan jumlah iterasi yang Anda ubah di lab akan langsung memperbarui kode program.
- Fitur 1-Klik Salin & Unduh Berkas: Ekspor cepat ke file
.py,.m, atau.cpp.
- Algorithmic Dynamic Variants: Bukan sekadar faktor pengali acak, melainkan kalkulasi algoritmis riil yang membangkitkan fungsi baru, interval baru dengan syarat Bolzano terjamin, atau matriks dominan diagonal baru.
- Kunci Jawaban & Solusi Langkah demi Langkah: Tiap varian dilengkapi solusi matematika bertahap yang terverifikasi.
-
Kuis Mandiri: Praktikan dapat menguji pemahaman dengan validasi toleransi numerik (
$\pm 0.01$ ).
- Proteksi Akses Mahasiswa: Materi pekan ke-2 hingga ke-14 berstatus terkunci secara bawaan (locked by default).
- Layar Gerbang Pengaman (
LockedMeetingGate): Mahasiswa melihat silabus pratinjau topik dan informasi bahwa materi belum dirilis oleh dosen pengampu. - Hak Akses Eksklusif Pengajar:
- Kontrol 1-klik langsung dari In-Page Toolbar materi aktif.
- Tombol pintas gembok interaktif pada Sidebar navigasi dan Navbar.
- Tab khusus "Kunci & Buka Materi (P1-P14)" di Portal Dosen dengan aksi massal (Buka Semua, Kunci Semua, Buka s/d Pekan 7 UTS).
- Penggantian username & password pengajar yang tersimpan privat di browser local storage.
- Laporan Praktikum Mahasiswa: Menangkap kanvas grafik resolusi tinggi, tabel log iterasi, catatan refleksi praktikan, catatan evaluasi dosen, dan kotak tanda tangan praktikan & dosen pengampu.
- Laporan Benchmark Komparasi: Ringkasan tabel perbandingan metode komputasi dalam format siap cetak.
- Paket Lembar Ujian & Kunci Jawaban Dosen: Generator berkas soal ujian formal dan lembar kunci terverifikasi.
- Simulasi Ujian Terjadwal: Fitur evaluasi mandiri dengan batas waktu hitung mundur (countdown timer) dan penilaian skor otomatis.
- Modal Pencarian Cepat (
Ctrl+K/Cmd+K): Temukan topik, rumus, atau metode tertentu secara instan lengkap dengan indikator status terkunci/terbuka.
| No | Topik Pertemuan | Kategori | Cakupan Metode & Konsep |
|---|---|---|---|
| P1 | Analisis Galat & Deret Taylor | Galat & Deret | Deret Maclaurin, Galat Sejati ( |
| P2 | Metode Biseksi (Bisection) | Akar Persamaan Non-Linier | Teorema Nilai Antara Bolzano, Pembagian Interval Biner, Konvergensi Terjamin |
| P3 | Metode Regula Falsi (False Position) | Akar Persamaan Non-Linier | Interpolasi Linier Titik Interval, Titik Stagnan, Pengecekan Bolzano |
| P4 | Metode Iterasi Titik Tetap | Akar Persamaan Non-Linier | Transformasi Bentuk |
| P5 | Metode Newton-Raphson | Akar Persamaan Non-Linier | Garis Singgung Turunan Pertama |
| P6 | Metode Sekan (Secant) | Akar Persamaan Non-Linier | Aproksimasi Turunan dengan Beda Hingga Dua Titik Awal Bebas Syarat Bolzano |
| P7 | Eliminasi Gauss & Gauss-Jordan | Sistem Persamaan Linier | Matriks Augmented, Eliminasi Maju, Substitusi Mundur, Pivoting Parsial, Matriks Balikan |
| P8 | Iterasi Jacobi & Gauss-Seidel | Sistem Persamaan Linier | Syarat Cukup Dominan Diagonal Terikat Kuat, Kecepatan Konvergensi Relaksasi |
| P9 | Interpolasi Polinom Lagrange & Newton | Interpolasi Polinomial | Polinom Lagrange Orde 1-4, Tabel Beda Terbagi Newton (Divided Differences) |
| P10 | Regresi Linier & Polinomial Kuadratik | Pencocokan Kurva | Metode Kuadrat Terkecil (Least-Squares), Sistem Persamaan Normal, Koefisien Determinasi |
| P11 | Kaidah Titik Tengah & Trapesium | Integrasi Numerik | Pendekatan Luas Pias Linier Tunggal & Komposit, Analisis Galat Pemotongan |
| P12 | Kaidah Simpson 1/3 & Simpson 3/8 | Integrasi Numerik | Interpolasi Parabola (Simpson 1/3, |
| P13 | PDB Metode Euler & Heun (RK2) | Persamaan Diferensial Biasa | Masalah Nilai Awal (IVP), Kemiringan Tangen Euler |
| P14 | PDB Runge-Kutta Orde 4 (RK4) | Persamaan Diferensial Biasa | Rata-rata Berbobot 4 Kemiringan ( |
- Frontend Framework: React 19 (SPA) + TypeScript
- Build Tooling: Vite 8.x
- Styling Engine: Tailwind CSS v4 + Lucide Icons
- PDF Engine: jsPDF + jsPDF-AutoTable
- Animasi & Interaktivitas: Motion + Canvas Confetti
- Penyimpanan Status: Web Storage API (
localStorage) untuk progres belajar, catatan mahasiswa, catatan dosen, dan konfigurasi kunci materi.
Pastikan Anda telah memasang:
- Node.js (versi 18.x atau yang lebih baru)
- Paket manajer:
npm,pnpm,yarn, ataubun
git clone https://github.com/mrbrightsides/komnumlab.git
cd komnumlabnpm install
# atau
bun installnpm run devAplikasi akan aktif di alamat: http://localhost:3000
npm run buildHasil build siap produksi akan berada di direktori dist/. Untuk melihat pratinjau build produksi:
npm run preview- Klik tombol Login Pengajar pada sudut kanan atas bilah navigasi (Navbar), atau klik tombol Buka Materi (Login Dosen) jika sedang membuka pekan yang terkunci.
- Masukkan username dan password pengajar yang telah Anda atur.
- Setelah login berhasil:
- Buka/Kunci Per Pekan: Gunakan tombol gembok di samping materi pada sidebar, banner materi aktif, atau melalui menu Kunci & Buka Materi (P1-P14).
- Mode Ujian (Exam Mode): Kunci jawaban otomatis disembunyikan dari mahasiswa saat sesi praktikum.
- Cetak Paket Ujian: Cetak lembar soal mahasiswa tanpa jawaban dan lembar kunci khusus dosen via tab Paket Ujian (PDF).
- Ganti Sandi: Ubah username dan password pengajar sewaktu-waktu melalui tab Ganti Sandi.
komnumlab/
βββ public/ # Aset statis & manifest PWA
βββ src/
β βββ components/
β β βββ exam/ # Simulator ujian terjadwal & evaluasi mandiri
β β βββ labs/ # Laboratorium interaktif, kanvas visualisator & generator kode
β β βββ navigation/ # Navbar, Sidebar, SearchModal (Ctrl+K), LockedMeetingGate
β β βββ practice/ # Latihan soal dinamis, verifikasi toleransi & kuis
β β βββ student/ # Modal profil praktikan & rekap progres belajar
β β βββ teacher/ # Portal dosen (Kunci materi, paket ujian, rubrik, ganti sandi)
β β βββ theory/ # Ringkasan teori, rumus, dan bagan alir algoritma
β βββ context/
β β βββ StudentProgressContext.tsx # Pengelola state progres, auth dosen, & kunci materi
β βββ data/
β β βββ curriculumData.ts # Database silabus lengkap Pertemuan 1 s.d. 14
β βββ types/
β β βββ curriculum.ts # Definisi antarmuka TypeScript untuk kurikulum & solver
β βββ utils/
β β βββ benchmarkSolvers.ts # Mesin komparasi multi-metode
β β βββ codeGenerators.ts # Generator kode Python, MATLAB, C++
β β βββ dynamicProblemGenerator.ts # Mesin pembangkit varian soal matematika riil
β β βββ numericalSolvers.ts # Implementasi algoritma numerik P1 s.d. P14
β β βββ pdfExport.ts # Generator laporan praktikum & transkrip resmi (PDF)
β βββ App.tsx # Root layout & routing tab aplikasi
β βββ index.css # Import Tailwind CSS v4 & styling global
β βββ main.tsx # Entry point React DOM
βββ index.html # Dokumen HTML utama
βββ metadata.json # Metadata aplikasi AI Studio
βββ package.json # Dependensi dan skrip npm
βββ tsconfig.json # Konfigurasi TypeScript
βββ vite.config.ts # Konfigurasi Vite
Kontribusi untuk perbaikan algoritma, penambahan fitur visualisasi, maupun perluasan materi kurikulum sangat dipersilakan:
- Fork repositori ini (mrbrightsides/komnumlab)
- Buat branch fitur baru:
git checkout -b fitur/nama-fitur - Lakukan commit perubahan:
git commit -m 'Menambahkan fitur XYZ' - Push ke branch Anda:
git push origin fitur/nama-fitur - Buka Pull Request baru.
Didistribusikan di bawah Lisensi MIT. Silakan gunakan, modifikasi, dan kembangkan untuk keperluan pendidikan dan akademik.
Dikembangkan dengan β€οΈ untuk kemajuan pendidikan sains komputasi dan matematika terapan Indonesia.
Repositori Resmi: github.com/mrbrightsides/komnumlab