Apa itu Metode WP?

Weighted Product (WP) adalah metode SPK yang mirip dengan SAW, namun menggunakan perkalian (bukan penjumlahan) untuk menggabungkan nilai kriteria. Setiap nilai alternatif dipangkatkan dengan bobot kriteria.

Perbedaan SAW vs WP

AspekSAWWP
OperasiPenjumlahanPerkalian
NormalisasiLinear (min-max)Pangkat bobot
KompleksitasLebih sederhanaSedikit lebih rumit
SensitivitasLebih sensitiveLebih robust

Langkah-Langkah WP

  1. Tentukan kriteria, bobot, dan jenis (benefit/cost).
  2. Perbaiki bobot (normalisasi bobot jika perlu).
  3. Hitung nilai S (vektor S).
  4. Hitung nilai V (vektor V / normalisasi S).
  5. Ranking berdasarkan nilai V.

Rumus WP

Vektor S:

Si = Π (xij ^ wj)

Catatan:
- wj positif untuk kriteria benefit
- wj negatif untuk kriteria cost

Vektor V (Normalisasi):

Vi = Si / Σ Si

Contoh Perhitungan

Kriteria: Harga (Cost, w=0.3), Kualitas (Benefit, w=0.4), Garansi (Benefit, w=0.3)

Alternatif A: Harga=5, Kualitas=80, Garansi=2

SA = 5^(-0.3) × 80^(0.4) × 2^(0.3)
SA = 0.62 × 6.93 × 1.23
SA = 5.29

Implementasi Python

import numpy as np

# Data alternatif
data = np.array([
    [5, 80, 2],   # Alternatif A
    [4, 75, 3],   # Alternatif B
    [6, 90, 1],   # Alternatif C
])

# Bobot (sudah ternormalisasi, total = 1)
bobot = np.array([0.3, 0.4, 0.3])

# Jenis: 1 = benefit, -1 = cost
jenis = np.array([-1, 1, 1])

# Bobot dengan tanda sesuai jenis kriteria
bobot_signed = bobot * jenis

# Hitung Vektor S
S = np.prod(data ** bobot_signed, axis=1)
print("Vektor S:", S)

# Hitung Vektor V
V = S / S.sum()
print("Vektor V:", V)

# Ranking
ranking = np.argsort(V)[::-1]
print(f"Ranking: {['Alt '+chr(65+r) for r in ranking]}")

Kapan Menggunakan WP?

  • Ketika ingin menghindari bias dari nilai ekstrem.
  • Ketika kriteria memiliki skala yang sangat berbeda.
  • Sebagai alternatif validasi hasil SAW.