1. Pengetian Metode Bubbel
Sort
Bubble sort (metode gelembung) adalah metode atau algoritma pengurutan dengan
cara melakukan penukaran data dengan tempat disebelahnya jika data sebelum
lebih besar dari pada data sesudahnya secara terus menerus sampai bisa
dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan, atau telah
terurut dengan benar. Jika tidak ada perubahan berarti data sudah terurut.
Disebut pengurutan gelembung karena masing-masing kunci atau data akan dengan
lambat menggelembung atau membandingan data ke posisinya yang tepat.
Metode ini mudah dipahami dan
diprogram, tetapi bila dibandingkan dengan metode lain yang kita pelajari,
metode ini merupakan metode yang paling tidak efisien karena memiliki banyak
pertukara sehingga memerlukan pengalokasian memori yang besar untuk menjalankan
metode ini.
2. Pengertian Metode Selection Sort
Selection Sort berbeda dengan Bubble sort. Selection Sort pada
dasarnya memilih data yang akan diurutkan menjadi dua bagian, yaitu bagaian
yang sudah diurutkan dan bagian yang belum di urutkan.
Langkah pertama dicari data
terkecil dari data pertama sampai data terakhir. Kemudian data terkecil ditukar
dengan data pertama. Dengan demikian, data pertama sekarang mempunyai nilai
paling kecil dibanding data yang lain. Langkah kedua, data terkecil kita cari
mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar
dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan
terurutkan. Metode ini lebih efektif dari pada metode bubble karena
tidak memerlukan banyak pertukaran dan pengalokasian memori.
3. Merge Sort
Pengertian Merge Sort adalah algoritma yang
dijalankan sebagai akibat dari terlalu banyaknya daftar yang diurutkan, dengan
menghasilkan lebih banyak daftar yang diurutkan sebagai output. Algoritma merge
ini disesuaikan untuk mesin drive tape. Penggunaannya dalam akses memori acak
besar yang terkait telah menurun, karena banyak aplikasi algoritma merge yang
mempunyai alternatif lebih cepat ketika kamu memiliki akses memori acak yang
menjaga semua data. Hal ini disebabkan algoritma ini membutuhkan setidaknya
ruang atau memori dua kali lebih besar karena dilakukan secara rekursif dan
memakai dua tabel.
Algoritma merge sort membagi tabel menjadi dua
tabel yang sama besar. Masing-masing tabel diurutkan secara rekursif, dan
kemudian digabungkan kembali untuk membentuk tabel yang terurut. Implementasi
dasar dari algoritma merge sort memakai tiga buah tabel, dua untuk menyimpan
elemen dari tabel yang telah di bagi dua dan satu untuk menyimpan elemen yang
telah terurut. Namun algoritma ini dapat juga dilakukan langsung pada dua
tabel, sehingga menghemat ruang atau memori yang dibutuhkan.
Algoritma Merge umumnya memiliki satu set pointer
p0..n yang menunjuk suatu posisi di dalam satu set daftar L0..n . Pada awalnya
mereka menunjuk item yang pertama pada setiap daftar. Algoritmanya sebagai
berikut:
Selama p0..n masih menunjuk data yang di dalam
sebagai pengganti pada akhirnya:
1.Melakukan sesuatu dengan data item yang menunjuk
daftar mereka masing-masing.
2.Menemukan pointers points untuk item dengan kunci
yang paling rendah
4. Quick Sort
Pengerian Quick Sort adalah algoritma yang
dijalankan sebagai akibat dari terlalu banyaknya daftar yang diurutkan, dengan
menghasilkan lebih banyak daftar yang diurutkan sebagai output. Algoritma merge
ini disesuaikan untuk mesin drive tape. Penggunaannya dalam akses memori acak
besar yang terkait telah menurun, karena banyak aplikasi algoritma merge yang
mempunyai alternatif lebih cepat ketika kamu memiliki akses memori acak yang
menjaga semua data. Hal ini disebabkan algoritma ini membutuhkan setidaknya
ruang atau memori dua kali lebih besar karena dilakukan secara rekursif dan
memakai dua tabel.
Algoritma merge sort membagi tabel menjadi dua
tabel yang sama besar. Masing-masing tabel diurutkan secara rekursif, dan
kemudian digabungkan kembali untuk membentuk tabel yang terurut. Implementasi
dasar dari algoritma merge sort memakai tiga buah tabel, dua untuk menyimpan
elemen dari tabel yang telah di bagi dua dan satu untuk menyimpan elemen yang
telah terurut. Namun algoritma ini dapat juga dilakukan langsung pada dua
tabel, sehingga menghemat ruang atau memori yang dibutuhkan.
Algoritma Merge umumnya memiliki satu set pointer
p0..n yang menunjuk suatu posisi di dalam satu set daftar L0..n . Pada awalnya
mereka menunjuk item yang pertama pada setiap daftar. Algoritmanya sebagai
berikut:
Selama p0..n masih menunjuk data yang di dalam
sebagai pengganti pada akhirnya:
1.Melakukan sesuatu dengan data item yang menunjuk
daftar mereka masing-masing.
2.Menemukan pointers points untuk item dengan kunci
yang paling rendah; membantu salah satu pointer untuk item yang berikutnya
dalam daftar.
Pada umumnya algoritma merge berjalan dalam waktu
proposional untuk penjumlahan pada panjangnya daftar; Algoritma merge
beroperasi pada bilangan besar dalam daftar yang akan segera mengalikan
penjumlahan panjangnya daftar pada saat itu untuk keluaran gambar pointers
points yang mana menunjuk pada item yang paling rendah, yang dapat terpengaruhi
dengan suatu heap(tumpukan) yang didasarkan prioritas antrian dalam O(lg n)
waktu, untuk O(m lg n) waktu (dimana n adalah bilangan pada daftar yang
digabungkan, m adalah penjumlahan panjangnya daftar, dan lg adalah log basis
2). Ketika menggabungkan panjang m dua daftar, terdapat suatu perbandingan
lompatan yang lebih rendah 2m-1 yang ada dalam kasus terburuk.
Algoritma Bubble SortAda N panjang elemen data
terdiri atas T1, T2, T3,…Tn-1, Tn, maka :
-Lakukan traversal
untuk membandingkan dua elemen berdekatan.
Traversal dilakukan dari belakang
-Jika elemen pada Tn-1> Tn,
maka lakukan pertukaran (swap). Jika tidak lanjutkan ke prosestraversal
berikutnya sampai bertemu dengan bagian struktur data yang telah diurutkan
-Ulangi langkah di atas untuk
struktur data yang tersisa.Atau bisa dijelaskan sbb:Ada N elemen data
terdiri atas T1, T2, T3,…Tn-1,Tn, maka untuk ascending :
-ambil TN-bandingkan TN dengan TN-1
*jika TN < TN-1 maka dipindahkan isi TN = TN-1
dan isi TN-1 = TN
*jika TN > TN-1 maka tetap tidak ada perubahan
isi-ambil TN-1-bandingkan TN-1 dengan TN-2
*jika TN-1 < TN-2 maka dipindahkan isi TN-1 =
TN-2 dan isi TN-2=TN-1
*jika TN-1 > TN-2 maka tetap tidak ada perubahan
isi-ambil TN-2-bandingkan TN-2 dengan TN-3
*jika TN-2 < TN-3 maka dipindahkan isi TN-2 =
TN-3 dan isi TN-3=TN-2
*jika TN-2 > TN-3 maka tetap tidak ada perubahan
isi
-Lakukan kembali pengambilan TN-3, dan lakukan
pembandingan sampai N-1 kali
-Kemudian ulangi dari TN-1 sampai N-2, N-3
dst. (fikririann, 2013)
• Logika pengurutan data dengan
algoritma selection sort
Algoritma Selection Sort adalah algoritma
pengurutan dengan cara mencari nilai elemen yang terbesar atau yang terkecil
dari sekumpulan elemen nilai pada sebuah data.
Logika Pengurutan Selection Sort sebagai berikut :
- mencari nilai elemen max atau min (terserah, atau pilih salah satu)
pada semua nilai elemen pada array yang seharusnya (minimal pada pertama
atau nilai max pada akhir). kemudian elemen array tersebut di tetapkan
atau di isolasi dan tidak di ganggu lagi.
- temukan sebuah elemen array yang memilikidi nilai kecil atau
besardari index kedua dari elemen awal jika terkecil atau dari akhir jika
terbesar, setelah itu tukarkan eleman tersebut dengan elemen array pada
posisi (indeks) kedua (dari awal atau dari akhir tergantung penggunaan
untuk mencari nilai terkecil atau dari yang terbesar), kemudian isolasi
atau tetapkan elemen array tersebut ditambah dengan elemen array yang
sebelumnya.
- Lakukan langkah seperti diatas pada elemen berikutnya sampai
elemen terakhir
Selection Sort diakui karena
kesederhanaan algoritmanya dan performanya lebih bagus daripada algoritma lain
yang lebih rumit dalam situasi tertentu. Algoritma ini bekerja sebagai berikut:
- Mencari nilai minimum (jika ascending) atau maksimum (jika descending)
dalam sebuah list
- Menukarkan nilai ini dengan elemen pertama list
- Mengulangi langkah di atas untuk sisa list dengan dimulai pada posisi
kedua
No comments:
Post a Comment