Contoh Perhitungan AHP dan SAW Manual Langkah demi Langkah (Studi Kasus Pemilihan Kost)

AHP (Analytical Hierarchy Process) dan SAW (Simple Additive Weighting) adalah dua metode yang paling sering dipakai bersamaan dalam Sistem Pendukung Keputusan (SPK). AHP dipakai untuk menghitung bobot setiap kriteria, sedangkan SAW dipakai untuk merangking alternatif berdasarkan bobot tersebut. Artikel ini membahas cara menghitung keduanya secara manual, langkah per langkah, memakai studi kasus yang sederhana supaya mudah diikuti.

1. Apa Itu AHP dan SAW?

AHP adalah metode untuk menentukan bobot kepentingan setiap kriteria dengan cara membandingkannya secara berpasangan (satu lawan satu), lalu diolah secara matematis menjadi angka bobot yang totalnya 1 (atau 100%).

SAW adalah metode untuk merangking alternatif (pilihan) dengan cara menormalisasi nilai setiap alternatif pada setiap kriteria, lalu mengalikannya dengan bobot kriteria dan menjumlahkannya. Alternatif dengan total nilai tertinggi dianggap paling direkomendasikan.

Kenapa AHP dan SAW sering digabung?
AHP kuat dalam menentukan bobot kriteria secara objektif (karena ada uji konsistensi), tapi repot kalau dipakai untuk merangking banyak alternatif. SAW sebaliknya: sangat sederhana untuk merangking banyak alternatif, tapi tidak punya cara baku untuk menentukan bobot kriteria. Gabungan AHP+SAW mengambil kelebihan keduanya.

2. Studi Kasus yang Dipakai

Supaya konkret, artikel ini memakai studi kasus pemilihan kost dengan 4 kriteria berikut:

KodeKriteriaJenisKeterangan
C1Harga sewaCostSemakin murah semakin baik
C2FasilitasBenefitSemakin banyak semakin baik
C3Luas kamarBenefitSemakin luas semakin baik
C4Jarak ke kampusCostSemakin dekat semakin baik
Cost vs Benefit: kriteria benefit = nilai besar itu bagus (fasilitas, luas kamar). Kriteria cost = nilai kecil itu bagus (harga, jarak). Perbedaan ini penting karena rumus normalisasi di SAW nanti berbeda untuk masing-masing jenis.

Sebagai alternatif, dipakai 5 kost dengan data mentah (harga dalam rupiah, fasilitas dan luas kamar dalam skala 1–5, jarak dalam meter):

KodeAlternatifC1 – HargaC2 – FasilitasC3 – Luas KamarC4 – Jarak
A01Kost Gurky 3700.00022356 m
A02Kost Arumni Syariah1.000.00033300 m
A03Kost Bu Yanna Tipe A500.00022450 m
A04Kost Bolang1.000.00045150 m
A05Kost Orenhouse Tipe A400.000313.100 m

3. Langkah Perhitungan AHP

3.1 Matriks Perbandingan Berpasangan

Langkah pertama adalah membandingkan setiap kriteria satu lawan satu, memakai skala kepentingan (1 = sama penting, 3 = agak lebih penting, 5 = jelas lebih penting, dan seterusnya). Hasilnya dituangkan ke matriks berikut:

KriteriaC1C2C3C4
C11332
C20,333120,5
C30,3330,510,5
C40,5221
Jumlah2,1676,584
Kok nilainya ada yang pecahan (0,333)?
Aturan matriks perbandingan berpasangan: kalau C1 dinilai 3 kali lebih penting dari C2 (ditulis di baris C1 kolom C2), maka otomatis C2 terhadap C1 nilainya kebalikannya, yaitu 1/3 = 0,333. Nilai di sisi bawah-diagonal selalu 1 dibagi nilai di sisi atas-diagonal yang berseberangan.

3.2 Normalisasi dan Bobot Prioritas

