Kembali lagi untuk belajar bersama. Pada kesempatan kali ini kita akan mempelajari mengenai sorting.
Sorting atau pengurutan yaitu suatu proses untuk mengurutkan data yang ada dalam array dengan menyusun data yang sebelumnya sudah disusun sehingga tersurun secara teratur.
Sorting dapat dilakukan dengan cara:
1. Bubble Sort
2. Selection Sort
3. Insertion Sort
Mari kita mempelajari Bubble Sort, Selection Sort, dan Insertion Sort.
Bubble sort dilakukan dengan membandingkan 2 nilai yang berdampingan dengan cara menukar nilai antara data yang satu dengan data berikutnya tetapi jika sebelah data yang akan ditukar lebih besar maka tidak ditukar. Bubble sort ini algoritma yang paling lampat dalam pengerjaannya karena meskipun data sudah terurut kita tetap harus mengerjakan sampai data terakhir.
Sebagai contoh:
Kita melihat data satu dengan membandingkan data selanjutnya. Kita dapat menukar jika nilai data yang selanjutnya lebih kecil. Lakukan langkah tersebut sampai data terakhir sehingga mendapatkan data yang terurut dengan nilai yang terkecil sampai terbesar seperti pada data di bawah ini.
Selanjutnya kita mengerjakannya dengan menggunakan looping tetapi untuk looping meskipun data sudah terurut tetap melanjutkan pada fase selanjutnya. Untuk menentukan berapa banyak fase dalam looping caranya Fase n-1 x
Misal:
1.
Fase 1
Fase 2
Dari data diatas pada fase 1 kita mengurutkan dari data pertama sampai data terakhir. Karena tidak boleh ada pertukaran setelah data terurut pada fase 1 kita membuat fase 2.
2.
100
|
20
|
7
|
50
|
2
|
33
|
Fase 1
Fase 2
Fase 3
Fase 4
Fase 5
Dari data diatas pada fase 1 kita mengurutkan dari data pertama sampai data terakhir. Karena tidak boleh ada pertukaran setelah data terurut pada fase 4 kita membuat fase 5.
Lalu kita mengerjakan dengan cara selection sort yang dapat mengerjakan data lebih mudah.
Selection sort
Selection sort adalah salah satu algoritma pengurutan yang sederhana. Cara untuk mengerjakan selection sort dimulai dari data 1 dan mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui. Selection sort membandingkan elemen yang sekarang dengan elemen berikutnya sampai elemen terakhir dan jika menemukan elemen yang lebih kecil maka catat posisinya dan kemudian ditukar.
Sebagai contoh mengerjakan algoritma dalam selection sort.
Data 1 bernilai 10 maka 10 dibandingkan dengan sisanya yaitu nilai 4,70,20 dan data tidak disimpan hanya ditandai. Terdapat data 4 lalu dibandingkan sebanyak 3 kali dan diambil nilai yang terkecil.
4
|
10
|
70
|
20
|
Lalu algoritma mengecek pada data kedua yaitu bernilai 10.
dan 10 dibandingkan dengan sisanya yaitu 70 dan 20.
4
|
10
|
20
|
70
|
Contoh lainnya:
100
|
20
|
7
|
50
|
2
|
33
|
Proses 1
Pembanding Posisi
100 > 20 ( ditukar ) 1
20 > 7 ( ditukar ) 2
7 < 50 2
7 > 2 ( ditukar ) 4
2 < 33 4
Tukar data ke-0 (100) dengan data ke-4 (2)
Proses 2
Pembanding Posisi
20 > 7 ( ditukar ) 2
7 < 50 2
7 < 100 2
7 < 33 2
Tukar data ke-1 (20) dengan data ke-2 (7)
Proses 3
Pembanding Posisi
20 < 50 2
20 < 100 2
20 < 33 2
Tukar data ke-2 (20) dengan data ke-2 (20)
Proses 4
Pembanding Posisi
50 < 100 3
50 > 33 ( Ditukar ) 5
Tukar data ke-3 (50) dengan data ke-5 (33)
Proses 5
Pembanding Posisi
100 > 50 ( ditukar ) 5
100 < 33 5
Tukar data ke-4 (100) dengan data ke-5 (50)
sebuah metode pengurutan data dengan menempatkan setiap elemen data pada pisisinya dengan cara melakukan perbandingan dengan data – data yang ada.
Contoh :
Proses 1
10 < 22 ( Geser data ke-0 ke posisi 1 )
Proses 2
15 < 22 ( Geser data ke-1 ke posisi 2 )
15 > 10 ( Tetap )
Proses 3
3 < 22 ( Geser data ke-2 ke posisi 3 )
3 < 15 ( Geser data ke-1 ke posisi 2 )
3 < 10 ( Geser data ke-0 ke posisi 1 )
Proses 4
8 < 22 ( Geser data ke-3 ke posisi 4 )
8 < 15 ( Geser data ke-2 ke posisi 3 )
8 < 10 ( Geser data ke-1 ke posisi 2 )
Proses 5
2 < 22 ( Geser data ke-4 ke posisi 5 )
2 < 15 ( Geser data ke-3 ke posisi 4 )
2 < 10 ( Geser data ke-2 ke posisi 3 )
2 < 8 ( Geser data ke-1 ke posisi 2 )
2 < 3 ( Geser data ke-0 ke posisi 1 )
Dari materi tentang sorting yang paling mudah digunakan adalah Insertion sort karena tidak membandingkan satu per satu data dan cara pengerjaannya membutuhkan waktu yang singkat. Semoga bermanfaat.
Wassalamualaikum.Wr.Wb.
Tidak ada komentar:
Posting Komentar