Data KMM
Hasil Pengujian
Tentukan Kelas yang hendak diuji dan nilai K-Value sebagai batasan klasifiaksi
HASIL ANALISA:
SBB kodenya :
<?php
$pro="simpan";
$tanggal=WKT(date("Y-m-d"));
?>
<script type="text/javascript">
function PRINT(){
win=window.open('jadwal/print.php','win','width=1000, height=400, menubar=0, scrollbars=1, resizable=0, location=0, toolbar=0, nip=0'); }
</script>
<script language="JavaScript">
function buka(url) {window.open(url, 'window_baru', 'width=800,height=600,left=320,top=100,resizable=1,scrollbars=1');}
</script>
<div id="accordion">
<h4>Data Kelas Tahun Ajaran</h4>
<div>
<?php
$k=2;
require_once"ta.php";
$sql="select `kode_kelas` from `$tbjadwal` order by kode_kelas desc";
$d=getField($conn,$sql);
$kode_kelas=$d["kode_kelas"];
$kelas=getKelas($conn,$kode_kelas);
if(isset($_POST["Proses"])){
$k=$_POST["k"];
$kode_kelas=$_POST["kode_kelas"];
$kelas=getKelas($conn,$kode_kelas);
}
?>
<form action="" method="post" enctype="multipart/form-data">
<table id="table">
<tr>
<td height="24"><label for="kode_kelas">Pilih Kelas</label>
<td>:<td colspan="2"><select name="kode_kelas" class="form-control" id="kode_kelas">
<option><?php echo "$kelas ($kode_kelas)"?></option>
<?php
$sql="select * from `$tbkelas` where kode_tahunajaran='$gkode'";
$arr=getData($conn,$sql);
foreach($arr as $d) {
$kode_kelas0=$d["kode_kelas"];
$nama_kelas=$d["nama_kelas"];
echo"<option value='$kode_kelas0' ";if($kode_kelas0==$kode_kelas){echo"selected";} echo">$nama_kelas ($kode_kelas0)</option>";
}
?>
</select></td>
</tr>
<tr>
<td height="24"><label for="k">Masukkan k Value</label>
<td>:<td colspan="2"><input name="k" class="form-control" type="text" id="k" value="<?php echo $k;?>" size="5" /></td>
</tr>
<tr>
<td>
<td>
<td colspan="2"> <input name="Proses" type="submit" id="Proses" value="Proses" />
<input name="kode_tahunajaran" type="hidden" id="kode_tahunajaran" value="<?php echo $gkode;?>" />
<a href="?mnu=ranking"><input name="Batal" type="button" id="Batal" value="Batal" /></a>
</td></tr>
</table>
</form>
<hr>
<?php
if(isset($_POST["Proses"])){
$k=$_POST["k"];
$kode_kelas=$_POST["kode_kelas"];
$kelas=getKelas($conn,$kode_kelas);
}
$sql="select distinct(`kode_matapelajaran`) from `$tbjadwal` where `kode_tahunajaran`='$gkode' and `kode_kelas`='$kode_kelas' order by `id` desc";
$arr=getData($conn,$sql);
$i=0;
foreach($arr as $d) {
$kode_matapelajaran=$d["kode_matapelajaran"];
$ark[$i]=$kode_matapelajaran;
$arkkm[$i]=getKKM($conn,$kode_matapelajaran);
$i++;
}
$jmp=count($ark);
$sql="select distinct(`nis`) from `$tbpenempatan` where `kode_tahunajaran`='$gkode' and `kode_kelas`='$kode_kelas'";
$arr=getData($conn,$sql);
$i=0;
foreach($arr as $d) {
$nis=$d["nis"];
$arn[$i]=$nis;
$i++;
}
$jsiswa=count($arn);
$gab="<table border='1' width='100%'>";
$gab.="<tr colspan='#cccccc'><td><b>No<td><b>NIS<td><b>Nama Siswa";
for($j=0;$j<$jmp;$j++){
$gab.="<td><b>".getMataPelajaran($conn,$ark[$j]);
}
$gab.="</b></tr>";
for($i=0;$i<$jsiswa;$i++){
$no=$i+1;
$nis=$arn[$i];
$nama=getSiswa($conn,$nis);
$gab.="<tr><td>$no<td>$nis<td>$nama";
for($j=0;$j<$jmp;$j++){
$sql="select `kode_nilai` from `$tbnilai` where `nis`='$arn[$i]' and `kode_tahunajaran`='$gkode' ";
$d=getField($conn,$sql);
$kode_nilai=$d["kode_nilai"];
$bobot=getNilaiSiswa($conn,$kode_nilai,$ark[$i]);
$AR[$i][$j]=$bobot;
$gab.="<td>$bobot";
}
$gab.="</tr>";
}
$gab.="<tr ><td>#<td colspan='2'><b>KKM";
for($j=0;$j<$jmp;$j++){
$gab.="<td><b>".$arkkm[$j]."</b>";
}
$gab.="</tr>";
$gab.="</table>";
$gab2="<table border='1' width='100%'>";
$gab2.="<tr colspan='#cccccc'><td><b>No<td><b>NIS<td><b>Nama Siswa<td><b>Formula<td><b>EigenValue</tr>";
for($i=0;$i<$jsiswa;$i++){
$no=$i+1;
$V[$i]=0;
$S[$i]="";
for($j=0;$j<$jmp;$j++){
$b1=$AR[$i][$j];
$b2=$arkkm[$j];
$V[$i]+=pow(($b1-$b2),2);
$S[$i].="+ ($b1-$b2)<sup>2</sup>";
}//j
$S[$i]=substr($S[$i],2,strlen($S[$i]));
$nis=$arn[$i];
$nama=getSiswa($conn,$nis);
$V[$i]=round(sqrt($V[$i]),2);
$gab2.="<tr><td>$no<td><b>$nis<td><b>$nama<td>SQRT($S[$i])<td>$V[$i]</tr>";
}//i
$gab2.="</tr>";
$gab2.="</table>";
$array_count = count($V);
for($x = 0; $x < $array_count; $x++){
for($a = 0 ; $a < $array_count - 1 ; $a++){
if($a < $array_count ){
if($V[$a] > $V[$a + 1] ){
swap($V, $a, $a+1);
swap($S, $a, $a+1);
swap($arn, $a, $a+1);
}
}
}
}
$gab3="<table border='1' width='100%'>";
$gab3.="<tr colspan='#cccccc'><td><b>No<td><b>NIS<td><b>Nama Siswa<td><b>EigenValue<td><b>Ranking<td><b>k =$k</b></tr>";
for($i=0;$i<$jsiswa;$i++){
$no=$i+1;
$nis=$arn[$i];
$nama=getSiswa($conn,$nis);
$hs="Kelas Biasa";
if($no<=$k){$hs="Kelas Favorite";}
$gab3.="<tr><td>$no<td><b>$nis<td><b>$nama<td>$V[$i]</td><td><strong>$no<td>$hs</strong></tr>";
}//i
$gab3.="</tr>";
$gab3.="</table>";
?>
<h3>Data Nilai Siswa Kelas <?php echo $kelas;?>: </h3
<br>
<?php echo $gab;?>
<hr>
<h3>K-Nearest Neighbor (K-NN) <?php echo $kelas;?>: </h3
<br>
<?php echo $gab2;?>
<hr>
<h3>Pengurutan dan Filter k value KNN kelas <?php echo $kelas;?>: </h3
<br>
<?php echo $gab3;?>
</div>
</div>
<?php
function swap(&$arr, $a, $b) {
$tmp = $arr[$a];
$arr[$a] = $arr[$b];
$arr[$b] = $tmp;
}
function getNilaiSiswa($conn,$kode_nilai,$kode_matapelajaran){
$sql="select `bobot` from `tb_nilaidetail` where `kode_nilai`='$kode_nilai' and `kode_matapelajaran`='$kode_matapelajaran'";
$bobot=0;
if(getJum($conn,$sql)<1){
$bobot=0;
}
else{
$d=getField($conn,$sql);
$bobot=$d["bobot"];
}
return $bobot;
}
?>
<br><br><br>
<pre>
Algoritma Perhitungan KNN
Menentukan parameter K sebagai banyaknya jumlah tetangga terdekat dengan objek baru.
Menghitung jarak antar objek/data baru terhadap semua objek/data yan gtelah di training.
Urutkan hasil perhitungan tersebut.
Tentukan tetangga terdekat berdasarkan jarak minimum ke K.
Tentukan kategori dari tetangga terdekat dengan objek/data.
Gunakan kategori mayoritas sebagai klasifikasi objek/data baru.
</pre>