SPK Metode SMART

Sistem Pendukung Keputusan pemilihan penerima bantuan dengan metode SMART (Simple Multi Attribute Rating Technique). Semua data 100% dinamis, cocok untuk berbagai studi kasus multikriteria.

Screenshot

Tentang Aplikasi

Aplikasi Sistem Pendukung Keputusan (SPK) berbasis metode SMART (Simple Multi Attribute Rating Technique). Aplikasi membantu menentukan calon penerima bantuan secara objektif, transparan, dan dapat dipertanggungjawabkan berdasarkan penilaian multi kriteria.

Aplikasi ini memproses penilaian setiap alternatif terhadap beberapa kriteria. Setiap kriteria memiliki bobot dan tipe (Benefit untuk nilai yang ingin dimaksimalkan, Cost untuk nilai yang ingin diminimalkan). Hasil akhir berupa perangkingan alternatif dari nilai SMART tertinggi sampai terendah.

Fleksibel untuk berbagai studi kasus. Meskipun contoh data bawaan menggunakan studi kasus bantuan sosial, seluruh data 100% dinamis dan dapat diubah lewat menu aplikasi:

  • Kriteria → ganti dengan kriteria dan bobot sesuai kebutuhan (pendapatan, tanggungan, kondisi rumah, dsb).
  • Alternatif → ganti dengan objek apa pun yang ingin dinilai (penerima beasiswa, karyawan, supplier, lokasi, handphone, dll).
  • Periode → pisahkan data penilaian & hasil per periode/gelombang penyaluran.
  • Nilai Alternatif → input penilaian langsung dari aplikasi.

Fitur Utama

Manajemen Pengguna

  • Login & Logout dengan autentikasi password (dihash dengan password_hash).
  • Registrasi mandiri melalui halaman register.php (otomatis berperan User).
  • Dua level role: Admin (akses penuh) dan User (hanya melihat laporan dan ekspor PDF).
  • Kelola pengguna (Admin) — tambah, ubah, hapus pengguna beserta rolenya (dengan proteksi agar tidak menghapus admin terakhir / akun sendiri).
  • Ubah Password — semua pengguna yang login bisa mengganti password sendiri.

Manajemen Data (Khusus Admin)

  • Kriteria — CRUD kriteria beserta kode, bobot, dan tipe Benefit/Cost.
  • Alternatif — CRUD daftar calon penerima bantuan.
  • Penilaian — input nilai setiap alternatif terhadap semua kriteria pada periode aktif.
  • Periode — CRUD periode penilaian dengan status aktif/nonaktif.

Perhitungan & Hasil

  • Perhitungan SMART — menampilkan seluruh tahapan: normalisasi bobot, nilai utility, nilai akhir, dan perangkingan.
  • Hasil — menampilkan ranking akhir setiap periode; dihitung ulang otomatis setiap kali menu dibuka.
  • Laporan — rekap hasil per periode dengan tombol Export PDF.
  • Laporan PDF — dihasilkan dengan Dompdf, berisi kop surat, logo, tanggal, dan blok tanda tangan (data instansi dapat diatur lewat config/settings.php).

Lainnya

  • Landing page — profil aplikasi, penjelasan metode SMART, dan info instansi.
  • Dashboard — ringkasan statistik (jumlah periode, kriteria, alternatif) dan hasil penilaian terkini.
  • Keamanan — proteksi CSRF pada setiap form, input di-escape, prepared statement PDO (anti SQL injection), pengecekan hak akses per halaman.
  • Notifikasi flash message — umpan balik sukses/error setelah aksi.
  • Tampilan responsif menggunakan Bootstrap 5 dan Font Awesome 6.

Sekilas Metode SMART

Metode SMART (dikembangkan oleh Edward, 1977) menghitung dengan langkah:

  1. Menentukan kriteria dan bobot — setiap kriteria memiliki bobot (W).
  2. Normalisasi bobot — membagi bobot tiap kriteria dengan total seluruh bobot: Nᵢ = Wᵢ / ΣW.
  3. Menghitung nilai utility — mengubah nilai alternatif ke skala 0–1:
    • Kriteria Benefit: uᵢ(a) = (Cout − Cmin) / (Cmax − Cmin)
    • Kriteria Cost: uᵢ(a) = (Cmax − Cout) / (Cmax − Cmin)
  4. Menghitung nilai akhirU(a) = Σ (Nᵢ × uᵢ(a)).
  5. Perangkingan — alternatif diurutkan dari nilai akhir tertinggi ke terendah.

Catatan: banyak jurnal menulis nilai utility dengan ×100% (skala 0–100). Implementasi ini menggunakan skala 0–1 tanpa pengali 100 — hasilnya setara dan tidak mengubah perangkingan.

Struktur Database

TabelKeterangan
usersAkun pengguna sistem (nama lengkap, username, password ter-hash, role)
periodePeriode/gelombang penilaian dengan status aktif/nonaktif
kriteriaKriteria penilaian (kode, nama, tipe Benefit/Cost, bobot)
alternatifData calon penerima bantuan yang dinilai
alternatif_kriteriaNilai setiap alternatif terhadap setiap kriteria, per periode
hasilHasil akhir perhitungan SMART & peringkat, per periode

Data contoh pada file SQL menggunakan 5 kriteria bantuan sosial (pendapatan keluarga, jumlah tanggungan, kondisi rumah, status pekerjaan, kepemilikan aset) dengan bobot bertotal 100.

Cara Instalasi (dengan XAMPP)

  1. Instal dan jalankan XAMPP — klik Start pada Apache dan MySQL.
  2. Salin folder proyek ke C:\xampp\htdocs\smart.
  3. Buat database di phpMyAdmin: import file database/smart.sql (sudah berisi skema + data contoh + akun default).
  4. Sesuaikan koneksi database di file config/koneksi.php (default XAMPP sudah benar).
  5. Sesuaikan identitas instansi & tanda tangan di config/settings.php (nama instansi, alamat, penanggung jawab, NIP, dll).
  6. Pastikan folder vendor/ ada (dependensi Dompdf); jika belum, jalankan composer install.
  7. Jalankan aplikasi lewat browser: http://localhost/smart/.

Akun Default

UsernamePasswordRoleKeterangan
adminadmin123AdminAkses penuh semua fitur
dinauser123UserHanya melihat laporan & ekspor PDF
budiuser123UserHanya melihat laporan & ekspor PDF

Segera ganti password akun default setelah login melalui menu Akun → Ubah Password.

Kebutuhan Sistem
  • XAMPP (PHP 7.4+/8+ dan MySQL/MariaDB) atau Laragon
  • Browser modern (Chrome, Firefox, Edge, dll)
  • Composer (hanya untuk menginstall dependensi Dompdf)
Changelog
  • v1.0 2026-08-09
    • Rilis pertama
    • Manajemen pengguna (login, registrasi, dua level role)
    • CRUD kriteria, alternatif, dan penilaian per periode
    • Perhitungan SMART lengkap (normalisasi bobot, nilai utility, nilai akhir, ranking)
    • Laporan hasil per periode + ekspor PDF dengan kop surat
    • Pengaturan aplikasi 100% dinamis