Skip to content
mrbrightsidesPublic

About

Computational Analytics Studio by RANTAI

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

2 Commits

Folders and files

Repository files navigation

NumerikaLab (komnumlab) πŸ“βš‘

Laboratorium Komputasi Numerik Terapan & Interaktif β€” Pertemuan 1 s.d. 14
Repositori: https://github.com/mrbrightsides/komnumlab

Vite React TypeScript TailwindCSS License


πŸ“– Tentang NumerikaLab

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).


✨ Fitur Unggulan

πŸ§ͺ 1. Laboratorium Komputasi Interaktif & Visualisator Real-Time

  • 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.

βš”οΈ 2. Komparasi Multi-Metode (Benchmark Engine)

  • 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.

πŸ’» 3. Generator Kode Multi-Bahasa Sinkron

  • 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.

🎯 4. Mesin Pembangkit Latihan Soal Dinamis Algoritmik

  • 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$).

πŸ” 5. Sistem Penguncian Materi Mingguan Khusus Dosen (Weekly Topic Lock)

  • 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.

πŸ“„ 6. Ekspor Dokumen Akademik Resmi (PDF)

  • 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.

⏱️ 7. Simulator Ujian & Pencarian Global (Ctrl+K)

  • 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.

πŸ“š Struktur Silabus 14 Pertemuan

No Topik Pertemuan Kategori Cakupan Metode & Konsep
P1 Analisis Galat & Deret Taylor Galat & Deret Deret Maclaurin, Galat Sejati ($\epsilon_t$), Galat Relatif, Galat Aproksimasi ($\epsilon_a$), Pembulatan Floating-Point
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 $x = g(x)$, Syarat Konvergensi Monoton & Berosilasi $|g'(x)| &lt; 1$
P5 Metode Newton-Raphson Akar Persamaan Non-Linier Garis Singgung Turunan Pertama $f'(x)$, Konvergensi Kuadratik $O(h^2)$, Penanganan Turunan Nol
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 $R^2$
P11 Kaidah Titik Tengah & Trapesium Integrasi Numerik Pendekatan Luas Pias Linier Tunggal & Komposit, Analisis Galat Pemotongan $O(h^2)$
P12 Kaidah Simpson 1/3 & Simpson 3/8 Integrasi Numerik Interpolasi Parabola (Simpson 1/3, $n$ genap) & Kubik (Simpson 3/8, $n$ kelipatan 3), Galat $O(h^4)$
P13 PDB Metode Euler & Heun (RK2) Persamaan Diferensial Biasa Masalah Nilai Awal (IVP), Kemiringan Tangen Euler $O(h)$, Koreksi Prediktor-Korektor Heun $O(h^2)$
P14 PDB Runge-Kutta Orde 4 (RK4) Persamaan Diferensial Biasa Rata-rata Berbobot 4 Kemiringan ($k_1, k_2, k_3, k_4$), Standar Industri Akurasi $O(h^4)$

πŸ› οΈ Arsitektur & Teknologi

  • 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.

πŸš€ Panduan Memulai (Quickstart)

Prasyarat

Pastikan Anda telah memasang:

  • Node.js (versi 18.x atau yang lebih baru)
  • Paket manajer: npm, pnpm, yarn, atau bun

1. Kloning Repositori

git clone https://github.com/mrbrightsides/komnumlab.git
cd komnumlab

2. Pasang Dependensi

npm install
# atau
bun install

3. Jalankan Server Pengembangan (Dev Server)

npm run dev

Aplikasi akan aktif di alamat: http://localhost:3000

4. Build untuk Lingkungan Produksi

npm run build

Hasil build siap produksi akan berada di direktori dist/. Untuk melihat pratinjau build produksi:

npm run preview

πŸ” Panduan Akses Mode Dosen (Pengajar)

  1. Klik tombol Login Pengajar pada sudut kanan atas bilah navigasi (Navbar), atau klik tombol Buka Materi (Login Dosen) jika sedang membuka pekan yang terkunci.
  2. Masukkan username dan password pengajar yang telah Anda atur.
  3. 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.

πŸ“ Struktur Direktori

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 & Pengembangan

Kontribusi untuk perbaikan algoritma, penambahan fitur visualisasi, maupun perluasan materi kurikulum sangat dipersilakan:

  1. Fork repositori ini (mrbrightsides/komnumlab)
  2. Buat branch fitur baru: git checkout -b fitur/nama-fitur
  3. Lakukan commit perubahan: git commit -m 'Menambahkan fitur XYZ'
  4. Push ke branch Anda: git push origin fitur/nama-fitur
  5. Buka Pull Request baru.

πŸ“„ Lisensi

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

About

Computational Analytics Studio by RANTAI

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages