SPK SAW(意思決定支援システム)

Web

概要

このリポジトリは「SPK SAW」と名付けられた、Simple Additive Weighting(SAW)法による意思決定支援システムの実装です。主に代替案(alternatif)や評価基準(kriteria)を登録し、それぞれに対して評価点と重みを設定、正規化と重み付けを通じて総合スコアを算出、ランキングを表示します。実装はPHPを中心としたサーバーサイドコードとHTML/CSSによるフロントエンドで構成され、ローカルのApache(htdocs)配下に配置して動かすことを前提としています。小規模な業務や教育目的での導入を想定した、学習用にも適したコードベースです。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 7
  • ファイル数: 25
  • メインの言語: CSS

主な特徴

  • Simple Additive Weighting(SAW)法を用いた意思決定アルゴリズムの実装
  • Webベースの管理画面(PHP + HTML/CSS)で代替案・基準・評価のCRUDを実行
  • ローカル環境(htdocs上)で簡単に動作させられる構成
  • シンプルなコード構成で、教育・プロトタイプ用途に適合

技術的なポイント

本プロジェクトはSAW法の典型的なワークフローをそのままウェブアプリケーションとして実装しています。主な処理は以下の通りです:各代替案に対する評価値(スコア)を基に、基準ごとに正規化(benefitなら値/最大値、costなら最小値/値のような処理)を行い、各基準に対して定義された重みを掛け合わせ、重み付き総和を算出して代替案をランク付けします。コードベースはPHPファイル群(alternatif-edit.php、alternatif-edit-act.php、R.php、W.phpなど)で構成され、サーバーサイドでデータベース操作や計算ロジックを担います。フロントエンドはHTML+CSSが主体で、操作はページ遷移型のインターフェースが中心です。

注目点として、軽量で分かりやすい実装になっており、SAWアルゴリズムの学習やプロトタイプ構築に向いています。一方で、セキュリティやスケーラビリティ面では改善の余地があります(例:入力検証の強化、プリペアドステートメントの使用、CSRF対策、ユーザ認証の追加)。現状はMVCやフレームワークを使わない手続き的なPHP設計であるため、コードの分離やテスト容易性、再利用性を高めるためにはリファクタリング(DBアクセスの抽象化、関数/クラス化、テンプレート導入など)を推奨します。さらに、計算結果の可視化(グラフ化)、基準のbenefit/cost明示、重みの正規化チェック、ユニットテスト追加などの拡張で実運用に耐える品質に近づけられます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • R.php: 計算用または結果表示用のスクリプト(推定)。正規化・集計処理が含まれる可能性あり
  • README.md: リポジトリの導入手順・説明(設置はhtdocs直下推奨などを記載)
  • W.php: 重み(weight)関連の操作や処理を含むスクリプト(推定)
  • alternatif-edit-act.php: 代替案編集のアクション処理(保存・更新など)
  • alternatif-edit.php: 代替案編集フォームの表示 …他 20 ファイル(configや接続スクリプト、一覧・削除処理、CSS資産、ヘッダー/フッター等を含む)

(ファイル名から推測される機能)

  • alternatif-* 系:代替案(Alternatif)のCRUD
  • kriteria-* 系(存在すれば):評価基準(Kriteria)の管理
  • perhitungan/hasil 系:計算ロジックと結果出力
  • assets/*.css:UIスタイルを担うCSSファイル

まとめ

学習や小規模導入に適した、SAW法を実践できるシンプルなPHPアプリです。

リポジトリ情報:

READMEの抜粋:

🧮 SPK SAW – Sistem Pendukung Keputusan (Metode Simple Additive Weighting)

Sistem ini merupakan implementasi dari metode Simple Additive Weighting (SAW) untuk membantu proses pengambilan keputusan berbasis kriteria.
Contohnya digunakan untuk pemilihan mitra kerja terbaik, supplier terbaik, atau alternatif terbaik berdasarkan sejumlah kriteria dengan bobot tertentu.


⚠️ Penting Sebelum Memulai

**Pastikan Anda menaruh folder project ini di dalam folder htdocs mili…