Algoritma ini digunakan untuk mengurangkan antara array A dan B, artinya diambil isi array yang ada didalam A tapi tidak ada didalam array B.
Coding Pertama :
<?php
//----------------------------------------
// Fungsi untuk mengurangkan dua array
// Array A - B artinya elemen yang ada didalam A
// tapi tidak ada di dalam B
//----------------------------------------
function kurangArray($A,$B){
$jmlA = count($A);
$jmlB = count($B);
$tandai = 0;
for($i=0;$i<$jmlA;$i++){ //looping A
for ($j=0;$j<$jmlB;$j++){ // looping B
if($A[$i] == $B[$j]){ // cek apakah ada yang sama, bila ada tandai satu
$tandai = 1;
}
}
//bila ada yang sama maka di seleksi loop B
if($tandai == 0)
{
$array_baru[] = $A[$i];
}
else
$tandai = 0;
}
return $array_baru;
}
$satu = array(1,3,4);
$dua = array(1,3,3);
echo "<pre>";
print_r(kurangArray($satu, $dua));
echo "</pre>";
?>
Coding Kedua: output yang berbeda, agar lebih mudah dimengerti
<?
//----------------------------------------
// Fungsi untuk mengurangkan dua array
// Array A - B artinya elemen yang ada didalam A
// tapi tidak ada di dalam B
//----------------------------------------
function kurangArray($A,$B){
echo "Jumlah A : ". $jmlA = count($A)."<br>";
echo "Jumlah B : ". $jmlB = count($B)."<br>";
echo "<br>";
$tandai = 0;
for($i=0;$i<$jmlA;$i++){ //looping untuk array A
echo "Iterasi : " .$i."<br>";
for ($j=0;$j<$jmlB;$j++){ // looping untuk array B
echo $j;
if($A[$i] == $B[$j]){ // cek apakah ada yang sama, bila ada tandai satu
echo " - ".$tandai = 1;
}
echo "<br>";
}
echo "tandai berisi : $tandai";
//bila sudah ada yang sama maka lolos dari seleksi $tandai
if($tandai == 0)
{
$array_baru[] = $A[$i];
echo "<br>";
print_r($array_baru);
}
else
echo " , Karena sudah lewat lalu ditandai : " .$tandai = 0;
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
}
//return $array_baru;
}
$satu = array(1,3,4);
$dua = array(1,3,3);
echo "<pre>";
print_r(kurangArray($satu, $dua));
echo "</pre>";
?>
Dibawah ini tracing program menggunakan excel :
Kunci dari algoritma ini adalah pada penandaan 0 dan 1, apabila salah satu nilai yang dibandingkan memiliki kesamaan maka akan ditandai 1 dan tidak dimasukkan ke dalam array, sedangakkan bila tidak ada yang sama maka akan ditandai 0, dan nilai tersebut dimasukkan kedalam array.








This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.
0 Response to “Algoritma Array (A – B)”