Sistem Pendukung Keputusan (SPK) atau dalam bahasa Inggris disebut Decision Support System (DSS) adalah suatu sistem informasi berbasis komputer yang digunakan untuk mendukung proses pengambilan keputusan dalam organisasi atau perusahaan. SPK membantu pengambil keputusan dalam mempertimbangkan berbagai alternatif dan konsekuensi dari keputusan yang diambil dengan cara mengumpulkan, menyimpan, dan menganalisis data yang relevan.


Beberapa karakteristik utama dari SPK adalah:


1. **Interaktif**: SPK dirancang untuk berinteraksi dengan pengambil keputusan secara langsung, memungkinkan pengguna untuk memasukkan data, menjalankan analisis, dan melihat hasil secara real-time.

2. **Fleksibel**: SPK dapat disesuaikan dengan kebutuhan khusus pengguna atau organisasi dan mampu menangani berbagai jenis data dan situasi keputusan.

3. **Integratif**: SPK dapat mengintegrasikan data dari berbagai sumber, termasuk sistem informasi lain dalam organisasi, untuk memberikan gambaran yang komprehensif.

4. **Analitis**: SPK menggunakan berbagai model dan teknik analisis, seperti statistik, simulasi, dan algoritma optimasi, untuk membantu mengevaluasi alternatif keputusan.

5. **Supportive**: Sistem ini tidak menggantikan pengambil keputusan, tetapi memberikan dukungan dengan menyediakan informasi yang relevan dan alat analisis yang memadai.


Contoh aplikasi SPK meliputi:


- **Manajemen inventaris**: Membantu menentukan jumlah persediaan yang optimal dan waktu pemesanan ulang.

- **Perencanaan keuangan**: Membantu dalam analisis anggaran, penganggaran, dan prediksi keuangan.

- **Pengelolaan proyek**: Membantu dalam perencanaan, penjadwalan, dan pengendalian proyek.


Dalam prakteknya, SPK bisa digunakan di berbagai sektor seperti bisnis, pemerintahan, kesehatan, dan pendidikan, membantu para manajer dan pemimpin untuk membuat keputusan yang lebih baik berdasarkan data dan analisis yang akurat.


Metode SAW (Simple Additive Weighting) adalah salah satu metode dalam sistem pendukung keputusan yang sering digunakan untuk menilai dan memilih alternatif terbaik berdasarkan beberapa kriteria yang telah ditentukan. Metode ini dikenal karena kesederhanaannya dan kemampuannya dalam menangani berbagai jenis data. SAW sering juga disebut sebagai metode penjumlahan terbobot.


Proses penilaian dengan metode SAW biasanya melibatkan beberapa langkah berikut:


1. **Menentukan Kriteria dan Bobotnya**: Mengidentifikasi kriteria yang relevan untuk penilaian dan memberikan bobot pada setiap kriteria berdasarkan tingkat kepentingannya. Bobot ini biasanya dalam bentuk angka yang menggambarkan kepentingan relatif setiap kriteria.


2. **Normalisasi Matriks Keputusan**: Mengubah nilai-nilai dari setiap kriteria menjadi nilai normalisasi sehingga dapat dibandingkan secara langsung. Normalisasi dilakukan untuk memastikan bahwa semua kriteria memiliki skala yang sama. Normalisasi ini biasanya dilakukan dengan rumus:

   \[

   r_{ij} = \frac{x_{ij}}{x_{ij(max)}}

   \]

   untuk kriteria yang sifatnya keuntungan (benefit), dan

   \[

   r_{ij} = \frac{x_{ij(min)}}{x_{ij}}

   \]

   untuk kriteria yang sifatnya biaya (cost).


3. **Menghitung Nilai Preferensi**: Setelah normalisasi, nilai setiap alternatif untuk semua kriteria dikalikan dengan bobot kriteria yang bersangkutan dan kemudian dijumlahkan. Rumusnya adalah:

   \[

   V_i = \sum_{j=1}^n w_j \cdot r_{ij}

   \]

   di mana \(V_i\) adalah nilai preferensi dari alternatif \(i\), \(w_j\) adalah bobot kriteria ke-\(j\), dan \(r_{ij}\) adalah nilai normalisasi dari alternatif \(i\) pada kriteria ke-\(j\).


