Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan∗ Oleh Nur Rokhman Khabib Mustofa
Latar Belakang Permasalahan Dalam kehidupan sehari-hari, setiap orang yang menginginkan kehidupan yang lebih baik sering dihadapkan pada sejumlah permasalahan untuk diselesaikan. Tidak jarang penyelesaian suatu masalah berkaitan dengan pemilihan solusi terbaik di antara sejumlah alternatif solusi. Tingkat kesulitan pemilihan solusi terbaik terhadap suatu masalah tidaklah sama. Biasanya terdapat sejumlah kondisi yang dijadikan bahan pertimbangan sebelum mengambil keputusan yang dirasa paling baik. Pertimbangan
yang
dilakukan
kadang
cukup
kompleks
dan
memerlukan
pengelompokan kriteria-kriteria atau faktor-faktor yang mendasarinya, sehingga dimungkinkan memiliki pertimbangan bertingkat, dimulai dari kriteria secara garis besar (faktor utama), kemudian diperhalus menjadi sejumlah sub kriteria. Langkah ini dapat dilanjutkan dengan kriteria yang lebih rinci lagi untuk masing-masing sub kriteria sampai tingkat kedalaman yang dikehendaki. Dari gambaran di atas, suatu masalah (baca: ‘fokus’) untuk memilih alternatif terbaik dari sejumlah alternatif (baca: ‘skenario’) dapat dipandang sebagai suatu hirarki kriteria pemilihan (faktor,kriteria). Faktor-faktor atau kriteria-kriteria utama ini memiliki tingkat pengaruh yang tidak harus sama terhadap alternatif solusi. Dengan memandang sebagai suatu hirarki, selanjutnya masing-masing faktor utama dapat dipengaruhi oleh kriteria-kriteria lain (sub kriteria) dan sub kriteria ini perlu ∗
disampaikan pada acara Seminar Nasional Himpunan Peminat Aljabar di Universitas Jenderal Soedirman, Purwokerto, 9 Agustus 2003
1
oleh Nur Rokhman dan Khabib M
ditentukan pengaruh relatifnya terhadap alternatif solusi. Hal ini dapat dipandang sebagai suatu keterkaitan secara transitif (berantai). Ini perlu dilakukan karena masing-masing faktor utama memiliki pengaruh relatif dan sub faktor memiliki pengaruh relatif terhadap faktor utama. Pengambilan keputusan yang melibatkan banyak kriteria, apalagi bertingkat, memerlukan suatu mekanisme atau langkah yang komprehensif untuk sampai ke alternatif terpilih. Salah satunya adalah yang dikenal dengan Analytic Hierarchy Process (AHP) atau Proses Hirarki Analitik (PHA). PHA dapat diselesaikan dengan beberapa cara, salah satunya adalah dengan menggunakan nilai eigen (eigen value) dan vektor eigen (eigen vector). Selain itu dapat juga digunakan pengambilan rata-rata bobot ternormalisasi pasangan kriteria.
Tinjauan pustaka AHP, sejak dikemukakan oleh Thomas Saaty sekitar 30 tahun yang lalu (Manggiora, 2002) telah banyak diterapkan untuk berbagai permasalahan pengambilan keputusan (http://www.isahp2003.net/analytic_hierarchy_process.htm ), diantaranya dalam bidang pertanian, farmasi (Manggiora,2002), rekayasa dan pendidikan (Drake, 1998). Drake (1998) mengemukakan terapan PHA dalam pendidikan ketehnikan dengan contoh kasusnya adalah: a.
pemilihan metode pemantauan kondisi pompa hidrolik, dengan empat alternatif : tekanan keluar pompa, arus penggerak, getaran dan emisi akustik. Keempat alternatif tersebut dipengaruhi oleh beberapa faktor: signal usefulness, ease of maintenance, ruggedness dan ease of mounting. Hasil dari terapan ini adalah kesimpulan bahwa analisa getaran dan tekanan keluar pompa merupakan metode yang lebih dipilih.
b.
pemilihan metode proteksi sengatan listrik (electric shock protection method) terhadap tubuh, dengan tiga alternatif : sarung tangan, pelindung kaki (footwear) dan tahanan tanah (ground resistance). Ketiga
2
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
alternatif ini dibandingkan dengan sejumlsh faktor yaitu lima jalur sengatan:hand-foot, foot-foot,hand-hand,chest-hand dan hand-seat dan masing-masing jalur ditinjau dari dua faktor:kemungkinan terjadinya sengatan dan derita akibat sengatan (severity of shock). Dari terapan PHA diperoleh bahwa sarung tangan merupakan pelindung yang lebih dipilih. Manggiora (2002) memanfaatkan PHA untuk kasus penelitian farmasi, terutama untuk membuat suatu jenis obat. Meskipun jarang diterapkan pada kasus ini, namun pada dasarnya PHA dapat dipergunakan. Dalam paper ini dibahas bahwa untuk membuat suatu obat diperlukan beberapa pertimbangan: alasan bisnis dan alasan ilmiah. Alasan bisnis terdiri atas faktor: potensi pasar, kebutuhan obat yang belum ada, posisi hak intelektual dan kompetisi eksternal. Alasan ilmiah terbagi atas: kebebasan untuk beredar (beroperasi), program riset terapetik yang ada dan pengujian produk, dimana pengujian produk terbagi lagi atas faktor: biochemistry-physiology, structure, pharmacology dan medical.
Landasan Teori A. Nilai eigen dan vektor eigen Jika A adalah sebuah matrik berukuran n x n, maka vektor tak nol x disebut vektor eigen dari matrik A jika Ax adalah kelipatan skalar dari x, yakni : Ax = λx
……….1)
untuk suatu skalar λ. λ disebut nilai eigen (Anton, 1981). B. Matrik banding berpasangan Jika dipunyai pasangan berurutan (wi,wj) dengan i,j =1,2,…n maka pembandingan seluruh elemen dapat dinyatakan dengan wi/wj =aij
3
oleh Nur Rokhman dan Khabib M
Dalam hal ini A= [aij] adalah matriks perbandingan yang unsur-unsurnya adalah aij, dengan aii = 1 dan aij =
1 . (Saaty, 1986) a ji
Dari bentuk di atas, bila masing-masing bobot wi menjadi elemen vektor W= [w1
w2
w3 …… wn]T, maka dapat dituliskan :
⎡ w1 ⎢w ⎢ 1 ⎢ w2 AW = ⎢⎢ w1 ⎢ M ⎢ ⎢ wn ⎢⎣ w1
w1 ⎤ wn ⎥ ⎥ ⎡ w1 ⎤ ⎡ nw1 ⎤ w2 ⎥ ⎢ ⎥ ⎢ L w nw ⎥ wn ⎥ ⎢ 2 ⎥ = ⎢ 2 ⎥ = nW ⎥⎢ M ⎥ ⎢ M ⎥ O M ⎥⎢ ⎥ ⎢ ⎥ ⎥ ⎢⎣ wn ⎥⎦ ⎢⎣ nwn ⎥⎦ wn ⎥ L wn ⎥⎦
w1 w2
L
w2 w2 M wn w2
2)
Dalam bentuk lain, dapat dituliskan: ⎡1 ⎢b −1 1, 2 BW = ⎢ ⎢ M ⎢ −1 ⎣b1, n
b1, 2 1 M
b2−,1n
L b1, n ⎤ ⎡ w1 ⎤ ⎡ w1 ⎤ ⎥ ⎢ ⎥ ⎢ ⎥ L b2, n ⎥ w2 ⎢ ⎥ = λ ⎢ w2 ⎥ max ⎢M⎥ O M ⎥⎢ M ⎥ ⎥⎢ ⎥ ⎢ ⎥ L 1 ⎦ ⎣ wn ⎦ ⎣ wn ⎦
3)
dimana bi , j = b −j ,1i sehingga matriks B semua elemennya positif dan saling berkebalikan secara diagonal (reciprocal matrix). Dengan membandingkan pengertian dari nilai Eigen dan vector Eigen pada persamaan 1), bentuk persamaan 2) memiliki bentuk serupa, dalam hal ini λ=n dan x = W.
Manggiora (2002) menuliskan bahwa karena matriks B positif dan merupakan reciprocal matrix, maka komponen vektor Eigen utamanya semua positif dan dapat dinormalisasi, diantaranya dengan bentuk: wi =
n
wi
⇒ ∑ wj = 1
n
∑w j =1
j =1
j
4
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
Pada matriks A, terdapat sifat transitive consistency ( ai , j .a j , k = ai , k ) dan reciprocal
consistency ( ai , j = a −j ,1i ), sedang pada matriks B belum tentu berlaku transitive consistency. Hubungan persamaan 2) dan 3) adalah λmax ≥ n, sehingga bila B Æ A, yaitu B lebih konsisten transitif maka λmax Æ n. C. Proses Hirarki Analitik (PHA) PHA merupakan salah satu metode untuk menganalisa pertimbangan dalam pengambilan keputusan. Pada PHA, sebuah persoalan dikaji dan didefinisikan situasi serta faktor-faktor yang mempengaruhinya. Faktor-faktor ini selanjutnya disusun dalam suatu hirarki yang terdiri atas beberapa tingkat rincian. Tingkat tertinggi adalah sasaran menyeluruh. Tingkat terrendah terdiri atas berbagai tindakan akhir atau rencana alternatif-alternatif. Tingkat menengah terdiri atas berbagai pertimbangan yang mempengaruhi pengambilan keputusan. Gambar 1 menunjukkan hirarki pertimbangan ketika akan membeli mobil. Setelah dibuat hirarki pertimbangan, masing-masing pertimbangan diberi skor yang menunjukkan tingkat kontribusinya. Penentuan skor bergantung kepada kesukaan (preference) pengambil keputusan. Pada permasalahan yang lebih kompleks, sebuah pertimbangan bisa jadi terdiri atas sejumlah komponen pertimbangan lain. Sebagai contoh, pada permasalahan di atas, lingkungan memiliki komponen : kondisi jalan, keramaian jalan, garasi. Masing-masing komponen ini memberikan kontribusi berbeda terhadap lingkungan. Di samping itu, masing-masing kendaraan yang akan dibeli mempunyai respon yang berbeda terhadap komponen-komponen yang ada pada lingkungan.
5
oleh Nur Rokhman dan Khabib M
Memilih Mobil Yang Cocok
fokus
faktor utama
keluarga
sub faktor
ekonomi
cacah anggota
tabungan
usia
kredit
kesukaan/gengsi
pinjaman
teknologi
lingkungan
bodi
jalan
asesoris
garasi
suku cadang
lalu-lintas
w arna
bahan bakar
alternatif / skenario
Mercedes
Kijang
Karimun
Katana
Gambar 1. Hirarki pertimbangan ketika akan membeli mobil Langkah-langkah AHP dalam membuat keputusan adalah sebagai berikut: 1. Persoalan dan alternatif pemecahan didefinisikan secara rinci, lengkap dengan
berbagai
pertimbangan
yang
mempengaruhi
pengambilan
keputusan. 2. Hasil langkah 1 dinyatakan dalam bentuk struktur hirarki. 3. Kontribusi atau pengaruh setiap pertimbangan terhadap pertimbangan di atasnya dinyatakan dalam matriks banding berpasang. Langkah ini dibuat untuk seluruh tingkatan. 4. Ditentukan vektor eigen (dapat diambil yang bersesuaian dengan nilai eigen terbesar) atau nilai rata-rata bobot ternormalisasi dari setiap matriks banding berpasang. Nilai pada vektor ini merupakan nilai kontribusi
6
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
masing-masing
pertimbangan.
Nilai
tersebut
digunakan
untuk
memberikan pembobotan pada tingkatan berikutnya.
Diskusi dan Hasil
A. Mekanisme PHA Misal
dimiliki sebuah masalah yang mempunyai n buah alternatif
penyelesaian, masing-masing alternatif dipengaruhi oleh m1 buah pertimbangan sebagai faktor utama. Semua faktor utama tersebut dipengaruhi oleh m2 buah pertimbangan sebagai sub faktor.
Masing-masing sub faktor dipengaruhi oleh
sejumlah komponen yang tidak harus sama banyaknya, anggap paling banyak adalah m3. Permasalahan semacam ini dapat dipandang sebagai suatu hirarki 3 tingkat. Secara umum hirarki dapat diperdalam tingkatannya. Untuk mejelaskan penyelesaian masalah bertingkat dengan PHA, baik dengan menggunakan rerata bobot ternormalisasi matriks banding berpasang ataupun vektor eigen diberikan suatu contoh masalah dengan 2 tingkat kriteria. Seseorang ditawari pekerjaaan di empat perusahaan (P1, P2, P3 dan P4). Ia mempertimbangkan empat faktor utama : lokasi (F1), gaji (F2), prospek jangka panjang ke depan (F3) dan kemampuan yang dimiliki (F4).
Selain itu diketahui bahwa lokasi perusahaan
masing-masing adalah SF1, SF2, SF3 dan SF4 (Trick, 1996). a. penyelesaian dengan rata-rata bobot ternormalisasi matriks banding berpasang i. pembentukan matriks banding berpasang 1. Faktor utama Bila digunakan pen-skala-an 1 sampai dengan 9 untuk menyatakan tingkat prioritas (preferensi) faktor yaitu wi = aij , elemen matriks banding berpasang dapat bernilai: wj
1 bila
faktor i sama penting dengan faktor j
3 bila
faktor i sedikit lebih penting daripada faktor j
7
oleh Nur Rokhman dan Khabib M
5 bila
faktor i lebih penting daripada faktor j
7 bila
faktor i jauh lebih penting daripada faktor j
9 bila
faktor i mutlak lebih penting daripada faktor j
2,4,6,8 bila nilai-nilai antara kondisi di atas
F1 F2 F3 F4
F1 1 5 3 2
F2 1/5 1 1/2 1/4
F3 1/3 2 1 1/3
F4 1/2 4 3 1
Gambar 2. Matriks Preferensi atas faktor utama Dengan menormalisasi setiap kolom j sehingga 0 < aij' < 1 dan
∑a
' ij
= 1 , diperoleh matriks sebagaimana gambar 3. Proses
i
normalisasi adalah untuk memetakan nilai-nilai dengan rentang yang berbeda ke interval yang sama yaitu antara 0 sampai 1.
F1 F2 F3 F4
F1
F2
F3
F4
rerata
0.0909 0.4545 0.2727 0.1818
0.1026 0.5128 0.2564 0.1282
0.0909 0.5455 0.2727 0.0909
0.0588 0.4706 0.3529 0.1176
0.0858 0.4959 0.2887 0.1296
Gambar 3. Matriks bobot preferensi atas faktor utama (setelah dinormalisasi) Kolom paling kanan menggambarkan bahwa preferensi atau bobot tujuan memilih kerja adalah sekitar 50% karena gaji (F2), 29% F3, 13% F4 dan 8% F1. 2. Sub Faktor
8
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
Untuk menentukan bobot relatif sub faktor terhadap faktor utama, perlu dibuat matriks banding berpasangan sub faktor untuk setiap kriteria utama. Dengan memandang faktor utama lokasi kerja (F1), matriks berbanding berpasang untuk empat pertimbangan (subfaktor) : SF1, SF2, SF3 dan SF4 adalah seperti gambar 4 dan gambar 5. SF1 SF2 SF3 SF4
SF1 1 2 3 1/5
SF2 1/2 1 2 1/7
SF3 1/3 1/2 1 1/9
SF4 5 7 9 1
Gambar 4. Matriks preferensi sub faktor terhadap faktor utama F1
SF1 SF2 SF3 SF4
SF1 0.1613 0.3226 0.4839 0.0323
SF2 0.1373 0.2745 0.5490 0.0392
SF3 0.1714 0.2571 0.5143 0.0571
SF4 0.2273 0.3182 0.4091 0.0455
rerata 0.1743 0.2931 0.4891 0.0435
Gambar 5. Matriks bobot preferensi sub faktor terhadap faktor utama lokasi (F1) setelah dinormalisasi ii. Penggabungan hasil perhitungan untuk faktor dan sub faktor Dari hasil di atas diperoleh satu vektor dari kolom rerata. Selanjutnya vektor tersebut dijadikan kolom matriks interaksi antara faktor utama dengan
sub
faktor
dan
merupakan
bobot
preferensi
setelah
mempertimbangkan dua level kriteria untuk suatu faktor utama tertentu (dalam hal ini F1). SF1 SF2 SF3 SF4
F1 0.1743 0.2931 0.4891 0.0435
9
oleh Nur Rokhman dan Khabib M
Gambar 6. Matriks bobot preferensi gabungan antara faktor utama F1 dengan sub faktor Bila langkah-langkah di atas dikenakan untuk semua faktor dan sub faktor, akan didapat matriks yang menyatakan bobot preferensi untuk dua tingkat kriteria, misalnya seperti pada gambar 7.
SF1 SF2 SF3 SF4
F1
F2
F3
F4
0.1743 0.2931 0.4891 0.0435
0.0500 0.4440 0.3120 0.1940
0.2100 0.0380 0.3540 0.3980
0.5100 0.0120 0.2900 0.1880
Gambar 7. Matriks bobot preferensi gabungan antara faktor utama sub faktor iii.
Perhitungan akhir untuk masing-masing alternatif Bobot akhir untuk setiap alternatif diperoleh dengan menjumlahkan hasil kali elemen rerata faktor utama dengan rerata sub faktor. Diperoleh untuk kasus di atas: SF1= (0.1743)(0.0858)+(0.0500)(0.4959)+(0.2100)(0.2887) +(0.5100)(0.1296) = 0.1665 SF2= (0.2931)(0.0858)+(0.4440)(0.4959)+(0.0380)(0.2887) +(0.0120)(0.1296) = 0.2579 SF3= 0.4891)(0.0858)+(0.3120)(0.4959)+(0.3540)(0.2887) +(0.2900)(0.1296) = 0.3365 SF4= (0.0435)(0.0858)+(0.1940)(0.4959)+(0.3980)(0.2887) +(0.1880)(0.1296) = 0.2392
iv.
Penentuan bobot preferensi tertinggi Dari hasil langkah iii) diperoleh bahwa nilai terbesar adalah untuk SF3 yang bersesuaian dengan pekerjaan P3. Dengan demikian pekerjaan atau alternatif P3 yang memiliki preferensi tertinggi untuk dipilih.
10
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
b. penyelesaian dengan nilai eigen dan vektor eigen i.
Penentuan matriks banding berpasang,sebut saja M1 (gambar 2).
ii.
Penentuan vektor eigen (v1) dengan nilai eigen terbesar dari faktor utama. Vektor eigen ini merupakan bobot kontribusi faktor utama terhadap penyelesaian.
Dari contoh di atas diperoleh nilai eigen
terbesarnya adalah 4.0566 dan vektor eigen yang bersesuaian adalah [-0.1429 -0.8340 -0.4876
-0.2149]T. Setelah dinormalisasi, vektor
tersebut menjadi [0.0851 0.4966 0.2903
0.1280]T. Nilai ini relatif
sama dengan rerata sebagaimana kolom paling kanan gambar 3. iii.
Masing-masing nilai vektor eigen digunakan untuk memberikan bobot bagi subfaktor sehingga diperoleh vektor kontribusi (v2) masingmasing subfaktor terhadap penyelesaian. Setelah mendapatkan matriks banding berpasang untuk interaksi antara faktor dan sub faktor (gambar 7), sebut saja M2, v1 dipakai untuk membobotinya sehingga didapat hubungan v2 = M2.v1 Untuk contoh di atas diperoleh v2 = [0.1659 0.2580 0.3364 0.2397]T
iv.
Bila masih ada lagi sub sub faktor (baca: ‘komponen’), masing-masing nilai pada v2 digunakan untuk memberikan bobot bagi komponenkomponen subfaktor yang bersesuaian. Pada langkah ini diperoleh vektor kontribusi komponen-komponen (v3) terhadap penyelesaian. Secara umum langkah semacam ini dapat dilakukan untuk tingkatan yang lebih tinggi. Pada langkah terakhir, vektor kontribusi komponenkomponen digunakan untuk memberikan bobot bagi pengaruh masingmasing komponen terhadap alternatif penyelesaian.
v.
Hasil langkah ini berupa vektor puncak (vp) yang menunjukkan tingkatan alternatif penyelesaian. Nilai terbesar dari vp dapat ditafsirkan sebagai alternatif dengan probabilitas tertinggi untuk
11
oleh Nur Rokhman dan Khabib M
dilaksanakan/dipilih. Dalam contoh kasus ini, nilai v2 dapat diambil sebagai vp. B. Implementasi PHA dalam Matlab a. Penghitungan rata-rata bobot ternormalisasi matriks banding berpasang Dengan melihat langkah-langkah pada metode ini, skrip Matlab yang dapat dipakai untuk menentukan matriks bobot ternormalisasi dan rata-rata barisnya adalah seperti pada gambar 8. function [n_matriks,rerata,nop] = normal(matriks); %Input : matriks %Output : matriks ternormalisasi, rerata baris, number of operation [brs klm]=size(matriks); n_matriks = zeros(brs); rerata(1:brs)=0; flops(0); for i=1:klm %pembentukan matriks bobot ternormalisasi n_matriks(:,i) = matriks(:,i)/sum(matriks(1:brs,i)); % atau digantikan oleh loop %for j=1:brs % n_matriks(j,i) = matriks(j,i)/sum(matriks(:,i)); %end; end; for i=1:klm %penghitungan rerata baris matriks ternormalisasi rerata(i) = mean(n_matriks(i,:)); end; rerata = rerata'; nop= flops; %penentuan banyaknya operasi floating point %yang terjadi selama perhitungan
Gambar 8. Skrip Matlab untuk menentukan matriks bobot preferensi, rerata baris matriks dan beban operasi b. penyelesaian dengan nilai eigen dan vektor eigen Dengan melihat langkah-langkah pada metode ini, skrip Matlab yang dapat dipakai untuk menentukan vektor Eigen yang berkenaan dengan nilai Eigen terbesar adalah seperti pada gambar 9.
function [VEmax, NEmax,nop]= maxeigen(matriks); %Input : matriks preferensi
12
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
%Output: Eigen Vektor Maksimum, Eigen value max, Number of operation flops(0); [VE NE] = eig(matriks); % penentuan vektor dan nilai Eigen [NEmax posisi] = max(max(NE)); % penentuan nilai Eigen terbesar VEmax = VE(:,posisi); % penentuan vektor Eigen yang % bersesuaian Eigen terbesar VEmax = VEmax/sum(VEmax); % normalisasi vektor Eigen sebagai bobot nop=flops; % penghitungan beban komputasi
Gambar 9. Skrip Matlab untuk menentukan nilai Eigen maksimum, vektor Eigen yang bersesuaian dengan nilai Eigen terbesar dan beban operasi
Perbandingan Hasil Antara Metode Rerata dengan Metode Vektor Eigen
Dari hasil perhitungan di atas (menggunakan skrip Matlab pada gambar 8 dan gambar 9) terlihat adanya perbedan hasil, meskipun relatif tidak signifikan. Bila dilihat beban komputasinya (berdasar banyaknya operasi floating point atau
FLOPS),
kedua
metode
cukup
signifikan
perbedaannya.
Keduanya
membutuhkan langkah normalisasi. Secara komputasi, metode rerata lebih ringan dibanding metode Vektor Eigen. Ini jelas karena perhitungan vektor Eigen membutuhkan proses yang panjang, dimana langkah ini tidak dilakukan pada metode rerata yaitu penentuan nilai Eigen yang dapat diperoleh melalui proses penentuan determinan. a. Dari matriks pada gambar 2, diperoleh i.
vektor rerata baris (gambar 3) [0.0858 0.4959 0.2887 0.1296]T
ii.
vektor Eigen
[0.0851 0.4966 0.2903 0.1280]T
iii.
rasio kedua nilai
[1.0088 0.9990 0.9966 1.0105]
iv.
operasi floating point dengan Eigen 3079 dan dengan rerata 52.
b. Dari matriks pada gambar 4, diperoleh i.
vektor rerata baris (gambar 5) [0.1743 0.2931 0.4891 0.0435]T
ii.
vektor Eigen
[0.1728 0.2934 0.4907 0.0431]T
iii.
rasio kedua nilai
[1.0088 0.9990 0.9966 1.0105]
13
oleh Nur Rokhman dan Khabib M
iv.
operasi floating point dengan Eigen 3079 dan dengan rerata 52.
Dengan simulasi, dapat diperlihatkan perilaku pertumbuhan jumlah operasi floating point dari kedua metode. Gambar 10 merupakan contoh skrip yang dapat digunakan untuk melihat hal tersebut. function [y,x,koef2, koef3]=behavior(minimum,baris,kali); %Fungsi untuk mensimulasikan laju jumlah operasi antara 2 metode penentuan bobot %input : ukuran minimum matriks,banyak baris, kali %output : tabel perilaku, koefisien polinomial kuadratis dan koef % polinomial kubis, serta grafik x = []; hasil= fopen('hasil.txt','w+'); fprintf(hasil,'%s\t%s\t%s\n','Ukuran','Metode Eigen','Metode Rerata'); ukuran = minimum; for i=1:baris snop=0;snop2=0; for j=1:kali matriks = rand(ukuran,ukuran); % generate matriks random [VE NE nop] = maxeigen(matriks); % hitung untuk metode Eigen [normal rerata nop2] = normal(matriks); %hitung untuk metode rerata snop= snop+nop; snop2 = snop2+nop2; end; x = [x;ukuran round(snop/kali) round(snop2/kali)]; %simpan rerata setiap ukuran fprintf(hasil,'%-8d\t\t%-15d\t\t%15d\n',ukuran,round(snop/kali),round(snop2/kali)); ukuran = minimum*(i+1); % melipatkan ukuran matriks end; % menormalisasi matriks untuk mendapat gambaran kasar pertumbuhan % beban komputasi y= [x(:,1)/x(1,1) x(:,2)/x(1,2) x(:,3)/x(1,3)]; clf; subplot(2,2,1); plot(y(:,1),y(:,2)); title('Plot untuk y1 vs y2'); subplot(2,2,2); plot(y(:,1),y(:,2).^(1/3)); title('Plot untuk y1 vs [y2\^(1/3)]'); subplot(2,2,3); plot(y(:,1),y(:,3)); title('Plot untuk y1 vs y3'); subplot(2,2,4); plot(y(:,1),y(:,3).^.5); title('Plot untuk y1 vs [y3\^(0.5)]'); %menentukan koefisien polinomial untuk y1 vs y3 dan y1 vs y2 koef2 = polyfit(y(:,1),y(:,3),2); % pangkat 2 (kuadrat) koef3 = polyfit(y(:,1),y(:,2),3); % pangkat 3 fclose(hasil);
Gambar10. Skrip Matlab untuk mensimulasikan laju pertambahan beban komputasi metode rerata dan metode vektor Eigen
14
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
Pada skrip di atas, fungsi normal dan maxeigen (gambar 8 dan gambar 9) dipanggil sebanyak kali untuk setiap ukuran matriks dan nantinya akan diambil rerata operasi floating point-nya dengan harapan nilai ini akan lebih mewakili. Dengan menjalankan skrip di atas, misal dengan pemanggilan : [y x k2 k3]=behavior(3,15,4)
berarti akan disimulasikan suatu penghitungan banyaknya operasi floating point dengan ukuran matriks bujursangkar mulai dari 3x3,6x6 sampai dengan 45x45 (15 baris), untuk masing-masing ukuran dibangkitkan 4 matriks random. Hasil pemanggilan di atas berupa: a. matriks x yang berukuran 15x3, dengan elemennya berupa ukuran matriks, FLOPS untuk metode Eigen dan FLOPS metode rerata b. matriks tingkat pertumbuhan y yang berukuran 15x3, dengan elemennya berupa ukuran matriks, FLOPS untuk metode Eigen dan FLOPS metode rerata. Interpretasi matriks y adalah “kalau ukuran matriks bertambah y(1) kali, FLOPS untuk metode Eigen menjadi y(2) kali dan FLOPS metode rerata menjadi y(3) kali” c. koefisien polinomial untuk fungsi kuadrat, k2 d. koefisien polinomial untuk fungsi pangkat tiga, k3 e. grafik perilaku Dalam penelitian ini dilakukan pencarian kompleksitas algoritma kedua metode. Secara analitis, untuk metode rerata (gambar 8) diperoleh kompleksitas algoritma kuadratis, artinya bila ukuran matriks menjadi m kali maka banyaknya FLOPS sebanding dengan m2, terutama untuk m yang besar. Ini terlihat dari fragmen program : for i=1:klm %pembentukan matriks bobot ternormalisasi n_matriks(:,i) = matriks(:,i)/sum(matriks(1:brs,i)); % atau baris di atas dapat digantikan oleh loop %for j=1:brs % n_matriks(j,i) = matriks(j,i)/sum(matriks(:,i)); %end; end;
15
oleh Nur Rokhman dan Khabib M
Dari fragmen tersebut terdapat perulangan for bersarang (nested for) dengan masing-masing perulangan sebanyak klm dan brs kali. Karena dalam hal ini matriks yang dipakai adalah matriks bujur sangkar maka klm=brs, katakan sama dengan m. Demikian juga untuk metode Eigen. Untuk menentukan vektor Eigen, kompleksitas yang terjadi adalah kubis (sebanding dengan pangkat 3 pertumbuhan ukuran matriks). Hal di atas dapat ditunjukkan perilakunya dari grafik yang diperoleh. Dengan pemanggilan seperti di atas,yaitu [y x k2 k3]=behavior(3,15,4), salah satu hasil outputnya adalah (hasil dapat berbeda dari pengerjaan yang satu ke lainnya): a. Nilai x X(1) 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45
X(2)
X(3)
985 7847 24473 54962 102464 170769 268715 399286 586916 760307 1007301 1302433 1642205 2107555 2483779
30 114 252 444 690 990 1344 1752 2214 2730 3300 3924 4602 5334 6120
b. Nilai y Y(1) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Y(2)
1,00 7,97 24,85 55,80 104,02 173,37 272,81 405,37 595,85 771,89 1022,64 1322,27 1667,21 2139,65 2521,60
Y(3) 1,00 3,80 8,40 14,80 23,00 33,00 44,80 58,40 73,80 91,00 110,00 130,80 153,40 177,80 204,00
16
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
c. Nilai k2
: 0,9000 0,1000 -0,0000
Dengan kata lain, polinomial yang diperoleh untuk mendekati nilai Y3 2 ′ versus Y1 adalah : Y3 = 0,9(Y1′) + 0,1(Y1′)
d. Nilai k3
: [0,6717 1,6036 -5,6706 7,0653]
Dengan kata lain, polinomial yang diperoleh untuk mendekati nilai Y2 3 2 ′ versus Y1 adalah : Y2 = 0,6717(Y1′) + 1,6036(Y1′) − 5,6706(Y1′) + 7,0653
e. Grafik yang diperoleh adalah seperti gambar 11. Dari grafik tersebut terlihat bahwa ketika dilakukan plotting antara Y(1) versus Y(2) diperoleh kurva seperti halnya bagian dari suatu kurva polinomial. Dengan mengasumsikan polinomial yang dihasilkan adalah derajat 4, diperoleh koefisien pangkat 4 mendekati 0 (nol) dan terdapat koefisien lain yang relatif besar dan berbeda tanda secara bergantian (alternating), yaitu : [ -0.0154 1.1645 -3.5820 14.2183 -13.4009] Ketika diasumsikan berderajat 2, diperoleh koefisien pangkat 2 (dua) yang cukup besar, yaitu: [ 17.7241 -112.2000 171.4941] Dari perilaku itu, dicoba didekati dengan asumsi polinomial berderajat 3 (tiga). Setelah dilakukan plot antara Y(1) versus [Y(2)](1/3), diperoleh grafik yang mendekati linier. Dengan demikian, antara Y(1) dengan Y(2) dapat didekati oleh suatu fungsi polinomial dimana Y(2) pertumbuhannya sebanding dengan pangkat 3 dari Y(1) untuk nilai Y(1) yang cukup besar. Dengan cara yang sama, dapat dipelajari hubungan antara Y(1) dan Y(3). Percobaan dengan fungsi behavior dilakukan juga untuk data yang lebih banyak yaitu behavior(3,25,2). Dari hasil running diperoleh nilai koefisien polinomial derajat 2, yaitu k2 = [0.9000
0.1000
0.0000]
dan koefisien polinomial derajat 3, yaitu k3=[0.7217 1.7215 -3.5960
17
oleh Nur Rokhman dan Khabib M
-2.0006] serta plot grafik seperti gambar 12. Dari nilai Y yang diperoleh,
dicoba bila diasumsikan polinomial antara Y(1) dan Y(2) adalah derajat 2, 4 atau 5 dan diperoleh koefisien masing-masing adalah: a) Untuk derajat 2
: [29.8688 -302.1014 707.3106]
b) Untuk derajat 4
: [0.0112 0.1408 11.5634 -63.1390 88.9695]
c) Untuk derajat 5
: [0.0034 -0.2114 5.3400 -40.7418 147.2484 -143.3993]
Plot untuk y1 vs y2
Plot untuk y1 vs [y2^(1/3)]
3000
15
2000
10
1000
5
0
0
5
10
15
0
0
Plot untuk y1 vs y3
5
10
15
Plot untuk y1 vs [y3^(0.5)]
250
15
200 10
150 100
5
50 0
0
5
10
15
0
0
5
10
15
Gambar11. Hasil plot grafik untuk mengetahui gambaran kompleksitas perhitungan antara metode rerata bobot dan metode Eigen yang diperoleh dari running [y x k2 k3]=behavior(3,15,4)
18
Terapan Aljabar pada Proses Hirarki Analitik untuk Pengambilan Keputusan
Plot untuk y1 vs y2
Plot untuk y1 vs [y2^(1/3)]
15000
25 20
10000
15 10
5000
5 0
0
10
20
30
0
0
Plot untuk y1 vs y3
10
20
30
Plot untuk y1 vs [y3^(0.5)]
600
25 20
400
15 10
200
5 0
0
10
20
30
0
0
10
20
30
Gambar12. Hasil plot grafik untuk mengetahui gambaran kompleksitas perhitungan antara metode rerata bobot dan metode Eigen yang diperoleh dari running [y x k2 k3]=behavior(3,25,2) KESIMPULAN
1. Nilai Eigen dan vektor Eigen dapat digunakan untuk menyelesaikan masalah yang merupakan Analytic Hierarchy Process (AHP), terutama untuk menentukan bobot preferensi suatu faktor terhadap alternatif yang tersedia. 2. Penyelesaian AHP menggunakan nilai Eigen dan vektor Eigen memiliki kompleksitas atau beban komputasi yang lebih tinggi daripada menggunakan perataan bobot. Kompleksitas ini terjadi pada saat penentuan vektor Eigen. DAFTAR PUSTAKA
Anton, H., 1981, “ Elementary Linear Algebra”, John Wiley & Sons, Inc., USA.
19
oleh Nur Rokhman dan Khabib M
Drake,P.R., 1998, “Using the Analytic Hierarchy Process in Engineering Education”, International Journal of Engineering Education, vol 14 no 3, Great Brittain www.ijee.dit.ie/articles/Vol14-3/ijee1017.pdf Manggiora, G.M., 2002, “Computer-Adided Decision Making in Pharmaceutical Research”, Proceeding of the Beilstein-Institut Workshop, Bozen, Italy. http://www.beilstein-institut.de/bozen2002/proceedings/Manggiora/ Manggiora.pdf Saaty, TL., 1986, “Decision Making for Leaders, The Analytical Hierarchy Process for Decisions in Complex World”, University of Pitsburgh. Trick, M. A.,1996, “Analytic Hierarchy Process”, http://mat.gsia.cmu.edu/mstc/multiple/node4.html
20