Selasa, 23 Juni 2009

Modul VII


Pengurutan Sort

A. Landasan Teori
Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu ataupun masih acak, sehingga tersusun secara teratur menurut aturan dan pola tertentu.



Contoh:
Data Acak : 1, 5, 6, 8, 1, 3, 25, 85
Ascending : 1, 1, 3, 5, 6, 8, 25, 85
Descending : 85, 25, 8, 6, 5, 3, 1, 1


Salah satu metode pengurutan data adalah Bubble Sort, yaitu mengurutkan data dengan
cara membandingkan elemen data sekarang (Acuan) dengan elemen berikutnya.

Pengurutan Ascending: Jika elemen sekarang lebih besar dari elemen berikutnya, maka kedua elemen tersebut ditukar.

Pengurutan Descending: Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar.

Ketika satu proses telah selesai, maka bubble sort akan mengulang proses, demikian seterusnya sampai dengan interaksi sebanyak n-1. Proses Algoritma Bubble Sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah di inginkan.


B. Contoh Program:

?html>
?head>
?script LANGUAGE="JavaScript">
function Urutkan (form)
{
DataKosong = false;
DataInputan = form.Data.value;
inputData = DataInputan.split(",");
for (var i = 0; i ? inputData.length; i++)
{
iputData[i] = parseInt(inputData[i], 10);
if (isNaN(inputData[i]))
{
DataKosong = true;
break;
}
}
inputData = bubbleSort(inputData, 0, inputData.length - 1);
if (DataKosong)
{
alert("Silakan Entri Dulu Data, Pisahkan Dengan Tanda Koma");
form.Data.focus();
}
else
form.Hasil.value = DataString(inputData, 0);
}

function DataString(ArrayData, Angka)
{
if ((Arraydata.length - 1) >= Angka)
return (ArrayData[Angka] + "," + DataString(ArrayData, (Angka + 1)));
else
return "";
}

function bubbleSort(ArrayData, Mulai, MulaiBaru)
{
for (var i = MulaiBaru - 1; i >= Mulai; i--)
{
for (var j = Mulai; j ?= i; j++)
{
if (Arraydata[j+1] ? ArrayData[j])
{
var DataTemporer = ArrayData[j];
ArrayData[j] = ArrayData[j+1];
ArrayData[j+1] = DataTemporer;
}
}
}
return ArrayData;
}

?/script>
?/head>

?body>
?center>
?form>
Masukkan Deretan Angka, Pisahkan Dengan Koma :
?hr>
?br> ?input type=text name=Data size=30 value="5, 6, 8, 12, 4, 8, 4, 20">
?br>
?br>
?input type=button value="Urutkan" onClick="Urutkan(this.form)">
?br>
?br>
?br>
Hasil Pengurutan :
?hr>
?input type=text name=Hasil size=30>

?/form>
?/center>

?/body>
?/html>


Tidak ada komentar:

Posting Komentar