4. **Menentukan Peringkat Alternatif**: Nilai preferensi yang telah dihitung digunakan untuk menentukan peringkat dari setiap alternatif. Alternatif dengan nilai preferensi tertinggi dianggap sebagai alternatif terbaik.


**Contoh Kasus:**


Misalkan ada tiga alternatif (A1, A2, A3) dan tiga kriteria (C1, C2, C3) dengan bobot masing-masing \(w1\), \(w2\), dan \(w3\). Berikut adalah langkah-langkah penggunaan metode SAW:


- **Tabel awal nilai kriteria**:

  \[

  \begin{array}{c|ccc}

      & C1 & C2 & C3 \\

    \hline

    A1 & 80 & 3 & 250 \\

    A2 & 60 & 4 & 200 \\

    A3 & 90 & 2 & 300 \\

  \end{array}

  \]


- **Normalisasi matriks keputusan** (misalnya semua kriteria adalah benefit):

  \[

  \begin{array}{c|ccc}

      & C1 & C2 & C3 \\

    \hline

    A1 & \frac{80}{90} & \frac{3}{4} & \frac{250}{300} \\

    A2 & \frac{60}{90} & \frac{4}{4} & \frac{200}{300} \\

    A3 & \frac{90}{90} & \frac{2}{4} & \frac{300}{300} \\

  \end{array}

  \]


- **Menghitung nilai preferensi** untuk setiap alternatif:

  \[

  V_1 = w1 \cdot \frac{80}{90} + w2 \cdot \frac{3}{4} + w3 \cdot \frac{250}{300}

  \]

  \[

  V_2 = w1 \cdot \frac{60}{90} + w2 \cdot \frac{4}{4} + w3 \cdot \frac{200}{300}

  \]

  \[

  V_3 = w1 \cdot \frac{90}{90} + w2 \cdot \frac{2}{4} + w3 \cdot \frac{300}{300}

  \]


- **Menentukan peringkat berdasarkan nilai preferensi** yang telah dihitung.


Dengan metode ini, pengambil keputusan dapat dengan mudah menentukan alternatif terbaik berdasarkan berbagai kriteria yang telah diidentifikasi dan dibobotkan sesuai dengan kepentingannya.


Aplikasi Sistem Pendukung Keputusan (SPK) berbasis metode Simple Additive Weighting (SAW) menggunakan PHP adalah sebuah program komputer yang dibangun dengan bahasa pemrograman PHP untuk membantu dalam proses pengambilan keputusan. Aplikasi ini memanfaatkan metode SAW untuk mengevaluasi dan memilih alternatif terbaik berdasarkan beberapa kriteria yang telah ditentukan dan diberi bobot. PHP digunakan sebagai bahasa pemrograman karena kemampuannya dalam membangun aplikasi web yang dinamis dan interaktif.


Berikut adalah gambaran umum tentang bagaimana aplikasi SPK SAW berbasis PHP dapat dibangun dan dioperasikan:


### 1. Struktur dan Komponen Aplikasi

- **Interface Pengguna (Frontend)**: Biasanya dibuat menggunakan HTML, CSS, dan JavaScript untuk membuat antarmuka yang interaktif dan mudah digunakan.

- **Logika Bisnis (Backend)**: Dibuat menggunakan PHP untuk menangani proses perhitungan SAW, pengelolaan data, dan interaksi dengan basis data.

- **Basis Data**: MySQL atau database lainnya digunakan untuk menyimpan data kriteria, bobot, alternatif, dan hasil perhitungan.


### 2. Fitur Utama Aplikasi

- **Input Data**: Formulir untuk memasukkan data kriteria, bobot, dan alternatif.

- **Normalisasi Data**: Proses untuk menormalisasi nilai-nilai kriteria sehingga dapat dibandingkan secara langsung.

- **Perhitungan Nilai Preferensi**: Menghitung nilai preferensi setiap alternatif berdasarkan metode SAW.

- **Laporan dan Peringkat**: Menampilkan hasil perhitungan dalam bentuk laporan dan peringkat alternatif.


