sort
assalamualaikum wr. wb
kali ini kita akan membahas mengenai sort . langsung saja kita ke pembahasannya
Pengertian Sorting
Sorting dalam hal ini diartikan mengurutkan data yang berada
dalam suatu tempat penyimpanan, dengan urutan tertentu baik urutan menaik
(ascending) dari nilai terkecil sampai terbesar, atau urut menurun (descending)
dari nilai terbesar sampai dengan nilai terkecil. Sorting merupakan proses
pengurutan. Dilihat dari tempat penyimpanan data, sort dibedakan antara
external sort dan internal sort. External sort bila datanya berada dalam media
external, atau external storage, seperti harddisk. Internal sort bila datanya
ada dalam internal storage atau memori komputer. Dalam makalah ini yang akan
dibahas adalah internal sort dengan data berada dalam array satu dimensi.
Bubble sort
Bubble sort (metode gelembung) adalah metode/algoritma
pengurutan dengan cara melakukan penukaran data dengan tepat sebelahnya secara
terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi
perubahan. Jika tidak ada lagi perubahan berarti data sudah terurut. Disebut
pengurutan gelembung karena masing-masing kunci akan dengan lambat
menggelembung ke posisi yang tepat.
Prinsip kerja dari bubble sort adalah:
1. Pengecekan mulai dari data ke satu sampai data
ke-n.
2. Bandingkan data ke-1 sampai data ke-n dengan
data setelahnya.
3. Jika lebih besar maka tidak terjadi pemindahan
atau swap.
4. Jika data sebelumnya kecil bila dibandingkan dengan
data setelahnya besar maka tidak akan terjadi pemindahan atau no swap.
5. Ulang langkah diatas sampai data bisa tersusun baik
secara ascending maupun descending. Sampai data terurutkan. Metode pengurutan
gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada di
permukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat
jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di
atas dipakai pada pengurutan gelembung
berikut adalah contoh kasus pengurutan nilai dalam array
kita akan mengurutkan array dibawah ini dengan urutan dari terkecil ke terbesar
lanjut kita ke proses
proses 1 ->
proses 2 ->proses 3 ->
proses 4 ->
proses 5 ->
Selection Sort
Selection Sort Selection sort adalah metode sorting
dimana elemen di perbandingkan satu-persatu sampai pada elemen terakhir dan
disusun berdasarkan ketentuan-ketentuan berlaku (terbesar atau terkecil).
Prinsip kerja selection short:
1) Pengecekan dimulai data ke-1 sampai dengan
ke-n.
2) Tentukan bilangan dengan indeks terkecil dari
bilangan tersebut.
3) Tukar bilangan dengan indeks terkecil
tersebut dengan bilangan pertama (I=1) dari data bilangan tersebut.
4) Lakukan langkah 2 dan 3 untuk bilangan berikutnya (I=I+1) sampai
didapatkan urutan yang optimal.
berikut adalah contoh kasus pengurutan nilai dalam array
kita akan mengurutkan array dibawah ini dengan urutan dari terkecil ke terbesar
lanjut kita ke proses
proses ke 1 ->
proses ke 2 ->proses ke 3 ->
proses ke 4 ->
proses ke 5 ->
Insertion Sort
Insertion Sort Insertion sort adalah sebuah metode
pengurutan data dengan menempatkan setiap elemen data pada pisisinya dengan
cara melakukan perbandingan dengan data – data yang ada. Indeks algoritma dari
metode insertion sort ini dapat dianalogikan sama seperti mengurutkan kartu,
dimana jika suatu kartu dipindah tempatkan menurut posisinya, maka kartu yang
lain akan bergeser mundur atau maju sesuai kondisi pemindahanan kartu tersebut.
Dalam pengurutan data, metode ini dipakai bertujuan untuk menjadikan bagian
sisi kiri array terurutkan sampai dengan seluruh array diurutkan.
berikut adalah contoh kasus pengurutan nilai dalam array
kita akan mengurutkan array dibawah ini dengan urutan dari terkecil ke terbesar
lanjut kita ke proses
proses ke 1 ->
proses ke 2 ->proses ke 3 ->
proses ke 4 ->
proses ke 5 ->
Contoh Sort pada javascript
kali ini saya akan menggunakan insertion sort sebagai contoh dalam pengkodingan
<html>
<head>
<title>sort</title>
</head>
<body>
<label>angka awal</label><br>
<label id="hasil_angka_awal"></label><br>
<label>urutkan</label><br>
<button onclick="urutkan()">urutkan</button><br>
<label id="pengurutan"></label><br>
<label>hasil akhir : </label>
<label id="hasil"></label>
</body>
</html>
<script>
var data =new Array();
// data=[1,5,6,7,3,2,9,10];//data array
var jumlah;
jumlah=20;
for(var i=0; i<jumlah; i++){
data[i]=Math.floor(Math.random()*(100-1))+1;
}
document.getElementById('hasil_angka_awal').innerHTML=data+'<br>';
// fungsi pengurutan
function urutkan(){
document.getElementById('pengurutan').innerHTML="";
for(var a=1; a<data.length; a++){
for(var b=0; b<=a-1; b++){
if(data[a]<data[b]){
var temp=data[a];
data[a]=data[b];
data[b]=temp;
document.getElementById('pengurutan').innerHTML +=data+"<br>";
}else if(data[a]==data[b]){
data[a]=data[a];
data[b]=data[b];
document.getElementById('pengurutan').innerHTML +=data+"<br>";
}else if(data[a]>data[b]){
data[a]=data[a];
data[b]=data[b];
document.getElementById('pengurutan').innerHTML +=data+"<br>";
}
}
}
document.getElementById('hasil').innerHTML=data;
}
</script>
Komentar
Posting Komentar