Proyek ini merupakan website yang dibuat untuk memenuhi Tugas Proyek Kelompok mata kuliah Algoritma dan Pemrograman dengan topik Distribusi Frekuensi pada Statistika.
Fokus utama proyek ini adalah implementasi algoritma distribusi frekuensi secara jelas, sistematis, dan mudah dijelaskan.
Tujuan utama pengembangan aplikasi ini adalah:
- Menerapkan konsep distribusi frekuensi pada statistika dasar
- Mengimplementasikan algoritma ke dalam program nyata
- Menyajikan alur logika program yang dapat dipahami dan dipresentasikan
Aplikasi ini mengolah data numerik (≥ 30 data) untuk menghasilkan tabel distribusi frekuensi melalui tahapan berikut:
- Input dan validasi data
- Menentukan jumlah data (n)
- Menentukan nilai minimum dan maksimum
- Menghitung rentang data
- Menentukan jumlah kelas (aturan Sturges)
- Menghitung interval kelas
- Membentuk kelas dan menghitung frekuensi
- Menampilkan tabel distribusi frekuensi
- Memberikan interpretasi hasil sederhana
-
Clone repositori ke lokal
git clone https://github.com/Realitaa/freq-distribution.git
-
Jalankan menggunakan Live Server atau akses file
index.htmldi browser.
Juga tersedia di Github Pages: https://realitaa.github.io/freq-distribution/
Alur aplikasi dari sudut pandang pengguna:
-
Landing Page
- Judul dan deskripsi proyek
- Tombol menuju Playground dan Import Data
-
Playground Input Data
- Input manual (textarea)
- Import file (.txt / .csv)
- Dataset contoh
-
Validasi Data
- Minimal 30 data numerik
- Menampilkan pesan kesalahan jika tidak valid
-
Proses Algoritma
- Analisis data awal
- Perhitungan jumlah kelas
- Perhitungan interval
- Pembentukan kelas
- Penghitungan frekuensi
-
Output Utama
- Tabel distribusi frekuensi
- Interpretasi hasil
-
Aksi Akhir
- Reset playground
- HTML5 – Struktur halaman
- CSS3 + Bootstrap 5 (CDN) + Icons – Layout dan komponen UI
- JavaScript – Logika aplikasi dan algoritma
- Alpine.js – Reaktivitas UI sederhana (state & validasi)
freq-distribution
├── index.html
├── css/
│ └── main.css
├── js/
│ ├── app.js # Controller utama aplikasi (SPA)
│ │
│ ├── algorithm/
│ │ ├── frequency.js # Algoritma distribusi frekuensi
│ │ └── statistics.js # Fungsi statistik dasar
│ │
│ ├── input/
│ │ ├── parser.js # Parsing input teks & CSV
│ │ └── validator.js # Validasi data numerik
│ │
│ ├── ui/
│ │ └── notification.js # Notifikasi dalam bentuk Toast
│ │
│ └── utils/
│ └── constants.js # Konstanta aplikasi
│
└── data/
|── sample-dataset.js # Dataset contoh, terdapat juga beberapa data contoh lainnya
└── credits.md # Kredit sumber data