Tujuan langkah ini adalah mengubah matriks perbandingan berpasangan (Langkah 3.1) menjadi satu angka bobot per kriteria. Caranya dua tahap: (1) normalisasi setiap sel, (2) rata-rata setiap baris hasil normalisasi.

Tahap 1 – Normalisasi: setiap sel dibagi dengan jumlah kolomnya sendiri (baris "Jumlah" di tabel Langkah 3.1). Ambil contoh baris C1 (isinya 1, 3, 3, 2):

  • Kolom C1: sel bernilai 1, jumlah kolom C1 = 2,167 → 1 ÷ 2,167 = 0,4615
  • Kolom C2: sel bernilai 3, jumlah kolom C2 = 6,5 → 3 ÷ 6,5 = 0,4615
  • Kolom C3: sel bernilai 3, jumlah kolom C3 = 8 → 3 ÷ 8 = 0,375
  • Kolom C4: sel bernilai 2, jumlah kolom C4 = 4 → 2 ÷ 4 = 0,5

Tahap 2 – Jumlah dan bobot prioritas: keempat hasil normalisasi di baris C1 dijumlahkan, lalu dibagi banyaknya kriteria (4):

  • Jumlah baris C1 = 0,4615 + 0,4615 + 0,375 + 0,5 = 1,7981
  • Bobot prioritas C1 = 1,7981 ÷ 4 kriteria = 0,4495

Pola yang sama dipakai untuk baris C2, C3, dan C4 (masing-masing sel dibagi jumlah kolomnya, lalu dijumlah dan dibagi 4). Hasil lengkapnya:

nilai_normalisasi = nilai_sel ÷ jumlah_kolom (dari tabel Langkah 3.1) bobot_prioritas = jumlah satu baris hasil normalisasi ÷ jumlah kriteria
KriteriaC1C2C3C4JumlahBobot Prioritas
C10,46150,46150,3750,51,79810,4495
C20,15380,15380,250,1250,68270,1707
C30,15380,07690,1250,1250,48080,1202
C40,23080,30770,250,251,03850,2596
Keempat angka di kolom "Bobot Prioritas" kalau dijumlahkan harus = 1 (0,4495+0,1707+0,1202+0,2596=1). Kalau hasilnya tidak 1, berarti ada kesalahan hitung di salah satu langkah sebelumnya.

Jadi urutan bobot kepentingan kriteria: Harga (44,95%) paling penting, disusul Jarak (25,96%), Fasilitas (17,07%), dan Luas Kamar (12,02%).

3.3 Uji Konsistensi (CI dan CR)

Karena perbandingan di Langkah 3.1 diisi berdasarkan penilaian (subjektif), harus dicek apakah penilaiannya konsisten secara logika. Ada tiga sub-langkah.

a. Weighted sum vector — kalikan tiap sel matriks awal (Langkah 3.1) dengan bobot prioritas kolomnya (Langkah 3.2), lalu jumlahkan per baris. Ambil contoh baris C1 (isinya 1, 3, 3, 2 dari tabel 3.1):

  • 1 (sel C1-C1) × 0,4495 (bobot C1) = 0,4495
  • 3 (sel C1-C2) × 0,1707 (bobot C2) = 0,5120
  • 3 (sel C1-C3) × 0,1202 (bobot C3) = 0,3606
  • 2 (sel C1-C4) × 0,2596 (bobot C4) = 0,5192

Keempatnya dijumlahkan: 0,4495 + 0,5120 + 0,3606 + 0,5192 = 1,8413. Angka ini yang muncul di kolom "Jumlah Baris" pada tabel di bawah. Baris C2, C3, C4 dihitung dengan cara yang sama (baris matriks 3.1 dikali bobot prioritas per kolom).

