Kembali ke Projects

Normify

Normify is a modern web-based platform that automates the Data Normality Test process using the Straight Line Method. This application transforms complex and time-consuming manual statistical calculations into instant analysis (less than 1 second) with high accuracy, interactive visualization, and detailed reports.

Next.jsPythonTailwindFastAPI

Normify - Uji Normalitas Metode Garis Lurus

Normify adalah platform berbasis web modern yang mengotomatisasi proses Uji Normalitas Data menggunakan Metode Garis Lurus (Straight Line Method). Aplikasi ini mengubah proses perhitungan statistik manual yang rumit dan memakan waktu menjadi analisis instan (kurang dari 1 detik) dengan akurasi tinggi, visualisasi interaktif, dan laporan mendetail.


šŸ“ø Tampilan Aplikasi

Halaman Utama (Dashboard)

Normify Dashboard

Halaman Perhitungan & Analisis Data

Input Data & Hasil

Screenshot 2025-12-07 145600

Panduan Pengguna (GuideBook)

image

✨ Fitur Utama

  • ⚔ Perhitungan Real-time: Menghitung Mean, Standar Deviasi, Slope, Intercept, dan R-squared secara instan menggunakan backend Python yang dioptimasi.
  • šŸ“Š Visualisasi Interaktif: Menampilkan grafik histogram data asli vs kurva normal ideal (f(x')) menggunakan Recharts untuk memudahkan interpretasi visual.
  • šŸ“„ Import & Export Data: Mendukung input data manual serta impor massal dari file Excel (.xlsx) menggunakan template yang disediakan.
  • šŸ“ Analisis Mendetail: Menyajikan tabel perhitungan langkah demi langkah (F Kumulatif, Z-score/u, u', p(u'), dll) untuk transparansi akademis.
  • šŸ“˜ Edukasi Terintegrasi: Dilengkapi dengan halaman Teori Dasar dan Guide Book interaktif (termasuk viewer PDF) untuk membantu pengguna memahami konsep statistik di baliknya.
  • šŸ“± Responsif Modern: Antarmuka pengguna (UI) yang estetis dan responsif dibangun dengan Next.js dan Tailwind CSS.

šŸ› ļø Teknologi yang Digunakan

Project ini dibangun dengan arsitektur Microservices menggunakan Docker.

Frontend

Backend

  • Language: Python 3.9
  • Framework: FastAPI
  • Computation: Pandas, NumPy, SciPy (untuk interpolasi statistik dan regresi linear)
  • Server: Uvicorn

Infrastructure

  • Containerization: Docker & Docker Compose

šŸš€ Prasyarat Instalasi

Sebelum memulai, pastikan perangkat Anda telah terinstal:


šŸ“¦ Cara Menjalankan Project

Metode 1: Menggunakan Docker (Direkomendasikan)

Cara termudah untuk menjalankan aplikasi tanpa konfigurasi environment manual.

  1. Clone repository ini:

    git clone [https://github.com/mifthrizky/normify.git](https://github.com/mifthrizky/normify.git)
    cd normify
    
  2. Jalankan dengan Docker Compose:

    docker-compose up --build
    
  3. Akses Aplikasi:

Metode 2: Instalasi Manual

Jika Anda ingin menjalankan frontend dan backend secara terpisah.

1. Menjalankan Backend:

cd backend
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

2. Menjalankan Frontend: Buka terminal baru:

cd backend
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

Akses aplikasi di http://localhost:3000.

šŸ“‚ Susunan Project

normify/
ā”œā”€ā”€ docker-compose.yml      # Orkestrasi container
ā”œā”€ā”€ backend/                # Service Backend (Python/FastAPI)
│   ā”œā”€ā”€ app/
│   │   ā”œā”€ā”€ main.py         # Entry point API
│   │   └── calculation.py  # Logika perhitungan statistik (Core Logic)
│   ā”œā”€ā”€ Dockerfile
│   └── requirements.txt
└── frontend/               # Service Frontend (Next.js)
    ā”œā”€ā”€ public/             # Aset statis (Images, PDF Guide)
    ā”œā”€ā”€ src/
    │   ā”œā”€ā”€ app/            # App Router (Dashboard, Uji, Teori, Guide)
    │   └── components/     # Komponen UI (Navbar, Footer, Charts)
    ā”œā”€ā”€ Dockerfile
    ā”œā”€ā”€ package.json
    └── tailwind.config.js

šŸ’” Contoh Penggunaan

  1. Buka halaman Uji Kenormalan.
  2. Masukkan data Nilai (Xi) dan Frekuensi (Fi) pada tabel input, atau klik Import dari Excel dan gunakan template yang tersedia.
  3. Klik tombol HITUNG HASIL.Sistem akan menampilkan: Kesimpulan: Apakah data NORMAL atau MENYIMPANG. Statistik: Mean, Standar Deviasi, dan Persamaan Regresi Linear (u' = mx + c). Grafik: Kurva lonceng yang membandingkan distribusi data Anda dengan distribusi normal teoritis.

šŸ¤ Kontribusi

Kontribusi selalu diterima! Jika Anda ingin menambahkan fitur atau memperbaiki bug:

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

šŸ“„ Lisensi

Project ini dilisensikan di bawah MIT License.

Dibuat dengan ā¤ļø oleh Miftah Rizky & Tim Normify