Struktur Data - Sorting (Pengurutan)

Assalamualaikum Wr.Wb

Hai teman teman kali ini saya akan membahas apa Sorting dan macam macam Sorting.
sebenarnya apsih sorting itu?

Sorting adalah pengurutan  sorting ini digunakan untuk mengurutkan angka mulai dai terkecil keterbesar.

TIDAK URUT
URUT
13
4
70
20
4
13
20
70

Kira kira gimana caranya ya?
cara mengerjakan pengurutan atau yang biasa di kenal dengan sorting ada 3  cara, yaitu :
1.      Bubble Sort
2.      Selection Sort
3.      Interselection Sort
Kira kira apa bedanya ya?

1.      Bubble Sort
Merupakan algoritma pengurutan paling tua dengan metode pengurutan paling sederhana yang pertama kali dikeluarkan, paling mudah dipahami dan lambat dalam proses pengerjaan jika data berjumlah banyak.
Bubble sort adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan.

Catatan :
-          Membandingkan antara indeks 0 dan 1, indeks 1 dan 2, indeks 2 dan 3. Lalu membandingkan kesebelahnya lagi sampai data urut
-          Jika nilai kanan lebih kecil maka terjadi sweep ( pertukaran nilai)
Jika nilai kiri lebih besar maka tetap

Contoh :




-           Melakukan looping sampai data sudah dibandingkan semua
-          fase perhitungan dirumuskan dengan  n-1
fase ke 2 diambil dari nilai akhir fase ke 1, fase 3 diambil dari nilai akhir fase ke 2 begitupun seterusnya


Contoh pengerjaan bubble sort:

13
4
70
20

Urutkanlah nilai diatas dengan menggunakan buble sort :




Penjelasan:
-          Dari contoh diatas terdapat 3 fase . itu karena untuk mencari nilai urut dalam bubble sort menggunakan rumus n-1 . proses akan tetetap berjalan walaupun nilai data sudah terurut.
-          Loop makdusnya adalah looping . looping dilakukan sampai perbandingan terletak di indeks terakhir, lalu akan melakukan ke fase selanjutnya


Soal :

Urutkan data dibawah ini menggunakan bubble sort
100
20
7
50
2
23





Jawab:
Perbandingan
hasil
fase 1
loop 1
100
20
7
50
2
23
20
100
7
50
2
23
loop 2
20
100
7
50
2
23
20
7
100
50
2
23
loop 3
20
7
100
50
2
23
20
7
50
100
2
23
loop 4
20
7
50
100
2
23
20
7
50
2
100
23
loop 5
20
7
50
2
100
23
20
7
50
2
23
100

fase 2
loop 1
20
7
50
2
23
100
7
20
50
2
23
100
loop 2
7
20
50
2
23
100
7
20
50
2
23
100
loop 3
7
20
50
2
23
100
7
20
2
50
23
100
loop 4
7
20
2
50
23
100
7
20
2
23
50
100
loop 5
7
20
2
23
50
100
7
20
2
23
50
100

fase 3
loop 1
7
20
2
23
50
100
7
20
2
23
50
100
loop 2
7
20
2
23
50
100
7
2
20
23
50
100
loop 3
7
2
20
23
50
100
7
2
20
23
50
100
loop 4
7
2
20
23
50
100
7
2
20
23
50
100
loop 5
7
2
20
23
50
100
7
2
20
23
50
100

fase 4
loop 1
7
2
20
23
50
100
2
7
20
23
50
100
loop 2
2
7
20
23
50
100
2
7
20
23
50
100
loop 3
2
7
20
23
50
100
2
7
20
23
50
100
loop 4
2
7
20
23
50
100
2
7
20
23
50
100
loop 5
2
7
20
23
50
100
2
7
20
23
50
100


fase 5
loop 1
2
7
20
23
50
100
2
7
20
23
50
100
loop 2
2
7
20
23
50
100
2
7
20
23
50
100
loop 3
2
7
20
23
50
100
2
7
20
23
50
100
loop 4
2
7
20
23
50
100
2
7
20
23
50
100
loop 5
2
7
20
23
50
100
2
7
20
23
50
100

Sebenarnya cara mengerjakan dia atas sudah selesai pada fase ke 4 loop ke 2, tetapi harus teteap berlanjut pada fase 5, karena di sesuaikan dengan ketentuan yang ada