KriteriaJumlah Baris (Weighted Sum)Bobot PrioritasHasil (Jumlah ÷ Bobot)
C11,84130,44954,0963
C20,69070,17074,0469
C30,48520,12024,0367
C41,06610,25964,1065
Jumlah16,2864
Kolom "Hasil" didapat dengan membagi kolom "Jumlah Baris" dengan "Bobot Prioritas" di baris yang sama. Contoh baris C1: 1,8413 ÷ 0,4495 = 4,0963. Baris "Jumlah" adalah total keempat angka di kolom "Hasil": 4,0963+4,0469+4,0367+4,1065 = 16,2864.

b. λmaks, CI, dan CR — λmaks didapat dari angka 16,2864 di atas dibagi jumlah kriteria (4). CI dan CR dihitung berurutan dari λmaks tersebut:

λmaks = 16,2864 ÷ 4 kriteria = 4,0716 CI (Consistency Index) = (λmaks − n) ÷ (n − 1) CI = (4,0716 − 4) ÷ (4 − 1) = 0,0716 ÷ 3 = 0,0239 CR (Consistency Ratio) = CI ÷ RI CR = 0,0239 ÷ 0,9 = 0,0265
Dari mana angka RI = 0,9?
RI (Random Index) adalah angka baku (tabel tetap) yang nilainya tergantung jumlah kriteria — hasil penelitian Saaty berdasarkan simulasi matriks acak. Untuk 4 kriteria, nilai RI baku adalah 0,9. Tabel lengkapnya (n=1 sampai 15): 0 – 0 – 0,58 – 0,9 – 1,12 – 1,24 – 1,32 – 1,41 – 1,45 – 1,49 – 1,51 – 1,48 – 1,56 – 1,57 – 1,59.
Hasil: CR = 0,0265, lebih kecil dari 0,1 (10%). Artinya penilaian pada matriks perbandingan berpasangan konsisten dan bobot prioritas di atas boleh dipakai ke tahap SAW. Kalau CR > 0,1, penilaian di Langkah 3.1 harus diulang.

4. Eigenvalue vs Aproksimasi: Mana yang Benar?

Ini pertanyaan yang sering muncul saat menyusun skripsi: kenapa metode AHP di buku-buku SPK Indonesia (misalnya Kusrini, 2007) terlihat berbeda dengan yang ditulis di jurnal internasional?

Metode asli Saaty menghitung bobot prioritas dengan mencari principal eigenvector dari matriks perbandingan berpasangan secara matematis murni (biasanya lewat perhitungan iteratif). Metode Kusrini yang lazim dipakai di skripsi Indonesia (dan yang dipakai di Langkah 3.2–3.3 di atas) adalah pendekatan aproksimasi: normalisasi kolom lalu rata-rata baris.

Aproksimasi ini bukan metode yang "asal-asalan" — ini adalah salah satu cara mendekati eigenvector yang disebut juga Saaty sendiri sebagai alternatif yang lebih mudah dihitung manual, dibanding metode iteratif murni.

Seberapa jauh selisihnya? Berikut perbandingan langsung untuk studi kasus di atas (dihitung memakai metode eigenvector matematis murni):

Angka 0,4512 (dan angka-angka eigenvector lain di tabel bawah) bukan hasil sekali hitung seperti aproksimasi Kusrini, tapi hasil iterasi berulang yang disebut power method. Cara ini juga bisa dicoba sendiri di Excel/Google Sheets:

  1. Taruh matriks perbandingan berpasangan (Langkah 3.1) di sel B2:E5, dan vektor awal berisi angka 1 semua di G2:G5 (yaitu 1, 1, 1, 1).
  2. Di kolom sebelahnya, kalikan matriks dengan vektor tadi memakai rumus array: =MMULT(B2:E5,G2:G5), lalu normalisasi (bagi setiap hasil dengan jumlah totalnya) supaya jadi vektor baru.
  3. Salin vektor baru itu untuk jadi "vektor awal" pada iterasi berikutnya, lalu ulangi langkah 2. Setelah 5–6 kali iterasi, angkanya akan berhenti berubah (konvergen) — itulah eigenvector-nya.

