SORTING



Pengertian sorting
        Sorting atau mengurutkan data merupakan proses untuk menyusun urutan data entah itu dari data yang terkecil hingga yang terbesar atau sebaliknya dari yang terkecil menuju yang terbesar.
           
13
4
70
20
=
4
13
20
70

Bias diurutkan dari yang terbesar ke kecil atau sebaliknya
13
4
70
20
=
70
20
13
4


Metode - metode dalam Sorting
1.1.  buble Sort
Metode ini mudah untuk difahami namum prosesnya sangat lambat karena dia harus membandingkan 2 nilai yang bersandingan (adjacent), lalu dia akan menukar jika angka disebelahnya lebih kecil (diurutkan dari kecil ke besar) dan begitu seterusnya hingga semua data terurut.


Buble sort ini menggunakan looping dan mempunyai fase { n-1} kali
dimana merupakan jumlah banyaknya data

contoh latihan soal :

Urutkan menggunakan metode buble sort
100
20
7
50
2
33

Jawab:








  1. Selection Sort
Selection Sort membandingkan elemen yang pertama dengan elemen yang berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang, maka posisi elemen tersebut akan dicatat atau diingat posisinya untuk kemudian ditukar.
10
4
70
20

·          Ambil data dari awal lalu bandingkan dengan data sisanya. jadi pada kasus diatas bandingkan data yang bernilai 10 dengan data yng bernilai 4, 70, dan 20
10 > 4
10 < 70
10 < 20
·         Dari perbandingan yang telah dilakukan, ambil data yang terkecil setelah itu lakukan pertukaran dengan data yang telah dijadikan pembanding
10
4
70
20
            =
4
10
70
20

·         Setelah membandingkan data awal dan menukarnya dengan data yang terkecil, lakukan lagi perbandingan dimulai dari data yang ke dua. Jadi bandingkan 10 dengan data yang bernilai 70,20. Sedangkan data yang bernilai 4 tidak perlu, karena data tersebut sudah dieksekusi pada awal proses tadi.
4
10
70
20
=
4
10
70
20
Tidak ada perubahan karena pada saat dibandingkan angka 10 dengan 70 lebih besar 70
·         Bandingkan data selanjutnya dengan data sisanya. Jadi bandingkan 70 dengan 20 dan lakukan perbandingan yang manakah data yang terkecil dan lakukan pertukaran.

4
10
70
20
=
4
10
20
70
·         Karena semua data telah terurut maka proses telah selesai.

3.     Insertion Sort

Insertion Sort atau yang biasa disebut dengan metode penyisipan merupakan algoritma yang efisien untuk mengurutkan angka yang dimana input berisikan deretan angka yang berjumlah n buah, dan output berisikan permutasi/ pengurutan sejumlah n angka dari input yang sudah terurut secara ascending( kecil ke terbesar) maupun discending ( besar ke terkecil).
1.    Metode ini bertujuan untuk menjadikan bagian kiri array terurutkan sampai dengan seluruh array. Metode ini mengurutkan bilangan- bilangan yang belum terbaca ke sisi array yang telah terurut
Contoh :
Urutkan menggunakan insetion sort
22
10
15
3
8
2

Jawab:

·         Bandingkan data yang pertama dengan data yang kedua, lalu tukar data ke 2 dengan syarat data pertama lebih besar dari data ke 2, jika tidak memenuhi syarat maka tidak perlu melakukan pertukaran. Karena 22 > 10 maka pindahkan data ke 2 ke posisi data 1.
22
10
15
3
8
2
=
10
22
15
3
8
2

·         Selanjutnya kita perlu menyisipkan data ke tiga (15) kedalam bagian posisi antara data awal(10) dan data kedua (22). Caranya adalah ambil data yang ke tiga (15), geser data ke dua (22) agar ada tempat untuk menyisipkan data ke tiga, sisipkan data ke tiga ketempat yang benar
10
22
15
3
8
2
=
10
15
22
3
8
2
·         Ulangi langkah ke 2 tapi dengan data yang belum diproses hingga data terurut. Setelah data yang ke tiga diproses, lakukan pemrosesan pada data ke 4 (3) bandingkan pada data yang sebelumnya lalu sisipkan ke tempat yang benar.
10
15
22
3
8
2
=
3
10
15
22
8
2

·         lakukan hal yang sama seperti langkah sebelumnya pada data ke 5 (8)
3
10
15
22
8
2
            =
3
8
10
15
22
2
            Tidak dibandingkan dengan data ke 1 (3) karena angka 8 > 3
·         Sekarang tinggal langkah terakhir, tinggal kita bandingkan data terakhir dengan semua data yang ada pada data sebelumnya
3
8
10
15
22
2
=
2
3
8
10
15
22
 Selesai

untuk lebih jelasnya saya beri koding di bawah ini

<!DOCTYPE html>
    <html>
    <head>
        <title>sorting</title>
        <script language="javascript">
            var data = new Array;
            var i = 0;

            function TambahData() {
                for(var i = 0 ; i < 20 ; i++)
                {
                    data[i] = Math.floor(Math.random()*(100-1))+1;
                    document.getElementById("txtHitung").innerHTML += data[i]+",";
                }
            }

            function TampilData(teks)
            {
                for(var a = 0; a <data.length; a++)
                {
                    document.getElementById(teks).innerHTML += data[a]+",";
                }
                document.getElementById(teks).innerHTML +="<br>";
            }

            function InsertSort()
            {
                var temp;
                var upper = data.length;

                for(var i = 0 ; i < data.length; i++)
                {
                    for(var j = i - 1; j > -1 && data[j] >= data[j + 1]; j--)
                    {
                        var temp = data[i];
                        var j = i - 1;
                            while(j >= 0 && data[j] > temp)
                            {
                                data[j + 1] = data[j];
                                j--;
                            }
                        data[j + 1] = temp;
                    }
                    TampilData("lblSorting");
                }
            }
        </script>
    </head>
    <body>
<h1> praktikum 2 | sorting</h1>
        <form>
           <p> <label id="txtHitung"></label>
            <input type="button" value="Data Random" onclick="TambahData()"></p>

            <p>
                <input type="button" value="Tampil Data" onclick="TampilData('lblData')">
                <label>Data Awal :</label>
                <label id="lblData"></label><br/>
            </p>

            <p>
                <label>Proses Sorting :</label>
                <input type="button" value="Proses Sorting" onclick="InsertSort()"><br/>
                <label id="lblSorting"></label><br/>
            </p>
        </form>
  </body>
</html>


Semoga ilmu ini bermanfaat meskipun mungkin bagi kebanyakan orangbilmu yang saya berikan kurang mudah untuk difahami, untuk itu saya menyarankan untuk komen. terimakasih

Komentar

Postingan populer dari blog ini

GRAPH

SEARCHING

ARRAY 1 DIMENSI