Penentuan Faktor Kriteria Terbesar pada Suatu Sistem Pendukung Keputusan Bermetode Analytical Hierarchy Process (AHP) Menggunakan Algoritma Iterative Dichotomiser 3 (ID3)

(1)

ABSTRAK

PENENTUAN FAKTOR KRITERIA TERBESAR PADA SUATU SISTEM PENDUKUNG KEPUTUSAN BERMETODE ANALYTICAL HIERARCHY

PROCESS (AHP) MENGGUNAKAN ALGORITMA ITERATIVE DICHOTOMISER 3(ID3)

Oleh

TUBAGUS RIKI ANDRIAN

Setiap perusahaan secara berkala melaksanakan penerimaan pegawai baru. Dengan adanya sistem pendukung keputusan diharapkan membantu perusahaan dalam penerimaan pegawai. Ada berbagai macam metode dalam membangun sebuah SPK dan salah satunya adalah metode AHP. AHP merupakan salah satu metode SPK yang dapat menangani penyeleksian multi kriteria. Dalam tiap penyeleksian, memunculkan pertanyaan kriteria apakah yang paling berpengaruh dalam suatu penyeleksian. Dengan menggunakan hasil dari SPK bermetode AHP sebagai data sampel, digunakan algoritma ID3 untuk mencari faktor kriteria terbesar pada suatu penyeleksian. Hasil penelitian ini menunjukan bahwa kriteria yang diunggulkan dalam pembobotan kriteria tidak selalu menjadi faktor kriteria terbesar dan faktor kriteria terbesar cendrung memiliki data yang lebih beragam dibanding kriteria lain.

Kata kunci : Analytical Hierarchy Process (AHP), Iterative Dichotomiser 3 (ID3),


(2)

ABSTRACT

DETERMINATION OF THE BIGGEST FACTOR CRITERIA IN A DECISION SUPPORT SYSTEM WITH ANALYTICAL HIERARCHY PROCESS (AHP)

METHODS USING ITERATIVE DICHOTOMISER 3 (ID3)ALGORITHM

By

TUBAGUS RIKI ANDRIAN

Each company periodically conducts recruitment. With the decision support system is expected to help the company in recruitment. There are various methods to build a DSS and one of them is AHP methods. AHP is one method that can handle the selection of DSS multi-criteria. In each selection, raises the question whether the most influential criteria in the some selection. Using the results from the DSS with AHP methods as sample data, the ID3 algorithm is used to find the biggest factor in the screening criteria. These results indicate the criteria are favored in the weighting criteria are not always the biggest factor and the biggest criteria factors tend to have a wider range of data than other criteria.

Keywords: Analytical Hierarchy Process (AHP), Iterative Dichotomiser 3 (ID3), Decision Support Systems (DSS).


(3)

PENENTUAN FAKTOR KRITERIA TERBESAR PADA SUATU SISTEM PENDUKUNG KEPUTUSAN BERMETODE

ANALYTICAL HIERARCHY PROCESS (AHP) MENGGUNAKAN

ALGORITMA ITERATIVE DICHOTOMISER 3(ID3)

Oleh

Tubagus Riki Andrian

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar SARJANA KOMPUTER

Pada

Jurusan Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG

BANDAR LAMPUNG 2014


(4)

(5)

(6)

(7)

RIWAYAT HIDUP

Penulis dilahirkan di Bandar Lampung Provinsi Lampung pada tanggal 17 Agustus 1992 sebagai anak pertama dari dua bersaudara dengan Ayah bernama (Alm) Wibowo dan Ibu bernama Sri Rejeki.

Penulis memasuki Taman Kanak-Kanak (TK) pada tahun 1996 di TK Among Putra Kelurahan Gunung Sulah Kecamatan Way Halim Kota Bandar Lampung. Penulis melanjutkan pendidikan dasar di Sekolah Dasar (SD) Al-Azhar 2 Way Halim Bandar Lampung pada tahun 1998 dan lulus pada tahun 2004. Penulis melanjutkan pendidikan di Sekolah Menengah Pertama (SMP) Negeri 4 Bandar Lampung dan lulus pada tahun 2007, kemudian penulis melanjutkan pendidikan di Sekolah Menengah Kejuruan (SMK) Negeri 2 Bandar Lampung dan lulus pada tahun 2010.

Pada tahun 2010, penulis terdaftar sebagai mahasiswa Program Studi Ilmu Komputer Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung melalui jalur SNMPTN. Selama menjadi mahasiswa penulis cukup aktif dalam organisasi antara lain menjabat sebagai anggota bidang keolahragaan Himatika (Himpunan Mahasiswa Jurusan Matematika) periode 2011-2012 dan menjabat sebagai ketua bidang internal Himakom (Himpunan Mahasiswa Jurusan Ilmu Komputer) periode 2012-2013. Selama menjadi mahasiswa beberapa kegitan yang dilakukan penulis antara lain:


(8)

1. Pada bulan Januari 2013 penulis melaksanakan kuliah kerja nyata di Pekon Kutawaringin Kecamatan Adiluwih Kabupaten Pringsewu.

2. Pada bulan Juli 2013 penulis melaksanakan kerja praktek di Auto 2000 Raden Intan Bandar Lampung.

3. Pada bulan November 2013 penulis terdaftar sebagai salah satu pemateri dalam Seminar Nasional Sains dan Teknologi V Lembaga Penelitian Universitas Lampung yang dilaksanakan di Hotel Emersia Kota Bandar Lampung.


(9)

PERSEMBAHAN

Dengan mengucap syukur Alhamdulillah, kupersembahkan karya

kecilku ini untuk :

Ibuku tercinta yang telah membesarkan, menyayangi, mendidik,

menafkahi, dan selalu berdo’a untuk keberhasilan anak

-anaknya.

Almarhum ayahku tercinta yang menjadi motivator terbaik dalam

mengarungi pahit manis kehidupan.


(10)

MOTO

Tidak Ada Kekayaan yang Melebihi Akal

dan Tidak Ada Kemelaratan yang Melebihi


(11)

SANWACANA

Alhamdulillahirabbil Allamin, puji syukur penulis panjatkan kepada Allah SWT karena atas rahmat dan karunia-Nya penulis dapat menyelesaikan penelitian sebagai skripsi penulis.

Skripsi ini disusun sebagai syarat untuk memperoleh gelar Sarjana Komputer di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Lampung. Skripsi ini berjudul “Penentuan Faktor Kriteria Terbesar pada Suatu Sistem Pendukung Keputusan Bermetode Analytical Hierarchy Process

(AHP) Menggunakan Algoritma Iterative Dichotomiser 3(ID3)”.

Dalam penyusunan skripsi ini, penulis banyak menghadapi kesulitan. Namun berkat bantuan serta dorongan dari berbagai pihak, akhirnya penulis dapat menyelesaikan skripsi ini. Untuk itu dalam kesempatan ini penulis mengucapkan terima kasih sebesar-besarnya terhadap:

1. Orang tua, adik, dan saudara-saudara yang selalu mendoakan dan memberikan dukungan baik moril maupun material kepada penulis demi selesainya mengenyam pendidikan di Universitas Lampung ini.

2. Bapak Aristoteles S.Si., M.Si., selaku pembimbing I dalam skripsi sekaligus menjadi pembimbing akademik dalam perkuliahan yang telah memberikan


(12)

kritik serta masukan dalam masa-masa perkuliahan hingga mengerjakan skripsi.

3. Bapak Ir. Machudor Yusman, M.Kom. selaku pembimbing II dalam skripsi dan Ketua Jurusan Ilmu Komputer yang telah memberikan masukan dalam pengerjaan skripsi ini ditengah-tengah kesibukannya dalam menjabat Ketua Jurusan.

4. Bapak Dwi Sakethi, S.Si., M.Kom. selaku pembahas dan Sekertaris Jurusan Ilmu Komputer yang berkenaan memberikan kritik dan saran dalam skripsi ini. Serta telah membantu penulis dalam menjalani perkuliahan di Jurusan Ilmu Komputer.

5. Bapak Prof. Suharso, Ph.D., selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung.

6. Ibu Anita, A.md. selaku staf administrasi di Jurusan Ilmu Komputer yang telah memberikan kemudahan dalam menyelesaikan administrasi dalam pengerjaan skripsi.

7. Rekan-rekan penghuni setia ruang baca Gd. MIPA T. Adi, Omes, Ricky, Pandu, Harry, Fajar, Imam, Revi, Herman, Mas Kholis, serta adik dan kakak tingkat yang telah memberikan penulis inspirasi dan keceriaan dalam masa-masa perkuliahan.

8. Seluruh teman-teman angkatan 2010 Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung..

Semoga skripsi ini dapat memberikan manfaat bagi semua pihak yang membutuhkannya. Akhir kata, penulis menyadari bahwa skripsi ini masih jauh dari kata sempurna, karena pada hekekatnya kesempurnaan hanyalah milik Allah SWT.


(13)

Untuk itu, penulis memohon maaf atas segala kekurangan dan keterbatasan pada skripsi ini. Kritik dan saran yang membangun sangat diharapkan untuk perbaikan di masa yang akan datang.

Bandar Lampung, 16 Oktober 2014


(14)

DAFTAR ISI

Halaman

DAFTAR TABEL ... xvi

DAFTAR LAMPIRAN ... xviii

DAFTAR GAMBAR ...xix

I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Batasan Masalah ... 3

1.4 Tujuan ... 4

1.5 Manfaat ... 4

II TINJAUAN PUSTAKA ... 5

2.1 Sistem Pendukung Keputusan (Decision Support System) ... 5

2.2 Analytical Hierarchi Process (AHP) ... 6

2.3 Iterative Dichotomiser 3 (ID3) ... 9

2.4 Agile Methods Model Extreme Programing ... 10

2.5 Flowchart ... 12

2.6 Unified Modeling Language (UML) ... 14

2.7 Use Case Diagram ... 14

2.8 Activity Diagram ... 15


(15)

III METODE PENELITIAN ... 17

3.1. Metode Pengembangan Sistem ... 17

3.2. Tempat dan Waktu... 18

3.3. Lingkungan Penelitian ... 18

3.4. Analisis Kebutuhan ... 18

3.5. Desain ... 19

3.5.1 Kerangka Pikir Sistem... 19

3.5.2 Use Case Diagram ... 22

3.5.3 Activity Diagram ... 23

3.5.4 Tabel Relasi ... 26

3.5.5 User Interface... 28

IV HASIL DAN PEMBAHASAN ... 32

4.1.Implementasi Metode AHP... 32

4.2.Implementasi Algoritma ID3 ... 39

4.3.Deskripsi Program ... 42

4.4.Pengujian... 50

V KESIMPULAN DAN SARAN ... 58

5.1.Kesimpulan ... 58

5.2.Saran ... 58

DAFTAR PUSTAKA ... 59


(16)

DAFTAR TABEL

Tabel Halaman

1. Skala penilaian perbandingan pasangan ... 7

2. Nilai RI ... 8

3. Simbol pada flowchart ... 13

4. Simbol pada use case diagram ... 15

5. Simbol pada activity diagram ... 16

6. Matriks perbandingan berpasangan tingkat hirarki kriteria ... 33

7. Matriks bobot relatif yang dinormalkan dan vektor eigen tingkat hirarki kriteria ... 34

8. Data dummy alternatif kandidat ... 35

9. Matriks pebandingan berpasangan pengalaman kandidat ... 36

10.Matriks bobot relatif pengalaman kandidat yang dinormalkan dan vektor eigen tiap kandidat pada kriteria pengalaman ... 37

11.Vektor eigen tiap alternatif ... 37

12.Total rangking tiap alternatif... 38

13.Hasil perangkingan alternatif ... 39

14.Pembagian subkriteria ... 40

15.Alternatif diterima ... 40

16.Alternatif ditolak ... 41


(17)

18.Data pelamar lowongan administrasi ... 50

19.Nilai AHP lowongan administrasi beserta keterangan tiap kriteria ... 51

20.Data pelamar lowongan customer service ... 53

21.Nilai AHP lowongan costumer service beserta keterangan tiap kriteria ... 54

22.Data pelamar lowongan HRD ... 54

23.Nilai AHP lowongan HRD beserta keterangan tiap kriteria ... 56


(18)

DAFTAR LAMPIRAN

Lampiran Halaman

1. Source Code Implementasi Metode AHP ...62 2. Source Code Implementasi Algoritma ID3 ...72


(19)

DAFTAR GAMBAR

