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),
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
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
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
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
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.
MOTO
Tidak Ada Kekayaan yang Melebihi Akal
dan Tidak Ada Kemelaratan yang Melebihi
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
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
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
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
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
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
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
DAFTAR LAMPIRAN
Lampiran Halaman
1. Source Code Implementasi Metode AHP ...62
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
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
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
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
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,
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
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
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
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
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
Perbandingan antara CI dan RI suatu matriks didefinisikan sebagai Consistency Ratio(CR).
� =
��� Husni (2010)Matriks perbandingan berpasangan untuk model AHP dapat diterima jika besarnya
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 :
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 terdiridari 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
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
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
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
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).
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
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
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
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
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
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
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.
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
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
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.
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.
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.
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.
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
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
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.
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.
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
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
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
60
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'];
}
//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++;
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;
}
}
64
$jumlah_tiap_kolom_ipk=array(); for ($z=0;$z<$jumlah;$z++){
$jumlah_tiap_kolom_ipk[$z]=0;
for ($y=0;$y<$jumlah;$y++){ for ($z=0;$z<$jumlah;$z++){
$rata_baris_ipk[$z]=0;
for ($y=0;$y<$jumlah;$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){
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++){ for ($z=0;$z<$jumlah;$z++){
$rata_baris_penga[$z]=0;
for ($y=0;$y<$jumlah;$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){
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++){ for ($z=0;$z<$jumlah;$z++){
$rata_baris_pend[$z]=0;
for ($y=0;$y<$jumlah;$y++){
$rata_baris_pend[$z]=$rata_baris_pend[$z]/$jumlah;
}
//perhitungan tpa
$matriks_pasang_tpa=array(); for ($z=0;$z<$jumlah;$z++){
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++){
68 for ($z=0;$z<$jumlah;$z++){
$rata_baris_tpa[$z]=0;
for ($y=0;$y<$jumlah;$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)){
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++){ for ($z=0;$z<$jumlah;$z++){
$rata_baris_toefl[$z]=0;
for ($y=0;$y<$jumlah;$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;
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++){ for ($z=0;$z<$jumlah;$z++){
$rata_baris_univ[$z]=0;
for ($y=0;$y<$jumlah;$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++;
}
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(
$jumlah_tiap_kolom[$z]=0;
for ($y=0;$y<6;$y++){
//mencari vektor eigen dimasukan pada variabel $rata_baris $matriks_normal=array();
72
$rata_baris[$z]=$rata_baris[$z]/6;
}
//mencari total rangking $total_rangking=array();
$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{
2. Source Code Implementasi Algoritma ID3
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); }else if(($peng_kand_ter[$c]>0) && ($peng_kand_ter[$c]<=5) ){ }else if(($ipk_kand_ter[$c]>=3) && ($ipk_kand_ter[$c]<3.5) ){ }else if(($tpa_kand_ter[$c]>=300) && ($tpa_kand_ter[$c]<500) ){ }else if(($toefl_kand_ter[$c]>=300) && ($toefl_kand_ter[$c]<450) ){