edi-mj/spk-pemilihan-laptop
Sistem pendukung keputusan pemilihan laptop menggunakan metode SAW
Sistem Pendukung Keputusan Pemilihan Laptop
Deskripsi Proyek
Aplikasi web berbasis PHP yang membantu pengguna menemukan laptop yang sesuai dengan kebutuhan dan budget mereka menggunakan metode Simple Additive Weighting (SAW). Sistem ini menganalisis berbagai kriteria seperti harga, RAM, storage, kapasitas baterai, dan berat laptop untuk memberikan rekomendasi terbaik.
Fitur Utama
Admin
- Manajemen Kriteria: Mengelola kriteria penilaian dan bobot masing-masing kriteria
- Manajemen Alternatif: Menambah, edit, dan hapus data laptop
- Input Penilaian: Memasukkan nilai untuk setiap alternatif berdasarkan kriteria
- Normalisasi Data: Melihat hasil normalisasi menggunakan metode SAW
User
- Pencarian Laptop: Mencari laptop berdasarkan kategori dan budget maksimal
- Rekomendasi Personal: Mendapatkan 3 rekomendasi laptop terbaik berdasarkan preferensi
- Detail Laptop: Melihat spesifikasi lengkap setiap laptop
- Daftar Laptop: Menampilkan semua laptop yang tersedia
Teknologi yang Digunakan
- Backend: PHP (Native)
- Database: MySQL dengan PDO
- Frontend: HTML5, CSS3, JavaScript
- Framework CSS: Bootstrap 5.3.3
- Icons: Bootstrap Icons 1.11.3
- Package Manager: npm
Metode SAW (Simple Additive Weighting)
Metode SAW bekerja dengan cara:
- Menentukan kriteria dan bobot untuk setiap kriteria
- Normalisasi matriks keputusan
- Menghitung nilai preferensi dengan mengalikan bobot kriteria dengan nilai normalisasi
- Mengurutkan alternatif berdasarkan nilai preferensi tertinggi
Kriteria Penilaian
- Harga: Semakin rendah semakin baik (cost)
- RAM: Semakin tinggi semakin baik (benefit)
- Kapasitas Storage: Semakin tinggi semakin baik (benefit)
- Kapasitas Baterai: Semakin tinggi semakin baik (benefit)
- Berat Laptop: Semakin ringan semakin baik (cost)
Instalasi
Prasyarat
- PHP >= 7.4
- MySQL/MariaDB
- Web Server (Apache/Nginx)
- Node.js dan npm
Langkah Instalasi
- Clone repository
git clone https://github.com/edi-mj/spk-pemilihan-laptop.git
cd spk-pemilihan-laptop- Install dependencies frontend
npm install-
Konfigurasi database
- Buat database baru dengan nama
spk_laptop - Import file SQL (jika ada) atau buat struktur tabel sesuai kebutuhan
- Buat database baru dengan nama
-
Konfigurasi koneksi database
- Edit file
src/base.php - Sesuaikan kredensial database (host, username, password)
- Edit file
define("BASEURL", "http://localhost/spk-pemilihan-laptop");
define("BASEPATH", $_SERVER["DOCUMENT_ROOT"] . "/spk-pemilihan-laptop");
define("DB", new PDO('mysql:host=localhost;dbname=spk_laptop', 'root', '', [...]));- Jalankan aplikasi melalui web server
- Akses
http://localhost/spk-pemilihan-laptop
- Akses
Struktur Database
Tabel Users
id: Primary Keyusername: Username penggunapassword: Password (SHA2 encrypted)email: Email penggunarole: Role pengguna (admin/user)
Tabel Kriteria
Menyimpan data kriteria penilaian dan bobotnya
Tabel Alternatif
Menyimpan data laptop yang menjadi alternatif pilihan
Tabel Penilaian
Menyimpan nilai untuk setiap alternatif berdasarkan kriteria
Cara Penggunaan
Sebagai Admin
- Login dengan akun admin
- Kelola data kriteria dan bobotnya
- Tambahkan data laptop (alternatif)
- Input nilai penilaian untuk setiap laptop
- Sistem akan otomatis menghitung normalisasi
Sebagai User
- Register atau login dengan akun user
- Pilih kategori laptop yang diinginkan
- Tentukan budget maksimal (opsional)
- Sistem akan memberikan 3 rekomendasi laptop terbaik
- Lihat detail laptop untuk informasi lebih lengkap
Struktur Folder
spk-pemilihan-laptop/
├── src/
│ ├── admin/ # Modul administrator
│ ├── users/ # Modul pengguna
│ ├── assets/ # Assets (images, css, js)
│ └── *.php # File konfigurasi dan helper
├── node_modules/ # Dependencies frontend
├── usecase/ # Dokumentasi use case
├── index.php # Halaman login
└── package.json # Konfigurasi npm
Kontribusi
Kontribusi selalu terbuka untuk pengembangan proyek ini. Silakan fork repository dan buat pull request untuk fitur atau perbaikan baru.
Lisensi
Proyek ini menggunakan lisensi ISC.
Author
Dikembangkan sebagai implementasi Sistem Pendukung Keputusan menggunakan metode SAW untuk pemilihan laptop.