Gambar Halaman

1. Struktur Hirarki AHP ... 2

2. Tahapan Extreme Programming ... 12

3. Flowchart Kerangka Pikir Utama Sistem ... 20

4. Use case diagram ... 22

5. Activity diagram login ... 23

6. Activity diagram input pelamar ... 24

7. Activity diagram lihat master lowongan ... 24

8. Activity diagram lihat master jabatan... 25

9. Activity diagram ubah matriks perbandingan berpasangan ... 25

10.Activity diagram lihat hasil seleksi. ... 26

11.Tabel Relasi ... 27

12.Interface tambah pelamar awal ... 28

13.Interface tambah pelamar... 29

14.Interface lihat master lowongan ... 29

15.Interface lihat master jabatan ... 30

16.Interface ubah matriks ... 30

17.Lihat hasil seleksi awal ... 31


(20)

19.Struktur hirarki SPK ... 32

20.Halaman Login ... 43

21.Halaman Beranda ... 44

22.Halaman Master Jabatan ... 44

23.Halaman Master Lowongan ... 45

24.Pilih Lowongan Rekrut ... 46

25.Data Pelamar ... 47

26.Form Input Pelamar ... 47

27.Form Matriks Perbandingan... 48

28.Hasil SPK ... 49

29.Faktor Kriteria Terbesar ... 49

30.Matriks Perbandingan Berpasangan Lowongan Administrasi ... 50

31.Hasil Keputusan Lowongan Administrasi ... 51

32.Faktor Kriteria Terbesar Lowongan Administrasi ... 52

33.Matriks Perbandingan Berpasangan Lowongan Customer Service ... 52

34.Hasil Keputusan Lowongan Customer Service ... 53

35.Faktor Kriteria Terbesar Lowongan Customer Service ... 54

36.Matriks Perbandingan Berpasangan Lowongan HRD ... 55

37.Hasil Keputusan Lowongan HRD ... 55


(21)

BAB I PENDAHULUAN

1.1. Latar Belakang

Pada setiap perusahaan pasti memiliki departemen yang bertugas dalam memanajemen sumber daya manusia. Manajemen sumber daya manusia di perusahaan dapat meliputi proses rekruitmen, pembinaan, dan pelatihan pegawai. Dalam proses rekruitmen memerlukan sebuah standar seleksi penerimaan pegawai, hal ini diperlukan agar diperoleh pegawai yang berkualitas dan sesuai dengan kebutuhan perusahaan tersebut.

Untuk menghindari penilaian secara subjektif pada penyeleksi pegawai baru, dibutuhkan suatu sistem yang dapat menjadi acuan atau masukan dalam penyeleksian pegawai. Menurut Wibowo (2010) Sistem pendukung keputusan (SPK) adalah salah satu sistem yang dapat dimanfaatkan untuk mendukung suatu keputusan dari pengambilan keputusan. SPK merupakan suatu pendekatan untuk mendukung pengambilan keputusan. SPK menggunakan data, memberikan antarmuka pengguna yang mudah, dan dapat menggabungkan pemikiran pengambil keputusan.

Dalam penerapan SPK yang memiliki multi kriteria terdapat berbagai metode yang dapat digunakan antara lain, Analytical Hierarchy Process (AHP), Gray Relational


(22)

2

Analysis (GRA), Simple Additive Weighting (SAW), danTOPSIS. Salah satu metode yang umum diterapkan pada suatu SPK adalah AHP. Pada penelitian lain yang dilakukan Ramadan et.al. (2013) disebutkan bahwa metode AHP dapat diterapkan pada seleksi penerimaan pegawai. Pada penelitian tersebut disebutkan bahwa dengan menggunakan metode AHP pada suatu SPK menghasilkan hasil yang lebih baik dalam menampilkan skor evaluasi.

Pada metode AHP terdapat suatu hirarki yang terdiri dari 3 aspek utama yaitu objek, kriteria, dan alternatif. Struktur hirarki tersebut dapat dilihat pada Gambar 1.

Gambar 1. Struktur Hirarki AHP (Ramadan et.al, 2013)

Aspek objek merupakan objek/tujuan dibangunnya suatu SPK, aspek kriteria merupakan kriteria-kriteria yang menjadi penilaian perusahaan dalam penyeleksian, dan aspek alternatif merupakan kandidat alternatif pilihan dalam penyeleksian.

Objek

kriteria 1

alternatif 1 alternatif 2 alternatif 3

...

kriteria 2

alternatif 1 alternatif 2 alternatif 3

...

kriteria 3

alternatif 1 alternatif 2 alternatif 3

...

kriteria 4

alternatif 1 alternatif 2 alternatif 3


(23)

3

Dalam penelitian yang dilakukan Ramadan et.al (2013) menghasilkan suatu perangkingan dari alternatif-alternatif yang diuji. Namun dari hasil perangkingan itu tidak diketahui kriteria apa yang berperan besar dalam mempengaruhi hasil perangkingan tersebut. Oleh karena itu, dalam penelitian ini dilakukan penelitian kriteria terbesar dalam suatu SPK yang menggunakan metode AHP. Algoritma yang digunakan untuk mengetahui apakah faktor kriteria yang paling besar memberikan pengaruh pada SPK yang menggunakan metode AHP adalah algoritma ID3.

1.2. Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan, maka rumusan masalah yang dapat dikaji dari penelitian ini yaitu bagaimana membuat sistem pendukung keputusan dalam penyeleksian pegawai baru yang menggunakan metode AHP dan memberikan faktor kriteria terbesar dalam suatu penyeleksian dengan menggunakan algoritma ID3.

1.3. Batasan Masalah

Batasan masalah dalam penelitian ini adalah:

1. Model SPK yang digunakan adalah SPK penerimaan pegawai pada perusahaan.

2. Metode SPK yang menjadi objek penelitian adalah Analytical Hierarchy Process (AHP).

3. Algoritma yang digunakan dalam pencarian faktor kriteria terbesar adalah ID3. 4. Faktor kriteria yang digunakan adalah ijazah terakhir, pengalaman kerja, IPK,


(24)

4

1.4. Tujuan

Tujuan dari penelitian ini adalah menganalisa suatu penyeleksian pegawai dari SPK yang menggunakan metode AHP dan menggunakan algoritma ID3 untuk memberikan informasi faktor kriteria terbesar dalam penyeleksian pegawai baru.

1.5. Manfaat

Manfaat yang dapat diperoleh dari penelitian ini adalah perusahaan dapat memanfaatkan SPK dalam penyeleksian pegawai baru serta dapat diketahui faktor kriteria terbesar dalam suatu penyeleksian yang dilakukan.


(25)

BAB II

TINJAUAN PUSTAKA

2.1. Sistem Pendukung Keputusan (Decision Support System)

Sistem Pendukung Keputusan (SPK) merupakan sistem yang dibuat untuk membantu mengambil keputusan oleh komputer dalam suatu permasalahan. Dalam kasus ini komputer bukan sebagai pengganti dalam mengambil keputusan melainkan hanya membantu pengguna dalam mengambil keputusan dengan cara menampilkan hasil kalkulasi data yang diberikan pengguna sehingga dapat menjadi patokan dalam mengambil keputusan.

Pendapat beberapa ahli bahwa SPK atau Decision Support System (DSS) dibuat untuk meningkatkan proses dan kualitas hasil pengambilan keputusan, dimana DSS dapat memadukan data dan pengetahuan untuk meningkatkan efektivitas dan efisiensi dalam proses pengambilan keputusan tersebut, di samping itu SPK juga memberdayakan resources individu secara intelek dengan kemampuan komputer untuk meningkatkan kualitas keputusan dan berhubungan dengan manajemen pengambilan keputusan serta berhubungan dengan masalah-masalah yang semi terstruktur (Maharrani dkk. 2010).


(26)

6

2.2. Analytical Hierarchi Process (AHP)

Metode AHP yang dikembangkan oleh Thomas L Saaty merupakan model hirarki fungsional dengan input utamanya persepsi manusia. Dengan adanya hirarki, masalah kompleks atau tidak terstruktur dipecah dalam sub-sub masalah kemudian disusun menjadi suatu bentuk hirarki. AHP mempunyai kemampuan untuk memecahkan masalah multi kriteria yang berdasar pada perbandingan preferensi dari setiap elemen dalam hirarki (Husni, 2010). Menurut Husni (2010) langkah-langkah pada metode AHP adalah:

1. Mendefinisikan masalah dan menentukan solusi yang diinginkan.

2. Membuat struktur hirarki yang diawali dengan tujuan umum, kriteria dan kemungkinan alternatif pada tingkatan kriteria yang paling bawah.

3. Membuat matriks perbandingan berpasangan. Perbandingan bersadarkan penilaian atau ”judgment” dari pengambil keputusan dengan menilai tingkat kepentingan suatu elemen dibandingkan elemen lainnya.

4. Melakukan perbandingan berpasangan sehingga diperoleh judgment

seluruhnya sebanyak − buah, dengan n adalah banyaknya elemen yang dibandingkan.

5. Menghitung nilai eigen dan menguji konsistensinya, jika tidak konsisten maka pengambilan data diulangi.

6. Mengulangi langkah 3, 4 dan 5 untuk seluruh tingkat hirarki.

7. Menghitung vektor eigen dari setiap matriks perbandingan berpasangan. Nilai

vektor eigen merupakan bobot setiap elemen. Langkah ini untuk mensintesis

judgment dalam penentuan prioritas elemen-elemen pada tingkat hirarki terendah sampai pencapaian tujuan.


(27)

7

8. Memeriksa konsistensi hirarki. Konsistensi suatu hirarki ditunjukan dari nilai

consistency ratio (CR). Jika nilai CR lebih dari 10% maka penilaian data

judgment harus diperbaiki.

Untuk menilai perbandingan tingkat kepentingan elemen, ditetapkan skala kuantitatif 1 sampai 9 ditunjukkan pada Tabel 1 di bawah ini.

Tabel 1. Skala penilaian perbandingan pasangan (Husni, 2010) Intensitas

Kepentingan Keterangan

1 Kedua elemen sama pentingnya

3 Elemen yang satu sedikit lebih penting daripada elemen lainnya.

5 Elemen yang satu lebih penting dari pada elemen yang lainnya.

7 Satu elemen mutlak penting daripada elemen lainnya.

9 Satu elemen mutlak sangat penting daripada elemen lainnya. 2, 4, 6, 8 Nilai-nilai antara dua nilai pertimbangan yang berdekatan. Kebalikan Jika untuk aktivitas i mendapatkan satu angka dibanding

dengan aktivitas j, maka j mempunyai nilai kebalikannya dibanding dengan i

Menurut Husni (2010) matriks bobot yang diperoleh dari perbandingan berpasangan harus memiliki hubungan kardinal dan hubungan ordinal.

1) Hubungan kardinal dapat diketahui dengan melihat preferensi multiplikatif, misalnya bola voli lebih besar 3x bola tenis, bola tenis lebih besar 2x bola pingpong, maka bola voli lebih besar 6x bola pingpong

2) Hubungan ordinal dapat dilihat dengan melihat preferensi transitif, misalnya bola voli lebih besar dari bola tenis dan bola tenis lebih besar dari bola pingpong maka bola voli lebih besar dari bola pingpong.


(28)

8

Pada keadaan nyata sering terjadi penyimpangan dari hubungan tersebut sehingga matriks menjadi tidak konsisten. Penyimpangan konsistensi dinyatakan dengan

Consistency Index(CI) dengan persamaan:

�� =

� ��−

(Husni, 2010)

λ max = eigenvalue maksimum

n = ukuran matriks

Kebalikan dari CI adalah Random Index (RI) untuk matriks dengan ukuran yang berbeda-beda dan ditunjukkan pada Tabel 2.

Tabel 2. Nilai RI (Husni, 2010) Ukuran Matrix Index Random

1,2 0.00

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.54

13 1.56

14 1.57

15 1.59

Perbandingan antara CI dan RI suatu matriks didefinisikan sebagai Consistency Ratio(CR).

� =

�� Husni (2010)

Matriks perbandingan berpasangan untuk model AHP dapat diterima jika besarnya CR ≤ 0.1.


(29)

9

2.3.Iterative Dichotomiser 3 (ID3)

