Bubble sort adalah salah satu algoritma sorting paling sederhana. Bubble sort membandingkan sebuah data dengan data yang ada di sampingnya, jika kondisi memenuhi, maka kedua data tersebut diswap atau ditukar tempatnya. Kondisi tersebut biasanya antara lebih besar atau lebih kecil, jika ascending maka kondisi swapnya adalah ketika data berikutnya lebih kecil dari data yang ditunjuk sekarang dan sebaliknya untuk descending.
Selection sort adalah jenis algoritma sorting yang mencari nilai terkecil/minimum (untuk ascending) atau nilai terbersar/maksimum (untuk descending) dalam suatu kumpulan data dan kemudian meletakkan nilai tersebut di depan kumpulan data tersebut. Dengan meletakkan data di depan kumpulan data tersebut, otomatis data yang terletak di depan telah tersusun. Proses ini akan terus berlanjut dengan mencari nilai minimum atau maksimum dari data yang belum tersusun tersebut.
Insertion sort adalah jenis algoritma sorting yang sesuai dengan namanya yaitu menyisip. Dalam insertion sort, kita membutuhkan suatu variabel tambahan untuk menyimpan sementara data yang sedang kita tunjuk. Data yang kita tunjuk ini akan menjadi acuan dalam sorting kita dan biasanya data yang ditunjuk pertama adalah data yang kedua. Data yang ditunjuk ini akan disimpan dulu di dalam variabel pembantu, kemudian isi dari variabel pembantu ini (data yang ditunjuk) akan dibandingkan dengan data-data sebelumnya. Perbandingan akan terus berjalan dari data ke data secara berurutan sampai memenuhi suatu kondisi, kondisi di sini berbeda dengan yang di bubble sort, untuk ascending ketika data yang menjadi acuan lebih besar dari data yang dibandingkan, maka perbandingan berhenti dan sebaliknya untuk descending. Ketika kondisi terpenuhi, data acuan tadi akan diselipkan kedalam kumpulan data dengan menggeser semua data yang lebih besar (ascending) atau lebih kecil (descending) dari data acuan tersebut.
Searching juga sepertin namanya yaitu mencari suatu data dalam kumpulan data. Dari kumpulan data-data, kita dapat mencari atau mengecek apakah data tersebut ada di dalam kumpulan data tersebut atau tidak dengan menggunakan searching. Ada beberapa jenis searching yaitu: linear search, binary search, interpolation search, dll.
Linear search adalah jenis searching paling sederhana yaitu mencari suatu data mulai dari data pertama hingga data yang terakhir. Akan dilakukan perbandingan terhadap semua data sampai data yang ingin dicari ketemu. Kelemahan dari jenis searching ini adalah ketika data yang akan kita cari terletak di bagian belakang kumpulan data, maka proses searching akan memakan waktu yang sangat lama untuk memperoleh hasil. Kelebihan satu-satunya dari linear search adalah bahwa kumpulan data tidak perlu terurut atau bolehh acak.
Binary search menggunakan sebuah acuan yang dinamakan mid. Selain mid, juga terdapat variabel bantuan lainnya yaitu left dan right. Mid, left dan right ini akan menyimpan index dari kumpulan data yang akan disearch. Left akan menyimpan indeks data paling kiri (data dengan nilai minimum), right akan menyimpan indeks data paling kanan (data dengan nilai maksimum) dan mid akan menyimpan indeks data tengah. Dari ini, ita dapat melihat bahwa binary search membutuhkan kumpulan data dalam keadaan tersusun dari kecil ke besar (ascending). Dalam kumpulan data dengan jumlah yang sangat besar, mid dapat dicari dengan rumus:
mid = (left+right)/2
Jika bernilai koma, nilai mid ini kemudian dibulatkan kebawah. Jika data yang dicari lebih besar dari data indeks ke mid, maka left akan menjadi mid+1, kemudian nilai mid akan berubah sesuai rumus di atas karena nilai leftnya berubah. Jika data yang dicari lebih kecil dari data indeks ke mid, maka right akan menjadi mid-1, kemudian nilai mid akan berubah sesuai rumus di atas karena nilai rightnya berubah. Proses ini akan terus berlanjut sampai data yang dicari sama dengan data indeks ke mid, dan jika kondisi ini terpenuhi, maka data berhasil ditemukan.
Interpolation search sama seperti binary search tetapi yang berbeda hanyalah rumus midnya. Dalam interpolation search, rumus mid sebagai berikut:
mid = (data yang dicari - data[left])x(right-left)/(data[right] - data[left]) + min
Selain dari nilai mid, semua proses searching interpolation search sama seperti binary search
Terimakasih telah membaca 😁
2201791295
binus.ac.id
skyconnectiva.com
Schumacher Goldwin
No comments:
Post a Comment