Rangkuman Materi Algoritma dan Pemrograman #9
Dalam pertemuan ke-8, terdapat beberapa topik,yaitu:
Sorting and Searching
Sorting digunakan untuk mempermudah penncarian data
Sorting dibagi menjadi 3 yaitu :
>Bubble Sort<
banyaknya putaran dalam bubble sorting = banyak data dikurangi 1
Contoh cara kerja bubble sorting
5 7 1 6 4
Diawali dari paling belakang yaitu 4 dibandingkan dengan sebelahnya, 6 jika lebih kecil maka kedua angka akan bertukar tempat
5 7 1 4 6
lalu ke index selanjutnya yaitu 6 bandingkan lagi dengan sebelahnya jika tidak lebih kecil maka tidak akan bertukar tempat
5 7 1 4 6
Seterusnya hingga berurut
5 1 7 4 6
1 5 7 4 6
1 5 4 7 6
1 4 5 7 6
1 4 5 6 7
(Sorting Selesai)
>Selection Sort<
sama seperti bubble sort, banyaknya putaran dalam selection sort = banyak data dikurangi 1
Contoh cara kerja Selection Sort
- 5 7 1 6 4Di awali dengan index terdepan di bandingkan dengan sampingnya jika lebih kecil maka index tersebut akan ditandai, jika tidak maka akan ke samping lagi
5 7 1 6 4Karena 1<5 maka 1 ditandai
5 7 1 6 4Berlanjut terus hingga index terakhir. Jika sudah dibandingkan dengan index paling terakhir maka index yang ditandai akan bertukar empat dengan 5 karena masih putaran 1
1 7 5 6 4 - Putaran ke 2 sama seperti putaran 1 hanya dimulai pada index ke 2
1 7 5 6 41 7 5 6 41 7 5 6 41 4 5 6 7
- 1 4 5 6 71 4 5 6 7
- 1 4 5 6 7Sorting Selesai .Searching
searching menggunakan sorting, setelah disorting lalu disearchSearching dibagi menjadi :
- Linear Search
Linear search membandingkan yang dicari dengan semua data yang tersedia. Tidak cocok dengan data dengan jumlah besar. Misal ada 1 juta data, jika menggunakan linear search maka semua data akan di bandingkan dengan yang kita cari sehingga akan memakan waktu yang sangat lama - Binary Search
Binary search yang paling efisien dibandingkan dengan jenis search yang lain. Tetapi kelemahan binary search adalah data harus disort sebelum di search.
Cara Kerja :
10 20 30 40 50 60 70 80
Left = 0
Right = 7
Mid = (L+R) : 2 = 3
*NB: koma dalam int dihilangkan
Yang dicari = 1
Jika mid<yang dicari maka left = mid-1, tetapi
jika mid>yang dicari maka right=mid+1
Yang dibandingkan disini adalah data bukan index10 20 30 40 50 60 70 80
Left = 4
Right = 7
Mid = 540<70
10 20 30 40 50 60 70 80
Left = 5
Right = 7
Mid = 6
Index ke 6 berisi 70 nilai yang dicari .
- Linear Search