Algoritma Iterative Dichotomizer Three (ID3) adalah suatu metode induksi aturan yang digunakan untuk menghasilkan konsep atau model dari suatu kumpulan data. ID3 diperkenalkan pertama kali oleh Quinlan pada tahun 1979. ID3 dikembangkan atas dasar sistem pembelajaran konsep (Concept Learning System), tujuan dari sistem pembelajaran konsep adalah untuk menghasilkan suatu pohon aturan yang mampu mengklasifikasikan suatu objek (Manongga, 2005).

Menurut Elmande dan Widodo (2012), algoritma pada metode ini menggunakan konsep dari entropi informasi. Secara ringkas cara kerja algoritma ID3 dapat dijelaskan sebagai berikut.

1. Pemilihan atribut dengan menggunakan Information Gain. 2. Pilih atribut di mana nilai information gain-nya terbesar. 3. Buat simpul yang berisi atribut tersebut.

4. Proses perhitungan information gain terus dilaksanakan sampai semua data telah termasuk dalam kelas yang sama. Atribut yang telah dipilih tidak diikutkan lagi dalam perhitungan nilai information gain.

Pemilihan atribut pada ID3 dilakukan dengan properti statistik, yang disebut dengan

information gain. Gain mengukur seberapa baik suatu atribut memisahkan training example ke dalam kelas target. Atribut dengan informasi tertinggi dipilih dengan tujuan untuk mendefinisikan gain, pertama-tama digunakanlah ide dari teori informasi yang disebut entropi. Entropi mengukur jumlah dari informasi yang ada pada atribut dengan rumus :


(30)

10

Berdasarkan rumus di atas, P+ adalah probabilitas sampel S yang mempunyai class positif. P+ dihitung dengan membagi jumlah sampel positif (S+) dengan jumlah

sampel keseluruhan (S) sehingga

+

=

+

.

P–adalah probabilitas sampel S yang mempunyai class negatif. P– dihitung dengan membagi jumlah sampel negatif (S–) dengan jumlah sampel keseluruhan (S)

sehingga

_

=

.

Bagian daun dari sebuah decision tree, idealnya hanya terdiri dari data e-mail Spam dan e-mail non-Spam. Dengan kata lain bagian daun adalah sampel murni, jadi ketika membagi sebuah sampel, sisa sampel harus lebih murni dibandingkan simpul sebelumnya. Oleh karena itu nilai entropy harus dikurangi. Pada algoritma ID3 pengurangan entropy disebut dengan informtion gain. Pembagian sampel S terhadap atribut A dapat dihitung information gain dengan rumus:

��� , � = � �� �

|

| | � �� � �

|

� � � �� �

Value A adalah semua nilai yang mungkin dari atribut A, dan Sv adalah subset dari S dimana A mempunyai nilai c. bagian pertama pada rumus adalah entropy total S dan bagian kedua adalah entropy sesudah dilakukan pemisahan data berdasarkan atribut A (Elmande & Widodo, 2012).

2.4. Agile Methods Model Extreme Programing

Pada dekade 90-an diperkenalkan metodologi baru yang dikenal dengan nama agile methods. Metodologi ini sangat revolusioner perubahannya jika dibandingkan


(31)

11

dengan berbagai metode sebelumnya. Agile methods dikembangkan karena pada metodologi tradisional terdapat banyak hal yang membuat proses pengembangan tidak dapat berhasil dengan baik sesuai tuntutan user (Widodo dan Subekti, 2006). Menurut Widodo dan Subekti (2006) saat ini agile methods sudah cukup banyak berkembang, macam-macam agile methods yang berkembang diantaranya adalah:

1. eXtreme Programming (XP) 2. Scrum Methodology

3. Crystal Family

4. Dynamic Systems Development Method (DSDM) 5. Adaptive Software Development (ASD)

6. Feature Driven Development (FDD)

Salah satu model yang umum digunakan dalam agile methods adalah extreme programing (XP). Model ini merupakan metode pengembangan perangkat lunak yang ringan dan dipelopori oleh Kent Beck, Ron Jeffries, dan Ward Cunningham. XP merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal. Sasaran XP adalah tim yang dibentuk berukuran antara kecil sampai sedang saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat cepat (Widodo dan Subekti, 2006).

Menurut Pressman (2010), terdapat 4 tahapan pada pengembangan perangkat lunak yang menggunakan XP yaitu planning, design, ceoding, dan testing. Gambar 3


(32)

12

merupakan penggambaran dari tahapan-tahapan yang ada pada extreme programming.

Gambar 3. Tahapan Extreme Programming (Pressman, 2010)

2.5. Flowchart

Flowchart atau bagan alur merupakan metode untuk menggambarkan tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-simbol standart

yang mudah dipahami. Tujuan utama penggunaan flowchart adalah untuk menyederhanakan rangkaian proses atau prosedur untuk memudahkan pemahaman pengguna terhadap informasi tersebut. Untuk itu, desain sebuah flowchart harus ringkas, jelas, dan logis (Soeherman dan Pinontoan, 2008).

Seperti telah disebutkan bahwa flowchart menggunakan berbagai simbol yang terstandarisasi secara internasional. Simbol yang digunakan dalam membangun


(33)

13

Tabel 3. Simbol pada Flowchart

Nama Simbol Keterangan

Terminal symbol Menunjukan awal atau

akhir dari program

Preparation symbol Memberikan nilai awal

pada suatu variable atau

counter

Processing symbol Menunjukan pengolahan

aritmatika atau pemindahan data

Input/output symbol Menunjukan proses input

atau output

Decision symbol Mewakili operasi

perbandingan logika

Predefined process symbol

Proses ditulis sebagai subprogram, yaitu prosedur/fungsi

Connector symbol Penghubung pada

halaman yang sama

Off page connector symbol

Penghubung pada halaman yang berbeda


(34)

14

2.6. Unified Modeling Language (UML)

UML dirilis tahun 1987 sebagai sebuah metode untuk menggambarkan desain

software. UML didesain oleh untuk konsorsium untuk mendesain dan menganalisa berorientasi objek. UML merupakan metode standar untuk dokumentasi software

berorientasi objek.

Keuntungan menggunakan UML, adalah:

1. Software terdesain dan terdokumentasi secara professional sebelum dibuat. 2. Desain yang dibuat terlebih dahulu membuat reusable code dapat dikode

dengan tingkat efisien yang tinggi.

3. ‘Lubang’ dapat ditemukan saat penggambaran desain.

4. Dengan membuat UML dapat melihat gambaran besar dari suatu software.

UML menjanjikan akan menghasilkan hasil dengan biaya rendah, software

lebih efisien, lebih dapat dipercaya, dan hubungan antar bagian yang terlibat menjadi lebih baik (Siswoutomo, 2005).

2.7. Use CaseDiagram

Use case merupakan permodelan untuk tingkah laku (behavior) sistem informasi yang dibuat. Use case mendeskripsikan sebuat interaksi antara satu atau lebih aktor dengan sistem informasi. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Syarat penamaan pada use case adalah didefinisikan sederhana mungkin dan dapat dipahami (Rosa dan Salahudin, 2011). Simbol-simbol yang digunakan pada use case diagram ditunjukkan pada Tabel 3.


(35)

15

Tabel 4. Simbol pada use case diagram

Nama Simbol Deskripsi

Use case

Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor; biasanya dinyatakan dengan menggunakan kata kerja frase nama

use case

Aktor

Orang, proses, datau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat

Asosiasi

Komunikasi antara aktor dengan use case yang berpatisipasi pada use case atau use case yang memiliki interaksi dengan aktor

Ekstensi

Relasi use case tambahan ke sebuah

use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu.

Generalisasi