### 3. Langkah-langkah Implementasi


#### a. Membuat Struktur Basis Data

Buat tabel-tabel dalam basis data untuk menyimpan informasi kriteria, bobot, alternatif, dan hasil perhitungan.


```sql

CREATE TABLE kriteria (

    id_kriteria INT AUTO_INCREMENT PRIMARY KEY,

    nama_kriteria VARCHAR(255),

    bobot FLOAT

);


CREATE TABLE alternatif (

    id_alternatif INT AUTO_INCREMENT PRIMARY KEY,

    nama_alternatif VARCHAR(255)

);


CREATE TABLE nilai (

    id_nilai INT AUTO_INCREMENT PRIMARY KEY,

    id_alternatif INT,

    id_kriteria INT,

    nilai FLOAT,

    FOREIGN KEY (id_alternatif) REFERENCES alternatif(id_alternatif),

    FOREIGN KEY (id_kriteria) REFERENCES kriteria(id_kriteria)

);

```


#### b. Formulir Input Data (Frontend)

Gunakan HTML untuk membuat formulir input data.


```html

<form action="proses_input.php" method="post">

    <!-- Formulir untuk memasukkan data kriteria, bobot, dan alternatif -->

</form>

```


#### c. Logika Perhitungan (Backend)

Gunakan PHP untuk menangani perhitungan SAW.


```php

<?php

// Koneksi ke database

include 'koneksi.php';


// Ambil data kriteria dan bobot

$query = "SELECT * FROM kriteria";

$result = mysqli_query($conn, $query);

$kriteria = [];

while ($row = mysqli_fetch_assoc($result)) {

    $kriteria[] = $row;

}


// Ambil data alternatif dan nilai

$query = "SELECT * FROM alternatif";

$result = mysqli_query($conn, $query);

$alternatif = [];

while ($row = mysqli_fetch_assoc($result)) {

    $alternatif[] = $row;

}


// Proses normalisasi dan perhitungan nilai preferensi

foreach ($alternatif as $alt) {

    $id_alternatif = $alt['id_alternatif'];

    $total = 0;

    foreach ($kriteria as $kri) {

        $id_kriteria = $kri['id_kriteria'];

        $bobot = $kri['bobot'];


        // Ambil nilai dari tabel nilai

        $query = "SELECT nilai FROM nilai WHERE id_alternatif = $id_alternatif AND id_kriteria = $id_kriteria";

        $result = mysqli_query($conn, $query);

        $nilai = mysqli_fetch_assoc($result)['nilai'];


        // Normalisasi nilai

        $nilai_normalisasi = $nilai / $max_nilai[$id_kriteria]; // $max_nilai adalah nilai maksimal untuk setiap kriteria


        // Hitung nilai preferensi

        $total += $bobot * $nilai_normalisasi;

    }

    // Simpan atau tampilkan nilai preferensi

    echo "Nilai preferensi untuk alternatif " . $alt['nama_alternatif'] . " adalah: " . $total;

}

?>

```


#### d. Menampilkan Hasil

Gunakan PHP dan HTML untuk menampilkan hasil perhitungan dalam bentuk tabel atau grafik.


```php

<?php

// Tampilkan hasil perhitungan dalam bentuk tabel

echo "<table border='1'>

<tr>

<th>Alternatif</th>

<th>Nilai Preferensi</th>

</tr>";


foreach ($alternatif as $alt) {

    echo "<tr>

    <td>" . $alt['nama_alternatif'] . "</td>

    <td>" . $total_preferensi[$alt['id_alternatif']] . "</td>

    </tr>";

}


echo "</table>";

?>

```

Download Download Source Code SPK SAW

### Kesimpulan

Aplikasi SPK SAW berbasis PHP memungkinkan pengambil keputusan untuk mengevaluasi dan memilih alternatif terbaik berdasarkan kriteria yang telah ditentukan. Dengan memanfaatkan PHP dan basis data seperti MySQL, aplikasi ini dapat diimplementasikan secara efektif untuk berbagai kebutuhan pengambilan keputusan dalam organisasi atau perusahaan.