Skip to content

mrbrightsides/komnumlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

RANTAI KomNumLab ⚙️

Computational Numerics / Benchmark Lab — experiment scaling, runtime, memory, curve fitting (Big-O demonstration).

BETA Next.js React TypeScript License

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.


📚 Tentang Proyek

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.


✨ Fitur Utama

🧪 Eksperimen Kustom

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

📊 Visualisasi Kaya

  • 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

📋 Template Pembelajaran

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!

📜 Riwayat & Perbandingan

  • Simpan hasil eksperimen di localStorage
  • Bandingkan hingga 4 eksperimen secara bersamaan
  • Export hasil ke JSON atau Markdown
  • Hapus dan kelola riwayat eksperimen

🎓 Tutorial Interaktif

  • Onboarding otomatis untuk pengguna pertama kali
  • Panduan langkah demi langkah
  • Tooltips informatif pada setiap algoritma
  • Rekomendasi algoritma berdasarkan kebutuhan

🌓 Mode Tema

  • Light mode dan Dark mode
  • Desain responsif untuk desktop dan mobile
  • UI modern dengan gradient dan animasi

🛠️ Teknologi

Proyek ini dibangun menggunakan teknologi modern:

Core Framework

  • Next.js 15.3.4 - React framework dengan App Router
  • React 19.1.0 - Library UI
  • TypeScript 5.8.3 - Type safety

UI & Styling

  • Tailwind CSS - Utility-first CSS framework
  • Radix UI - Accessible component primitives
  • Framer Motion - Animasi dan transisi
  • Lucide React - Icon library
  • Recharts - Charting library

State & Data

  • LocalStorage - Persistensi data lokal
  • React Hook Form - Form management
  • Zod - Schema validation

Development Tools

  • ESLint - Code linting
  • PostCSS - CSS processing
  • Autoprefixer - CSS vendor prefixing

🚀 Instalasi & Setup

Prasyarat

  • Node.js versi 18.x atau lebih tinggi
  • npm atau yarn

Langkah Instalasi

  1. Clone repository

    git clone https://github.com/yourusername/rantai-komnumlab.git
    cd rantai-komnumlab
  2. Install dependencies

    npm install
    # atau
    yarn install
  3. Jalankan development server

    npm run dev
    # atau
    yarn dev
  4. Buka browser

    http://localhost:3000
    

Build untuk Production

npm run build
npm start

📖 Cara Menggunakan

1. Memulai Eksperimen Baru

  1. Navigasi ke tab "New Experiment"
  2. Isi nama eksperimen Anda
  3. Pilih algoritma yang ingin diuji (minimal 1)
  4. Pilih jenis matriks (dense, sparse, symmetric, atau diagonal)
  5. Tentukan ukuran matriks yang akan diuji
  6. Atur jumlah repetisi dan presisi
  7. Klik "Run Experiment"

2. Menggunakan Template

  1. Pergi ke tab "Templates"
  2. Jelajahi kategori template:
    • Matrix Operations
    • Linear Solvers
    • Eigenvalue Problems
    • Optimization
    • Advanced Topics
  3. Klik template yang Anda inginkan
  4. Template akan otomatis mengisi form eksperimen
  5. Modifikasi jika diperlukan, lalu jalankan

3. Melihat Hasil

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

4. Membandingkan Eksperimen

  1. Buka tab "Compare"
  2. Pilih 2-4 eksperimen dari dropdown
  3. Lihat perbandingan side-by-side:
    • Runtime comparison
    • Memory usage comparison
    • Scaling behavior
    • Algorithm efficiency

5. Mengelola Riwayat

  • 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

📁 Struktur Proyek

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

🎓 Konsep Edukasi

Algoritma yang Tersedia

RANTAI KomNumLab mencakup berbagai algoritma numerik:

Matrix Decomposition

  • 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

Linear Solvers

  • 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

Eigenvalue Problems

  • Power Iteration: Mencari eigenvalue dominan
  • QR Algorithm: Untuk semua eigenvalue
  • Lanczos: Untuk matriks sparse besar