Hubungan generalisasi dan spesialisasi (umum-khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainya

Include

(menggunakan)

Relasi use case tambahan ke sebuah

use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankannya usecase ini.

2.8. Activity Diagram

Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktifitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan di sini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor (Rosa dan Salahudin, 2011). Simbol-simbol yang digunakan pada


(36)

16

Tabel 5. Simbol pada activity diagram

Nama Simbol Deskripsi

Status awal

Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal

Aktivitas

Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja.

Percabangan

Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu.

Penggabungan / join

Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu.

Status akhir

Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.

Swinelane

Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi.

2.9. Relation Table

Tabel dalam database adalah struktur data logis yang diasumsikan menyimpan data yang direpresentasikan oleh database. Tabel bukan merupakan struktur fisik dan setiap tabel memiliki nama yang unik. Tabel memuat sejumlah kolom atau atribut yang telah ditentukan. Setiap kolom di dalam tabel harus memiliki nama dan tidak ada dua kolom di dalam sebuah tabel yang boleh memiliki nama identik. Dan relasi secara matematis didefinisikan sebagai himpunan pemetaan untuk menghindari penataan nama-nama secara eksplisit. (Mata-Toledo dan Cushman, 2007).


(37)

BAB III

METODE PENELITIAN

3.1. Metode Pengembangan Sistem

Pendekatan metode pengembangan sistem yang digunakan peneliti merupakan salah satu dari agile methods yaitu eXtreme Programming (XP). Dalam metode ini terdapat 4 tahapan dalam pengerjaannya yaitu:

1. Planning

Dalam tahap ini dikumpulkan kebutuhan awal user atau dalam XP disebut user stories. Hal ini dibutuhkan agar pengembang mengerti bisnis konten, kebutuhan

output sistem, dan fitur utama dari software yang dikembangkan. 2. Design

Desain dari sistem pada penelitian ini digambarkan dengan model UML berupa

use case diagram, activity diagram, dan relation table. Pembuatan desain pada XP tetap mengedepankan prinsip Keep it Simple (KIS). Desain disini merupakan representasi dari sistem guna mempermudah pengembang dalam membangun sistem.

3. Coding

Pada tahap ini dibangun SPK yang menjadi objek penelitian. Sistem dibangun berdasarkan desain yang telah dibuat pada tahap sebelumnya. Dalam


(38)

18

pembangunan sistemini menggunakan bahasa pemrograman PHP, HTML, dan MySQL. Bahasa pemrograman tersebut didukungoleh software XAMPP. Pada tahap coding juga disisipkan tahap refactoring. Refactoring adalah proses mengubah sistem perangkat lunak sedemikian rupa dengan tidak mengubah eksternal kode dalam memperbaiki struktur internalnya. Hal ini dilakukan untuk meminimalkan kemungkinan adanya bug.

4. Testing

Pada tahap ini sistem yang telah dibangun dicoba apakah kebutuhan awal user

atau user stories sudah dipenuhi dan apabila terpenuhi software siap dirilis.

3.2.Tempat dan Waktu

Penelitian ini dilakukan di Laboratorium Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Univeristas Lampung. Waktu penelitian dilaksanakan dari bulan April 2014 sampai bulan September 2014.

3.3. Lingkungan Penelitian

Lingkungan yang digunakan dalam penelitian ini adalah:

1. Perangkat lunak: OS Windows 7 Ultimate 32 bit, XAMPP, Web Browser, Adobe Dreamweaver, Enterprise Architecture.

2. Perangkat keras: Notebook Asus A43SD dengan spesifikasi Processor Intel Pentium B960 Dual Core @2,2GHz, RAM 2 GB, HDD 320 GB.

3.4. Analisis Kebutuhan

1. Dalam pengembangan sistem yang menggunakan metode XP terdapat tahap


(39)

19

awal user adalah membangun sistem yang dapat melakukan penyeleksian pegawai dengan menggunakan metode AHP serta memberikan informasi faktor kriteria terbesar dalam penyeleksian dengan menggunakan algoritma ID3.

2. Dalam membangun sebuah SPK menggunakan metode AHP dibutuhkan informasi berupa data-data pelamar atau calon pegawai baru yang menjadi objek pada SPK. Data-data yang dibutuhkan SPK adalah:

a. Ijazah terakhir.

b. Lama pengalaman kerja. c. IPK.

d. Nilai tes TPA. e. Nilai tes TOEFL.

f. Tipe Universitas Asal Pelamar

3. Selain data-data pelamar, pada SPK yang menggunakan metode AHP juga dibutuhkan input berupa matriks perbandingan berpasangan tiap kriteria. 4. Dalam pencarian faktor kriteria terbesar menggunakan algoritma ID3

dibutuhkan informasi hasil penyeleksian dari SPK berupa data-data pelamar baik itu yang diterima maupun ditolak perusahaan.

3.5. Desain

3.5.1 Kerangka Pikir Sistem

Terdapat dua komponen utama yang dibangun pada sistem ini yaitu SPK yang menggunakan metode AHP dan penentu faktor kriteria terbesar yang menggunakan


(40)

20

algoritma ID3. Secara umum kerangka pikir utama sistem atau alur jalannya sistem dapat digambarkan melalui flowchart dan dapat dilihat pada Gambar 3.

Gambar 3. Flowchart Kerangka Pikir Utama Sistem

Terdapat dua input yang dibutuhkan SPK pada flowchart tersebut, yaitu data pelamar dan pembobotan hirarki. Kedua input tersebut diproses pada SPK yang menggunakan metode AHP. Proses yang terjadi pada SPK AHP adalah sebagai berikut:

mulai

Input Pembobotan

Input Data Pelamar [ i ] for i = 0 ; i<banyak_pelamar ; i++

SPK AHP

Cetak Hasil Seleksi

ID3

Cetak Faktor Kriteria


(41)

21

1. Input berupa data pelamar dibandingkan satu sama lain berupa matriks perbandingan berpasangan dari tiap kriteria-kriteria yang ada.

2. Setelah matriks terbentuk, unsur-unsur pada tiap kolom dibagi dengan jumlah total pada kolom yang bersangkutan dan dari sana diperoleh bobot relatif yang dinormalkan. Hal itu dilakukan pada tiap-tiap kriteria yang ada.

3. Selanjutnya adalah mencari nilai vektor eigen. Nilai vektor eigen diperoleh dari rata-rata nilai bobot relatif untuk tiap baris. Hal itu dilakukan pada tiap-tiap kriteria yang ada.

4. Selanjutnya nilai vektor eigen dari tiap-tiap kriteria dikalikan dengan hasil pembobotan hirarki dan dijumlahkan masing-masing baris dari setiap kriteria. 5. Dari sana diperoleh hasil penyeleksian AHP, masing-masing baris mewakili

alternatif atau dalam kasus ini pelamar.

6. Selanjutnya skor diurutkan dari yang terbesar ke yang terkecil dan ditentukan siapa saja yang dianjurkan untuk diterima perusahaan.

Setelah ditentukan siapa pelamar yang diterima dan ditolak, tahapan selanjutnya adalah penentuan kriteria terbesar dari hasil penyeleksian yang telah didapat dengan cara pengimplementasian algoritma ID3. Tahapan dalam pengimplementasian algoritma ID3 adalah sebagai berikut:

1. Informasi yang dibutuhkan berupa data-data pelamar baik itu yang diterima maupun ditolak.

2. Setelah informasi didapat langkah selanjutnya adalah menentukan entropy. Entropy digunakan sebagai suatu parameter untuk mengukur suatu keberagaman dari suatu sampel.


(42)

22

3. Selanjutnya adalah mendapatkan nilai gain dari tiap-tiap kriteria. Gain sendiri digunakan untuk mengukur efektivitas suatu atribut dalam mengklasifikasikan data. Nilai gain ini menjadi parameter seberapa pengaruhnya suatu kriteria pada penyeleksian.

3.5.2 UseCase Diagram

Use case diagram pada sistem ini memiliki satu aktor yaitu operator yang bertugas melakukan seluruh proses pada sistem ini. Proses yang dimaksud adalah

meng-input data pelamar, melihat master lowongan, mengubah matriks perbandingan berpasangan, dan melihat hasil seleksi. Beberapa dari proses itu terdapat proses tambahan yang dapat dilakukan operator yang ditandai dengan tanda panah putus-putus serta bertanda extend seperti proses input pelamar terdapat proses tambahan berupa lihat pelamar dan gunakan SPK. Sebelum menggunakan sistem ini operator terlebih dahulu harus melakukan login, hal itu ditandai dengan tanda panah putus-putus serta bertanda include yang mengarah ke proses login dari setiap proses yang ada pada sistem ini. Use case diagram pada sistem ini ditunjukkan pada Gambar.4


(43)

23

3.5.3 Activity Diagram

Activity diagram atau diagram aktivitas yang dibuat pada penelitian ini disesuaikan dari setiap proses utama yang ada pada use case diagram. Proses login merupakan proses otentifikasi pengguna untuk mencegah orang lain yang tidak memiliki hak menggunakan sistem sehingga keamanan data dapat terjaga. Proses ini ditunjukkan pada Gambar 5.

Gambar 5. Activity diagram login

Proses input pelamar merupakan proses pemasukan data pelamar ke dalam sistem. Pada proses ini diawali dengan memasukan lowongan dan diikuti dengan memasukan data-data pelamar. Setelah data dimasukkan, sistem akan menampilkan data pelamar yang sudah ada pada data base. Setelah data pada data base

ditampilkan, pengguna diberi pilihan apakah sudah ingin menggunakan SPK atau belum. Proses ini dapat dilihat pada Gambar 6.


(44)

24

Gambar 6. Activity diagram input pelamar

Proses lihat master lowongan merupakan proses dimana admin dapat melihat, mengedit, dan menambahkan master lowongan. Master lowongan disini berisi data-data mengenai posisi atau bagian apa saja yang sedang membuka lowongan untuk penerimaan pegawai baru. Proses ini dapat dilihat pada Gambar 7.


(45)

25

Proses lihat master jabatan merupakan proses dimana admin dapat melihat data master jabatan yang ada di perusahaan ini. Master jabatan berisi informasi jabatan mulai dari id, nama, hingga gaji dari tiap jabatan struktural yang ada di perusahaan. Proses ini dapat dilihat pada Gambar 8.

Gambar 8. Activity diagram lihat master jabatan

Proses ubah matriks perbandingan berpasangan adalah proses dimana admin

mengganti nilai matriks perbandingan berpasangan yang digunakan sebagai salah satu syarat penggunaan SPK bermetode AHP. Proses ini dapat dilihat pada Gambar 9.


(46)

26

Proses lihat seleksi adalah proses di mana sistem menampilkan hasil seleksi yang telah dilakukan oleh SPK sesuai dengan lowongan yang dipilih pengguna. Setelah proses ditampilkan, pengguna juga dapat melihat apa faktor kriteria terbesar dalam penerimaan pegawai tersebut. Proses ini dapat dilihat pada Gambar 10.

Gambar 10. Activity diagram lihat hasil seleksi.

3.5.4 Tabel Relasi

Tabel relasipada penelitian ini terbentuk dari 6 tabel. Tabel-tabel tersebut adalah sebagai berikut:

1. Tabel admin

Tabel admin merupakan tabel yang menyimpan informasi login admin yang terdiri dari username dan password.

2. Tabel master jabatan

Tabel masterjabatan merupakan tabel yang berisi informasi jabatan struktural yang terdapat di perusahaan.


(47)

27

Tabel ini merupakan tabel yang berisi informasi mengenai lowongan kerja yang dibuat untuk pengadaan pegawai baru. Tabel ini berelasi dengan tabel master jabatan.

4. Tabel pelamar

Tabel ini merupakan tabel yang berisi informasi pelamar. Tabel ini berelasi dengan tabel master lowongan.

5. Tabel hub. kriteria

Tabel ini merupakan tabel yang berisi informasi mengenai matriks perbandingan berpasangan. Tabel ini digunakan untuk keperluan penggunaan SPK. Tabel ini berelasi dengan tabel kriteria 1 dan kriteria 2.

6. Tabel kriteria 1 dan kriteria 2

Tabel ini merupakan tabel yang berisi informasi mengenai kriteria yang digunakan pada SPK.

Relasi yang terbentuk dari tabel-tabel tersebut dapat dilihat pada Gambar 11.


(48)

28

3.5.5 User Interface

User interface pada sistem ini dibangun sesuai kebutuhan sistem dan berdasarkan desain use case yang telah dibuat sebelumnya. Desain interface pada halaman antarmuka sistem adalah sebagai berikut:

1. Interface tambah pelamar.

Halaman awal pada menu tambah pelamar berupa pemilihan lowongan yang diminati pelamar. Pilihan lowongan disediakan dengan bentuk drop down menu guna mempermudah pengguna. Setelah memilih lowongan, pengguna diberikan menu berupa form dimana data-data pelamar dimasukkan. Desain

interface menu ini dapat dilihat pada Gambar 12 dan Gambar 13.

Gambar 12. Interface tambah pelamar awal

Setelah lowongan dimasukkan maka akan muncul form untuk memasukkan data pelamar.


(49)

29

Gambar 13. Interface tambah pelamar

2. Lihat master lowongan.

Desain interface pada meu lihat master lowongan ini berupa tabel yang berisi data-data lowongan yang ada pada database. Pada halaman master lowongan pengguna juga dapat menghapus, mengedit, dan menambahkan lowongan baru ke database. Desain interface menu ini dapat dilihat pada Gambar 14.

Gambar 14. Interface lihat master lowongan


(50)

30

Desain interface pada menu lihat master jabatan ini berupa tabel yang berisi data-data jabatan yang ada pada database. Desain interface menu ini dapat dilihat pada Gambar 15.

Gambar 15. Interface lihat master jabatan

4. Ubah matriks perbandingan berpasangan

Desain interface pada menu ini berupa tabel perbandingan berpasangan yang kontennya diambil dari database. Konten ini dapat diubah pengguna sesuai dengan ketentuan yang berlaku dalam SPK bermetode AHP. Desain interface

menu ini dapat dilihat pada Gambar 16.


(51)

31

5. Lihat hasil seleksi

Halaman awal pada menu lihat hasil seleksi berupa pemilihan lowongan yang ingin dilihat hasil seleksinya. Pilihan lowongan disediakan dengan bentuk drop down menu guna mempermudah pengguna. Setelah memilih lowongan pengguna dapat melihat hasil perhitungan SPK berupa urutan nama pelamar beserta nilai dari tiap-tiap pelamar. Pada menu ini juga pengguna dapat melihat faktor kriteria terbesar dari lowongan ini dengan memilih tombol yang ada pada bagian bawah konten. Desain interface menu ini dapat dilihat pada Gambar 17 dan Gambar 18.

Gambar 17. Lihat hasil seleksi awal

Setelah lowongan dimasukkan, maka akan muncul hasil penyeleksian pada lowongan yang dipilih.


(52)

BAB V

SIMPULAN DAN SARAN

5.1.Simpulan

Berdasarkan hasil penelitian yang telah dilakukan dapat disimpulkan beberapa hal sebagai berikut:

1. Sistem pendukung keputusan dengan menggunakan metode AHP telah berhasil dibangun untuk membantu suatu perusahaan dalam penerimaan pegawai baru sesuai dengan kebutuhan.

2. Algoritma ID3 dapat diimplementasikan sebagai penentu faktor kriteria terbesar pada sistem pendukung keputusan bermetode AHP.

3. Kriteria yang diunggulkan dalam pembobotan kriteria tidak selalu menjadi faktor kriteria terbesar.

4. Faktor kriteria terbesar pada suatu penyeleksian untuk alternatif yang diterima, memiliki keterangan kriteria baik yang dominan dan secara keseluruhan kriteria tersebut memiliki data yang beragam dibanding kriteria yang lain.

5.2.Saran

Beberapa saran yang diberikan setelah dilakukan penelitian ini untuk pengembangan lebih lanjut adalah sebagai berikut:


(53)

59

1. Pada SPK setelah mengetahui pelamar yang diterima perlu dibuat fitur untuk manajemen pegawai.

2. Sistem dapat dikembangkan secara luas hingga dapat menangani seluruh kegiatan yang dilakukan departemen bagian manajemen sumber daya manusia. 3. Pada implementasi algoritma ID3 dapat diteruskan hingga mendapatkan pohon


(54)

59

DAFTAR PUSTAKA

Elmande, Y. dan Widodo, P.,P. 2012. Pemilihan Criterian Splitting dalam Algoritma Iterative Dichotomizer 3 (ID3) untuk Penentuan Kualitas Beras : Studi Kasus pada Perum Bulog Divre Lampung. Jurnal TELEMATIKA MKOM Vol.4, No. 1. ISSN 2085-725X.

Husni A., I. 2010. Sistem Informasi Pendukung Keputusan Pada Seleksi Peneriman Pegawai Menggunakan Metode Analytical Hierarchy Process (AHP). Jurnal Dinamika Informatika Vol.2, No.2.

Maharrani, R.,H. Syukur, Abdul. Catur P., Tyas. 2010. Penerapan Metode Analytial Hierarchi Process dalam Penerimaan Karyawan pada PT. Pasir Besi Indonesia. Jurnal Teknologi Informasi Vol.6, No.1, ISSN 1414-9999.

Manongga, Danny. 2005. Teori dan Aplikasi Iterative Dichotomizer Three Dalam Pembelajaran Mesin. Universitas Kristen Satya Wacana. Salatiga.

Mata-Toledo, R., A. dan Cushman, P.,K.. 2007. Dasar–Dasar Database Relasional. Erlangga. Jakarta.

Pressman, R., S. 2010. Software Engineering A Practitioner’s Approach 7th Edition.

McGraw-Hill. New York.

Ramadan K., A., Budi, S., M. Aziz M.,2013, Decision Making and Evaluation System for Employee Recruitment Using Fuzzy Analytic Hierarchy Process,

International Refereed Journal of Engineering and Science (IRJES). ISSN 2319-183X, Vol.2 Issue 7 (July 2013), PP.24-3.

Rosa, A., S., dan Salahudin, 2011. Rekayasa Perangkat Lunak. Modula. Bandung. Siswoutomo, Wiwit. 2005. PHP Undercover Mengungkap Rahasia Pemrograman

PHP. Elex Media Komputindo. Jakarta.

Soeherman, B. dan Pinontoan, M. 2008. Designing Information System. PT Elex Media Komputindo. Jakarta

Wibowo, Bagus Ari. 2011. Perancangan dan Implementasi Sistem Pendukung Keputusan untuk Jalan Menggunakan Metode ID3 (Studi Kasus BAPPEDA Kota Salatiga). Universitas Kristen Satya Wacana. Jawa Tengah.


(55)

60

Widodo dan Subekti, M. 2006. Requirments Management pada Extreme Programming. Seminar Nasional Aplikasi Teknologi Informasi (SNATI). ISSN 1907-5022: Yogyakarta


(56)

62

1. Source Code Implementasi Metode AHP

<?php

include "koneksi.php";

$id_lowongan=$_GET['id_lowongan'];

//cek jabatan untuk lowongan $id_lowongan

$cek_jab=mysql_query("select id_jabatan from master_lowongan where id_lowongan='$id_lowongan'"); while($row=mysql_fetch_array($cek_jab)){ $id_jabatan=$row['id_jabatan']; } $id=array(); $kandidat=array(); $pengalaman_kandidat=array(); $pendidikan_kandidat=array(); $ipk_kandidat=array(); $tpa_kandidat=array(); $toefl_kandidat=array();

//panggil data pelamar untuk lowongan $id_lowongan $x=0;

$query=mysql_query("select * from pelamar where id_lowongan='$id_lowongan'"); $jumlah=mysql_num_rows($query); while($row=mysql_fetch_array($query)){ $id[$x]=$row['id_pelamar']; $kandidat[$x]=$row['nama']; $pengalaman_kandidat[$x]=$row['pengalaman']; $pendidikan_kandidat[$x]=$row['pendidikan']; if($pendidikan_kandidat[$x]=='sma'){ $pendidikan_kandidat[$x]=1; }else if($pendidikan_kandidat[$x]=='d1'){ $pendidikan_kandidat[$x]=2; }else if($pendidikan_kandidat[$x]=='d2'){ $pendidikan_kandidat[$x]=3; }else if($pendidikan_kandidat[$x]=='d3'){ $pendidikan_kandidat[$x]=4; }else if($pendidikan_kandidat[$x]=='d4'){ $pendidikan_kandidat[$x]=5; }else if($pendidikan_kandidat[$x]=='s1'){ $pendidikan_kandidat[$x]=6; }else if($pendidikan_kandidat[$x]=='s2'){ $pendidikan_kandidat[$x]=7; }else{ $pendidikan_kandidat[$x]=8; } $ipk_kandidat[$x]=$row['ipk']; $tpa_kandidat[$x]=$row['tpa']; $toefl_kandidat[$x]=$row['toefl']; $univ_kandidat[$x]=$row['tipe_univ_asal']; if($univ_kandidat[$x]==3){ $univ_kandidat[$x]=1; }else if($univ_kandidat[$x]==2){ $univ_kandidat[$x]=2; }else{ $univ_kandidat[$x]=3; } $x++; }


(57)

63 //perhitungan ipk $matriks_pasang_ipk=array(); for ($z=0;$z<$jumlah;$z++){ for ($y=0;$y<$jumlah;$y++){ if ((($ipk_kandidat[$z]- $ipk_kandidat[$y])>0)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])<0.15)){ $matriks_pasang_ipk[$z][$y]=2;

}else if

