PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK SISTEM PENDUKUNG KEPUTUSAN MULTI
KRITERIA MENGGUNAKAN METODE AHP
OLEH :
SITI MAGHFIROH NRP. 1212 100 033 DOSEN PEMBIMBING :
Prof. Dr. MOHAMMAD ISA IRAWAN, MT
PENDAHULUAN
MCDM SPK
Penelitian Terdahulu
AHP
Pengambilan
Keputusan
Perangkat lunak
SPK multi fungsi menggunakan
metode AHP
LATAR BELAKANG
RUMUSAN MASALAH
Bagaimana merancang perangkat lunak SPK multi kriteria menggunakan metode AHP?
Bagaimana mengimplementasikan rancangan perangkat lunak sehingga dapat digunakan untuk berbagai permasalahan pengambilan keputusan?
Bagaimana menguji perangkat lunak menggunakan data penelitian yang
sudah ada?
BATASAN MASALAH
Perangkat lunak dibangun menggunakan bahasa pemrograman Java dan database MySQL
Perangkat lunak yang dibangun hanya berlaku untuk pengambilan keputusan dengan metode AHP
Jumlah maksimal kriteria, subkriteria, dan alternatif adalah 15 Tidak dilakukan proses pembandingan dengan metode lainnya
Jumlah maksimal level hirarki adalah empat yang meliputi tujuan, kriteria, subkriteria, dan alternatif. Jika terdapat subkriteria maka setiap kriteria harus memiliki subkriteria dan alternatif berhubungan langsung dengan subkriteria
TUJUAN
Merancang perangkat lunak SPK multi kriteria menggunakan metode AHP
Mengimplementasikan rancangan perangkat lunak sehingga dapat digunakan untuk berbagai permasalahan pengambilan keputusan
Menguji perangkat lunak menggunakan data penelitian yang sudah ada?
MANFAAT
Dapat membantu menyelesaikan berbagai permasalahan pengambilan
keputusan multi kriteria menggunakan metode AHP
Komponen SPK
DBMS
Model
Interface Knowledge
SPK
Kelompok – perbandingan berpasangan
AHP
Langkah-langkah metode AHP :
1. Mendefinisikan masalah, menentukan solusi, menyusun hirarki
AHP
2. Membuat matriks perbandingan berpasangan setiap alternatif untuk setiap kriteria
𝑎 𝑗,𝑖 = 1 𝑎 𝑖,𝑗 (2)
AHP
𝐴1 𝐴2 𝐴3 ⋯ 𝐴𝑛 𝐴1 𝑎11 𝑎12 𝑎13 ⋯ 𝑎1𝑛 𝐴2 𝑎21 𝑎22 𝑎23 ⋯ 𝑎2𝑛 𝐴 = 𝐴3 𝑎31 𝑎32 𝑎33 ⋯ 𝑎3𝑛 (1)
⋮ ⋮ ⋮ ⋮ ⋮ ⋮
𝐴𝑛 𝑎𝑛1 𝑎𝑛2 𝑎𝑛3 ⋯ 𝑎𝑛𝑛
3. Sintesis
a. Jumlahkan nilai pada setiap kolom matriks perbandingan berpasangan
b. Bagilah setiap nilai pada setiap kolom matriks perbandingan berpasangan dengan jumlah kolom yang sesuai, ini disebut matriks normalisasi
c. Rata-rata nilai pada setiap baris matriks normalisasi, ini disebut vektor preferensi d. Gabungkan vektor preferensi setiap kriteria (hasil langkah 3c) ke dalam satu
matriks preferensi
4. Membuat matriks perbandingan berpasangan setiap kriteria
5. Menghitung matriks normalisasi dengan membagi setiap nilai pada setiap kolom matriks dengan jumlah kolom yang sesuai
6. Membuat vektor preferensi kriteria dengan menghitung rata-rata baris matriks normalisasi
AHP
7. Menghitung nilai keseluruhan setiap alternatif dengan mengalikan vektor preferensi kriteria (hasil langkah 6) dengan matriks preferensi (hasil langkah 3d)
8. Alternatif diranking berdasarkan nilai yang dipeorleh dari langkah 7 9. Menghitung 𝜆𝑚𝑎𝑘𝑠
a) Kalikan matriks perbandingan berpasangan setiap kriteria (hasil langkah 4) dengan vektor preferensi kriteria (hasil langkah 6)
𝑀𝑛×1 = 𝐵 𝑛×𝑛 . 𝑉𝑛×1 (3)
b) Bagilah hasil 9a dengan vektor preferensi kriteria (hasil langkah 6) yang bersesuaian
𝑑𝑖1 = 𝑚𝑖1
𝑣𝑖1 (4) c) Jumlahkan hasil 9b, kemudian dibagi dengan jumlah kriteria
𝜆𝑚𝑎𝑘𝑠 =
𝑚𝑖1 𝑣𝑖1
𝑛𝑖=1
𝑛 (5)
AHP
10. Menghitung Consistency Index (CI) 𝐶𝐼 = 𝜆𝑚𝑎𝑘𝑠 − 𝑛
𝑛 − 1 (6) 11. Menghitung Consistency Ratio (CR)
𝐶𝑅 = 𝐶𝐼
𝐼𝑅 (7) dengan 𝐶𝑅 = Consistency Ratio
𝐶𝐼 = Consistency Index
𝐼𝑅 = Index Random Consistency
AHP
Jika nilainya lebih dari 0,1, maka penilaian harus diperbaiki. Nilai Index Random consistency dapat dilihat pada tabel berikut.
Daftar Index Random Consistency
Ukuran Matriks Nilai IR
1,2 0
3 0,58
4 0,90
5 1,12
6 1,24
7 1,32
8 1,41
9 1,45
10 1,49
11 1,51
12 1,48
13 1,56
14 1,57
AHP
JAVA
Bahasa pemrograman OOP
Dapat dijalankan pada berbagai platform OS menggunakan interpreter/JVM
Bersifat open source
Program Java >> applet dan aplikasi
Platform Java >> J2SE, J2EE, J2ME
MySQL
Salah satu relational database management system (RDBMS)
Bersifat open source
Dijalankan pada berbagai platform OS
Struktur database >> tabel-tabel yang saling berelasi
Mendukung SQL standar
SQL dibagi dalam dua sub perintah : 1. DDL >> CREATE, ALTER, DROP
2. DML >> INSERT, SELECT, UPDATE, dan DELETE
REKAYASA PERANGKAT LUNAK
Aplikasi program komputer >> program itu sendiri, konfigurasi yang digunakan, dokumentasi penjelasan struktur sistem, dokumentasi penggunaan sistem, serta informasi pengembangan sistem
Model pengembangan >> model sekuensial linier/Waterfall Model,
Prototype Model, RAD (Rapid Application Development) Model,
Evolutionary Software Process Models
REKAYASA PERANGKAT LUNAK
Tahap-tahap pengembangan model sekuensial linear :
1. Rekayasa dan pemodelan sistem (System engineering and modeling) 2. Analisis kebutuhan perangkat lunak (Analysis)
3. Desain (Design)
4. Pengkodean (Code) 5. Pengujian (Test)
6. Pemeliharaan (Maintenance)
METODE PENELITIAN
Studi Literatur
Penarikan Kesimpulan dan Saran mulai
Analisis Kebutuhan Perangkat Lunak Penganalisisan spesifikasi perangkat lunak
Perancangan Perangkat Lunak
Perancangan usecase diagram, activity diagram, interface, dan database arsitektur
Implementasi Perangkat Lunak Pengkodean perangkat lunak menggunakan bahasa pemrograman Java dan database MySQL
Pengujian dan Evaluasi Perangkat Lunak Pengujian perangkat lunak menggunakan data
penelitian sebelumnya
Kebutuhan
Fungsional 1. Melakukan proses perankingan alternatif
2. Mengelola data kasus yang meliputi : lihat dan cetak detail kasus, mengubah data kasus, dan menghapus data kasus 3. Melakukan proses pencarian bantuan
Kebutuhan Non
Fungsional
1. Ketersediaan perangkat lunak
2. Desain perangkat lunak harus user friendly 3. Media penyimpanan
4. Waktu aplikasi untuk merespon request dari user 5. Keamanan data
6. Keamanan perangkat lunak
KEBUTUHAN PERANGKAT LUNAK
SPK Metode AHP
User
Perankingan Alternatif
Mengelola data kasus
USECASE DIAGRAM
ACTIVITY DIAGRAM
Konsisten?
Ada subkriteria?
Konsisten?
Konsisten?
ya
ya
tidak tidak
ya
ya
tidak start
Input nama user, nama kasus, deskripsi kasus, nama decision maker, data alternatif, data kriteria, data subkriteria
Input perbandingan berpasangan kriteria
tidak
Input perbandingan berpasangan subkriteria
Input perbandingan berpasangan alternatif
Ranking alternatif Input keyword
Hasil pencarian ditampilkan Keyword cocok?
ya
tidak start
stop
Lihat daftar kasus
Tampil detail data
Simpan data
Data terhapus Perankingan
alternatif Lihat detail data?
ya
Ubah data? Hapus data?
tidak tidak
tidak
ya ya
start
stop stop
DESAIN INTERFACE
SPK – AHP
Software SPK untuk menyelesaikan permasalahan pengambilan keputusan menggunakan metode AHP
NEW DATA HELP
DESAIN INTERFACE
Masukkan Kasus Baru
Nama Kasus Nama user
Nama DM* +
No Nama DM
Alternatif +
No Nama Alternatif
Kriteria +
No Nama Kriteria
Sub-kriteria +
No Nama Kriteria
Kriteria
Nama Sub-kriteria
Next Deskripsi
*Decision Maker
DESAIN INTERFACE
Skala Kepentingan
Daftar Kriteria
Next
No Nama Kriteria
Tambah
K3 ...
K2 K1
K2 K1
K3 ...
Pilih DM
K6 K5
K4
Hapus
Perbandigan Berpasangan
DESAIN INTERFACE
A3 ...
A2 A1
A2 A1
A3
...
User
Judul Kasus Tanggal
A6 A5 A4
Data DM A1 A2 A3 ...
A2 A1
A3
...
A6 A5 A4
A3 ...
A2 A1
A2 A1
A3
...
A6 A5 A4
Data Alternatif Data Kriteria Data Subkriteria
No Nama Alternatif Bobot
Hasil Ranking
Deskripsi
DESAIN INTERFACE
No Tujuan
2 1
3
Action Lihat
Daftar Kasus
Hapus
Lihat Hapus
Lihat Hapus
Ubah Ubah Ubah
DESAIN INTERFACE
Content Find
Tentang Aplikasi Tambah Kasus Ubah Kasus Hapus Kasus Cetak Data Kasus
SPK – AHP Ver: 1.0
©2016
SPK – AHP dapat digunakan untuk menyelesaikan permasalahan pengambilan keputusan multi kriteria menggunakan metode
AHP (Analytic Hierarchy Process). SPK – AHP juga menyediakan fasilitas simpan data dan cetak hasil perhitungan.
Klik pilihan pada tab Contents untuk melihat tatacara penggunaan aplikasi
ARSITEKTUR DATABASE
kasus id_kasus
nama_kasus user_create user_update tgl_create tgl_update ...
int char(100) char(30) char(30) date date
<pk>
kriteria id_kriteria
id_kasus id_dm nama_kriteria ...
int int int char(50)
<pk,fk2>
<fk1>
<fk2>
subkriteria id_subkriteria
id_kriteria id_dm
nama_subkriteria ...
int int int char(50)
<pk,fk2>
<fk1>
<fk2>
alternatif id_alternatif id_kasus nama_alternatif bobot_alternatif ...
int int char(50) float
<pk>
<fk>
decision_maker id_dm
id_subkriteria id_kasus nama_dm ...
int int int char(30)
<pk,fk2>
<fk2>
<fk1>
pbk id_dm
id_kriteria1 id_kriteria2 nilai_pb ...
int int int double
<pk,fk1>
<pk,fk2>
pbka id_dm
id_kriteria id_alternatif1 id_alternatif2 nilai_pb ...
int int int int double
<pk,fk1>
<pk,fk2>
pbsa id_dm
id_subkriteria id_alternatif1 id_alternatif2 nilai_pb
int int int int double
<pk>
<pk>
procedure Ranking;
begin
initialize jumlah_level L;
input pb;
foreach level i∈L, do i:= prioritas_globali repeat
for i=0 to leveli.size do for j=0 to leveli.size do
jumi+=pbj,i (jumlah dalam baris);
endfor;
endfor;
for i=0 to leveli.size do for j=0 to leveli.size do
normi,j=pbi,j/jumi; endfor;
endfor;
for i=0 to leveli.size do for j=0 to leveli.size do
prioritasi+=normi,j (jumlah dalam kolom)/leveli.size;
prioritas_globali= prioritasi. prioritas_globali(level L-1);
add prioritas_globali to L;
endfor;
endfor;
rank = select prioritas_globali(L);
until L.size;
PSEUDOCODE
IMPLEMENTASI
IMPLEMENTASI
IMPLEMENTASI
IMPLEMENTASI
IMPLEMENTASI
IMPLEMENTASI
Perangkat lunak di uji menggunakan data penelitian yang sudah ada [16]
PENGUJIAN
PENGUJIAN
Ranking alternatif data uji Ranking alternatif perangkat lunak
Ranking Nama Alternatif Bobot 1 Alt. Proyek Investasi 08 0.150 2 Alt. Proyek Investasi 06 0.147 3 Alt. Proyek Investasi 02 0.132 4 Alt. Proyek Investasi 04 0.128 5 Alt. Proyek Investasi 10 0.098 6 Alt. Proyek Investasi 01 0.095 7 Alt. Proyek Investasi 07 0.077 8 Alt. Proyek Investasi 03 0.063 9 Alt. Proyek Investasi 09 0.057 10 Alt. Proyek Investasi 05 0.053
Kesimpulan
1. Rancangan perangkat lunak dibuat dengan menggunakan metode AHP dan didesain secara dinamis.
2. Hasil pengujian menggunakan data referensi [16] menunjukkan bahwa perangkat lunak yang dibangun memberikan ranking alternatif yang sama sehingga dengan adanya perangkat lunak ini decision maker tidak perlu membangun perangkat lunak lain untuk permasalahan yang berbeda.
Saran
Adapun saran dari Tugas Akhir ini adalah pengembangan perangkat lunak serupa dengan metode MCDM yang lain sehingga dapat digunakan untuk membandingkan hasil perankingan untuk kasus yang sama.
KESIMPULAN DAN SARAN
[1] Kusumadewi, S., Hartati, S., Harjoko, A., & Wardoyo, R. (2006). Fuzzy Multi-Attribute Decision Making (FUZZY MADM). Yogyakarta: Graha Ilmu.
[2] Garcia, J. L., Alvarado, A., Blanco, J., Jimenez, E., Maldonado, A. A., & Cortes, G.
(2013). Multi-attribute evaluation and selection of sites for agricultural product warehouses based on an Analytic Hierarchy Process. Computers and Electronics in Agriculture, 60-69.
[3] Saefudin, & Wahyuningsih, S. (2014). Sistem Pendukung Keputusan untuk Penilaian Kinerja Pegawai Menggunakan Metode Analytical Hierarchy Process (AHP) pada RSUD Serang. Sistem Informasi, 33-40.
[4] Ranius, A. Y. (2015). Sistem Pendukung Keputusan Penentuan Destinasi Wisata Unggulan di Kota Palembang. Seminar Nasional Inovasi dan Tren (SNIT), 50-55.
[5] Setiawan, A., Irawan, M. I., & Wijaya, R. (2007). Perancangan dan Pembuatan Aplikasi Decision Support System pada Departemen HRD dan Pembelian dengan Menggunakan Metode Analytic Hierarchy Process (AHP).
[6] Juliyanti, Irawan, M. I., & Mukhlash, I. (2011). Pemilihan Guru Berprestasi Menggunakan Metode AHP dan TOPSIS. Prosiding Seminar Nasional Penelitian, Pendidikan dan Penerapan MIPA, Fakultas MIPA, Universitas Negeri Yogyakarta, 14
DAFTAR PUSTAKA
[7] Artana, K. B. (2008). Pengambilan Keputusan Kriteria Jamak (MCDM) untuk Pemilihan Lokasi Floating Storage and Regasification Unit (FSRU): Studi Kasus Suplai LNG dari Ladang Tangguh ke Bali. Pengambilan Keputusan Kriteria Jamak (MCDM), 97-111.
[8] Javad, R. M., & Mohammad, A. (2014). Application of Analytical Hierarchy Process to Selection of Primary Crusher. International Journal of Mining Science and Technology, 519–
523.
[9] Turban, E., Aronson, J. E., & Liang, T.-P. (2005). Decision Support Systems and Intelligent Systems (Sistem Pendukung Keputusan dan Sistem Cerdas). Yogyakarta: ANDI.
[10] Taylor, B. W. (2013). Introduction to Management Science. New Jersey: Prentice Hall.
[11] Rao, R. V. (2007). Decision Making in the Manufacturing Environment : Using Graph Theory and Fuzzy Multiple Attribute Decision Making Methods. London: Springer.
[12] Kadir, A. (2005). Dasar Pemrograman Java 2. Yogyakarta: ANDI.
[13] Hariyanto, B.(2011). Esensi-Esensi Bahasa Pemrograman Java. Bandung: Infromatika.
[14] Nugroho, B. (2006). Database Relational dengan MySQL. Yogyakarta: ANDI.
[15] Pressman, R. S. (2001). Software Engineering. New York: McGraw-Hill.