TUGAS MODUL-9 ARRAYLIST
Nama : Akhmad Muqoddim Fahmi Ilmi
NIM : 4123041
Kelas : A
TUGAS :
RESUME MATERI ALGORITMA PENGURUTAN
Pengurutan atau “Sorting” adalah suatu proses menyusun data dari semulanya tidak teratur menjadi data yang teratur sesuai dengan yang diinginkan pengguna dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu (untuk data yang bertipe numerik atau karakter).
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.
Contoh :
Data Acak : 22, 10, 15, 3, 8, 2
Terurut Ascending : 2, 3, 8, 10, 15, 22
Terurut Descending : 22, 15, 10, 8, 3, 2Beberapa macam-macam sorting yaitu :
- Pengurutan Gelembung (Bubble Sort).
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.
Contoh Cara Kerja Bubble Sort (Ascending)
Data : 10 5 2 15 1
Iterasi 1 :
10 5 2 15 1 → (10 bandingkan dengan 5)
5 10 2 15 1 → (10 tukar dengan 5. Bandingkan 10 dengan 2)
5 2 10 15 1 → (2 tukar dengan 10. Bandingkan 10 dengan 15)
5 2 10 15 1 → (Tidak ada pertukaran. Bandingkan 15 dengan 1)
5 2 10 1 15 → (15 tukar dengan 1)
Iterasi 2 :
5 2 10 1 15 → (5 bandingkan dengan 2)
2 5 10 1 15 → (5 tukar dengan 2. Bandingkan 5 dengan 10)
2 5 10 1 15 → (Tidak ada pertukaran. Bandingkan 10 dengan 1)
2 5 1 10 15 → (10 tukar dengan 1)
Iterasi 3 :
2 5 1 10 15 → (2 bandingkan dengan 5)
2 5 1 10 15 → (Tidak ada pertukaran. Bandingkan 5 dengan 1)
2 1 5 10 15 → (5 tukar dengan 1)
Iterasi 4 :
2 1 5 10 15 → (2 bandingkan dengan 1)
1 2 5 10 15 → (2 tukar dengan 1)
Iterasi 5 :
1 2 5 10 15 → (1 bandingkan dengan 2)
Maka, Data diatas setelah di sorting ialah sebagai berikut :
1 2 5 10 15Penjelasan 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.
Dari proses algoritma diatas dapat dapat disimpulkan bahwa Metode Bubble Sort merupakan metode sorting yang paling lambat dibandingkan dengan metode sorting yang lain karena, terdapat proses pembandingan yang terlalu banyak walaupun Data sudah terurut.
Implementasi Bubble Sort pada Java
2. Pengurutan Selection Sort
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.
Berikut Contoh Gambar Pengurutan dari Selection Sort
Contoh Cara Kerja Selection Sort (Ascending)
Data : 13 9 15 2 3 1
Iterasi 1 :
13 9 15 2 3 1 → (Apakah 13 nilai yang paling kecil?)
1 9 15 2 3 13 → (Tidak. 13 ditukar dengan 1)
Iterasi 2 :
1 9 15 2 3 13 → (Apakah 9 nilai yang paling kecil?)
1 2 15 9 3 13 → (Tidak. 9 ditukar dengan 2)
Iterasi 3 :
1 2 15 9 3 13 → (Apakah 15 nilai yang paling kecil?)
1 2 3 9 15 13 → (Tidak. 15 ditukar dengan 3)
Iterasi 4 :
1 2 3 9 15 13 → (Apakah 9 nilai yang paling kecil?)
1 2 3 9 15 13 → (Iya)
Iterasi 5 :
1 2 3 9 15 13 → (Apakah 15 nilai yang paling kecil?)
1 2 3 9 13 15 → (Tidak. 15 ditukar dengan 13)
Data Setelah di sorting ialah sebagai berikut :
Data : 1 2 3 9 13 15Penjelasan 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.
Implementasi Selection Sort Pada Java
- Ascending (urut naik) merupakan pengurutan dari angka yang nilainya
Komentar