((($ipk_kandidat[$z]- $ipk_kandidat[$y])>=0.15)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])<0.30)){

$matriks_pasang_ipk[$z][$y]=3;

}else if

((($ipk_kandidat[$z]- $ipk_kandidat[$y])>=0.30)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])<0.55)){

$matriks_pasang_ipk[$z][$y]=4;

}else if

((($ipk_kandidat[$z]- $ipk_kandidat[$y])>=0.55)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])<0.80)){

$matriks_pasang_ipk[$z][$y]=5;

}else if

((($ipk_kandidat[$z]- $ipk_kandidat[$y])>=0.80)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])<0.95)){

$matriks_pasang_ipk[$z][$y]=6;

}else if

((($ipk_kandidat[$z]- $ipk_kandidat[$y])>=0.95)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])<1.10)){

$matriks_pasang_ipk[$z][$y]=7;

}else if (($ipk_kandidat[$z]-$ipk_kandidat[$y])>1.10){

$matriks_pasang_ipk[$z][$y]=8;

}else if

((($ipk_kandidat[$z]- $ipk_kandidat[$y])<0)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])>-0.15)){

$matriks_pasang_ipk[$z][$y]=0.5;

}else if

((($ipk_kandidat[$z]-$ipk_kandidat[$y])<=-0.15)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])>-0.30)){

$matriks_pasang_ipk[$z][$y]=0.333;

}else if

((($ipk_kandidat[$z]-$ipk_kandidat[$y])<=-0.30)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])>-0.55)){

$matriks_pasang_ipk[$z][$y]=0.25;

}else if

((($ipk_kandidat[$z]-$ipk_kandidat[$y])<=-0.55)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])>-0.80)){

$matriks_pasang_ipk[$z][$y]=0.2;

}else if

((($ipk_kandidat[$z]-$ipk_kandidat[$y])<=-0.80)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])>-0.95)){

$matriks_pasang_ipk[$z][$y]=0.166;

}else if

((($ipk_kandidat[$z]- $ipk_kandidat[$y])<=0.95)&&(($ipk_kandidat[$z]-$ipk_kandidat[$y])>1.10)){

$matriks_pasang_ipk[$z][$y]=0.142;

}else if

(($ipk_kandidat[$z]-$ipk_kandidat[$y])<-1.10){ $matriks_pasang_ipk[$z][$y]=0.125; }else{ $matriks_pasang_ipk[$z][$y]=1; } } }


(58)

64 $jumlah_tiap_kolom_ipk=array(); for ($z=0;$z<$jumlah;$z++){ $jumlah_tiap_kolom_ipk[$z]=0; for ($y=0;$y<$jumlah;$y++){ $jumlah_tiap_kolom_ipk[$z]=$jumlah_tiap_kolom_ipk[$z]+$matriks_pas ang_ipk[$y][$z]; } } $matriks_normal_ipk=array(); $rata_baris_ipk=array(); for ($z=0;$z<$jumlah;$z++){ $rata_baris_ipk[$z]=0; for ($y=0;$y<$jumlah;$y++){ $matriks_normal_ipk[$z][$y]=$matriks_pasang_ipk[$z][$y]/$jumlah_ti ap_kolom_ipk[$y]; $rata_baris_ipk[$z]=$rata_baris_ipk[$z]+$matriks_normal_ipk[$z][$y ]; } $rata_baris_ipk[$z]=$rata_baris_ipk[$z]/$jumlah; } //perhitungan pengalaman $matriks_pasang_penga=array(); for ($z=0;$z<$jumlah;$z++){ for ($y=0;$y<$jumlah;$y++){ if (($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])>5){ $matriks_pasang_penga[$z][$y]=8;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==5){

$matriks_pasang_penga[$z][$y]=7;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==4){

$matriks_pasang_penga[$z][$y]=6;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==3){

$matriks_pasang_penga[$z][$y]=5;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==2){

$matriks_pasang_penga[$z][$y]=4;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==1){

$matriks_pasang_penga[$z][$y]=3;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==-1){

$matriks_pasang_penga[$z][$y]=0.333;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==-2){

$matriks_pasang_penga[$z][$y]=0.25;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==-3){

$matriks_pasang_penga[$z][$y]=0.2;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==-4){


(59)

65

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])==-5){

$matriks_pasang_penga[$z][$y]=0.142;

}else if

(($pengalaman_kandidat[$z]-$pengalaman_kandidat[$y])<-5){ $matriks_pasang_penga[$z][$y]=0.125; }else{ $matriks_pasang_penga[$z][$y]=1; } } } $jumlah_tiap_kolom_penga=array(); for ($z=0;$z<$jumlah;$z++){ $jumlah_tiap_kolom_penga[$z]=0; for ($y=0;$y<$jumlah;$y++){ $jumlah_tiap_kolom_penga[$z]=$jumlah_tiap_kolom_penga[$z]+$matriks _pasang_penga[$y][$z]; } } $matriks_normal_penga=array(); $rata_baris_penga=array(); for ($z=0;$z<$jumlah;$z++){ $rata_baris_penga[$z]=0; for ($y=0;$y<$jumlah;$y++){ $matriks_normal_penga[$z][$y]=$matriks_pasang_penga[$z][$y]/$jumla h_tiap_kolom_penga[$y]; $rata_baris_penga[$z]=$rata_baris_penga[$z]+$matriks_normal_penga[ $z][$y]; } $rata_baris_penga[$z]=$rata_baris_penga[$z]/$jumlah; } //perhitungan pendidikan $matriks_pasang_pend=array(); for ($z=0;$z<$jumlah;$z++){ for ($y=0;$y<$jumlah;$y++){ if (($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==1){ $matriks_pasang_pend[$z][$y]=2;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==2){

$matriks_pasang_pend[$z][$y]=3;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==3){

$matriks_pasang_pend[$z][$y]=4;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==4){

$matriks_pasang_pend[$z][$y]=5;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==5){

$matriks_pasang_pend[$z][$y]=6;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==6){


(60)

66

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==7){

$matriks_pasang_pend[$z][$y]=8;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==-1){

$matriks_pasang_pend[$z][$y]=0.5;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==-2){

$matriks_pasang_pend[$z][$y]=0.333;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==-3){

$matriks_pasang_pend[$z][$y]=0.25;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==-4){

$matriks_pasang_pend[$z][$y]=0.2;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==-5){

$matriks_pasang_pend[$z][$y]=0.166;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==-6){

$matriks_pasang_pend[$z][$y]=0.142;

}else if

(($pendidikan_kandidat[$z]-$pendidikan_kandidat[$y])==-7){ $matriks_pasang_pend[$z][$y]=0.125; }else{ $matriks_pasang_pend[$z][$y]=1; } } } $jumlah_tiap_kolom_pend=array(); for ($z=0;$z<$jumlah;$z++){ $jumlah_tiap_kolom_pend[$z]=0; for ($y=0;$y<$jumlah;$y++){ $jumlah_tiap_kolom_pend[$z]=$jumlah_tiap_kolom_pend[$z]+$matriks_p asang_pend[$y][$z]; } } $matriks_normal_pend=array(); $rata_baris_pend=array(); for ($z=0;$z<$jumlah;$z++){ $rata_baris_pend[$z]=0; for ($y=0;$y<$jumlah;$y++){ $matriks_normal_pend[$z][$y]=$matriks_pasang_pend[$z][$y]/$jumlah_ tiap_kolom_pend[$y]; $rata_baris_pend[$z]=$rata_baris_pend[$z]+$matriks_normal_pend[$z] [$y]; } $rata_baris_pend[$z]=$rata_baris_pend[$z]/$jumlah; } //perhitungan tpa $matriks_pasang_tpa=array(); for ($z=0;$z<$jumlah;$z++){ for ($y=0;$y<$jumlah;$y++){


(61)

67

if

((($tpa_kandidat[$z]- $tpa_kandidat[$y])>0)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])<=15)){

$matriks_pasang_tpa[$z][$y]=2;

}else if

((($tpa_kandidat[$z]- $tpa_kandidat[$y])>15)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])<=30)){

$matriks_pasang_tpa[$z][$y]=3;

}else if

((($tpa_kandidat[$z]- $tpa_kandidat[$y])>30)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])<=45)){

$matriks_pasang_tpa[$z][$y]=4;

}else if

