Computational Numerics / Benchmark Lab — experiment scaling, runtime, memory, curve fitting (Big-O demonstration).
Laboratorium Komputasi Numerik untuk Analisis Performa Algoritma
RANTAI KomNumLab adalah platform edukasi berbasis web yang dirancang untuk mahasiswa dan peneliti dalam mempelajari performa algoritma numerik. Platform ini menyediakan lingkungan simulasi untuk menganalisis kompleksitas waktu, penggunaan memori, stabilitas numerik, dan trade-offs antar algoritma.
RANTAI KomNumLab adalah alat pembelajaran interaktif yang memungkinkan pengguna untuk:
- Mengeksplorasi Performa Algoritma: Bandingkan berbagai algoritma numerik dengan visualisasi yang kaya
- Memahami Kompleksitas: Analisis scaling behavior dan time complexity secara visual
- Simulasi Benchmark: Jalankan eksperimen dengan berbagai ukuran input dan parameter
- Belajar Melalui Template: Gunakan template pembelajaran yang telah dikonfigurasi sebelumnya
- Analisis Mendalam: Dapatkan insight tentang memory usage, error analysis, dan convergence behavior
⚠️ PENTING: Aplikasi ini dirancang khusus untuk tujuan edukasi. Semua hasil perhitungan adalah simulasi dan bukan komputasi numerik yang sebenarnya. Data yang ditampilkan adalah model statistik untuk tujuan pembelajaran.
- Konfigurasi eksperimen dengan berbagai algoritma (LU Decomposition, QR Decomposition, Cholesky, SVD, dll.)
- Pilih jenis matriks (dense, sparse, symmetric, diagonal)
- Atur ukuran matriks dan jumlah repetisi
- Kontrol presisi komputasi (float32/float64)
- Log-Log Plot: Analisis scaling behavior
- Performance Heatmap: Perbandingan multi-algoritma
- Bar Charts: Runtime dan memory comparison
- Error Distribution: Analisis akurasi dan stabilitas
- Convergence Analysis: Visualisasi konvergensi iteratif
Koleksi template pre-configured untuk berbagai topik:
- Matrix Decomposition Fundamentals: Pengenalan dekomposisi matriks
- Sparse vs Dense Matrix Performance: Perbandingan struktur data
- Iterative Solvers Comparison: Metode iteratif vs langsung
- High-Dimensional Scaling Analysis: Performa pada dimensi tinggi
- Numerical Stability Investigation: Analisis stabilitas numerik
- Dan masih banyak lagi!
- Simpan hasil eksperimen di localStorage
- Bandingkan hingga 4 eksperimen secara bersamaan
- Export hasil ke JSON atau Markdown
- Hapus dan kelola riwayat eksperimen
- Onboarding otomatis untuk pengguna pertama kali
- Panduan langkah demi langkah
- Tooltips informatif pada setiap algoritma
- Rekomendasi algoritma berdasarkan kebutuhan
- Light mode dan Dark mode
- Desain responsif untuk desktop dan mobile
- UI modern dengan gradient dan animasi
Proyek ini dibangun menggunakan teknologi modern:
- Next.js 15.3.4 - React framework dengan App Router
- React 19.1.0 - Library UI
- TypeScript 5.8.3 - Type safety
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Accessible component primitives
- Framer Motion - Animasi dan transisi
- Lucide React - Icon library
- Recharts - Charting library
- LocalStorage - Persistensi data lokal
- React Hook Form - Form management
- Zod - Schema validation
- ESLint - Code linting
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixing
- Node.js versi 18.x atau lebih tinggi
- npm atau yarn
-
Clone repository
git clone https://github.com/yourusername/rantai-komnumlab.git cd rantai-komnumlab -
Install dependencies
npm install # atau yarn install -
Jalankan development server
npm run dev # atau yarn dev -
Buka browser
http://localhost:3000
npm run build
npm start- Navigasi ke tab "New Experiment"
- Isi nama eksperimen Anda
- Pilih algoritma yang ingin diuji (minimal 1)
- Pilih jenis matriks (dense, sparse, symmetric, atau diagonal)
- Tentukan ukuran matriks yang akan diuji
- Atur jumlah repetisi dan presisi
- Klik "Run Experiment"
- Pergi ke tab "Templates"
- Jelajahi kategori template:
- Matrix Operations
- Linear Solvers
- Eigenvalue Problems
- Optimization
- Advanced Topics
- Klik template yang Anda inginkan
- Template akan otomatis mengisi form eksperimen
- Modifikasi jika diperlukan, lalu jalankan
Setelah eksperimen selesai, Anda akan melihat:
- Summary Cards: Runtime total, memory peak, convergence rate
- Algorithm Rankings: Peringkat berdasarkan kecepatan
- Detailed Results Table: Breakdown per ukuran dan algoritma
- Visualizations: Grafik interaktif untuk analisis mendalam
- Educational Insights: Penjelasan tentang karakteristik setiap algoritma
- Buka tab "Compare"
- Pilih 2-4 eksperimen dari dropdown
- Lihat perbandingan side-by-side:
- Runtime comparison
- Memory usage comparison
- Scaling behavior
- Algorithm efficiency
- History Tab: Lihat semua eksperimen yang pernah dijalankan
- Filter & Search: Cari eksperimen berdasarkan nama atau tanggal
- View Details: Klik eksperimen untuk melihat hasil lengkap
- Delete: Hapus eksperimen yang tidak diperlukan
- Export: Simpan hasil ke JSON atau Markdown
rantai-komnumlab/
├── src/
│ ├── app/
│ │ ├── api/ # API routes
│ │ │ ├── health/ # Health check endpoint
│ │ │ ├── logger/ # Logging endpoint
│ │ │ └── proxy/ # External API proxy
│ │ ├── fonts/ # Custom fonts
│ │ ├── favicon.ico # App icon
│ │ ├── globals.css # Global styles
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Main page
│ ├── components/
│ │ ├── ui/ # Reusable UI components
│ │ ├── about-app.tsx # About section
│ │ ├── algorithm-recommender.tsx # AI recommender
│ │ ├── algorithm-tooltip.tsx # Algorithm info tooltips
│ │ ├── benchmark-results.tsx # Results display
│ │ ├── comparison-view.tsx # Comparison UI
│ │ ├── enhanced-export.tsx # Export functionality
│ │ ├── enhanced-visualizations.tsx # Charts & graphs
│ │ ├── experiment-config.tsx # Configuration form
│ │ ├── experiment-history.tsx # History list
│ │ ├── experiment-templates.tsx # Template gallery
│ │ ├── header.tsx # App header
│ │ ├── onboarding-tutorial.tsx # First-time tutorial
│ │ ├── theme-provider.tsx # Theme context
│ │ └── ... (Farcaster components)
│ ├── lib/
│ │ ├── experiment-simulator.ts # Simulation engine
│ │ ├── logger.ts # Logging utilities
│ │ ├── types.ts # TypeScript types
│ │ └── utils.ts # Helper functions
│ ├── hooks/
│ │ ├── use-mobile.tsx # Mobile detection
│ │ └── useManifestStatus.ts # Farcaster status
│ └── utils/
│ └── manifestStatus.ts # Manifest utilities
├── public/
│ └── .well-known/
│ └── farcaster.json # Farcaster config
├── package.json
├── tsconfig.json
├── tailwind.config.js
├── next.config.js
└── README.md
RANTAI KomNumLab mencakup berbagai algoritma numerik:
- LU Decomposition: Faktorizasi matriks menjadi lower dan upper triangular
- QR Decomposition: Dekomposisi menggunakan orthogonal dan upper triangular
- Cholesky Decomposition: Untuk matriks positive definite
- SVD (Singular Value Decomposition): Dekomposisi nilai singular
- Gaussian Elimination: Metode eliminasi klasik
- Conjugate Gradient: Metode iteratif untuk sistem sparse
- Jacobi Method: Iterasi sederhana untuk sistem linear
- Gauss-Seidel: Versi improved dari Jacobi
- Power Iteration: Mencari eigenvalue dominan
- QR Algorithm: Untuk semua eigenvalue
- Lanczos: Untuk matriks sparse besar
- Gradient Descent: Optimasi berbasis gradien
- Newton's Method: Second-order optimization
- BFGS: Quasi-Newton method
- Runtime (ms): Waktu eksekusi algoritma
- Memory Usage (MB): Penggunaan memori
- Numerical Error: Akurasi hasil komputasi
- Convergence Rate: Kecepatan konvergensi (untuk iteratif)
- FLOPS: Floating-point operations per second
- Scalability: Bagaimana performa berubah dengan ukuran input
- Memahami trade-offs antar algoritma
- Visualisasi kompleksitas waktu dan ruang
- Persiapan untuk ujian atau tugas
- Eksplorasi konsep numerik secara interaktif
- Demonstrasi kelas tentang performa algoritma
- Material pembelajaran visual
- Tugas praktikum berbasis simulasi
- Benchmark educational tool
- Quick prototyping untuk analisis algoritma
- Visualisasi performa untuk paper
- Educational outreach
- Comparison baseline untuk algoritma baru
-
Simulasi, Bukan Komputasi Real
- Semua hasil adalah model statistik
- Data mengikuti pola teoritis dengan noise realistis
- Tidak menjalankan operasi numerik sebenarnya
-
Persistensi Data
- Data disimpan di localStorage browser
- Clear cache akan menghapus riwayat
- Tidak ada sinkronisasi cloud
-
Ukuran Dataset
- Dibatasi untuk performa browser
- Maksimal 4 eksperimen untuk comparison
- Maksimal 10 ukuran matriks per eksperimen
⚠️ PENTING: Aplikasi ini adalah alat pembelajaran dan bukan software komputasi numerik profesional. Untuk aplikasi riset atau produksi yang serius, gunakan library seperti NumPy, SciPy, MATLAB, atau Eigen.
Hasil yang ditampilkan:
- ✅ Akurat secara konseptual dan teoritis
- ✅ Berguna untuk pembelajaran dan pemahaman
- ❌ Tidak untuk penelitian aktual atau produksi
- ❌ Tidak menggantikan implementasi real
Kontribusi sangat diterima! Jika Anda ingin berkontribusi:
- Fork repository ini
- Buat branch fitur baru (
git checkout -b feature/AmazingFeature) - Commit perubahan Anda (
git commit -m 'Add some AmazingFeature') - Push ke branch (
git push origin feature/AmazingFeature) - Buat Pull Request
- Menambahkan algoritma baru
- Membuat template pembelajaran tambahan
- Meningkatkan visualisasi
- Menambahkan bahasa lain (i18n)
- Memperbaiki bug atau dokumentasi
- Menambahkan unit tests
Distributed under the MIT License. See LICENSE for more information.
Developed by: mrbrightsides
Website: rantai.elpeef.com
Terima kasih kepada semua maintainer dan contributor dari:
- Next.js & React Team
- Radix UI Team
- Tailwind CSS Team
- Recharts Team
- Dan semua open-source projects yang digunakan
- GitHub Issues: Report bugs or request features
- Email: [Your email here]
- Website: rantai.elpeef.com
- ✅ Core experiment functionality
- ✅ Template system
- ✅ Visualization suite
- ✅ LocalStorage persistence
- ✅ Interactive tutorial
- ✅ Comparison view
- Export to PDF dengan visualisasi
- Import/Export eksperimen via file
- Custom algorithm creator
- Advanced statistical analysis
- Algorithm complexity calculator
- Multi-user collaboration
- Cloud synchronization
- API integration untuk real computation (optional)
- Mobile app (React Native)
- International language support (English, dll.)
- Classroom mode untuk dosen
npm run testnpm run lintnpx tsc --noEmitProyek ini terinspirasi oleh:
- Numerical computing textbooks dan courses
- Community feedback dari students & educators
- Open-source benchmarking tools
Special thanks to:
- Semua beta testers yang memberikan feedback
- Academic advisors yang memberikan input
- Open-source community
- "Numerical Recipes" by Press et al.
- "Matrix Computations" by Golub & Van Loan
- "Introduction to Algorithms" by CLRS
- MIT OpenCourseWare: Numerical Analysis
🔗 RANTAI KomNumLab - Bridging Theory and Practice in Numerical Computing
Made with ❤️ for education
Website • GitHub • Report Bug