2.       Selection Sort
Adalah pertukaran data dengan cara mengambil data awal lalu membandingkannya dengan  data yang lainnya.

Cara mengerjakan :
-          Ambil awal data. Kemuadian bandingkan data awal dengan data setelahnya.
10
4
70
20

Dari data diatas maka data awal adalah 10 . kemudian kita bandingkan angka sepuluh akan kita bandingkan dengan 4, 70, 20

-          Ketika sudah dibandingkan maka ambil data yang paling kecil untuk di tukar ke data pembanding
10
4
70
20

Dari data di atas maka di ketahui nilai 4 lebih kecil dari 10 maka nilai 10 bertukar posisi dengan nilai 4
4
10
70
20

-          Setelah data ditukar maka lakukan pada data ke dua. Data ke 2 dibandingkan dengan data yang ada di sebelah kanannya, ambil data terkecil lalu tukar data tersebut. Lakukan hingga data terurut.

Contoh :
10
4
70
20

Urutkanlah data tersebut dengan menggunakan Selection Sort!



Jawab :







Dari contoh diatas maka kita mengetahui ada 3 proses untuk mengurutkan data tersebut
keterangan :
Pembanding
posisi
10 > 4 (tukar idx)
1
4 < 70
1
4 < 20
1

-          Pembanding : adalah data yang akan kita bandingkan.
contohnya proses 1 maka kita mengambil data indeks ke-0 untuk kita bandingkan dengan lainnya
proses 2 maka kita mengambil data indeks ke-1 untuk kita bandingkan dengan lainnya
begitupun seterusnya
-          10 > 4 (tukar idx).
10 Data yang disebelah kiri adalah data yang akan dibandingkan
 4 data yang disebelah kanan adalah data pembanding
-          Data akan ditukar apabila data sebelah kanan lebih kecil dari pada data yang sebelah kiri
-          4 < 70
kenapa angka 10 yang pertama harus berubah menjadi 4? Karena pada pembanding yang pertama nilai 4
lebih kecil dari 10 maka secara otomatis nilai terkecil aan berada sebelah kiri.
Ingat :
data akan bertukar(swep) jika data lebih kecil, tapi kita harus mengingat ingat data pembanding yang akan kita tukar . pada contoh di atas 10 adalah nilai yang kita akan tukar jika ada nilaiyang lebih kecil. Sedangkan 4 mempunyai nilai yang lebih kecil. Maka nilai 10 harus kita tukar dengan 4.

3.       Insertion Sort
Adalah pengurutan Data dengan cara dicek satu per satu mulai dari data indeks ke 1 sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut digeser pada posisi yang sesuai.

Cara pengerjaan :
-          Posisi indeks ke 1 adalah posisi awal yang akan kita lakukan perbandingan dengan posisi indeks ke-0
setelah membandingkan indeks ke-1 maka kita akan melanjutkan indeks  k-3 dan seterusnya
-          Perbandingan dilakukan kearah kiri dengan mencari nilai terkecil, jika ditemukan nilai lebih kecil maka nilai bergeser.





Contoh :

22
10
15
3
8
2

Urutkanlah data tersebut dengan menggunakan Selection Sort!
Jawab









Data diatas sudah kita bandingkan hingga indeks terakhir, maka dari contoh diatas kita menemukan 5 proses untuk mengurutkan data menggunakan insertion sort.
Sekian dulu ya pembahasan kita tentang sorting / pengurutan, pada penjalasan diatas dapat disimpulkan bahwa bubble sort dan selection sort melakukan pertukaran data atau yang biasa disebut dengan swep, sedangkan insertion sort menggunakan penggeseran.
Menggunakan bubble sort , selection sort ataupun insertion sort sama sama mudah, hanya saja di lakukan pada jondisi yang berbeda. Menurut saya dari pengunaan semua sorting cara selection sort lah yang lebih mudah kaena dicara itu kita hanya melakukan perbandingan dan mengambil angka yang lebih kecil untuk kita lakukan sweep
Semoga bermanfaat  ^V ^
wassalamualaikum Wr.Wb


Komentar

Postingan populer dari blog ini

STRUKTUR DATA - (Sequential Search dan Binary Search)

Belajar JavaScript --> Menghitung Rata-Rata Nilai

STRUKTUR DATA - Tree