((($tpa_kandidat[$z]- $tpa_kandidat[$y])>45)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])<=60)){

$matriks_pasang_tpa[$z][$y]=5;

}else if

((($tpa_kandidat[$z]- $tpa_kandidat[$y])>60)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])<=75)){

$matriks_pasang_tpa[$z][$y]=6;

}else if

((($tpa_kandidat[$z]- $tpa_kandidat[$y])>75)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])<=90)){

$matriks_pasang_tpa[$z][$y]=7;

}else if (($tpa_kandidat[$z]-$tpa_kandidat[$y])>90){

$matriks_pasang_tpa[$z][$y]=8;

}else if

((($tpa_kandidat[$z]- $tpa_kandidat[$y])<0)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])>=-15)){

$matriks_pasang_tpa[$z][$y]=0.5;

}else if

((($tpa_kandidat[$z]-$tpa_kandidat[$y])<-15)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])>=-30)){

$matriks_pasang_tpa[$z][$y]=0.33;

}else if

((($tpa_kandidat[$z]-$tpa_kandidat[$y])<-30)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])>=-45)){

$matriks_pasang_tpa[$z][$y]=0.25;

}else if

((($tpa_kandidat[$z]-$tpa_kandidat[$y])<-45)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])>=-60)){

$matriks_pasang_tpa[$z][$y]=0.2;

}else if

((($tpa_kandidat[$z]-$tpa_kandidat[$y])<-60)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])>=-75)){

$matriks_pasang_tpa[$z][$y]=0.16;

}else if

((($tpa_kandidat[$z]-$tpa_kandidat[$y])<-75)&&(($tpa_kandidat[$z]-$tpa_kandidat[$y])>=-90)){

$matriks_pasang_tpa[$z][$y]=0.142;

}else if (($tpa_kandidat[$z]-$tpa_kandidat[$y])<-90){

$matriks_pasang_tpa[$z][$y]=0.125; }else{ $matriks_pasang_tpa[$z][$y]=1; } } } $jumlah_tiap_kolom_tpa=array(); for ($z=0;$z<$jumlah;$z++){ $jumlah_tiap_kolom_tpa[$z]=0; for ($y=0;$y<$jumlah;$y++){ $jumlah_tiap_kolom_tpa[$z]=$jumlah_tiap_kolom_tpa[$z]+$matriks_pas ang_tpa[$y][$z];


(62)

68 } } $matriks_normal_tpa=array(); $rata_baris_tpa=array(); for ($z=0;$z<$jumlah;$z++){ $rata_baris_tpa[$z]=0; for ($y=0;$y<$jumlah;$y++){ $matriks_normal_tpa[$z][$y]=$matriks_pasang_tpa[$z][$y]/$jumlah_ti ap_kolom_tpa[$y]; $rata_baris_tpa[$z]=$rata_baris_tpa[$z]+$matriks_normal_tpa[$z][$y ]; } $rata_baris_tpa[$z]=$rata_baris_tpa[$z]/$jumlah; } //perhitungan toefl $matriks_pasang_toefl=array(); for ($z=0;$z<$jumlah;$z++){ for ($y=0;$y<$jumlah;$y++){ if ((($toefl_kandidat[$z]- $toefl_kandidat[$y])>0)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])<=15)){ $matriks_pasang_toefl[$z][$y]=2;

}else if

((($toefl_kandidat[$z]- $toefl_kandidat[$y])>15)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])<=30)){

$matriks_pasang_toefl[$z][$y]=3;

}else if

((($toefl_kandidat[$z]- $toefl_kandidat[$y])>30)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])<=45)){

$matriks_pasang_toefl[$z][$y]=4;

}else if

((($toefl_kandidat[$z]- $toefl_kandidat[$y])>45)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])<=60)){

$matriks_pasang_toefl[$z][$y]=5;

}else if

((($toefl_kandidat[$z]- $toefl_kandidat[$y])>60)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])<=75)){

$matriks_pasang_toefl[$z][$y]=6;

}else if

((($toefl_kandidat[$z]- $toefl_kandidat[$y])>75)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])<=90)){

$matriks_pasang_toefl[$z][$y]=7;

}else if

(($toefl_kandidat[$z]-$toefl_kandidat[$y])>90){

$matriks_pasang_toefl[$z][$y]=8;

}else if

((($toefl_kandidat[$z]- $toefl_kandidat[$y])<0)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])>=-15)){

$matriks_pasang_toefl[$z][$y]=0.5;

}else if

((($toefl_kandidat[$z]-$toefl_kandidat[$y])<-15)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])>=-30)){

$matriks_pasang_toefl[$z][$y]=0.333;

}else if

((($toefl_kandidat[$z]-$toefl_kandidat[$y])<-30)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])>=-45)){


(63)

69

}else if

((($toefl_kandidat[$z]-$toefl_kandidat[$y])<-45)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])>=-60)){

$matriks_pasang_toefl[$z][$y]=0.2;

}else if

((($toefl_kandidat[$z]-$toefl_kandidat[$y])<-60)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])>=-75)){

$matriks_pasang_toefl[$z][$y]=0.16;

}else if

((($toefl_kandidat[$z]-$toefl_kandidat[$y])<-75)&&(($toefl_kandidat[$z]-$toefl_kandidat[$y])>=-90)){

$matriks_pasang_toefl[$z][$y]=0.142;

}else if

(($toefl_kandidat[$z]-$toefl_kandidat[$y])<-90){ $matriks_pasang_toefl[$z][$y]=0.125; }else{ $matriks_pasang_toefl[$z][$y]=1; } } } $jumlah_tiap_kolom_toefl=array(); for ($z=0;$z<$jumlah;$z++){ $jumlah_tiap_kolom_toefl[$z]=0; for ($y=0;$y<$jumlah;$y++){ $jumlah_tiap_kolom_toefl[$z]=$jumlah_tiap_kolom_toefl[$z]+$matriks _pasang_toefl[$y][$z]; } } $matriks_normal_toefl=array(); $rata_baris_toefl=array(); for ($z=0;$z<$jumlah;$z++){ $rata_baris_toefl[$z]=0; for ($y=0;$y<$jumlah;$y++){ $matriks_normal_toefl[$z][$y]=$matriks_pasang_toefl[$z][$y]/$jumla h_tiap_kolom_toefl[$y]; $rata_baris_toefl[$z]=$rata_baris_toefl[$z]+$matriks_normal_toefl[ $z][$y]; } $rata_baris_toefl[$z]=$rata_baris_toefl[$z]/$jumlah; }

//perhitungan universitas asal $matriks_pasang_univ=array(); for ($z=0;$z<$jumlah;$z++){ } for ($z=0;$z<$jumlah;$z++){ for ($y=0;$y<$jumlah;$y++){ if (($univ_kandidat[$z]-$univ_kandidat[$y])==1){ $matriks_pasang_univ[$z][$y]=3;

}else if (($univ_kandidat[$z]-$univ_kandidat[$y])==2){

$matriks_pasang_univ[$z][$y]=5;

}else if

(($univ_kandidat[$z]-$univ_kandidat[$y])==-2){

$matriks_pasang_univ[$z][$y]=0.2;

}else if

(($univ_kandidat[$z]-$univ_kandidat[$y])==-1){

$matriks_pasang_univ[$z][$y]=0.333;


(64)

70 $matriks_pasang_univ[$z][$y]=1; } } } $jumlah_tiap_kolom_univ=array(); for ($z=0;$z<$jumlah;$z++){ $jumlah_tiap_kolom_univ[$z]=0; for ($y=0;$y<$jumlah;$y++){ $jumlah_tiap_kolom_univ[$z]=$jumlah_tiap_kolom_univ[$z]+$matriks_p asang_univ[$y][$z]; } } $matriks_normal_univ=array(); $rata_baris_univ=array(); for ($z=0;$z<$jumlah;$z++){ $rata_baris_univ[$z]=0; for ($y=0;$y<$jumlah;$y++){ $matriks_normal_univ[$z][$y]=$matriks_pasang_univ[$z][$y]/$jumlah_ tiap_kolom_univ[$y]; $rata_baris_univ[$z]=$rata_baris_univ[$z]+$matriks_normal_univ[$z] [$y]; } $rata_baris_univ[$z]=$rata_baris_univ[$z]/$jumlah; }

//start panggil matriks kriteria berpasangan

$panggil_kriteria1=mysql_query("select * from hub_kriteria where id_jabatan='$id_jabatan' and id_kriteria_1=1");

$kriteria1=array(); $a=0; while($row=mysql_fetch_array($panggil_kriteria1)){ $kriteria1[$a]=$row['nilai']; $a++; }

$panggil_kriteria2=mysql_query("select * from hub_kriteria where id_jabatan='$id_jabatan' and id_kriteria_1=2");

$kriteria2=array(); $b=0; while($row=mysql_fetch_array($panggil_kriteria2)){ $kriteria2[$b]=$row['nilai']; $b++; }

$panggil_kriteria3=mysql_query("select * from hub_kriteria where id_jabatan='$id_jabatan' and id_kriteria_1=3");

$kriteria3=array(); $c=0; while($row=mysql_fetch_array($panggil_kriteria3)){ $kriteria3[$c]=$row['nilai']; $c++; }

$panggil_kriteria4=mysql_query("select * from hub_kriteria where id_jabatan='$id_jabatan' and id_kriteria_1=4");


(65)

71 $kriteria4=array(); $d=0; while($row=mysql_fetch_array($panggil_kriteria4)){ $kriteria4[$d]=$row['nilai']; $d++; }

$panggil_kriteria5=mysql_query("select * from hub_kriteria where id_jabatan='$id_jabatan' and id_kriteria_1=5");

$kriteria5=array(); $e=0; while($row=mysql_fetch_array($panggil_kriteria5)){ $kriteria5[$e]=$row['nilai']; $e++; }

$panggil_kriteria6=mysql_query("select * from hub_kriteria where id_jabatan='$id_jabatan' and id_kriteria_1=6");

$kriteria6=array(); $f=0; while($row=mysql_fetch_array($panggil_kriteria6)){ $kriteria6[$f]=$row['nilai']; $f++; } //--- //nilai matriks perbandingan dimasukan dalam variabel array $matriks_pasang=array( array(1,$kriteria1[0],$kriteria1[1],$kriteria1[2],$kriteria1[3],$k riteria1[4]), array($kriteria2[0],1,$kriteria2[1],$kriteria2[2],$kriteria2[3],$k riteria2[4]), array($kriteria3[0],$kriteria3[1],1,$kriteria3[2],$kriteria3[3],$k riteria3[4]), array($kriteria4[0],$kriteria4[1],$kriteria4[2],1,$kriteria4[3],$k riteria4[4]), array($kriteria5[0],$kriteria5[1],$kriteria5[2],$kriteria5[3],1,$k riteria5[4]), array($kriteria6[0],$kriteria6[1],$kriteria6[2],$kriteria6[3],$kri teria6[4],1) ); $jumlah_tiap_kolom=array(); for ($z=0;$z<6;$z++){ $jumlah_tiap_kolom[$z]=0; for ($y=0;$y<6;$y++){ $jumlah_tiap_kolom[$z]=$jumlah_tiap_kolom[$z]+$matriks_pasang[$y][ $z]; } }

//mencari vektor eigen dimasukan pada variabel $rata_baris $matriks_normal=array();


(66)

72 for ($z=0;$z<6;$z++){ $rata_baris[$z]=0; for ($y=0;$y<6;$y++){ $matriks_normal[$z][$y]=$matriks_pasang[$z][$y]/$jumlah_tiap_kolom [$y]; $rata_baris[$z]=$rata_baris[$z]+$matriks_normal[$z][$y]; } $rata_baris[$z]=$rata_baris[$z]/6; }

//mencari total rangking $total_rangking=array(); for($i=0;$i<$jumlah;$i++){ $total_rangking[$i]=($rata_baris_penga[$i]*$rata_baris[0])+($rata_ baris_pend[$i]*$rata_baris[1])+($rata_baris_ipk[$i]*$rata_baris[2] ) +($rata_baris_tpa[$i]*$rata_baris[3])+($rata_baris_toefl[$i]*$rata _baris[4])+($rata_baris_univ[$i]*$rata_baris[5]);

$update=mysql_query("update pelamar set

score_ahp='$total_rangking[$i]' where id_pelamar='$id[$i]' and id_lowongan='$id_lowongan'");

if ($update) {

echo '<script type="text/javascript">

window.location="pilih_lowongan_rek.php"</script>';

}else{

echo "Gagal input data";

echo mysql_error();

}

} ?>

