Tugas Minggu 11 - Alpro 1 - SI UNIPDU
ALGORITMA PENGURUTAN
Dua Macam Pengurutan
- Ascending (urut naik) merupakan pengurutan dari angka yang nilainya lebih kecil kemudian menuju ke nilainya yang lebih besar.
- Descending (urut turun) adalah sebaliknya, yaitu pengurutan dari nilainya yang lebih besar kemudian menuju ke nilainya yang lebih kecil.
Pengurutan Gelembung (Bubble Sort).
Bubble Sort merupakan metode pengurutan yang paling
banyak digunakan di kalangan programmer dikarenakan penggunaannya yang simple
dan sederhana. Namun, dibalik kesederhanaannya itu terdapat proses algoritma
yang terlalu lama sehingga bisa dikatakan bahwa Metode Bubble Sort merupakan
metode yang paling lambat dibanding dengan metode pengurutan yang lainnya.
Pengurutan dilakukan dengan memilih elemen terbesar dan menempatkan pada
posisinya, kemudian mencari element terbesar berikutnya dan menempatkan pada
tempatnya, dan seterusnya.
Proses Bubble Sort Ascending
- Data yang paling awal dibandingkan dengan data berikutnya jika ternyata lebih besar maka tukar.
- Data yang paling akhir dibandingkan dengan data sebelumya jika ternyata lebih kecil maka tukar.
Proses Bubble Sort Descending
- Data yang paling awal dibandingkan dengan data berikutnya jika ternyata lebih kecil maka tukar.
- Data yang paling akhir dibandingkan dengan data sebelumya jika ternyata lebih besar maka tukar.
Penjelasan Algoritma Bubble Sort:
- Dalam Bubble Sort. Jumlah Iterasi sebesar banyaknya Data. Diatas jumlah datanya ialah 5 maka, jumlah iterasinya ialah 5. Selain itu, setiap iterasi terdapat proses yang jumlahnya ialah sebesar banyaknya Data. Diatas jumlah datanya ialah 5 maka, jumlah proses setiap iterasinya ialah 5. Dan untuk iterasi berikutnya harus dikurang 1.
- Dalam Bubble Sort, Walaupun data sudah terurut seperti pada kasus diatas, data sudah terurut pada iterasi ke-4. Namun, proses sorting tetap jalan sampai jumlah iterasinya terpenuhi.
- Proses Pertukaran Datanya dimulai dari data pertama dibandingkan dengan data kedua atau bisa digambarkan dengan Data[n] <==> Data[n+1]. Lakukan langkah ini sampai berada pada Data Terakhir.
Contoh Implementasi Bubble Sort pada Java
contoh output
Masukkan jumlah Data : 5
Nilai Data ke-1 : 8
Nilai Data ke-2 : 5
Nilai Data ke-3 : 2
Nilai Data ke-4 : 6
Nilai Data ke-5 : 12
Data Sebelum di Sorting
8 5 2 6 12
Proses Bubble Sort
Iterasi ke-1 :
8 5 2 6 12 Bandingkan 8 dengan 5
5 8 2 6 12 Data 8 ditukar dengan 5
5 2 8 6 12 Data 8 ditukar dengan 2
5 2 6 8 12 Data 8 ditukar dengan 6
5 2 6 8 12 Tidak ada pertukaran
Iterasi ke-2 :
5 2 6 8 12 Bandingkan 5 dengan 2
2 5 6 8 12 Data 5 ditukar dengan 2
2 5 6 8 12 Tidak ada pertukaran
2 5 6 8 12 Tidak ada pertukaran
Iterasi ke-3 :
2 5 6 8 12 Bandingkan 2 dengan 5
2 5 6 8 12 Tidak ada pertukaran
2 5 6 8 12 Tidak ada pertukaran
Iterasi ke-4 :
2 5 6 8 12 Bandingkan 2 dengan 5
2 5 6 8 12 Tidak ada pertukaran
Iterasi ke-5 :
2 5 6 8 12 Bandingkan 2 dengan 5
Data Setelah di Sorting : 2 5 6 8 12
Pengurutan Selection Sort
Dibanding Bubble Sort, Selection Sort jelas lebih baik dari
segi kecepatan proses pengurutannya. Karena, Inti dari algoritma Selection Sort
ialah mencari nilai yang paling kecil(Jika Ascending) atau nilai yang paling
besar(Jika Descending) di urutan data berikutnya. Proses pengurutan menggunakan
metode selection sort secara terurut naik adalah:
- Mencari data terkecil dari data pertama sampai data terakhir, kemunian di tukar posisinya dengan data pertama.
- mencari data terkecil dari data kedua sampai data terakhir, kemudian di tukar dengan posisinya dengan data kedua.
- mencari data terkecil dari data ketiga sampai data terakhir, kemudian di tukar posisinya dengan data ketiga
- dan seterusnya sampai semua data urut naik. apabila terdapat n data yang akan di urutkan, maka membutukan (n - 1) langkah pengurutan, dimana data terakhir yaitu data ke-n tidak perlu di urutkan karena tinggal satu satunya.
Proses Selection sort Ascending
- Elemen yang paling besar diletakkan di akhir.
- Elemen yang paling kecil diletakkan di awal.
Proses Selection sort Descending
- Elemen yang paling kecil diletakkan di akhir.
- Elemen yang paling besar diletakkan di awal
Penjelasan Algoritma Selection Sort:
- Jumlah Iterasi untuk Selection Sort ialah berjumlah sebesar Jumlah Data – 1. Untuk kasus diatas, Jumlah Datanya ialah 6. Maka, jumlah Iterasinya ialah sebesar 6 – 1 = 5.
- Proses pertukaran Data dimulai dari Data Pertama sampai Data Terakhir dengan cara membandingkan Data ke-n dan cari nilai yang paling kecil di sisi kanan nilai n.
- Keterangan bahwa nilai Data yang sudah di tukar(nilai yang paling kecil) tidak akan dibandingkan lagi untuk proses iterasi berikutnya.
Contoh Implementasi Selection Sort Pada Java
Masukkan jumlah Data : 4
Input nilai Data ke-1 : 7
Input nilai Data ke-2 : 5
Input nilai Data ke-3 : 4
Input nilai Data ke-4 : 2
Data Sebelum di Sorting : 7 5 4 2
Proses Selection Sort
Iterasi ke-1 :
7 5 4 2 Apakah Data 7 Urut?
2 5 4 7 Data 7 ditukar dg 2
Iterasi ke-2 :
2 5 4 7 Apakah Data 5 Urut?
2 4 5 7 Data 5 ditukar dg 4
Iterasi ke-3 :
2 4 5 7 Apakah Data 5 Urut?
2 4 5 7 Tidak Ada Pertukaran
Data Setelah di sorting : 2 4 5 7
Komentar
Posting Komentar