mss akhir1
TRANSCRIPT
Metode Pengambilan Keputusan
1. Algoritma Genetik
2. Fuzzy Logic
3. Jaringan Saraf
4. Metode AHP
1. Algoritma Genetik
a. Pengertian
Algoritma Genetika adalah algoritma komputasi yang diinspirasi teori evolusi
yang kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi suatu
permasalahan dengan cara yang lebih “alamiah”, algoritma genetik juga merupakan
algoritma pencarian secara heuristik. Salah satu fungsinya ialah untuk mencari solusi
atas permasalahan optimasi kombinasi, yaitu mendapatkan suatu nilai solusi optimal
terhadap suatu permasalahan yang mempunyai banyak kemungkinan solusi.
Teori dasar dari Algoritma Genetika dikembangkan oleh John Holland awal tahun
1975 di Universitas Michigan, Amerika Serikat. Dimana prinsip algoritma genetik
diambil dari teori Darwin yaitu setiap makhluk hidup akan menurunkan satu atau
beberapa karakter ke anak atau keturunannya.
Penyelesaian menggunakan algoritma genetik sangat berpengaruh dari kromosom
yang dibangun, dimana kromosom ialah sebuah molekul yang berisi DNA dimana
terdapat informasi genetik dalam setiap sel gen yang disimpan.
b. Contoh
Berikut adalah contoh aplikasi algoritma genetika yang digunakan untuk
menyelesaikan masalah kombinasi. Misalkan ada persamaan a+2b+3c+4d = 30, kita
mencari nilai a, b, c, dan d yang memenuhi persamaan diatas. Kita mencoba
menggunakan algoritma genetika untuk menyelesaikan permasalahan tersebut
1. Pembentukan chromosome
Karena yang dicari adalah nilai a, b, c, d maka variabel a, b, c, d dijadikan
sebagai gen-gen pembentuk chromosome. Batasan nilai variabel a adalah bilangan
integer 0 sampai 30. Sedangkan batasan nilai variabel b, c, dan d adalah bilangan
integer 0 sampai 10.
2. Inisialisasi
Proses inisialisasi dilakukan dengan cara memberikan nilai awal gen-gen
dengan nilai acak
sesuai batasan yang telah ditentukan.
Misalkan kita tentukan jumlah populasi adalah 6, maka:
Chromosome[1] = [a;b;c;d] = [12;05;03;08]
Chromosome[2] = [a;b;c;d] = [02;01;08;03]
Chromosome[3] = [a;b;c;d] = [10;04;03;04]
Chromosome[4] = [a;b;c;d] = [20;01;10;06]
Chromosome[5] = [a;b;c;d] = [01;04;03;09]
Chromosome[6] = [a;b;c;d] = [20;05;07;01]
3. Evaluasi Chromosome
Permasalahan yang ingin diselesaikan adalah nilai variabel a, b, c, dan d
yang memenuhi persamaan a+2b+3c+4d = 30, maka fungsi_objektif yang dapat
digunakan untuk mendapatkan solusi adalah fungsi_objektif(chromosome) = |
(a+2b+3c+4d) – 30 | Kita hitung fungsi_objektif dari chromosome yang telah
dibangkitkan:
fungsi_objektif(chromosome[1]) = Abs(( 12 + 2*5 + 3*3 + 4*8 ) - 30)
= Abs((12 + 10 + 9 + 32 ) - 30)
= Abs(63 - 30) = 33
fungsi_objektif(chromosome[2]) = Abs(( 2 + 2*1 + 3*8 + 4*3 ) - 30)
= Abs(( 2 + 2 + 24 + 12 ) - 30)
= Abs(40 - 30) = 10
fungsi_objektif(chromosome[3]) = Abs(( 10 + 2*4 + 3*3 + 4*4 ) - 30)
= Abs(( 10 + 8 + 9 + 16 ) - 30)
= Abs(43 - 30) = 13
fungsi_objektif(chromosome[4]) = Abs(( 20 + 2*1 + 3*10 + 4*6 ) - 30)
= Abs(( 20 + 2 + 30 + 24 ) - 30)
= Abs(76 - 30) = 46
fungsi_objektif(chromosome[5]) = Abs(( 1 + 2*4 + 3*3 + 4*9 ) - 30)
= Abs(( 1 + 8 + 9 + 36 ) - 30)
= Abs(54 - 30) = 24
fungsi_objektif(chromosome[6]) = Abs(( 20 + 2*5 + 3*7 + 4*1 ) - 30)
= Abs(( 20 + 10 + 21 + 4) - 30)
= Abs(55 - 30) = 25
Rata-rata dari fungsi objektif adalah:
rata-rata = (33+10+13+46+24+25)/6
= 151 / 6
= 25.167
4. Seleksi Chromosome
Proses seleksi dilakukan dengan cara membuat chromosome yang
mempunyai fungsi_objektif kecil mempunyai kemungkinan terpilih yang besar
atau mempunyai nilai probabilitas yang tinggi. Untuk itu dapat digunakan fungsi
fitness = (1/(1+fungsi_objektif)), fungsi_objektif perlu ditambah 1 untuk
menghindari kesalahan program yang diakibatkan pembagian oleh 0.
fitness[1] = 1 / (fungsi_objektif[1]+1)
= 1 / 34 = 0.0294
fitness[2] = 1 / (fungsi_objektif[2]+1)
= 1 / 11 = 0.0909
fitness[3] = 1 / (fungsi_objektif[3]+1)
= 1 / 14 = 0.0714
fitness[4] = 1 / (fungsi_objektif[4]+1)
= 1 / 47 = 0.0212
fitness[5] = 1 / (fungsi_objektif[5]+1)
= 1 / 25 = 0.0400
fitness[6] = 1 / (fungsi_objektif[6]+1)
= 1 / 26 = 0.0385
total_fitness = 0.0294 + 0.0909 + 0.0714 + 0.0212 + 0.04 + 0.0385
= 0.2914
Rumus untuk mencari probabilitas: P[i] = fitness[i] / total_fitness
P[1] = 0.0294 / 0.2914
= 0.1009
P[2] = 0. 0909 / 0.2914
= 0.3119
P[3] = 0. 0714 / 0.2914
= 0.2450
P[4] = 0. 0212 / 0.2914
= 0.0728
P[5] = 0.04 / 0.2914
= 0.1373
P[6] = 0.0385 / 0.2914
= 0.1321
Dari probabilitas diatas dapat kita lihat kalau chromosome ke 2 yang
mempunyai fitness paling besar maka chromosome tersebut mempunyai
probabilitas untuk terpilih pada generasi selanjutnya lebih besar dari chromosome
lainnya. Untuk proses seleksi kita gunakan roulete wheel, untuk itu kita harus
mencari dahulu nilai kumulatif probabilitasnya:
C[1] = 0.1009
C[2] = 0.1009+ 0.3119 = 0.4128
C[3] = 0.1009+ 0.3119 + 0.2450 = 0.6578
C[4] = 0.1009+ 0.3119 + 0.2450 + 0.0728 = 0.7306
C[5] = 0.1009+ 0.3119 + 0.2450 + 0.0728 + 0.1373 = 0.8679
C[6] = 0.1009+ 0.3119 + 0.2450 + 0.0728 + 0.1373 + 0.1321 = 1
Setelah dihitung cumulative probabilitasnya maka proses seleksi
menggunakan roulete-wheel dapat dilakukan. Prosesnya adalah dengan
membangkitkan bilangan acak R dalam range 0-1. Jika R[k] < C[1] maka pilih
chromosome 1 sebagai induk, selain itu pilih chromosome ke-k sebagai induk
dengan syarat C[k-1] < R < C[k]. Kita putar roulete wheel sebanyak jumlah
populasi yaitu 6 kali (bangkitkan bilangan acak R) dan pada tiap putaran, kita
pilih satu chromosome untuk populasi baru. Misal:
R[1] = 0.201
R[2] = 0.284
R[3] = 0.009
R[4] = 0.822
R[5] = 0.398
R[6] = 0.501
Angka acak pertama R[1] adalah lebih besar dari C[1] dan lebih kecil
daripada C[2] maka pilih chromosome[2] sebagai chromosome pada populasi
baru, dari bilangan acak yang telah dibangkitkan diatas maka populasi
chromosome baru hasil proses seleksi adalah:
chromosome[1] = chromosome[2]
chromosome[2] = chromosome[2]
chromosome[3] = chromosome[1]
chromosome[4] = chromosome[5]
chromosome[5] = chromosome[2]
chromosome[6] = chromosome[3]
Chromosome baru hasil proses seleksi:
chromosome[1] = [02;01;08;03]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;08]
chromosome[4] = [01;04;03;09]
chromosome[5] = [02;01;08;03]
chromosome[6] = [10;04;03;04]
5. Crossover
Setelah proses seleksi maka proses selanjutnya adalah proses crossover.
Metode yang digunakan salah satunya adalah one-cut point, yaitu memilih secara
acak satu posisi dalam chromosome induk kemudian saling menukar gen.
Chromosome yang dijadikan induk dipilih secara acak dan jumlah chromosome
yang mengalami crossover dipengaruhi oleh parameter crossover_rate ( ρc ).
Misal kita tentukan crossover probability adalah sebesar 25%, maka
diharapkan dalam satu generasi ada 50% Chromosome (3 chromosome) dari satu
generasi mengalami proses crossover.
Prosesnya adalah sebagai berikut:
Pertama kita bangkitkan bilangan acak R sebanyak jumlah populasi
R[1] = 0.191
R[2] = 0.259
R[3] = 0.760
R[4] = 0.006
R[5] = 0.159
R[6] = 0.340
Maka Chromosome ke k akan dipilih sebagai induk jika R[k] < ρc, dari
bilangan acak R diatas maka yang dijadikan induk adalah chromosome[1],
chromosome[4] dan chromosome[5].
Setelah melakukan pemilihan induk proses selanjutnya adalah menentukan
posisi crossover. Ini dilakukan dengan cara membangkitkan bilangan acak dengan
batasan 1 sampai (panjang chromosome-1), dalam kasus ini bilangan acak yang
dibangkitkan adalah 1 – 3. Misalkan didapatkan posisi crossover adalah 1 maka
chromosome induk akan dipotong mulai gen ke 1 kemudian potongan gen
tersebut saling ditukarkan antar induk.
chromosome[1] >< chromosome[4]
chromosome[4] >< chromosome[5]
chromosome[5] >< chromosome[1]
Posisi cut-point crossover dipilih menggunakan bilangan acak 1-3
sebanyak jumlah crossover yang terjadi, missal :
C[1] = 1
C[2] = 1
C[3] = 2
offspring[1] = chromosome[1] >< chromosome[4]
= [02;01;08;03] >< [01;04;03;09]
= [02;04;03;09]
offspring[4] = Chromosome[4] >< Chromosome[5]
= [01;04;03;09] >< [02;01;08;03]
= [01;01;08;03]
offspring[5] = Chromosome[5] >< Chromosome[1]
= [02;01;08;03] >< [02;01;08;03]
= [02;01;08;03]
Dengan demikian populasi Chromosome setelah mengalami proses crossover
menjadi:
chromosome[1] = [02;04;03;09]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;08]
chromosome[4] = [01;01;08;03]
chromosome[5] = [02;01;08;03]
chromosome[6] = [10;04;03;04]
6. Mutasi
Jumlah chromosome yang mengalami mutasi dalam satu populasi
ditentukan oleh parameter mutation_rate. Proses mutasi dilakukan dengan cara
mengganti satu gen yang terpilih secara acak dengan suatu nilai baru yang didapat
secara acak. Prosesnya adalah sebagai berikut. Pertama kita hitung dahulu
panjang total gen yang ada dalam satu populasi. Dalam kasus ini panjang total gen
adalah total_gen = (jumlah gen dalam chromosome) * jumlah populasi
= 4 * 6
= 24
Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan cara
membangkitkan bilangan integer acak antara 1 sampai total_gen, yaitu 1 sampai
24. Jika bilangan acak yang kita bangkitkan lebih kecil daripada variabel
mutation_rate (ρm) maka pilih posisi tersebut sebagai sub-chromosome yang
mengalami mutasi. Misal ρm kita tentukan 10% maka
diharapkan ada 10% dari total_gen yang mengalami populasi:
jumlah mutasi = 0.1 * 24 = 2.4 = 2
Misalkan setelah kita bangkitkan bilangan acak terpilih posisi gen 12 dan
18 yang mengalami mutasi. Dengan demikian yang akan mengalami mutasi
adalah chromosome ke-3 gen nomor 4 dan Chromosome ke-5 gen nomor 2. Maka
nilai gen pada posisi tersebut kita ganti dengan bilangan acak 0-30.
Misalkan bilangan acak yang terbangkitkan adalah 2 dan 5. Maka populasi
chromosome setelah
mengalami proses mutasi adalah:
chromosome[1] = [02;04;03;09]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;02]
chromosome[4] = [01;01;08;03]
chromosome[5] = [02;05;08;03]
chromosome[6] = [10;04;03;04]
Setelah proses mutasi maka kita telah menyelesaikan satu iterasi dalam
algoritma genetika atau disebut dengan satu generasi. Maka fungsi_objective
setelah satu generasi adalah:
chromosome[1] = [02;04;03;09]
fungsi_objektif[1] = Abs(( 2 + 2*4 + 3*3 + 4*9 ) - 30)
= Abs(( 2 + 8 + 9 + 36 ) - 30)
= Abs( 55 - 30) = 25
chromosome[2] = [02;01;08;03]
fungsi_objektif[2] = Abs(( 2 + 2*1 + 3*8 + 4*3 ) - 30)
= Abs(( 2 + 2 + 24 + 12 ) - 30)
= Abs(40 - 30) = 10
chromosome[3] = [12;05;03;02]
fungsi_objektif[3] = Abs(( 12 + 2*5 + 3*3 + 4*2 ) - 30)
= Abs(( 12 + 10 + 9 + 8 ) - 30)
= Abs(39 - 30) = 9
chromosome[4] = [01;01;08;03]
fungsi_objektif[4] = Abs(( 1 + 2*1 + 3*8 + 4*3 ) - 30)
= Abs(( 1 + 2 + 24 + 12 ) - 30)
= Abs(39 - 30) = 9
chromosome[5] = [02;05;08;03]
fungsi_objektif[5] = Abs(( 2 + 2*5 + 3*8 + 4*3 ) - 30)
= Abs(( 2 + 10 + 24 + 12 ) - 30)
= Abs(48 - 30) = 18
chromosome[6] = [10;04;03;04]
fungsi_objektif[6] = Abs(( 10 + 2*4 + 3*3 + 4*4 ) - 30)
= Abs(( 10 + 8 + 9 + 16 ) - 30)
= Abs(43 - 30) = 13
Rata-rata fungsi objektif setelah satu generasi adalah:
rata-rata = ( 25 + 10 + 9 + 9 + 18 + 13) / 6
= 84 / 6 = 14.0
Dapat dilihat dari hasil perhitungan fungsi objektif diatas bahwa setelah
satu generasi, nilai hasil rata-rata fungsi_objektif lebih menurun dibandingkan
hasil fungsi_objektif pada saat sebelum mengalami seleksi, crossover dan mutasi.
Hal ini menunjukkan bahwa chromosome atau solusiyang dihasilkan setelah satu
generasi lebih baik dibandingkan generasi sebelumnya. Maka pada generasi
selanjutnya chromosome-chromosome yang baru adalah:
chromosome[1] = [02;04;03;09]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;02]
chromosome[4] = [01;01;08;03]
chromosome[5] = [02;05;08;03]
Chromosome-chromosome ini akan mengalami proses yang sama seperti
generasi sebelumnya yaitu proses evaluasi, seleksi, crossover dan mutasi yang
kemudian akan menghasilkan chromosome-chromosome baru untuk generasi
yang selanjutnya. Proses ini akan berulang sampai sejumlah generasi yang telah
ditetapkan sebelumnya.
Setelah 50 generasi didapatkan chromosome yang terbaik adalah:
Chromosome = [07;05;03;01]
Jika didekode maka:
a=7 ; b=5 ; c=3 ; d=1
Jika dihitung terhadap persamaan f = a+2b+3c+4d:
7 + (2*5) + (3*3) + (4*1) = 30
2. Fuzzy Logic
a. Pengertian
Logika fuzzy adalah cabang dari sistem kecerdasan buatan (Artificial
Intelegent) yang mengemulasi kemampuan manusia dalam berfikir ke dalam bentuk
algoritma yang kemudian dijalankan oleh mesin 7 . Algoritma ini digunakan
dalam berbagai aplikasi pemrosesan data yang tidak dapat direpresentasikan dalam
bentuk biner. Logika fuzzy menginterpretasikan statemen yang samar menjadi sebuah
pengertian yang logis.
Logika Fuzzy pertama kali diperkenalkan oleh Prof. Lotfi Zadeh seorang
kebangsaan Iran yang menjadi guru besar di University of California at Berkeley
pada tahun 1965 dalam papernya yang monumental. Dalam paper tersebut
dipaparkan ide dasar fuzzy set yang meliputi inclusion, union, intersection,
complement, relation dan convexity. Pelopor aplikasi fuzzy set dalam bidang kontrol,
yang merupakan aplikasi pertama dan utama dari fuzzy set adalah Prof. Ebrahim
Mamdani dan kawan-kawan dari Queen Mary College London. Penerapan kontrol
fuzzy secara nyata di industri banyak dipelopori para ahli dari Jepang, misalnya Prof.
Sugeno dari Tokyo Institute of Technology, Prof.Yamakawa dari Kyusu Institute of
Technology, Togay dan Watanabe dari Bell Telephone Labs.
b. Himpunan Fuzzy
Himpunan fuzzy merupakan suatu pengembangan lebih lanjut tentang
konsep himpunan dalam matematika. Himpunan Fuzzy adalah rentang nilai-nilai.
Masing-masing nilai mempunyai derajat keanggotaan (membership) antara 0 sampai
dengan 1. Ungkapan logika Boolean menggambarkan nilai-nilai “benar” atau
“salah”. Logika fuzzy menggunakan ungkapan misalnya : “sangat lambat”,”agak
sedang”, “sangat cepat”dan lain-lain untuk mengungkapkan derajat intensitasnya.
c. Fuzzyfikasi
Proses fuzzyfikasi merupakan proses untuk mengubah variabel non fuzzy
(variabel numerik) menjadi variabel fuzzy (variabel linguistik). Nilai masukan-
masukan yang masih dalam bentuk variabel numerik yang telah dikuantisasi sebelum
diolah oleh pengendali fuzzy harus diubah terlebih dahulu ke dalam variabel fuzzy.
Melalui fungsi keanggotaan yang telah disusun maka nilai-nilai masukan tersebut
menjadi informasi fuzzy yang berguna nantinya untuk proses pengolahan secara fuzzy
pula.
d. Contoh Fuzzy
Berikut merupakan contoh perhitungan logika fuzzy: Suatu perusahaan minuman
akan memproduksi minuman jenis XYZ. Dari data 1 bulan terakhir, permintaan terbesar
hingga mencapai 6000 botol/hari, dan permintaan terkecil sampai 500 botol/hari.
Persediaan barang digudang terbanyak sampai 800 botol/hari, dan terkecil pernah sampai
200 botol/hari. Dengan segala keterbatasannya, sampai saat ini, perusahaan baru mampu
memproduksi barang maksimum 9000 botol/hari, serta demi efisiensi mesin dan SDM
tiap hari diharapkan perusahaan memproduksi paling tidak 3000 botol. Apabila proses
produksi perusahaan tersebut menggunakan 4 aturan fuzzy sbb:
[R1] IF Permintaan TURUN And Persediaan BANYAK
THEN Produksi Barang BERKURANG;
{R2] IF Permintaan TURUN And Persediaan SEDIKIT
THEN Produksi Barang BERKURANG;
[R3] IF Permintaan NAIK And Persediaan BANYAK
THEN Produksi Barang BERTAMBAH;
[R4] IF Permintaan NAIK And Persediaan SEDIKIT
THEN Produksi Barang BERTAMBAH;
Berapa botol minuman jenis XYZ yang harus diproduksi, jika jumlah permintaan
sebanyak 4500 botol, dan persediaan di gudang masih 700 botol?
Solusi:
Ada 3 variabel fuzzy yang akan dimodelkan, yaitu:
Permintaan; terdiri-atas 2 himpunan fuzzy, yaitu: NAIK dan TURUN
0,27
0,72
Kita bisa mencari nilai keanggotaan:
PmtTURUN[4500] = (6000-4500)/5500
= 0,27
PmtNAIK[4500] = (4500-500)/5500
= 0,72
Persediaan; terdiri-atas 2 himpunan fuzzy, yaitu: SEDIKIT dan BANYAK
Kita bisa mencari nilai keanggotaan:
PsdSEDIKIT[400] = (600-400)/600
= 0,667
PsdBANYAK[400] = (400-200)/600
= 0,33
Produksi barang; terdiri-atas 2 himpunan fuzzy, yaitu: BERKURANG dan BERTAMBAH
033
0,667
Sekarang kita cari nilai z untuk setiap aturan dengan menggunakan fungsi MIN pada aplikasi
fungsi implikasinya:
[R1] IF Permintaan TURUN And Persediaan BANYAK
THEN Produksi Barang BERKURANG;
-predikat1 = PmtTURUN PsdBANYAK
= min(PmtTURUN [4500],PsdBANYAK[700])
= min(0,27; 0,83)
= 0,27
Lihat himpunan Produksi Barang BERKURANG,
(9000-z)/6000 = 0,27 ---> z1 = 7380
{R2] IF Permintaan TURUN And Persediaan SEDIKIT
THEN Produksi Barang BERKURANG;
-predikat2 = PmtTURUN PsdSEDIKIT
= min(PmtTURUN [4500],PsdSEDIKIT[700])
= min(0,667; 0,337)
= 0,333
Lihat himpunan Produksi Barang BERKURANG,
(9000-z)/6000 = 0,333 ---> z2 = 7002
[R3] IF Permintaan NAIK And Persediaan BANYAK
THEN Produksi Barang BERTAMBAH;
-predikat3 = PmtNAIK PsdBANYAK
= min(PmtNAIK [4500],PsdBANYAK[400])
= min(0,72; 0,33)
= 0,4
Lihat himpunan Produksi Barang BERTAMBAH,
(z-3000)/6000 = 0,333 ---> z3 = 4996
[R4] IF Permintaan NAIK And Persediaan SEDIKIT
THEN Produksi Barang BERTAMBAH;
-predikat4 = PmtNAIK PsdBANYAK
= min(PmtNAIK [4500],PsdSEDIKIT[400])
= min(0,72; 0,667)
= 0,667
Lihat himpunan Produksi Barang BERTAMBAH,
(z-3000)/6000 = 0,667 ---> z4 = 7002
Dari sini kita dapat mencari berapakah nilai z, yaitu:
Jadi jumlah minuman jenis XYZ yang harus diproduksi sebanyak 6652 botol
3. Jaringan Saraf
a. Pengertian
Jaringan syaraf tiruan adalah suatu metode komputasi yang meniru sistem
jaringan syaraf biologis di dalam otak. Jaringan syaraf tiruan merupakan salah satu dari
representasi buatan dari otak manusia yang mencoba menstimulasikan proses
pembelajaran pada otak manusia tersebut.
Metode ini menggunakan elemen perhitungan non-linear dasar yang disebut
neuron yang diorganisasikan sebagai jaringan yang saling berhubungan, sehingga mirip
dengan jaringan syaraf manusia
b. Contoh Jaringan Saraf
Contoh Jaringan Saraf (Neural Networks): Pemecahan Masalah Pengenalan Pola
Dalam pengenalan pola huruf dengan menggunakan Jaringan Saraf ini, huruf-
huruf disajikan dalam bentuk vector. Sehingga dapat digunakan sebagai input dari Neural
Network, sebagai contoh dapat dilihat pada Gambar 2.2 berikut:
(a) (b)
Apabila symbol adalah satu dan adalah -1, maka pola hasil penyajiannya
adalah -1,1,1,1,-1 untuk baris pertaman, kemudian 1,-1,-1,-1,1 untuk baris kedua, 1,-1,-
1,-1,1 juga untuk baris ketiga, selanjutnya ,1,1,1,1,1 untuk baris keempat dan terakhir 1,-
1,-1,-1,1 untuk baris kelima. Sehingga didapatkan vector x=(1,1,1,1,-1, 1,-1,-1,-1,1, 1,-1,-
1,-1,1, 1,1,1,1,1, 1,-1,-1,-1,1).
x x x
x x
x x
x x x x x
x x
4. Metode Analytical Hierarchy Process (AHP)
a. Pengertian
AHP diperkenalkan oleh DR.Thomas L. Saaty di awal tahun 1970. Pada saat itu,
AHP dipergunakan untuk mendukung pengambilan keputusan pada beberapa perusahaan
dan pemerintahan. Pengambilan keputusan dilakukan secara bertahap dari tingkat
terendah hingga puncak. Pada proses pengambilan keputusan dengan AHP, ada
permasalahan/ goal dengan beberapa level kriteria dan alternatif. Masing-masing
alternatif dalam satu kriteria memiliki skor. Skor diperoleh dari eigen vektor matriks
yang diperoleh dari perbandingan berpasangan dengan alternatif yang lain. Skor yang
dimaksud ini adalah bobot masing-masing alternatif terhadap satu kriteria. Masing-
masing kriteriapun memiliki bobot tertentu (didapat dengan cara yang sama). Selanjutnya
perkalian matriks alternatif dan kriteria dilakukan di tiap level hingga naik ke puncak
level.
b. Prinsip dalam menyelesaikan prsoalan AHP
1) Prinsip Decomposition Dalam AHP
Setelah persoalan didefinisikan, maka perlu dilakukand eco m position yaitu
memecah persoalan yang utuh menjadi unsur-unsurnya. Jika ingin mendapatkan
hasil yang akurat, pemecahan juga dilakukan terhadap unsur- unsur sampai tidak
mungkin dilakukan pemecahan lebih lanjut sehingga didapatkan beberapa
tindakan dari persoalan tadi. Karena alasan ini, maka proses analisis dinamakan
hirarki.
2) Prinsip Comparative Judgment Dalam AHP
Prinsip ini berarti membuat penilaian tentang kepentingan relatif dua elemen pada
suatu tingkat tertentu yang dalam kaitannya dengan tingkat diatasnya. Penilaian
ini merupakan inti dari AHP, karena ia akan berpengaruh terhadap prioritas
elemen-elemen. Hasil dari penilaian ini akan tampak lebih enak bila disajikan
dalam bentuk matriks yang dinamakan matriks pairwise comparison.
3) Prinsip Synthesis of Priority Dalam AHP
Dari setiap matriks pairwise comparison kemudian dicari eigen vektor untuk
mendapatkan local priority. Karena matriks pairwise comparison terdapat pada
setiap tingkat, maka untuk mendapatkan global priority harus dilakukan sintesa
diantara local priority. Prosedur melakukan sintesa berbeda menurut bentuk
hirarki. Pengurutan elemen-elemen menurut kepentingan relatif melalui prosedur
sintesa dinamakan priority settung.
4) Local Consistency
Konsistensu memiliki dua makna. Pertama adalah bahwa objek-objek yang
serupa dapat dikelompokkan sesuai dengan keseragaman dan relevansinya. Arti
kedua adalah menyangkut tingkat hubungan antar objek-objek yang didasarkan
pada kriteria tertentu. Proses ini harus dilakukan berulang hingga didapatkan
penilaian yang tepat
c. Contoh AHP
Problem : Andi ingin membeli mobil. Adapun alterntif pilihan mobil yang akan
dibeli Andi adalah Civic Coupe, Saturn Coupe, Ford Escort, dan Mazda Miata.
Sedangkan kriteria penilaian yang dipertimbangkan Andi untuk membeli mobil
adalah style, reliability, fuel economy.
Dari kasus yang dihadapi Andi, maka buat hierarki permasalahannya terlebih
dahulu. Tujuan atau Goal adalah Memilih Mobil. Kriterianya gaya, mesin handal,
hemat bahan bakar. Alternatif pilihan Andi adalah Civic Coupe, Saturn Coupe,
Ford Escort dan Mazda Miata. Selanjutnya berikut ini hierarki yang didapat
melalui 3 komponen tersebut.
Selanjutnya lakukan perbandingan berpasangan dengan Skala Saaty untuk mendapatkan
bobot kriteria:
1. Perbandingan Berpasangan Dengan Skala Saaty
2. Hitung bobot kriteria (priority vector) dengan cara : 1) normalisasi nilai setiap
kolom matrik perbandingan berpasangan dengan membagi setiap nilai pada kolom matrik
dengan hasil penjumlahan kolom yang bersesuaian. 2) Hitung nilai rata-rata dari
penjumlahan setiap baris matrik
3. Cek Konsistensi Ratio (CR) dari matrik perbandingan berpasangan kriteria. Jika CR > 0.1
maka harus diulang kembali perbandingan berpasangan sampai didapat CR <= 0.1.
Hitung CI
Tabel IR
Sehingga CR = CI/IR = 0.03/0.58 = 0.05 (<=0.1, sehingga konsisten)
4. Susunan hierarki yang baru (lengkap dengan bobot kriteria)
5. Perhitungan bobot alternatif untuk kriteria Style
6. Perhitungan bobot alternatif untuk kriteria Reliablity
7. Perhitungan bobot alternatif untuk kriteria Fuel Economy
8. Susunan Hierarki yang baru (lengkap dengan bobot kriteria dan bobot alternatif)
9. Perangkingan Alternatif ( hasil penjumlahan dari perkalian setiap bobot alternatif dengan
bobot kriteria yang bersesuaian)
Daftar Pustaka
1. Sri Kusumadewi, (2002), Analisis dan Desain Sistem Fuzzy Menggunakan Toolbox
Matlab, Yogyakarta, Graha Ilmu.
2. www. Mathworks.com, (2004), Fuzzy Logic Toolbox User’s Guide Version 2, The
MathWork Inc.
3. www.metode-algoritma.com/
4. http://syaifullah08.files.wordpress.com/2010/02/pengenalan-analytical-hierarchy-
process.pdf
5. www.scribd.com/doc/100556025/Metode-AHP
6. http://elektronika-dasar.web.id/teori-elektronika/jaringan-syaraf-tiruan-neural-network/
7. http://arsipdosen.files.wordpress.com/2012/06/contoh-soal-logika-fuzzy.docx