2. Source Code Implementasi Algoritma ID3

<?php include "koneksi.php"; $id_lowongan=$_GET['id_lowongan']; $kandidat_terima=array(); $kandidat_tolak=array(); $peng_kand_ter=array(); $peng_kand_tol=array(); $pend_kand_ter=array(); $pend_kand_tol=array(); $ipk_kand_ter=array(); $ipk_kand_tol=array(); $tpa_kand_ter=array(); $tpa_kand_tol=array(); $toefl_kand_ter=array(); $toefl_kand_tol=array(); $univ_kand_ter=array();


(67)

73

$univ_kand_tol=array();

//mengambil data pelamar dari database untuk keputusan terima $cek_db_ter=mysql_query("select * from pelamar where id_lowongan='$id_lowongan' and keputusan='terima'");

$terima=mysql_num_rows($cek_db_ter); $c=0; while($row=mysql_fetch_array($cek_db_ter)){ $kandidat_terima[$c]=$row['id_pelamar']; $peng_kand_ter[$c]=$row['pengalaman']; $pend_kand_ter[$c]=$row['pendidikan']; $ipk_kand_ter[$c]=$row['ipk']; $tpa_kand_ter[$c]=$row['tpa']; $toefl_kand_ter[$c]=$row['toefl']; $univ_kand_ter[$c]=$row['tipe_univ_asal']; if(($pend_kand_ter[$c]=='SMA')||($pend_kand_ter[$c]=='d1')|| ($pend_kand_ter[$c]=='d2')){ $pend_kand_ter[$c]='kurang'; }else if(($pend_kand_ter[$c]=='d3')||($pend_kand_ter[$c]=='d4')){ $pend_kand_ter[$c]='cukup'; }else{ $pend_kand_ter[$c]='baik'; } if($peng_kand_ter[$c]==0){ $peng_kand_ter[$c]='kurang'; }else if(($peng_kand_ter[$c]>0) && ($peng_kand_ter[$c]<=5) ){ $peng_kand_ter[$c]='cukup'; }else{ $peng_kand_ter[$c]='baik'; } if($ipk_kand_ter[$c]<3){ $ipk_kand_ter[$c]='kurang'; }else if(($ipk_kand_ter[$c]>=3) && ($ipk_kand_ter[$c]<3.5) ){ $ipk_kand_ter[$c]='cukup'; }else{ $ipk_kand_ter[$c]='baik'; } if($tpa_kand_ter[$c]<300){ $tpa_kand_ter[$c]='kurang'; }else if(($tpa_kand_ter[$c]>=300) && ($tpa_kand_ter[$c]<500) ){ $tpa_kand_ter[$c]='cukup'; }else{ $tpa_kand_ter[$c]='baik'; } if($toefl_kand_ter[$c]<300){ $toefl_kand_ter[$c]='kurang'; }else if(($toefl_kand_ter[$c]>=300) && ($toefl_kand_ter[$c]<450) ){


(68)

74 }else{ $toefl_kand_ter[$c]='baik'; } $c++; }

//mengambil data pelamar dari database untuk keputusan tolak $cek_db_tol=mysql_query("select * from pelamar where id_lowongan='$id_lowongan' and keputusan='tolak'");

$tolak=mysql_num_rows($cek_db_tol); $jumlah=$terima+$tolak; $c=0; while($row=mysql_fetch_array($cek_db_tol)){ $kandidat_tolak[$c]=$row['id_pelamar']; $peng_kand_tol[$c]=$row['pengalaman']; $pend_kand_tol[$c]=$row['pendidikan']; $ipk_kand_tol[$c]=$row['ipk']; $tpa_kand_tol[$c]=$row['tpa']; $toefl_kand_tol[$c]=$row['toefl']; $univ_kand_tol[$c]=$row['tipe_univ_asal']; if(($pend_kand_tol[$c]=='SMA')||($pend_kand_tol[$c]=='d1')|| ($pend_kand_tol[$c]=='d2')){ $pend_kand_tol[$c]='kurang'; }else if(($pend_kand_tol[$c]=='d3')||($pend_kand_tol[$c]=='d4')){ $pend_kand_tol[$c]='cukup'; }else{ $pend_kand_tol[$c]='baik'; } if($peng_kand_tol[$c]==0){ $peng_kand_tol[$c]='kurang'; }else if(($peng_kand_tol[$c]>0) && ($peng_kand_tol[$c]<=5) ){ $peng_kand_tol[$c]='cukup'; }else{ $peng_kand_tol[$c]='baik'; } if($ipk_kand_tol[$c]<3){ $ipk_kand_tol[$c]='kurang'; }else if(($ipk_kand_tol[$c]>=3) && ($ipk_kand_tol[$c]<3.5) ){ $ipk_kand_tol[$c]='cukup'; }else{ $ipk_kand_tol[$c]='baik'; } if($tpa_kand_tol[$c]<350){ $tpa_kand_tol[$c]='kurang'; }else if(($tpa_kand_tol[$c]>=350) && ($tpa_kand_tol[$c]<500) ){

$tpa_kand_tol[$c]='cukup'; }else{

$tpa_kand_tol[$c]='baik'; }


(69)

75

if($toefl_kand_tol[$c]<450){

$toefl_kand_tol[$c]='kurang'; }else if(($toefl_kand_tol[$c]>=450) && ($toefl_kand_tol[$c]<550) ){ $toefl_kand_tol[$c]='cukup'; }else{ $toefl_kand_tol[$c]='baik'; } $c++; }

//pengelompokan nilai tiap kriteria /**

pengalaman 0 tahun = kurang (1) pengalaman 1 - 5 tahun = cukup (2) pengalaman > 5 tahun = baik (3) pendidikan SMA, D1, D2 = rendah pendidikan D3, D4 = cukup

pendidikan S1, S2, S3 = tinggi IPK < 3 = kurang (1)

3 >= IPK < 3.5 = cukup (2) IPK >= 3.5 = baik (3) TPA < 350 = kurang (1)

350 >= TPA < 500 = cukup (2) TPA >= 500 baik (3)

TOEFL < 350 = kurang (1)

350 >= TOEFL < 450 = cukup (2) TOEFL >= 450 baik (3)

tipe univ asal tipe 1, tipe 2, tipe 3 */

//fungsi mendapatkan entropi function entropy($ter,$tol){ $s=$ter+$tol; if ($ter==0){ $ter=0; }else{ $ter=-$ter/$s*log($ter/$s,2); } if ($tol==0){ $tol=0; }else{ $tol=$tol/$s*log($tol/$s,2); } $entropy=$ter-$tol; if (is_nan($entropy)){ return 0; }else{ return $entropy; } }

//mendapatkan entropi S

$entropy_s=entropy($terima,$tolak);


(70)

76 $jum_ter_peng_kur=0; $jum_ter_peng_cuk=0; $jum_ter_peng_bai=0; for ($i=0;$i<$terima;$i++){ if ($peng_kand_ter[$i]=='kurang'){ $jum_ter_peng_kur=$jum_ter_peng_kur+1; }else if($peng_kand_ter[$i]=='cukup'){ $jum_ter_peng_cuk=$jum_ter_peng_cuk+1; }else{ $jum_ter_peng_bai=$jum_ter_peng_bai+1; } } $jum_tol_peng_kur=0; $jum_tol_peng_cuk=0; $jum_tol_peng_bai=0; for ($i=0;$i<$tolak;$i++){ if ($peng_kand_tol[$i]=='kurang'){ $jum_tol_peng_kur=$jum_tol_peng_kur+1; }else if($peng_kand_tol[$i]=='cukup'){ $jum_tol_peng_cuk=$jum_tol_peng_cuk+1; }else{ $jum_tol_peng_bai=$jum_tol_peng_bai+1; } } $entropy_peng_kur=entropy($jum_ter_peng_kur,$jum_tol_peng_ku r); $entropy_peng_cuk=entropy($jum_ter_peng_cuk,$jum_tol_peng_cu k); $entropy_peng_bai=entropy($jum_ter_peng_bai,$jum_tol_peng_ba i); $gain_pengalaman=$entropy_s-((($jum_ter_peng_kur+$jum_tol_peng_kur)/$jumlah)*$entropy_peng_kur ) -((($jum_ter_peng_cuk+$jum_tol_peng_cuk)/$jumlah)*$entropy_peng_cuk ) -((($jum_ter_peng_bai+$jum_tol_peng_bai)/$jumlah)*$entropy_peng_bai );

//perhitungan infomasi gain untuk kriteria pendidikan $jum_ter_pend_kur=0; $jum_ter_pend_cuk=0; $jum_ter_pend_bai=0; for ($i=0;$i<$terima;$i++){ if ($pend_kand_ter[$i]=='kurang'){ $jum_ter_pend_kur=$jum_ter_pend_kur+1; }else if($pend_kand_ter[$i]=='cukup'){ $jum_ter_pend_cuk=$jum_ter_pend_cuk+1; }else{ $jum_ter_pend_bai=$jum_ter_pend_bai+1; } } $jum_tol_pend_kur=0; $jum_tol_pend_cuk=0; $jum_tol_pend_bai=0; for ($i=0;$i<$tolak;$i++){ if ($pend_kand_tol[$i]=='kurang'){


(1)

if($toefl_kand_tol[$c]<450){

$toefl_kand_tol[$c]='kurang'; }else if(($toefl_kand_tol[$c]>=450) && ($toefl_kand_tol[$c]<550) ){

$toefl_kand_tol[$c]='cukup'; }else{

$toefl_kand_tol[$c]='baik'; }

$c++; }

//pengelompokan nilai tiap kriteria /**

pengalaman 0 tahun = kurang (1) pengalaman 1 - 5 tahun = cukup (2) pengalaman > 5 tahun = baik (3) pendidikan SMA, D1, D2 = rendah pendidikan D3, D4 = cukup

pendidikan S1, S2, S3 = tinggi IPK < 3 = kurang (1)

3 >= IPK < 3.5 = cukup (2) IPK >= 3.5 = baik (3) TPA < 350 = kurang (1)

350 >= TPA < 500 = cukup (2) TPA >= 500 baik (3)

TOEFL < 350 = kurang (1)

350 >= TOEFL < 450 = cukup (2) TOEFL >= 450 baik (3)

tipe univ asal tipe 1, tipe 2, tipe 3 */

//fungsi mendapatkan entropi function entropy($ter,$tol){

$s=$ter+$tol; if ($ter==0){ $ter=0; }else{

$ter=-$ter/$s*log($ter/$s,2); }

if ($tol==0){ $tol=0; }else{

$tol=$tol/$s*log($tol/$s,2); }

$entropy=$ter-$tol; if (is_nan($entropy)){

return 0; }else{

return $entropy; }

}

//mendapatkan entropi S

$entropy_s=entropy($terima,$tolak);


(2)

$jum_ter_peng_kur=0; $jum_ter_peng_cuk=0; $jum_ter_peng_bai=0;

for ($i=0;$i<$terima;$i++){

if ($peng_kand_ter[$i]=='kurang'){

$jum_ter_peng_kur=$jum_ter_peng_kur+1; }else if($peng_kand_ter[$i]=='cukup'){

$jum_ter_peng_cuk=$jum_ter_peng_cuk+1; }else{

$jum_ter_peng_bai=$jum_ter_peng_bai+1; }

}

$jum_tol_peng_kur=0; $jum_tol_peng_cuk=0; $jum_tol_peng_bai=0;

for ($i=0;$i<$tolak;$i++){

if ($peng_kand_tol[$i]=='kurang'){

$jum_tol_peng_kur=$jum_tol_peng_kur+1; }else if($peng_kand_tol[$i]=='cukup'){

$jum_tol_peng_cuk=$jum_tol_peng_cuk+1; }else{

$jum_tol_peng_bai=$jum_tol_peng_bai+1; }

}

$entropy_peng_kur=entropy($jum_ter_peng_kur,$jum_tol_peng_ku r);

$entropy_peng_cuk=entropy($jum_ter_peng_cuk,$jum_tol_peng_cu k);

$entropy_peng_bai=entropy($jum_ter_peng_bai,$jum_tol_peng_ba i);

$gain_pengalaman=$entropy_s-((($jum_ter_peng_kur+$jum_tol_peng_kur)/$jumlah)*$entropy_peng_kur )

-((($jum_ter_peng_cuk+$jum_tol_peng_cuk)/$jumlah)*$entropy_peng_cuk )