Optimization

  • Gradient Descent: Optimasi berbasis gradien
  • Newton's Method: Second-order optimization
  • BFGS: Quasi-Newton method

Metrik yang Dianalisis

  1. Runtime (ms): Waktu eksekusi algoritma
  2. Memory Usage (MB): Penggunaan memori
  3. Numerical Error: Akurasi hasil komputasi
  4. Convergence Rate: Kecepatan konvergensi (untuk iteratif)
  5. FLOPS: Floating-point operations per second
  6. Scalability: Bagaimana performa berubah dengan ukuran input

🎯 Use Cases

Untuk Mahasiswa

  • Memahami trade-offs antar algoritma
  • Visualisasi kompleksitas waktu dan ruang
  • Persiapan untuk ujian atau tugas
  • Eksplorasi konsep numerik secara interaktif

Untuk Dosen

  • Demonstrasi kelas tentang performa algoritma
  • Material pembelajaran visual
  • Tugas praktikum berbasis simulasi
  • Benchmark educational tool

Untuk Peneliti

  • Quick prototyping untuk analisis algoritma
  • Visualisasi performa untuk paper
  • Educational outreach
  • Comparison baseline untuk algoritma baru

🔬 Limitasi & Disclaimer

Limitasi Teknis

  1. Simulasi, Bukan Komputasi Real

    • Semua hasil adalah model statistik
    • Data mengikuti pola teoritis dengan noise realistis
    • Tidak menjalankan operasi numerik sebenarnya
  2. Persistensi Data

    • Data disimpan di localStorage browser
    • Clear cache akan menghapus riwayat
    • Tidak ada sinkronisasi cloud
  3. Ukuran Dataset

    • Dibatasi untuk performa browser
    • Maksimal 4 eksperimen untuk comparison
    • Maksimal 10 ukuran matriks per eksperimen

Disclaimer Edukasi

⚠️ 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

Kontribusi sangat diterima! Jika Anda ingin berkontribusi:

  1. Fork repository ini
  2. Buat branch fitur baru (git checkout -b feature/AmazingFeature)
  3. Commit perubahan Anda (git commit -m 'Add some AmazingFeature')
  4. Push ke branch (git push origin feature/AmazingFeature)
  5. Buat Pull Request

Areas for Contribution

  • Menambahkan algoritma baru
  • Membuat template pembelajaran tambahan
  • Meningkatkan visualisasi
  • Menambahkan bahasa lain (i18n)
  • Memperbaiki bug atau dokumentasi
  • Menambahkan unit tests

📝 License

Distributed under the MIT License. See LICENSE for more information.


👨‍💻 Author & Credits

Developed by: mrbrightsides

Website: rantai.elpeef.com

Teknologi & Libraries

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

📞 Kontak & Support


🗺️ Roadmap

v1.0 (Current - BETA)

  • ✅ Core experiment functionality
  • ✅ Template system
  • ✅ Visualization suite
  • ✅ LocalStorage persistence
  • ✅ Interactive tutorial
  • ✅ Comparison view

v1.1 (Planned)

  • Export to PDF dengan visualisasi
  • Import/Export eksperimen via file
  • Custom algorithm creator
  • Advanced statistical analysis
  • Algorithm complexity calculator

v2.0 (Future)

  • Multi-user collaboration
  • Cloud synchronization
  • API integration untuk real computation (optional)
  • Mobile app (React Native)
  • International language support (English, dll.)
  • Classroom mode untuk dosen

📖 Dokumentasi Tambahan

Running Tests (Coming Soon)

npm run test

Linting

npm run lint

Type Checking

npx tsc --noEmit

🎉 Acknowledgments

Proyek 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

📚 Referensi & Belajar Lebih Lanjut

Recommended Reading

  • "Numerical Recipes" by Press et al.
  • "Matrix Computations" by Golub & Van Loan
  • "Introduction to Algorithms" by CLRS
  • MIT OpenCourseWare: Numerical Analysis

Online Resources


🔗 RANTAI KomNumLab - Bridging Theory and Practice in Numerical Computing

Made with ❤️ for education

WebsiteGitHubReport Bug

About

Computational Analytics Studio by RANTAI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages