Catatan PHP
# case
$nama_hari = date("1");
switch ($nama_hari)
{
case "Sunday" :
print("Minggu");
break;
case "Monday" :
print("Senin");
break;
case "Tuesday" :
print("Selasa");
break;
case "Wednesday" :
print("Rabu");
break;
case "Thursday" :
print("Kamis");
break;
case "Friday" :
print("Jumat");
break;
default :
print("Sabtu");
# for
for ($bilangan = 1; $bilangan <= 25; $bilangan++)
print("$bilangan <BR>\n");
# do while
$bilangan = 1;
do
{
print("$bilangan <BR>\n");
$bilangan++;
} while ($bilangan < 26);
# penggunaan hari
$nama_hari = date("1");
if ($nama_hari == "Sunday")
print("Minggu");
elseif ($nama_hari == "Monday")
print("Senin");
elseif ($nama_hari == "Tuesday")
print("Selasa");
elseif ($nama_hari == "Wednesday")
print("Rabu");
elseif ($nama_hari == "Thursday")
print("Kamis");
elseif ($nama_hari == "Friday")
print("Jumat");
else
print("Sabtu");
# Pengurutan / sort
$buah1[0] = "11 Nanas";
$buah1[1] = "1 Nanas";
$buah1[2] = "2 Nanas";
$buah1[3] = "12 Nanas";
print("Data Asli : <BR>\n");
while ( list($indeks, $nilai) = each($buah1) )
{
print("$nilai <BR>\n");
}
print("<BR>\n");
// Pengurutan dengan sort
$buah2 = $buah1;
sort($buah2);
print("Hasil sort : <BR>\n");
while ( list($indeks, $nilai) = each($buah2) )
{
print("$nilai <BR>\n");
}
print("<BR>\n");
// Pengurutan dengan natsort
$buah2 = $buah1;
natsort($buah2);
print("Hasil natsort : <BR>\n");
while ( list($indeks, $nilai) = each($buah2) )
{
print("$nilai <BR>\n");
}
print("<BR>\n");
# Pengurutan data
$buah1["A"] = "Nanas";
$buah1["E"] = "Pepaya";
$buah1["C"] = "Mangga";
$buah1["F"] = "Apel";
print("Data Asli : ");
while ( list($indeks, $nilai) = each($buah1) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan asort
$buah2 = $buah1;
asort($buah2);
print("Hasil asort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan arsort
$buah2 = $buah1;
arsort($buah2);
print("Hasil arsort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan krsort
$buah2 = $buah1;
krsort($buah2);
print("Hasil krsort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan rsort
$buah2 = $buah1;
rsort($buah2);
print("Hasil rsort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan sort
$buah2 = $buah1;
sort($buah2);
print("Hasil sort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan ksort
$buah2 = $buah1;
ksort($buah2);
print("Hasil ksort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
Sorting/pengurutan adalah teknik atau cara untuk mengurutkan suatu deretan data. Teknik atau algoritma untuk melakukan pengurutan, sesungguhnya ada beberapa, salah satunya: Selection Sort. Selection Sort salah satu algoritma pengurutan yang mudah untuk dipelajari.
Konsep dasarnya yaitu : “Melakukan pencarian data terkecil/terbesar pada suatu iterasi. Kemudian data tersebut ditukar dengan data[index]. index=iterasi. Jumlah iterasi ditentukan oleh banyaknya data atau ‘N’. Iterasi=N-1.”
Sebagai contoh penggunaan algoritma selection sort, kita gunakan PHP, sebagai berikut :
<html>
<head><title>$ Sorting Algorithm $</title></head>
<body>
<h2>Algoritma Selection Sort</h2>
<font size=4>
<?PHP
//data awal
$data[0]=5; $data[3]=7;
$data[1]=2; $data[4]=6;
$data[2]=4; $data[5]=3;
echo"<b>Jumlah Data : 6</b><br>";
echo"<b>Data Awal : </b>";
//menampilkan data awal
for($i=0;$i<=5;$i++)
{
echo"$data[$i] ";
}
echo"<br><br>";
//——–Algoritma Selection Sort
for($j=0;$j<=5-1;$j++)
{
$BilMin=$data[$j];
for($k=$j+1;$k<=5;$k++)
{
if($data[$k]<$BilMin)
{
$BilMin=$data[$k];
$Posisi=$k;
}
//Algo Tukar…
$Temp=$data[$j];
$data[$j]=$data[$Posisi];
$data[$Posisi]=$Temp;
}
//menampilkan data tiap Iterasi
$NoIte=$j+1;
echo"Iterasi ke-$NoIte : ";
for($i=0;$i<=5;$i++)
{
echo"$data[$i] ";
}
echo"<br>";
//——-
}
?>
</font>
</body>
</html>
Tingkat kehandalan suatu algoritma, diukur berdasarkan seberapa baik algoritma itu melakukan pengurutan, dan seberapa cepat prosesnya dilakukan. Shell Sort, salah satu algoritma pengurutan yang lebih handal dibandingkan Selection Sort dan Bubble Sort.
Kehandalannya yaitu : “Membagi deret data menjadi dua bagian. Masing-masing bagian diurutkan menggunakan Bubble Sort. Tidak menggunakan iterasi melainkan increment. Perulangan diakukan sesuai nilai increment.”
Sebagai contoh penggunaan algoritma shell sort, kita gunakan PHP, sebagai berikut :
<html>
<head><title>$ Sorting Algorithm $</title></head>
<body>
<h2>Algoritma Shell Sort</h2>
<font size=4>
<?php
$size=6;
//data awal
$data = array(0,1,2,3,4,5);
$data[0]=5; $data[3]=7;
$data[1]=2; $data[4]=6;
$data[2]=4; $data[5]=3;
echo("<b> Jumlah Data : 6</b><br>");
echo("<b> Data Awal :</b>");
tampildata();echo"<br>";
$increment=$size/2;
while($increment>0)
{
echo"<b>Increment Ke-$increment :</b><br>";
for($i=$increment;$i<$size;$i++)
{
$j = $i;
$temp = $data[$i];
while(($j>=$increment)&&($data[$j-$increment]>$temp))
{
$data[$j]=$data[$j-$increment];
$j=$j-$increment;
}
$data[$j]=$temp;
echo"<font color=’green’>";tampildata();echo"</font><br>";
}
if ($increment == 2)
$increment = 1;
else
$increment = round($increment/2.2);
}
echo"<font color=’navy’><b>Hasil Akhir : ";
tampildata();echo"<b></font><br>";
//fungsi menampilkan data
function tampildata()
{
global $data;
for($i=0;$i<=5;$i++)
{
echo"$data[$i] ";
}
}
//=======================
?>
</font>
</body>
</html>
Teknik pengurutan/sorting selain Selection Sort yaitu: Bubble Sort. Bubble Sort juga salah satu algoritma pengurutan yang mudah untuk dipelajari.
Konsep dasarnya yaitu : “Melakukan pembandingan antara ’data[n] dengan data[n+1]’ atau antara ’data[n] dengan data[n-1]’ kemudian jika lebih kecil/besar dilakukan pertukaran. Pada setiap iterasi dapat terjadi beberapa kali pertukaran atau tidak sama sekali. Jumlah iterasi ditentukan oleh banyaknya data atau ‘N’. Iterasi=N-1.”
Sebagai contoh penggunaan algoritma bubble sort, kita gunakan PHP, sebagai berikut :
<html>
<head><title>$ Sorting Algorithm $</title></head>
<body>
<h2>Algoritma Bubble Sort</h2>
<font size=4>
<?PHP
//data awal
$data[0]=5; $data[3]=7;
$data[1]=2; $data[4]=6;
$data[2]=4; $data[5]=3;
echo"<b>Jumlah Data : 6</b><br>";
echo"<b>Data Awal : </b>";
//menampilkan data awal
for($i=0;$i<=5;$i++)
{
echo"$data[$i] ";
}
echo"<br><br>";
//——–Algoritma Bubble Sort
for($j=0;$j<=4;$j++)
{
for($k=4;$k>=$j;$k–)
{
if($data[$k]>$data[$k+1])
{
//Algo Tukar…
$Temp=$data[$k];
$data[$k]=$data[$k+1];
$data[$k+1]=$Temp;
}
//menampilkan data tiap Iterasi
$NoIte=$j+1;
echo"Iterasi ke-$NoIte : ";
for($i=0;$i<=5;$i++)
{
echo"$data[$i] ";
}
echo"<br>";
//——-
}
echo"<br>";
}
?>
</font>
</body>
</html>
Selain algoritma pengurutan Selection Sort, Bubble Sort, dan Shell Sort yang telah kita pelajari beberapa waktu yang lalu, masih ada yang lain. Algoritma Insertion Sort, sekilas algoritma ini tidak jauh berbeda dengan Bubble Sort, namun sesungguhnya berbeda.
Konsep dasarnya yaitu : “Menyisipkan sebuah angka ke posisi yang diinginkan. Angka yang disisipkan sesuai dengan urutan iterasinya. Jumlah iterasi ditentukan oleh banyaknya data atau ‘N’. Iterasi=N”
Sebagai contoh penggunaan algoritma Insertion Sort, kita gunakan PHP, sebagai berikut :
<html>
<head><title>$ Sorting Algorithm $</title></head>
<body>
<h2>Algoritma Insertion Sort</h2>
<font size=4>
<?php
$size=6;
//data awal
$data=array(0,1,2,3,4,5);
$data[0]=5; $data[3]=7;
$data[1]=2; $data[4]=6;
$data[2]=4; $data[5]=3;
echo("<b>Jumlah Data : 6</b><br>");
echo("<b>Data Awal :</b>");
tampildata();
insert_sort();
echo"<font color=’navy’><b>Hasil Akhir : ";
tampildata();echo"<b></font><br>";
//fungsi menampilkan data
function tampildata()
{
global $data;
for($i=0;$i<=5;$i++)
{
echo"$data[$i] ";
}
echo"<br>";
}
//=======================
function insert_sort()
{
global $data,$size;
for($i=0;$i<=$size-1;$i++)
{
$value=$data[$i];
$j=$i-1; $NoIte=$i+1;
echo"<font color=’navy’>";
echo"Iterasi Ke-$NoIte : ";
tampildata();
echo"</font>";
while(($j>=0)&&($data[$j]>$value))
{
//menyisipkan data sesuai iterasi
$data[$j+1]=$data[$j];
$j=$j-1;
$data[$j+1]=$value;
tampildata();
}
}
}
?>
</font>
</body>
</html>
sumber : http://yunanto.wordpress.com/2008/03/28/algoritma-selection-sort/