-((($jum_ter_peng_bai+$jum_tol_peng_bai)/$jumlah)*$entropy_peng_bai );

//perhitungan infomasi gain untuk kriteria pendidikan $jum_ter_pend_kur=0;

$jum_ter_pend_cuk=0; $jum_ter_pend_bai=0;

for ($i=0;$i<$terima;$i++){

if ($pend_kand_ter[$i]=='kurang'){

$jum_ter_pend_kur=$jum_ter_pend_kur+1; }else if($pend_kand_ter[$i]=='cukup'){

$jum_ter_pend_cuk=$jum_ter_pend_cuk+1; }else{

$jum_ter_pend_bai=$jum_ter_pend_bai+1; }

}

$jum_tol_pend_kur=0; $jum_tol_pend_cuk=0; $jum_tol_pend_bai=0;

for ($i=0;$i<$tolak;$i++){


(3)

$jum_tol_pend_kur=$jum_tol_pend_kur+1; }else if($pend_kand_tol[$i]=='cukup'){

$jum_tol_pend_cuk=$jum_tol_pend_cuk+1; }else{

$jum_tol_pend_bai=$jum_tol_pend_bai+1; }

}

$entropy_pend_kur=entropy($jum_ter_pend_kur,$jum_tol_pend_ku r);

$entropy_pend_cuk=entropy($jum_ter_pend_cuk,$jum_tol_pend_cu k);

$entropy_pend_bai=entropy($jum_ter_pend_bai,$jum_tol_pend_ba i);

$gain_pendidikan=$entropy_s-((($jum_ter_pend_kur+$jum_tol_pend_kur)/$jumlah)*$entropy_pend_kur )

-((($jum_ter_pend_cuk+$jum_tol_pend_cuk)/$jumlah)*$entropy_pend_cuk )

-((($jum_ter_pend_bai+$jum_tol_pend_bai)/$jumlah)*$entropy_pend_bai );

//perhitungan infomasi gain untuk kriteria ipk $jum_ter_ipk_kur=0;

$jum_ter_ipk_cuk=0; $jum_ter_ipk_bai=0;

for ($i=0;$i<$terima;$i++){

if ($ipk_kand_ter[$i]=='kurang'){

$jum_ter_ipk_kur=$jum_ter_ipk_kur+1; }else if($ipk_kand_ter[$i]=='cukup'){

$jum_ter_ipk_cuk=$jum_ter_ipk_cuk+1; }else{

$jum_ter_ipk_bai=$jum_ter_ipk_bai+1; }

}

$jum_tol_ipk_kur=0; $jum_tol_ipk_cuk=0; $jum_tol_ipk_bai=0;

for ($i=0;$i<$tolak;$i++){

if ($ipk_kand_tol[$i]=='kurang'){

$jum_tol_ipk_kur=$jum_tol_ipk_kur+1; }else if($ipk_kand_tol[$i]=='cukup'){

$jum_tol_ipk_cuk=$jum_tol_ipk_cuk+1; }else{

$jum_tol_ipk_bai=$jum_tol_ipk_bai+1; }

}

$entropy_ipk_kur=entropy($jum_ter_ipk_kur,$jum_tol_ipk_kur); $entropy_ipk_cuk=entropy($jum_ter_ipk_cuk,$jum_tol_ipk_cuk); $entropy_ipk_bai=entropy($jum_ter_ipk_bai,$jum_tol_ipk_bai);

$gain_ipk=$entropy_s-((($jum_ter_ipk_kur+$jum_tol_ipk_kur)/$jumlah)*$entropy_ipk_kur)

-((($jum_ter_ipk_cuk+$jum_tol_ipk_cuk)/$jumlah)*$entropy_ipk_cuk)


(4)

//perhitungan infomasi gain untuk kriteria tpa $jum_ter_tpa_kur=0;

$jum_ter_tpa_cuk=0; $jum_ter_tpa_bai=0;

for ($i=0;$i<$terima;$i++){

if ($tpa_kand_ter[$i]=='kurang'){

$jum_ter_tpa_kur=$jum_ter_tpa_kur+1; }else if($tpa_kand_ter[$i]=='cukup'){

$jum_ter_tpa_cuk=$jum_ter_tpa_cuk+1; }else{

$jum_ter_tpa_bai=$jum_ter_tpa_bai+1; }

}

$jum_tol_tpa_kur=0; $jum_tol_tpa_cuk=0; $jum_tol_tpa_bai=0;

for ($i=0;$i<$tolak;$i++){

if ($tpa_kand_tol[$i]=='kurang'){

$jum_tol_tpa_kur=$jum_tol_tpa_kur+1; }else if($tpa_kand_tol[$i]=='cukup'){

$jum_tol_tpa_cuk=$jum_tol_tpa_cuk+1; }else{

$jum_tol_tpa_bai=$jum_tol_tpa_bai+1; }

}

$entropy_tpa_kur=entropy($jum_ter_tpa_kur,$jum_tol_tpa_kur); $entropy_tpa_cuk=entropy($jum_ter_tpa_cuk,$jum_tol_tpa_cuk); $entropy_tpa_bai=entropy($jum_ter_tpa_bai,$jum_tol_tpa_bai);

$gain_tpa=$entropy_s-((($jum_ter_tpa_kur+$jum_tol_tpa_kur)/$jumlah)*$entropy_tpa_kur)

-((($jum_ter_tpa_cuk+$jum_tol_tpa_cuk)/$jumlah)*$entropy_tpa_cuk)

-((($jum_ter_tpa_bai+$jum_tol_tpa_bai)/$jumlah)*$entropy_tpa_bai); //perhitungan infomasi gain untuk kriteria toefl

$jum_ter_toefl_kur=0; $jum_ter_toefl_cuk=0; $jum_ter_toefl_bai=0;

for ($i=0;$i<$terima;$i++){

if ($toefl_kand_ter[$i]=='kurang'){

$jum_ter_toefl_kur=$jum_ter_toefl_kur+1; }else if($toefl_kand_ter[$i]=='cukup'){

$jum_ter_toefl_cuk=$jum_ter_toefl_cuk+1; }else{

$jum_ter_toefl_bai=$jum_ter_toefl_bai+1; }

}

$jum_tol_toefl_kur=0; $jum_tol_toefl_cuk=0; $jum_tol_toefl_bai=0; for ($i=0;$i<$tolak;$i++){

if ($toefl_kand_tol[$i]=='kurang'){

$jum_tol_toefl_kur=$jum_tol_toefl_kur+1; }else if($toefl_kand_tol[$i]=='cukup'){

$jum_tol_toefl_cuk=$jum_tol_toefl_cuk+1; }else{


(5)

$jum_tol_toefl_bai=$jum_tol_toefl_bai+1; }

}

$entropy_toefl_kur=entropy($jum_ter_toefl_kur,$jum_tol_toefl _kur);

$entropy_toefl_cuk=entropy($jum_ter_toefl_cuk,$jum_tol_toefl _cuk);

$entropy_toefl_bai=entropy($jum_ter_toefl_bai,$jum_tol_toefl _bai);

$gain_toefl=$entropy_s-((($jum_ter_toefl_kur+$jum_tol_toefl_kur)/$jumlah)*$entropy_toefl_ kur)

-((($jum_ter_toefl_cuk+$jum_tol_toefl_cuk)/$jumlah)*$entropy_toefl_ cuk)

-((($jum_ter_toefl_bai+$jum_tol_toefl_bai)/$jumlah)*$entropy_toefl_ bai);

//perhitungan infomasi gain untuk kriteria univ $jum_ter_univ_kur=0;

$jum_ter_univ_cuk=0; $jum_ter_univ_bai=0;

for ($i=0;$i<$terima;$i++){

if ($univ_kand_ter[$i]=='3'){

$jum_ter_univ_kur=$jum_ter_univ_kur+1; }else if($univ_kand_ter[$i]=='2'){

$jum_ter_univ_cuk=$jum_ter_univ_cuk+1; }else{

$jum_ter_univ_bai=$jum_ter_univ_bai+1; }

}

$jum_tol_univ_kur=0; $jum_tol_univ_cuk=0; $jum_tol_univ_bai=0;

for ($i=0;$i<$tolak;$i++){

if ($univ_kand_tol[$i]=='3'){

$jum_tol_univ_kur=$jum_tol_univ_kur+1; }else if($univ_kand_tol[$i]=='1'){

$jum_tol_univ_cuk=$jum_tol_univ_cuk+1; }else{

$jum_tol_univ_bai=$jum_tol_univ_bai+1; }

}

$entropy_univ_kur=entropy($jum_ter_univ_kur,$jum_tol_univ_ku r);

$entropy_univ_cuk=entropy($jum_ter_univ_cuk,$jum_tol_univ_cu k);

$entropy_univ_bai=entropy($jum_ter_univ_bai,$jum_tol_univ_ba i);

$gain_univ=$entropy_s-((($jum_ter_univ_kur+$jum_tol_univ_kur)/$jumlah)*$entropy_univ_kur )

-((($jum_ter_univ_cuk+$jum_tol_univ_cuk)/$jumlah)*$entropy_univ_cuk )


(6)

-((($jum_ter_univ_bai+$jum_tol_univ_bai)/$jumlah)*$entropy_univ_bai );

//mencari informasi gain terbaik $mark=0;

$gain_kumpul=array($gain_pengalaman,$gain_pendidikan,$gain_i pk,$gain_tpa,$gain_toefl,$gain_univ);

$arrlength=count($gain_kumpul); $gain_terbaik=$gain_kumpul[0]; for($x=1;$x<$arrlength;$x++){

if($gain_kumpul[$x]>$gain_terbaik){ $gain_terbaik=$gain_kumpul[$x]; $mark=$x;

}else{

$gain_terbaik=$gain_terbaik; }

}

$mark=$mark+1;

//menampilakn informasi gain dalam bentuk nama kriteria $nama_gain="";

if($mark==1){

$nama_gain="PENGALAMAN"; }else if($mark==2){

$nama_gain="PENDIDIKAN"; }else if($mark==3){

$nama_gain="IPK"; }else if($mark==4){

$nama_gain="TPA"; }else if($mark==5){

$nama_gain="TOEFL"; }else{

$nama_gain="UNIVERSITAS ASAL"; }

echo '<script type="text/javascript">

alert("menurut data latih kriteria terbesar adalah kriteria '.$nama_gain.'");

window.location="seleksi.php?id_lowongan='.$id_lowongan.'"</ script>';


Dokumen yang terkait

Implementasi Perbandingan Algoritma Analytic Hierarchy Process (AHP) dengan Algoritma Simple Additive Weighting (SAW) dalam Pemilihan Website Hosting

6 80 130

Sistem Pendukung Keputusan Penentuan Kelayakan Calon Asisten Laboratorium Berbasis Android Menggunakan Algoritma Iterative Dichotomiser 3 (Id3)

15 161 148

Kajian Analytic Hierarchy Process (AHP) dalam Menentukan Posisi Merek Handphone Berdasarkan Persepsi Produsen dan Konsumen terhadap Kriteria Handphone

2 67 79

Implementasi Metode Profile Matching dan Metode Analytical Hierarchy Process (AHP) pada Perekrutan Tenaga Kurir (Studi Kasus PT. JNE Cabang Medan)

16 91 137

Analisis Metode AHP (Analytical Hierarchy Process) Berdasarkan Nilai Consistency Ratio

2 46 123

Penentuan Komoditas Unggulan Pertanian Dengan Metode Analytical Hierarchy Process (AHP) (Studi Kasus: Pertanian Kecamatan Parbuluan, Kabupaten Dairi)

18 117 72

Implementasi Metode Analytical Hierarchy Process (AHP) dan Fuzzy Multi-Attribute Decision Making (Fuzzy MADM) dalam Penentuan Prioritas Pengerjaan Order di PT. Sumatera Wood Industry

6 138 175

Analisis Pemilihan Supplier Dengan Metode Analytical Hierarchy Process (AHP) dan Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) di PT. Indo CafCo

12 57 78

Studi Penerapan Metode Analytical Hierarchy Process (AHP) Dan Metode Technique For Order Preference By Similarity To Ideal Solution (TOPSIS) Untuk Peningkatan Kualitas Layanan Di Rumah Sakit Bina Kasih Medan-Sunggal

4 41 149

Pengembangan sistem pendukung keputusan dalam pemilihan fakultas perkuliahan berbaiss mobile web

3 15 150