Perbandingan Metode Analytical Hierarchy Process (AHP) dan Metode Preference Ranking Organization Method For Enrichment Evaluation (PROMETHEE) untuk Pemilihan Hardisk Eksternal

  

LAMPIRAN

LISTING PROGRAM

AHP Function

  package AHP_PROMETHEE_Function; import java.util.Arrays; import java.util.Collections; import java.util.List; import javax.swing.JTable; public class AHPFunction { public AHPFunction() { } public void matSegitiga(JTable matriks){ double[][] nilai=new double[matriks.getRowCount()][matriks.getColumnCount()]; double[]hasil=new double[45]; for (int i = 0; i<nilai.length ; i++) { for (int j = i+2; j < nilai[0].length; j++) { nilai[i][j]=Double.parseDouble(String.valueOf(matriks.getValueAt(i, j))); } } int n=0; for (int i = 0; i<nilai.length ; i++) { for (int j = i+2; j < nilai[0].length; j++) { hasil[n]=1/nilai[i][j]; n++; } } n=0; for (int i = 1; i<nilai.length-1 ; i++) { for (int j = i; j <= nilai[0].length-2; j++) { matriks.setValueAt(hasil[n], j, i); n++; } } } public void getSum(JTable matriks){ double[][] nilai=new double[matriks.getRowCount()][matriks.getColumnCount()]; double[] hasil = new double[nilai[0].length]; for (int i = 0; i < nilai[0].length; i++) { hasil[i] = 0; } for (int i = 0; i<nilai.length-1 ; i++) { for (int j = 1; j < nilai[0].length; j++) { nilai[i][j]=Double.parseDouble(String.valueOf(matriks.getValueAt(i, j))); hasil[j]+=nilai[i][j]; } for (int i = 1; i < nilai[0].length; i++) { matriks.setValueAt(hasil[i], nilai.length-1, i); } } public void normalisasi(JTable tabel1, JTable tabel2){ double nilai[][]=new double[tabel1.getRowCount()][tabel1.getColumnCount()]; for (int i = 0; i<nilai.length-1 ; i++) { for (int j = 1; j < nilai[0].length; j++) { nilai[i][j]=Double.parseDouble(String.valueOf(tabel1.getValueAt(i, j)))/Double.parseDouble(String.valueOf(tabel1.getValueAt(nilai[0].len gth-1, j))); tabel2.setValueAt(nilai[i][j], i, j); } } } public void getEigenVector(JTable tblEV){ double EV[]=new double[tblEV.getRowCount()]; for (int i = 0; i < EV.length; i++) { EV[i]=0; } for (int i = 0; i < tblEV.getRowCount(); i++) { for (int j = 1; j < tblEV.getColumnCount()-1; j++) { EV[i]+=(Double.parseDouble(String.valueOf(tblEV.getValueAt(i, j))))/(tblEV.getColumnCount()-2); } } for (int i = 0; i < EV.length; i++) { tblEV.setValueAt(EV[i], i, tblEV.getColumnCount()-1); } } public double getLamdaMax(JTable tabel1, JTable tabel2){ double LamdaMax=0; double kriteria[]=new double[tabel1.getColumnCount()]; double EV[]=new double[tabel2.getRowCount()]; for (int i = 1; i < tabel1.getColumnCount(); i++) { kriteria[i]=Double.parseDouble(String.valueOf(tabel1.getValueAt(tabel 1.getRowCount()-1, i))); } for (int i = 0; i < tabel2.getRowCount(); i++) { EV[i]=Double.parseDouble(String.valueOf(tabel2.getValueAt(i, tabel2.getColumnCount()-1))); } for (int i = 0; i < tabel2.getRowCount(); i++) { LamdaMax+=(kriteria[i+1]*EV[i]); } return LamdaMax; } public double getCI(JTable tabel1, double lamdaMax){ double CI; CI=(lamdaMax-tabel1.getRowCount())/(tabel1.getRowCount()-1); return CI; } public double[] getMatGlobal(JTable tabel1){

int colLength=tabel1.getColumnCount(); int rowLength=tabel1.getRowCount(); for (int i = 0; i < colLength-1; i++) { alternative[i] = 0; } for (int i = 0; i < rowLength; i++) { for (int j = 2; j < colLength; j++) { alternative[j- 2]+=(Double.parseDouble(String.valueOf(tabel1.getValueAt(i, j)))*(Double.parseDouble(String.valueOf(tabel1.getValueAt(i, 1))))); } } return alternative; } public double getPrioritasMax(Double[] alternative){ double pilihan; List<Double> rank = Arrays.asList(alternative); pilihan=Collections.max(rank); return pilihan; } }

  PROMETHEE Function

  package AHP_PROMETHEE_Function; import java.util.HashMap; import java.util.Map; import javax.swing.JTable; public class PrometheeFunction { public PrometheeFunction() { } public void getHD(JTable tabel1, JTable tabel2) { double d[][][] = new double[tabel1.getColumnCount() - 3][tabel1.getRowCount()][tabel1.getColumnCount() - 3]; double Hd[][][] = new double[tabel1.getColumnCount() - 3][tabel1.getRowCount()][tabel1.getColumnCount() - 3]; double Hdh[][][] = new double[tabel1.getColumnCount() - 3][tabel1.getRowCount()][tabel1.getColumnCount() - 3]; double Hd_Hasil[][] = new double[tabel2.getRowCount()][tabel2.getColumnCount()]; double nilai_d[][] = new double[tabel1.getRowCount()][tabel1.getColumnCount() - 4]; Map<Double, String> map = new HashMap<Double, String>(); for (int i = 0; i < tabel1.getRowCount(); i++) { for (int j = 0; j < tabel1.getColumnCount() - 4; j++) { nilai_d[i][j] = Double.parseDouble(String.valueOf(tabel1.getValueAt(i, j + 1))); } } int n = 0; for (int i = 0; i < tabel1.getColumnCount() - 4; i++) { for (int j = 0; j < tabel1.getRowCount(); j++) { for (int k = 0; k < tabel1.getColumnCount() - 4; k++) if (i != k) { d[i][j][k] = 0; Hd[i][j][k] = n++; } } } } System.out.println(""); for (int i = 0; i < tabel1.getColumnCount() - 4; i++) { for (int j = 0; j < tabel1.getRowCount(); j++) { for (int k = 0; k < tabel1.getColumnCount() - 4; k++) { if (i != k) { d[i][j][k] = nilai_d[j][i] - nilai_d[j][k]; map.put(Hd[i][j][k], String.valueOf(tabel1.getValueAt(j, tabel1.getColumnCount() - 3))); } } } } for (int i = 0; i < tabel1.getColumnCount() - 4; i++) { for (int j = 0; j < tabel1.getRowCount(); j++) { for (int k = 0; k < tabel1.getColumnCount() - 4; k++) { if (i != k) { } } } } for (int i = 0; i < tabel1.getColumnCount() - 4; i++) { for (int j = 0; j < tabel1.getRowCount(); j++) { for (int k = 0; k < tabel1.getColumnCount() - 4; k++) { if (i != k) { if (map.get(Hd[i][j][k]).equals("Usual")) { if (d[i][j][k] <= 0) { Hdh[i][j][k] = 0; } else { Hdh[i][j][k] = 1; } } if (map.get(Hd[i][j][k]).equals("Linier")) { if (d[i][j][k] <= 0) { Hdh[i][j][k] = 0; } else if (d[i][j][k] > Double.parseDouble(String.valueOf(tabel1.getValueAt(j, tabel1.getColumnCount() - 2)))) { Hdh[i][j][k] = 1; } else if ((d[i][j][k] <= Double.parseDouble(String.valueOf(tabel1.getValueAt(j, tabel1.getColumnCount() - 2))) || (d[i][j][k] > 0))) { // Hd[i][j][k] = d[i][j][k] * 1; Hdh[i][j][k] = d[i][j][k] * 0.142857143; // Hd[i][j][k] = d[i][j][k] / Double.parseDouble(String.valueOf(tabel1.getValueAt(j, tabel1.getColumnCount() - 2))); } }

if (d[i][j][k] <= Double.parseDouble(String.valueOf(tabel1.getValueAt(j, tabel1.getColumnCount() - 1)))) { Hdh[i][j][k] = 0; } else if (d[i][j][k] > Double.parseDouble(String.valueOf(tabel1.getValueAt(j, tabel1.getColumnCount() - 2)))) { Hdh[i][j][k] = 1; } else if ((d[i][j][k] <= Double.parseDouble(String.valueOf(tabel1.getValueAt(j, tabel1.getColumnCount() - 2))) || (d[i][j][k] > Double.parseDouble(String.valueOf(tabel1.getValueAt(j, tabel1.getColumnCount() - 1)))))) { Hdh[i][j][k] = 0.5; } } } } } } for (int i = 0; i < tabel2.getRowCount(); i++) { for (int j = 0; j < tabel2.getColumnCount(); j++) { Hd_Hasil[i][j] = 0; } } for (int i = 0; i < tabel1.getColumnCount() - 4; i++) { for (int j = 0; j < tabel1.getRowCount(); j++) { for (int k = 0; k < tabel1.getColumnCount() - 4; k++) { if (i != k) { Hd_Hasil[i][k] += (0.125 * (Hdh[i][j][k])); } } } } for (int i = 0; i < tabel2.getRowCount(); i++) { for (int j = 1; j < tabel2.getColumnCount(); j++) { if (i != (j - 1)) { tabel2.setValueAt(Hd_Hasil[i][j - 1], i, j); } } } } public double[] getNetFlow(JTable table){ double leavingFlow[]=new double[table.getRowCount()]; double enteringFlow[]=new double[table.getColumnCount()-1]; double netFlow[]=new double[table.getRowCount()]; for (int i = 0; i < table.getRowCount(); i++) { for (int j = 1; j < table.getColumnCount(); j++) { if(i!=j-1){ leavingFlow[i]+=((1/(float)(table.getRowCount()- 1))*Double.parseDouble(String.valueOf(table.getValueAt(i, j)))); } } } for (int i = 0; i < table.getRowCount(); i++) {

if(i != j-1){ enteringFlow[j-1]+=((1/(float)(table.getRowCount()- 1))*Double.parseDouble(String.valueOf(table.getValueAt(i, j)))); } } } for (int i = 0; i < table.getRowCount(); i++) { netFlow[i]=leavingFlow[i]-enteringFlow[i]; } return netFlow; } }

  Main

  package AHP_PROMETHEE_View; public class Main { public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new MainFrame().setVisible(true); } }); } }

  Main Frame

  package AHP_PROMETHEE_View; import java.awt.Component; import java.awt.Dimension; import javax.swing.JComponent; import javax.swing.JDesktopPane; public class MainFrame extends javax.swing.JFrame { /** Creates new form MainFrame */ public MainFrame() { initComponents(); this.setLocationRelativeTo(null); this.setExtendedState(MAXIMIZED_BOTH); } // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jDesktopPane1 = new javax.swing.JDesktopPane(); jLabel1 = new javax.swing.JLabel(); jMenuBar1 = new javax.swing.JMenuBar(); mnAHP = new javax.swing.JMenu(); jMenuItem1 = new javax.swing.JMenuItem(); mnPromethee = new javax.swing.JMenuItem(); jMenu3 = new javax.swing.JMenu(); jMenu1 = new javax.swing.JMenu(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("PERBANDINGAN METODE ANALYTICAL HIERARCHY PROCESS

  ENRICHMENT EVALUATION (PROMETHEE) UNTUK PEMILIHAN HARDISK EKSTERNAL"); jDesktopPane1.setBackground(new java.awt.Color(0, 51, 204)); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel1.setIcon(new javax.swing.ImageIcon("I:\\Untitled- 2.jpg")); // NOI18N jLabel1.setBounds(200, 20, 910, 650); jDesktopPane1.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER); getContentPane().add(jDesktopPane1, java.awt.BorderLayout.CENTER); mnAHP.setText("Algorithm"); mnAHP.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnAHPActionPerformed(evt); } }); jMenuItem1.setText("AHP"); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem1ActionPerformed(evt); } }); mnAHP.add(jMenuItem1); mnPromethee.setText("PROMETHEE"); mnPromethee.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnPrometheeActionPerformed(evt); } }); mnAHP.add(mnPromethee); jMenuBar1.add(mnAHP); jMenu3.setText("About"); jMenu3.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jMenu3MouseClicked(evt); } }); jMenuBar1.add(jMenu3); jMenu1.setText("Exit"); jMenu1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jMenu1MouseClicked(evt); } }); jMenuBar1.add(jMenu1); setJMenuBar(jMenuBar1); pack(); }// </editor-fold> private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Kriteria kriteria=new Kriteria(); jDesktopPane1.add(kriteria); setLocationToCenter(kriteria); kriteria.show(); } private void mnAHPActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: } private void mnPrometheeActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Promethee promethee=new Promethee(); jDesktopPane1.add(promethee); setLocationToCenter(promethee); promethee.show(); } private void jMenu3MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: About about=new About(); jDesktopPane1.add(about); setLocationToCenter(about); about.show(); } private void jMenu1MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: System.exit(0); } // Variables declaration - do not modify public javax.swing.JDesktopPane jDesktopPane1; private javax.swing.JLabel jLabel1; private javax.swing.JMenu jMenu1; private javax.swing.JMenu jMenu3; private javax.swing.JMenuBar jMenuBar1; private javax.swing.JMenuItem jMenuItem1; private javax.swing.JMenu mnAHP; private javax.swing.JMenuItem mnPromethee; // End of variables declaration public void setLocationToCenter(JComponent form) { Dimension parentSiZe=jDesktopPane1.getSize(); Dimension childSize=form.getSize(); form.setLocation((parentSiZe.width - childSize.width)/2,(parentSiZe.height - childSize.height)/2); }

KUISIONER PENELITIAN

  

Survei Data Penelitian Skripsi dengan judul:

Perbandingan Metode Analytical Hierarchy Process (AHP) dan Metode Preference

Ranking Organization Method For Enrichment Evaluation (PROMETHEE)

untuk Pemilihan Hardisk Eksternal

Penulis dan Surveyor: Didi Pratama

  

Mahasiswa Ekstensi S-1 Ilmu Komputer

Fakultas Ilmu Komputer dan Teknologi Informasi

Universitas Sumatera Utara

  

Kuisioner ini disusun untuk mengetahui daya pilih konsumen terhadap Hardisk

Eksternal . Dalam survey ini, tidak ada jawaban yang salah dan benar. Survey ini

bertujuan untuk data yang dapat digunakan untuk memecahkan masalah dan

mendukung sistem keputusan terhadap pemilihan Hardisk Eksternal. Setiap informasi

yang diperoleh dari kuisioner ini murni hanya untuk tujuan akademis dan tidak

berpengaruh dengan apapun terhadap responden. Saya menjamin kerahasiaan dari

informasi yang anda berikan.

  Petunjuk Pengisian Berilah tanda ceklish (√) pada kolom skala kriteria (A) atau pada kolom skala kriteria (B) yang sesuai dengan pendapat anda.

  Defenisi Kode: 1.

  Kedua kriteria sama penting (equal importance).

  3. Kriteria (A) sedikit lebih penting (moderate importance ) dibanding dengan (B).

  5. Kriteria (A) lebih penting (strong Importance) dibanding dengan (B).

  7. Kriteria (A) sangat lebih penting (very strong importance) dibanding dengan (B).

  9. Kriteria (A) mutlak lebih penting (extreme Importance) dibanding dengan (B).

Dan jika anda ragu-ragu antara 2 skala maka ambil nilai tengahnya, misalkan anda

ragu-ragu antara 3 dan 5 maka pilih skala 4 dan seterusnya.

  Contoh: Dalam memilih Hardisk Eksternal seberapa pentingkah Kapasitas menurut konsumen

No. Kriteria Skala Skala Kriteria

  (A) (B) 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9

  1. Kapasitas √ Kecepatan transfer

  Jika anda memberi tanda (√) pada skala 7 dikolom A, maka artinya adalah kriteria A dalam contoh ini Kapasitas sangat lebih penting dibanding dengan kriteria B dalam contoh ini adalah Kecepatan transfer. Akan tetapi jika anda merasa kriteria B sangat lebih penting dibanding dengan kriteria A (Kapasitas) maka pengisian kolomnya adalah sebagai berikut:

No. Kriteria Skala Skala Kriteria

  (A) (B) 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9

1. Kapasitas

   Kecepatan transfer

  Identitas Responden Nama Responden : Lokasi Toko : Nama Toko :

1. Apakah Toko ini menjual Hardisk Eksternal? a.

  Ya b.

  Tidak Jika Jawaban Ya lanjutkan pertanyaan dan jika Tidak berhenti sampai disini dan ucapkan terima kasih.

  2. Hardisk Eksternal apakah yang paling diminati oleh konsumen dalam beberapa bulan terakhir? (Pada bagian ini dapat memilih 2 atau lebih) a.

  WD b.

  Fujitsu c. Thosiba d.

  Spectra e. A-Data f. Transcend g.

  Hitachi h. Seagate i. Buffalo j. Lacie 3.

  Tipe Hardisk Eksternal apa yang paling dicari oleh konsumen berdasarkan data diatas? Sebutkan dua atau lebih.

  a.

  b.

  c.

  d. Dalam memilih Hardisk Eksternal seberapa pentingkah menurut konsumen:

No. Kriteria Skala Skala Kriteria (B)

(A) 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9

  1. Kapasitas Kecepatan transfer

  2. Kapasitas Dimensi

  3. Kapasitas Tipe USB

No. Kriteria Skala Skala Kriteria

  (A) (B) 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9

  1. Kecepatan Dimensi transfer

  2. Kecepatan Tipe USB transfer

  

No. Kriteria Skala Skala Kriteria

(A) (B) 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9

1. Dimensi

  Tipe USB

  

DAFTAR RIWAYAT HIDUP

Data Pribadi  Nama

  : Didi Pratama  Tempat / Tgl Lahir : Dolok Maraja, 21 Juli 1990  Jenis Kelamin : Laki-Laki

   Agama : Islam 

  Status : Belum Menikah  Kewarganegaraan : Indonesia  Alamat

  : Jln. Huta II Bahapal, Pematang Siantar.  No. Telp / HP

  : 085362217037  Email :

  Riwayat Pendidikan

   1996 - 2002 : SD MIS Andalusia  2002 - 2005 : SMP Sultan Agung Pematang Siantar  2005 - 2008 : SMA Taman Siswa Tapian Dolok  2008 - 2011 : AMIK Tunas Bangsa Pematang Siantar

   2012 - 2015 : Ekstensi S1 Ilmu Komputer USU Pelatihan

   Pelatihan kerja berbasis kompetensi jurusan Jaringan Komputer di Balai Besar

Latihan Kerja Industri (BBLKI) Medan tanggal 29 April s/d 30 Mei 2014.

  Demikianlah daftar riwayat hidup ini saya buat dengan sebenarnya.

  Hormat Saya, (Didi Pratama)

Dokumen yang terkait

Gambaran Pengetahuan dan Faktor Risiko Pada Pasien Osteoartritis Yang Berobat Jalan di RSU Dr. Pirngadi Medan Tahun 2014

0 0 14

Uraian tumbuhan meliputi sistematika tumbuhan, nama daerah, morfologi tumbuhan, kandungan kimia, khasiat dan penggunaan. 2.1.1 Sistematika tumbuhan

0 0 13

Pengaruh Perbandingan Sirsak Dan Daun Katuk Dengan Konsentrasi Gum Arab Terhadap Mutu Fruit Leather Berlapis Cokelat

0 0 16

Pengaruh Perbandingan Sirsak Dan Daun Katuk Dengan Konsentrasi Gum Arab Terhadap Mutu Fruit Leather Berlapis Cokelat

0 0 13

Pengaruh Perbandingan Sirsak Dan Daun Katuk Dengan Konsentrasi Gum Arab Terhadap Mutu Fruit Leather Berlapis Cokelat

0 0 14

Kecernaan Bahan Kering dan Bahan Organik Ransum yang Mengandung Pelepah Daun Kelapa Sawit dengan Perlakuan Fisik, Kimia, Biologis dan Kombinasinya Pada Domba

0 1 13

Kecernaan Bahan Kering dan Bahan Organik Ransum yang Mengandung Pelepah Daun Kelapa Sawit dengan Perlakuan Fisik, Kimia, Biologis dan Kombinasinya Pada Domba

0 1 12

BAB II PERTIMBANGAN PERLUNYA PENGATURAN DIVESTASI SAHAM ASING DALAM KEGIATAN PENANAMAN MODAL ASING DI INDONESIA A. Sejarah Pengaturan Penanaman Modal Asing di Bidang Pertambangan Minerba 1. Istilah dan Pengertian Kontrak Karya - Perimbangan Kepentingan Pe

0 0 24

BAB II TINJAUAN PUSTAKA 2.1. Persepsi - Persepsi Ayah dan Ibu Tentang Pendidikan Seks Bagi Remaja Putra Dan Putri Di Kelurahan Sitataring Kecamatan Batang Ayumi Julu Kota Padangsidimpuan Tahun 2015

0 0 27

BAB I PENDAHULUAN 1.1. Latar Belakang - Persepsi Ayah dan Ibu Tentang Pendidikan Seks Bagi Remaja Putra Dan Putri Di Kelurahan Sitataring Kecamatan Batang Ayumi Julu Kota Padangsidimpuan Tahun 2015

0 0 10