TIF_E41201448/application/views/cluster/iterasi_kmeans.php

767 lines
41 KiB
PHP

<?php
defined('BASEPATH') or exit('No direct script access allowed');
$this->load->view('dist/_partials/header');
?>
<!-- Main Content -->
<div class="main-content">
<section class="section">
<div class="section-header">
<h1>Proses Clustering Data</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item">Proses Cluster</div>
</div>
</div>
<div class="section-body">
<div id="body">
<a class="btn btn-primary"
href="<?php echo base_url(); ?>cluster/iterasi_kmeans_lanjut?tahun=<?php echo $tahun; ?>">Proses
Iterasi Selanjutnya</a><br><br>
</div>
<?php if (isset($_GET['notif'])):
_notif($this->session->flashdata($_GET['notif']));
endif; ?>
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h4>Data Awal</h4>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped table-bordered" id="table_data">
<tr align="center">
<td rowspan="2">Kode kecamatan</td>
<td rowspan="2">Nama Kecamatan</td>
<?php foreach ($tes->result() as $tes_n) { ?>
<td rowspan="2"><?php echo $tes_n->nama; ?></td>
<?php } ?>
<td colspan="3">Centroid 1</td>
<td colspan="3">Centroid 2</td>
<td colspan="3">Centroid 3</td>
<td rowspan="2">C1</td>
<td rowspan="2">C2</td>
<td rowspan="2">C3</td>
<td rowspan="2">Hasil</td>
<td rowspan="2">Detail</td>
</tr>
<tr align="center">
<!-- centroid Awal -->
<?php foreach ($mam->result_array() as $mx) { ?>
<td>
<!-- ada lagi? -->
<!-- dibawah ini lah -->
<!-- menentukan centroid awal -->
<!-- c1 x1 -->
<?php
if ($x1 == '') {
echo 0.22; //ini yang acak
} else {
echo $x1;
}
?>
</td>
<!-- output | yang ditampilkan-->
<!-- c1 y1 -->
<td><?php if ($y1 == '') {
echo 0.42;
} else {
echo $y1;
}
?></td>
<!-- c1 z1 -->
<td><?php if ($z1 == '') {
echo 0.64;
} else {
echo $z1;
}
?></td>
<!-- c2 x2 -->
<td><?php if ($x2 == '') {
echo 0.11;
} else {
echo $x2;
}
?></td>
<!-- c2 y2 -->
<td><?php if ($y2 == '') {
echo 0.14;
} else {
echo $y2;
}
?></td>
<!-- c2 z2 -->
<td><?php if ($z2 == '') {
echo 0.26;
} else {
echo $z2;
}
?></td>
<!-- c3 x3 -->
<td><?php if ($x3 == '') {
echo $mx['MIN(c1c)'];
} else {
echo $x3;
}
?></td>
<!-- c3 y3 -->
<td><?php if ($y3 == '') {
echo 0;
} else {
echo $y3;
}
?></td>
<!-- c3 z3 -->
<td><?php if ($z3 == '') {
echo 0.1;
} else {
echo $z3;
}
?></td>
<?php } ?>
</tr>
<!-- yang dihitung -->
<!-- c1 x1 -->
<?php
if ($x1 == '') {
$c1a = 0.22;
} else {
$c1a = $x1;
}
//<!-- c1 y1 -->
if ($y1 == '') {
$c1b = 0.42;
} else {
$c1b = $y1;
}
//<!-- c1 z1 -->
if ($z1 == '') {
$c1c = 0.64;
} else {
$c1c = $z1;
}
//<!-- c2 x2 -->
if ($x2 == '') {
$c2a = 0.11;
} else {
$c2a = $x2;
}
//<!-- c2 y2 -->
if ($y2 == '') {
$c2b = 0.14;
} else {
$c2b = $y2;
}
//<!-- c2 z2 -->
if ($z2 == '') {
$c2c = 0.26;
} else {
$c2c = $z2;
}
//<!-- c3 x3 -->
if ($x3 == '') {
$c3a = $mx['MIN(c1c)'];
} else {
$c3a = $x3;
}
//<!-- c3 y3 -->
if ($y3 == '') {
$c3b = 0;
} else {
$c3b = $y3;
}
//<!-- c3 z3 -->
if ($z3 == '') {
$c3c = 0.1;
} else {
$c3c = $z3;
}
$InsertCentroid = "insert into centroid_data(tahun,x1,x2,x3,y1,y2,y3,z1,z2,z3) values('" . $tahun . "','" . $x1 . "','" . $x2 . "','" . $x3 . "','" . $y1 . "','" . $y2 . "','" . $y3 . "','" . $z1 . "','" . $z2 . "','" . $z3 . "')";
$this->db->query($InsertCentroid);
$c1a_b = "";
$c1b_b = "";
$c1c_b = "";
$c2a_b = "";
$c2b_b = "";
$c2c_b = "";
$c3a_b = "";
$c3b_b = "";
$c3c_b = "";
$hc1 = 0;
$hc2 = 0;
$hc3 = 0;
$no = 0;
$arr_c1 = array();
$arr_c2 = array();
$arr_c3 = array();
$arr_c1_temp = array();
$arr_c2_temp = array();
$arr_c3_temp = array();
$this->db->query('truncate table centroid_temp');
$this->db->query('truncate table hasil_centroid');
$deletee = "delete from centroid where tahun='$tahun'";
$this->db->query($deletee);
//proses perhitungan Kmeans awal
foreach ($kriteria->result_array() as $s) { ?>
<?php $cu = $s['c1c'];
$su = $s['c2c'];
$ke = $s['c3c'];
?>
<tr>
<td><?php echo $s['alternatif_kode']; ?></td>
<td><?php echo $s['alternatif_nama']; ?></td>
<td><?php echo $s['c1c']; ?></td>
<td><?php echo $s['c2c']; ?></td>
<td><?php echo $s['c3c']; ?></td>
<td align="center" colspan="3"><?php
$hc1 = sqrt(pow(($s['c1c'] - $c1a), 2) + pow(($s['c2c'] - $c1b), 2) + pow(($s['c3c'] - $c1c), 2));
$hc1hasil = round($hc1, 2);
echo $hc1hasil;
?></td>
<td align="center" colspan="3"><?php
$hc2 = sqrt(pow(($s['c1c'] - $c2a), 2) + pow(($s['c2c'] - $c2b), 2) + pow(($s['c3c'] - $c2c), 2));
$hc2hasil = round($hc2, 2);
echo $hc2hasil;
?></td>
<td align="center" colspan="3"><?php
$hc3 = sqrt(pow(($s['c1c'] - $c3a), 2) + pow(($s['c2c'] - $c3b), 2) + pow(($s['c3c'] - $c3c), 2));
$hc3hasil = round($hc3, 2);
echo $hc3hasil;
?></td>
<?php
if ($hc1 <= $hc2) {
if ($hc1 <= $hc3) {
$arr_c1[$no] = 1;
} else {
$arr_c1[$no] = '0';
}
} else {
$arr_c1[$no] = '0';
}
if ($hc2 <= $hc1) {
if ($hc2 <= $hc3) {
$arr_c2[$no] = 1;
} else {
$arr_c2[$no] = '0';
}
} else {
$arr_c2[$no] = '0';
}
if ($hc3 <= $hc1) {
if ($hc3 <= $hc2) {
$arr_c3[$no] = 1;
} else {
$arr_c3[$no] = '0';
}
} else {
$arr_c3[$no] = '0';
}
$arr_c1_temp[$no] = $s['c1c'];
$arr_c2_temp[$no] = $s['c2c'];
$arr_c3_temp[$no] = $s['c3c'];
$warna1 = "";
$warna2 = "";
$warna3 = "";
?>
<?php if ($arr_c1[$no] == 1) {
$warna1 = '#FFA500';
} else {
$warna1 = '#ccc';
} ?>
<td bgcolor="<?php echo $warna1; ?>"><?php echo $arr_c1[$no]; ?></td>
<?php if ($arr_c2[$no] == 1) {
$warna2 = '#FFA500';
} else {
$warna2 = '#ccc';
} ?>
<td bgcolor="<?php echo $warna2; ?>"><?php echo $arr_c2[$no]; ?></td>
<?php if ($arr_c3[$no] == 1) {
$warna3 = '#FFA500';
} else {
$warna3 = '#ccc';
} ?>
<td bgcolor="<?php echo $warna3; ?>"><?php echo $arr_c3[$no]; ?></td>
<?php if ($arr_c1[$no] == 1) {
$w1 = 'green';
$s = 'Aman';
} else {
echo $w1 = '';
$s = '';
}
if ($arr_c2[$no] == 1) {
$w2 = 'yellow';
$r = 'Rawan';
} else {
echo $w2 = '';
$r = '';
}
if ($arr_c3[$no] == 1) {
$w3 = 'red';
$t = 'Sangat Rawan';
} else {
echo $w3 = '';
$t = '';
}
$hasil = $s . $r . $t;
$war = $w1 . $w2 . $w3;
?>
<td style="color:black;" bgcolor="<?php echo $war; ?>"><?php echo $hasil; ?>
</td>
<td> <a href="<?php echo base_url(); ?>cluster/detail?c=<?php echo $cu; ?>&s=<?php echo $su; ?>&k=<?php echo $ke; ?>&x1=<?php echo $c1a; ?>&y1=<?php echo $c1b; ?>&z1=<?php echo $c1c; ?>&x2=<?php echo $c2a; ?>&y2=<?php echo $c2b; ?>&z2=<?php echo $c2c; ?>&x3=<?php echo $c3a; ?>&y3=<?php echo $c3b; ?>&z3=<?php echo $c3c; ?>"
class="btn btn-warning">Detail</a></td>
</tr>
<?php
$q = "insert into centroid_temp(iterasi,c1,c2,c3) values(1,'" . $arr_c1[$no] . "','" . $arr_c2[$no] . "','" . $arr_c3[$no] . "')";
$this->db->query($q);
$no++;
}
//centroid baru 1.a
$jum = 0;
$arr = array();
for ($i = 0; $i < count($arr_c1); $i++) {
$arr[$i] = $arr_c1_temp[$i] * $arr_c1[$i];
if ($arr_c1[$i] == 1) {
$jum++;
}
}
if ($arr > 0 && $jum > 0) {
$c1a_b = round(array_sum($arr) / $jum, 2);
}
$contoh1 = $arr;
$jumlah1 = $jum;
$printed1 = false;
//centroid baru 1.b
$jum = 0;
$arr = array();
for ($i = 0; $i < count($arr_c2); $i++) {
$arr[$i] = $arr_c2_temp[$i] * $arr_c1[$i];
if ($arr_c1[$i] == 1) {
$jum++;
}
}
if ($arr > 0 && $jum > 0) {
$c1b_b = round(array_sum($arr) / $jum, 2);
}
$contoh2 = $arr;
$jumlah2 = $jum;
$printed2 = false;
//centroid baru 1.c
$jum = 0;
$arr = array();
for ($i = 0; $i < count($arr_c3); $i++) {
$arr[$i] = $arr_c3_temp[$i] * $arr_c1[$i];
if ($arr_c1[$i] == 1) {
$jum++;
}
}
if ($arr > 0 && $jum > 0) {
$c1c_b = round(array_sum($arr) / $jum, 2);
}
$contoh3 = $arr;
$jumlah3 = $jum;
$printed3 = false;
//centroid baru 2.a
$jum = 0;
$arr = array();
for ($i = 0; $i < count($arr_c1); $i++) {
$arr[$i] = $arr_c1_temp[$i] * $arr_c2[$i];
if ($arr_c2[$i] == 1) {
$jum++;
}
}
if ($arr > 0 && $jum > 0) {
$c2a_b = round(array_sum($arr) / $jum, 2);
}
$contoh4 = $arr;
$jumlah4 = $jum;
$printed4 = false;
//centroid baru 2.b
$jum = 0;
$arr = array();
for ($i = 0; $i < count($arr_c2); $i++) {
$arr[$i] = $arr_c2_temp[$i] * $arr_c2[$i];
if ($arr_c2[$i] == 1) {
$jum++;
}
}
if ($arr > 0 && $jum > 0) {
$c2b_b = round(array_sum($arr) / $jum, 2);
}
$contoh5 = $arr;
$jumlah5 = $jum;
$printed5 = false;
//centroid baru 2.c
$jum = 0;
$arr = array();
for ($i = 0; $i < count($arr_c3); $i++) {
$arr[$i] = $arr_c3_temp[$i] * $arr_c2[$i];
if ($arr_c2[$i] == 1) {
$jum++;
}
}
if ($arr > 0 && $jum > 0) {
$c2c_b = round(array_sum($arr) / $jum, 2);
}
$contoh6 = $arr;
$jumlah6 = $jum;
$printed6 = false;
//centroid baru 3.a
$jum = 0;
$arr = array();
$arb = array();
for ($i = 0; $i < count($arr_c1); $i++) {
$arr[$i] = $arr_c1_temp[$i] * $arr_c3[$i];
if ($arr_c3[$i] == 1) {
$jum++;
}
if ($arr_c1_temp[$i] == 0) {
$arr_c1_temp[$i] = 1;
}
$arb[$i] = $arr_c1_temp[$i] * $arr_c3[$i];
}
if ($arr > 0 && $jum > 0) {
$c3a_b = round(array_sum($arr) / $jum, 2);
}
$contoh7 = $arb;
$jumlah7 = $jum;
$printed7 = false;
//centroid baru 3.b
$jum = 0;
$arr = array();
$arb = array();
for ($i = 0; $i < count($arr_c2); $i++) {
$arr[$i] = $arr_c2_temp[$i] * $arr_c3[$i];
if ($arr_c3[$i] == 1) {
$jum++;
}
if ($arr_c2_temp[$i] == 0) {
$arr_c2_temp[$i] = 1;
}
$arb[$i] = $arr_c2_temp[$i] * $arr_c3[$i];
}
if ($arr > 0 && $jum > 0) {
$c3b_b = round(array_sum($arr) / $jum, 2);
}
$contoh8 = $arb;
$jumlah8 = $jum;
$printed8 = false;
//centroid baru 3.c
$jum = 0;
$arr = array();
$arb = array();
for ($i = 0; $i < count($arr_c3); $i++) {
$arr[$i] = $arr_c3_temp[$i] * $arr_c3[$i];
if ($arr_c3[$i] == 1) {
$jum++;
}
if ($arr_c3_temp[$i] == 0) {
$arr_c3_temp[$i] = 1;
}
$arb[$i] = $arr_c3_temp[$i] * $arr_c3[$i];
}
if ($arr > 0 && $jum > 0) {
$c3c_b = round(array_sum($arr) / $jum, 2);
}
$contoh9 = $arb;
$jumlah9 = $jum;
$printed9 = false;
$delete = "delete from predikat where tahun='$tahun'";
$this->db->query($delete);
$q = "insert into hasil_centroid(c1a,c1b,c1c,c2a,c2b,c2c,c3a,c3b,c3c) values('" . $c1a_b . "','" . $c1b_b . "','" . $c1c_b . "','" . $c2a_b . "','" . $c2b_b . "','" . $c2c_b . "','" . $c3a_b . "','" . $c3b_b . "','" . $c3c_b . "')";
$this->db->query($q);
$qw = "insert into centroid(tahun,x1,x2,x3,y1,y2,y3,z1,z2,z3) values('" . "$tahun" . "','" . $c1a_b . "','" . $c1b_b . "','" . $c1c_b . "','" . $c2a_b . "','" . $c2b_b . "','" . $c2c_b . "','" . $c3a_b . "','" . $c3b_b . "','" . $c3c_b . "')";
$this->db->query($qw);
?>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h4>Centroid baru</h4>
</div>
<!-- centroid 1 -->
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped table-bordered" id="table_data">
<tr>
<td colspan="2" align="center">Centroid 1</td>
</tr>
<tr>
<td width="10">C1<sub>x</sub></td>
<td style="font-size:13px;">
<?php
echo "(";
foreach ($contoh1 as $item1) {
if ($item1 != 0) {
if ($printed1) {
echo "+";
}
if ($item1 == 1) {
$item1 = 0;
}
echo $item1;
$printed1 = true;
}
}
echo ") : " . $jumlah1 . "=" . round($c1a_b, 2); ?>
</td>
</tr>
<tr>
<td>C1<sub>y</sub></td>
<td style="font-size:13px;">
<?php
echo "(";
foreach ($contoh2 as $item2) {
if ($item2 != 0) {
if ($printed2) {
echo "+";
}
if ($item2 == 1) {
$item2 = 0;
}
echo $item2;
$printed2 = true;
}
}
echo ") : " . $jumlah2 . "=" . round($c1b_b, 2); ?>
</td>
</tr>
<tr>
<td>C1<sub>z</sub></td>
<td style="font-size:13px;">
<?php
echo "(";
foreach ($contoh3 as $item3) {
if ($item3 != 0) {
if ($printed3) {
echo "+";
}
if ($item3 == 1) {
$item3 = 0;
}
echo $item3;
$printed3 = true;
}
}
echo ") : " . $jumlah3 . "=" . round($c1c_b, 2); ?>
</td>
</tr>
</table>
</div>
</div>
<!-- centroid 2 -->
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped table-bordered" id="table_data">
<tr>
<td colspan="2" align="center">Centroid 2</td>
</tr>
<tr>
<td width="10">C2<sub>x</sub></td>
<td style="font-size:13px;">
<?php
echo "(";
foreach ($contoh4 as $item4) {
if ($item4 != 0) {
if ($printed4) {
echo "+";
}
if ($item1 == 4) {
$item1 = 0;
}
echo $item4;
$printed4 = true;
}
}
echo ") : " . $jumlah4 . "=" . round($c2a_b, 2); ?>
</td>
</tr>
<tr>
<td>C2<sub>y</sub></td>
<td style="font-size:13px;">
<?php
echo "(";
foreach ($contoh5 as $item5) {
if ($item5 != 0) {
if ($printed5) {
echo "+";
}
if ($item5 == 1) {
$item5 = 0;
}
echo $item5;
$printed5 = true;
}
}
echo ") : " . $jumlah5 . "=" . round($c2b_b, 2); ?>
</td>
</tr>
<tr>
<td>C2<sub>z</sub></td>
<td style="font-size:13px;">
<?php
echo "(";
foreach ($contoh6 as $item6) {
if ($item6 != 0) {
if ($printed6) {
echo "+";
}
if ($item6 == 1) {
$item6 = 0;
}
echo $item6;
$printed6 = true;
}
}
echo ") : " . $jumlah6 . "=" . round($c2c_b, 2); ?>
</td>
</tr>
</table>
</div>
</div>
<!-- centroid 3 -->
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped table-bordered" id="table_data">
<tr>
<td colspan="2" align="center">Centroid 3</td>
</tr>
<tr>
<td width="10">C3<sub>x</sub></td>
<td style="font-size:13px;">
<?php
echo "(";
foreach ($contoh7 as $item7) {
if ($item7 != 0) {
if ($printed7) {
echo "+";
}
if ($item7 == 1) {
$item7 = 0;
}
echo $item7;
$printed7 = true;
}
}
echo ") : " . $jumlah7 . "=" . round($c3a_b, 2); ?>
</td>
</tr>
<tr>
<td>C3<sub>y</sub></td>
<td style="font-size:13px;">
<?php
echo "(";
foreach ($contoh8 as $item8) {
if ($item8 != 0) {
if ($printed8) {
echo "+";
}
if ($item8 == 1) {
$item8 = 0;
}
echo $item8;
$printed8 = true;
}
}
echo ") : " . $jumlah8 . "=" . round($c3b_b, 2); ?>
</td>
</tr>
<tr>
<td>C3<sub>z</sub></td>
<td style="font-size:13px;">
<?php
echo "(";
foreach ($contoh9 as $item9) {
if ($item9 != 0) {
if ($printed9) {
echo "+";
}
if ($item9 == 1) {
$item9 = 0;
}
echo $item9;
$printed9 = true;
}
}
echo ") : " . $jumlah9 . "=" . round($c3c_b, 2); ?>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<?php $this->load->view('dist/_partials/footer'); ?>