1. Source Code Implementasi Metode AHP
<?phpinclude "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++; }
//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; } } }
$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){ $matriks_pasang_penga[$z][$y]=0.16;
}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){ $matriks_pasang_pend[$z][$y]=7;
}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++){
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];
} } $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)){ $matriks_pasang_toefl[$z][$y]=0.25;
}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; }else{
$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");
$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();
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();$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) ){
}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'; }
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);
$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'){
$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) -((($jum_ter_ipk_bai+$jum_tol_ipk_bai)/$jumlah)*$entropy_ipk_bai);
//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{
$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 )
-((($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>';