Untuk matriks di studi kasus ini, iterasinya berhenti berubah di angka 0,4512 – 0,1689 – 0,1190 – 0,2609, persis seperti pada tabel di bawah.

Supaya lebih jelas, perhitungan iterasi MMULT di atas sudah saya siapkan lengkap di Google Sheets — silakan dibuka, dicek rumusnya, atau digandakan (File → Make a copy) untuk dicoba sendiri dengan matriks lain: Contoh Perhitungan Eigenvector AHP (Power Iteration).
KriteriaBobot – Aproksimasi (Kusrini)Bobot – Eigenvector MurniSelisih
C10,44950,45120,0017
C20,17070,16890,0017
C30,12020,11900,0012
C40,25960,26090,0013
λmaks4,07164,07100,0006
Selisihnya cuma di kisaran 0,001–0,002 (kurang dari 0,2%), dan urutan bobot kriteria tidak berubah sama sekali. Untuk matriks kecil (sampai sekitar 5–7 kriteria) dengan CR yang rendah seperti contoh ini, aproksimasi Kusrini sudah cukup akurat mewakili eigenvector murni.

Lalu bagaimana kalau jumlah kriterianya lebih dari 7? Semakin banyak kriteria, semakin besar juga kemungkinan penilai membuat perbandingan yang saling bertolak belakang (misalnya A jauh lebih penting dari B, B jauh lebih penting dari C, tapi C malah dinilai lebih penting dari A) — ini yang bikin CR ikut naik. Ketika CR mulai mendekati batas 0,1, selisih antara aproksimasi dan eigenvector murni juga ikut membesar, dan bisa saja mengubah urutan rangking antar kriteria yang bobotnya berdekatan, bukan cuma beda di angka desimal.

Kalau kriteria di skripsimu lebih dari 7, ada dua opsi aman: (1) tetap pakai aproksimasi Kusrini tapi pastikan CR benar-benar jauh di bawah 0,1 (bukan cuma pas-pasan di 0,09), atau (2) pecah kriteria jadi struktur hierarki bertingkat (kriteria utama dan subkriteria masing-masing dibandingkan dalam kelompok kecil, maksimal 5–7 per kelompok) sehingga tidak ada satu matriks besar yang harus dibandingkan sekaligus. Opsi kedua ini juga yang disarankan Saaty sendiri untuk menjaga konsistensi penilaian.

Jadi kalau referensi skripsimu memakai pendekatan Kusrini, itu sah dan diterima secara akademis — selama CR ≤ 0,1. Kalau dosen penguji menanyakan soal ini, cukup jelaskan bahwa metode yang dipakai adalah aproksimasi dari eigenvector Saaty, valid digunakan ketika matriks perbandingan berpasangan konsisten.


5. Langkah Perhitungan SAW

Setelah bobot kriteria didapat dari AHP (0,4495 – 0,1707 – 0,1202 – 0,2596), langkah selanjutnya adalah merangking 5 alternatif kost memakai SAW.

5.1 Normalisasi Matriks Keputusan

Rumus normalisasi berbeda untuk kriteria benefit dan cost:

Benefit (Fasilitas, Luas Kamar): r = nilai ÷ MAX(nilai sekolom) Cost (Harga, Jarak): r = MIN(nilai sekolom) ÷ nilai

Sebelum menormalisasi, cari dulu nilai acuan (MIN untuk cost, MAX untuk benefit) dari kolom masing-masing kriteria pada tabel data mentah di Bagian 2:

  • Harga (cost) — nilai terkecil di antara 700.000, 1.000.000, 500.000, 1.000.000, 400.000 adalah 400.000 (milik A05)
  • Fasilitas (benefit) — nilai terbesar di antara 2, 3, 2, 4, 3 adalah 4 (milik A04)
  • Luas Kamar (benefit) — nilai terbesar di antara 2, 3, 2, 5, 1 adalah 5 (milik A04)
  • Jarak (cost) — nilai terkecil di antara 356, 300, 450, 150, 3.100 adalah 150 (milik A04)

