Prinsip algoritma pada teknik pencarian search engine
Search engine adalah sebuah sistem yang diperuntukkan untuk pencarian dan pengambilan informasi untuk menampilkan hasilnya. Biasanya sistem ini berbasis indeks beberapa dokumen HTML, sehingga pencarian dapat dengan mudah dilakukan.
Bisa anda bayangkan bagaimana search engine mencari keyword yang anda masukkan dalam milyaran halaman web, mengindeks atau mengurutkannya berdasarkan prioritas dan menampilkannya ke browser web anda dalam hitungan kurang dari 0.5 detik.
Semua bagian yang terdapat dalam setiap search engine adalah penting, namun ada satu bagian yang sangat penting dari setiap search engine. Apa itu? Yup, Algoritma Pencarian.
Algoritma Search engine
Algoritma search engine merupakan suatu instruksi yang menyusun sekumpulan halaman web berdasarkan kata kunci. Instruksi tersebut menganalisis komponen-komponen dari sebuah halaman web, seperti judul, struktur link ke halaman lain, dan sebagainya. Ketika pengguna mencari dokumen maka search engine akan mengakses data yang telah dikumpulkan sebelumnya. Pencarian tersebut dilakukan berdasarkan kata kunci yang dimasukkan oleh pengguna. Pada umumnya algoritma search engine mencari kata dalam dokumen dan menghitung banyaknya kemunculan kata tersebut. Kemudian dokumen yang memiliki lebih banyak jumlah kata kunci tersebut berada di urutan paling atas. Tetapi cara ini kurang efektif sebab banyaknya kemunculan kata kunci tidak selalu menentukan isi dokumen. Dan bahkan seringkali tidak berhubungan sama sekali dengan
apa yang dicari oleh pengguna.
Jenis-jenis algoritma pencarian nilai yang akan kita bahas adalah pencarian secara linear
(sequential search) dan pencarian biner (binary search)
Pencarian secara linear mempunyai dua jenis metode yaitu dengan boolean dan tanpa boolean.
Jenis-jenis algoritma pengurutan nilai yaitu count sort (pengurutan dengan mencacah), selection sort (pengurutan dengan menyeleksi), insertion sort (pengurutan dengan penyisipan), quick sort (pengurutan cepat), merge sort (pengurutan dengan penggabungan), heap sort (pengurutan dengan tumpukan), shell sort (pengurutan cangkang, dan bubble sort (pengurutan gelembung).
Sequential search
adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.
Binary search
merupakan salah satu metode searching, binary search hanya bisa dilakukan pada data yg telah tersort ato terurut karena proses algoritmanya yg terus menerus membagi data menjadi 2 bagian hingga angka / input yg dicari ditemukan.
Count sort
merupakan jenis algoritma yang dapat diterapkan hanya dibawah kondisis-kondisi tertentu. Namun, apabila kondisi yang dihadapi berbalik maka akan jadi yang paling tercepat. CountSort dapat digunakan untuk jenis variable yang bertipe integer
Selection Sorting
adalah teknik atau cara untuk mengurutkan suatu deretan data. Teknik atau algoritma untuk melakukan pengurutan, sesungguhnya ada beberapa, salah satunya: Selection Sort. Selection Sort salah satu algoritma pengurutan yang mudah untuk dipelajari.
Konsep dasarnya yaitu : “Melakukan pencarian data terkecil/terbesar pada suatu iterasi. Kemudian data tersebut ditukar dengan data[index]. index=iterasi. Jumlah iterasi ditentukan oleh banyaknya data
Insertion sort
merupakan salah satu teknik sorting yg mengurutkan data secara ascending (dari kecil ke besar), dengan cara insert / memasukkan data. (Kamu dapat mencari simulasi proses sort nya)
Quick Sort
Quick sort adalah algoritma yang menggunakan metode divide and qonquer yaitu dengan mempartisi tabel dengan acuan elemen tabel yang dijadikan sebagai pivot. Tabel dipartisi menjadi tabel dengan elemen pivot, < pivot dan > pivot, hingga elemen tersebut terurut.
Merge sort
adalah algritma yang digunakan untuk menyusun list yang diberikan dengan cara membagi list yang diberikan menjadi dua bagian yang lebih kecil. Kedua list yang baru ini kemudian akan disusun secara terpisah. Setelah kedua buah list tersusun, maka akan dibentuk list baru yang merupakan hasil penggabungan dua buah list sebelumnya
Heap Sort
Heapsort merupakan salah satu bentuk dari selection sort yang memiliki kompleksitas algorima yang menggunakan struktur data heap.
Algoritma ini bekerja dengan menentukan elemen terbesar (atau terkecil) dari sebuah daftar elemen, dan diletakkan pada akhir (atau awal) dari daftar tersebut. Heap sort menyelesaikan sebuah pengurutan menggunakan struktur data yang disebut heap.
Shell Sort
salah satu algoritma pengurutan yang lebih handal dibandingkan Selection Sort dan Bubble Sort.
Kehandalannya yaitu : “Membagi deret data menjadi dua bagian. Masing-masing bagian diurutkan menggunakan Bubble Sort. Tidak menggunakan iterasi melainkan increment. Perulangan diakukan sesuai nilai increment.”
Bubble Sort
Seperti gelembung (”bubble”) yang timbul ke permukaan air, metode ini juga menimbulkan angka terbesar dan menaruhnya pada akhir urutan, mengatur sampai urut dari kecil sampai besar. Untuk metode sorting ini, semua data dibacakan terlebih dahulu ke omputer dan disimpan di “memori komputer”, kemudian pengurutan baru dilakukan
Straight Selection
Metode ini sebenarnya kebalikan dari metode bubble sort. Metode seleksi langsung ini akan memilih nilai yang terkecil dan meletakkannya di urutan terkemuka. Nilai-nilai terkecil berikutnya akan diseleksi dan diletakkan diurutan setelah nilai terkecil pertama, kedua, dan seterusnya sampai akhirnya di dapat nilai yang urut dari kecil ke besar. Program berikut akan mengambil data yang sama dengan metode Bubble sort. Dari hasil output langkah-langkah pengurutan akan tampak perbedaan proses pengurutannya.
0 komentar:
Posting Komentar