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?
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 :
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
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!
Dari contoh diatas maka kita
mengetahui ada 3 proses untuk mengurutkan data tersebut
keterangan :
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
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
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.
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.
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
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
Posting Komentar