Nilai acuan ini dipakai untuk semua baris. Misalnya untuk A01: harga 700.000 dibagikan dengan MIN harga (400.000) karena Harga adalah kriteria cost, sedangkan fasilitas A01 (2) dibagi MAX fasilitas (4) karena Fasilitas adalah kriteria benefit. Hasil lengkap untuk kelima alternatif:

KodeC1 (Harga)C2 (Fasilitas)C3 (Luas Kamar)C4 (Jarak)
A01400.000/700.000 = 0,57142/4 = 0,52/5 = 0,4150/356 = 0,4213
A02400.000/1.000.000 = 0,43/4 = 0,753/5 = 0,6150/300 = 0,5
A03400.000/500.000 = 0,82/4 = 0,52/5 = 0,4150/450 = 0,3333
A04400.000/1.000.000 = 0,44/4 = 15/5 = 1150/150 = 1
A05400.000/400.000 = 13/4 = 0,751/5 = 0,2150/3.100 = 0,0484

5.2 Perangkingan Akhir

Setiap nilai hasil normalisasi (Langkah 5.1) dikalikan dengan bobot kriteria yang sudah dihitung di AHP (0,4495 – 0,1707 – 0,1202 – 0,2596), lalu keempat hasil kali itu dijumlahkan menjadi satu nilai total per alternatif.

Ambil contoh A01 (nilai normalisasi dari tabel 5.1: 0,5714 – 0,5 – 0,4 – 0,4213):

  • C1: 0,4495 (bobot) × 0,5714 (nilai normalisasi) = 0,2569
  • C2: 0,1707 × 0,5 = 0,0853
  • C3: 0,1202 × 0,4 = 0,0481
  • C4: 0,2596 × 0,4213 = 0,1094

Total A01 = 0,2569 + 0,0853 + 0,0481 + 0,1094 = 0,4997. Baris A02–A05 dihitung dengan cara yang sama, tinggal ganti nilai normalisasinya sesuai tabel 5.1. Hasil lengkapnya, sudah diurutkan dari total terbesar:

Total = (bobot_C1 × r_C1) + (bobot_C2 × r_C2) + (bobot_C3 × r_C3) + (bobot_C4 × r_C4)
KodeAlternatifC1C2C3C4TotalRangking
A04Kost Bolang0,17980,17070,12020,25960,73031
A05Kost Orenhouse Tipe A0,44950,12800,02400,01260,61412
A03Kost Bu Yanna Tipe A0,35960,08530,04810,08650,57963
A02Kost Arumni Syariah0,17980,12800,07210,12980,50974
A01Kost Gurky 30,25690,08530,04810,10940,49975
Kost Bolang (A04) jadi rekomendasi terbaik dari 5 alternatif di atas, karena unggul di hampir semua kriteria (fasilitas dan luas kamar maksimal, jarak paling dekat), walau harganya bukan yang termurah. Ini menunjukkan bagaimana bobot AHP membuat keputusan tidak hanya bergantung pada satu kriteria (harga) saja.

6. Kesimpulan

Menggabungkan AHP dan SAW memberi dua manfaat sekaligus: bobot kriteria yang objektif (lewat perbandingan berpasangan dan uji konsistensi CR ≤ 0,1), serta cara merangking alternatif yang sederhana dan mudah dihitung untuk data dalam jumlah besar. Pendekatan aproksimasi (Kusrini) yang umum dipakai di skripsi Indonesia terbukti sangat mendekati hasil eigenvector matematis murni, sehingga sah digunakan selama matriks perbandingan berpasangan konsisten.


7. Referensi

Posting Komentar