SORTING DALAM BAHASA PEMROGRAMAN KOMPUTER
Apa yang dimaksud dengan Sorting?
Sorting Atau bisa juga disebut dengan algoritma pengurutan adalah untuk menyusun sebuah elemen array/daftar dalam urutan tertentu
Namun dalam Gambar ini, pengurutan dilakukan dalam urutan menaik.
Sorting terbagi menjadi dua yaitu Ascending dan Descending.
- Ascending
Dalam ascending pengurutan datanya dilakukan dengan cara dari yang terkecil hingga yang terbesar.- Descending
Sedangkan descending mengurutkan data dengan cara sebaliknya dari ascending yaitu pengurutan dimulai dari data yang terbesar hingga terkecil.
Jenis-Jenis Sorting
- Bubble Sort
Algoritma Bubble Sort mengulangi data dari awal sampai akhir, yaitu dengan cara menukarkan tiap elemen satu persatu hingga urutan terakhir di cek sampai akhir, penukraran tersebut dilakukan oleh tiap satu elemen dimulai dari elemen paling kiri dilakukan penukaran dicek ke elemen sebelahnya, setelah itu dilakukan penukaran juga untuk elemen kedua dan seterusnya hingga terurut dengan sesuai.
- Selection Sort
Algoritma Selection Sort ini dimulai dengan cara membaginya menjadi dua bagian yaitu bagian yang terurut dan belum terurut. setelah itu dipilihlah elemen paling kecil yang belum terurut lalu ditukar dengan elemen pertama yang nilainya diatas nilai yang paling kecil tadi, jika hasilnya true maka elemen tersebut akan ditukar jika false maka tidak akan ditukar.
- Insertion Sort
Insertion Sort adalah algoritma pengurutan yang menggunakan sebuah teknik pengurutan perbandingan yang dimana mengurutkan dua data pertama pada array/data, kemudian membandingkan data tersebut dengan array selanjutnya/array yang lain, apakah sudah berada ditempatnya.
- Quick Sort
Quick Sort menggunakan algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, dan metode ini sering disebut juga dengan exchange Sort.
Dalam Gambar ini adalah contoh quick sort yang mengurutkan data dengan cara mempartisi data-data tersebut menjadi beberapa bagian partisi yang saling terhubung dari data awal.
Adapun istilah privot, Privot adalah elemen pertama, elemen terakhir, atau elemen tengah tabel.
Cara Kerja Quick Sort
- Partitioning
- Descending
Sedangkan descending mengurutkan data dengan cara sebaliknya dari ascending yaitu pengurutan dimulai dari data yang terbesar hingga terkecil.
Jenis-Jenis Sorting
- Bubble Sort
Algoritma Bubble Sort mengulangi data dari awal sampai akhir, yaitu dengan cara menukarkan tiap elemen satu persatu hingga urutan terakhir di cek sampai akhir, penukraran tersebut dilakukan oleh tiap satu elemen dimulai dari elemen paling kiri dilakukan penukaran dicek ke elemen sebelahnya, setelah itu dilakukan penukaran juga untuk elemen kedua dan seterusnya hingga terurut dengan sesuai.
- Selection Sort
Algoritma Selection Sort ini dimulai dengan cara membaginya menjadi dua bagian yaitu bagian yang terurut dan belum terurut. setelah itu dipilihlah elemen paling kecil yang belum terurut lalu ditukar dengan elemen pertama yang nilainya diatas nilai yang paling kecil tadi, jika hasilnya true maka elemen tersebut akan ditukar jika false maka tidak akan ditukar.
- Insertion Sort
Insertion Sort adalah algoritma pengurutan yang menggunakan sebuah teknik pengurutan perbandingan yang dimana mengurutkan dua data pertama pada array/data, kemudian membandingkan data tersebut dengan array selanjutnya/array yang lain, apakah sudah berada ditempatnya.
- Quick Sort
Quick Sort menggunakan algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, dan metode ini sering disebut juga dengan exchange Sort.
Dalam Gambar ini adalah contoh quick sort yang mengurutkan data dengan cara mempartisi data-data tersebut menjadi beberapa bagian partisi yang saling terhubung dari data awal.
Adapun istilah privot, Privot adalah elemen pertama, elemen terakhir, atau elemen tengah tabel.
Cara Kerja Quick Sort
- Partitioning
- Selection Sort
Algoritma Selection Sort ini dimulai dengan cara membaginya menjadi dua bagian yaitu bagian yang terurut dan belum terurut. setelah itu dipilihlah elemen paling kecil yang belum terurut lalu ditukar dengan elemen pertama yang nilainya diatas nilai yang paling kecil tadi, jika hasilnya true maka elemen tersebut akan ditukar jika false maka tidak akan ditukar.
- Insertion Sort
Insertion Sort adalah algoritma pengurutan yang menggunakan sebuah teknik pengurutan perbandingan yang dimana mengurutkan dua data pertama pada array/data, kemudian membandingkan data tersebut dengan array selanjutnya/array yang lain, apakah sudah berada ditempatnya.
- Quick Sort
Quick Sort menggunakan algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, dan metode ini sering disebut juga dengan exchange Sort.
Dalam Gambar ini adalah contoh quick sort yang mengurutkan data dengan cara mempartisi data-data tersebut menjadi beberapa bagian partisi yang saling terhubung dari data awal.
Adapun istilah privot, Privot adalah elemen pertama, elemen terakhir, atau elemen tengah tabel.
Cara Kerja Quick Sort
- Partitioning
- Insertion Sort
Insertion Sort adalah algoritma pengurutan yang menggunakan sebuah teknik pengurutan perbandingan yang dimana mengurutkan dua data pertama pada array/data, kemudian membandingkan data tersebut dengan array selanjutnya/array yang lain, apakah sudah berada ditempatnya.
- Quick Sort
Quick Sort menggunakan algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, dan metode ini sering disebut juga dengan exchange Sort.
Dalam Gambar ini adalah contoh quick sort yang mengurutkan data dengan cara mempartisi data-data tersebut menjadi beberapa bagian partisi yang saling terhubung dari data awal.
Adapun istilah privot, Privot adalah elemen pertama, elemen terakhir, atau elemen tengah tabel.
Cara Kerja Quick Sort
- Partitioning
Dalam partitioning ini adalah memilih elemen privot pertama dari larik dan membagi elemen-elemen lain ke dalam dua sub-larik berdasarkan terkecil atau terbesar dari privot.
- Rekursi
- Rekursi
- Rekursi
Setelah di partisi kemudian quick sort mengurutkan data secara rekursif kedua sub-larik tersebut. proses ini terus berlanjut hingga sebuah larik dasar kosong atau elemen sudah tercapai.
- Gabung
- Gabung
Akhirnya, kedua sublarik yang sudah diurutkan digabungkan untuk menghasilkan larik yang sepenuhya sudah terurut.
- Marge Sort
Marge Sort melakukan Pengurutan dengan cara membagi data menjadi dua bagian yang sama besar, dan mengurutkan masing -masing bagian secara rekursif. Kemudian Data yang dibagikan tersebut yang sudah terurut lalu digabungkan menjadi satu data yang terurut. Algoritma marge sort ini mengulangi proses sampai data tidak dapai dibagi lagi.
Cara Kerja Marge Sort- Bagi
- Bagi
Larik dibagi sercara rekursif menjadi dua bagian hingga setiap sub-larik hanya berisi satu elemen.
- Kuasai
- Kuasai
Pasangan sub-larik berturut-turut digabungkan dalam urutan terurut hingga terbentuk satu larik yang terurut.
- Gabung
Setelah kedua elemen tersebut terurut maka elemen tersebut digabungkan hingga menjadi satu larik yang sudah terurut.
- Heap Sort
Heap sort adalah algoritma pengurutan yang berbasis pada struktur data
heap. Heap adalah pohon biner lengkap yang memenuhi sifat heap, yaitu setiap
simpul memiliki nilai yang lebih besar (atau lebih kecil) dari anak-anaknya.
Heap sort bekerja dengan cara mengubah array menjadi heap, kemudian menghapus
elemen terbesar (atau terkecil) dari heap dan memindahkannya ke posisi akhir
array. Proses ini diulangi sampai heap kosong dan array terurut. Heap sort
memiliki kompleksitas waktu O(n log n) untuk kasus terbaik, terburuk, dan
rata-rata. Heap sort juga merupakan algoritma pengurutan in-place, yaitu tidak
membutuhkan ruang tambahan selain array yang diurutkan
Heap sort adalah algoritma pengurutan yang berbasis pada struktur data
heap. Heap adalah pohon biner lengkap yang memenuhi sifat heap, yaitu setiap
simpul memiliki nilai yang lebih besar (atau lebih kecil) dari anak-anaknya.
Heap sort bekerja dengan cara mengubah array menjadi heap, kemudian menghapus
elemen terbesar (atau terkecil) dari heap dan memindahkannya ke posisi akhir
array. Proses ini diulangi sampai heap kosong dan array terurut. Heap sort
memiliki kompleksitas waktu O(n log n) untuk kasus terbaik, terburuk, dan
rata-rata. Heap sort juga merupakan algoritma pengurutan in-place, yaitu tidak
membutuhkan ruang tambahan selain array yang diurutkan
Langkah-Langkah Heap Sort
- Bangun heap dari array yang diberikan.
- Ulangi langkah berikut sampai heap hanya berisi satu elemen:
- Tukar elemen akar heap (yang merupakan elemen terbesar atau terkecil) dengan elemen terakhir heap.
- Hapus elemen terakhir heap (yang sekarang berada di posisi yang benar).
- Heapify elemen-elemen yang tersisa dari heap.
- Array terurut diperoleh dengan membalikkan urutan elemen dalam array input.
Comments
Post a Comment