Algoritma Pencarian: Pengertian, Karakteristik, dan Jenis-Jenisnya

Algoritma Pencarian: Pengertian, Karakteristik, dan Jenis-Jenisnya

 Pengertian Algoritma Pencarian

Dalam ilmu komputer, algoritma pencarian adalah algoritma yang dirancang untuk memecahkan masalah pencarian.


Algoritma pencarian bekerja untuk mengambil informasi yang disimpan dalam struktur data tertentu, atau dihitung dalam ruang pencarian domain masalah, baik dengan nilai diskrit atau kontinu.Algoritma pencarian berupa prosedur langkah demi langkah yang digunakan untuk menemukan data tertentu di antara kumpulan data.


Algoritma ini dapat dianggap sebagai metode mendasar dalam operasi komputasi. Ketika sebuah sistem mencari data, perbedaan antara aplikasi yang cepat dan yang lebih lambat seringkali terletak pada penggunaan algoritma pencarian yang tepat.


Dalam kecerdasan buatan, teknik atau algoritma pencarian adalah metode pemecahan masalah yang universal.


Agen rasional atau agen pemecah masalah dalam AI sebagian besar menggunakan strategi atau algoritma pencarian ini untuk memecahkan masalah tertentu dan memberikan hasil terbaik.


Istilah-istilah dalam Algoritma Pencarian

Berikut adalah beberapa istilah yang ada dalam algoritma pencarian:


Searching: prosedur langkah demi langkah untuk memecahkan masalah pencarian di ruang pencarian (search space) yang diberikan. Masalah pencarian dapat memiliki tiga faktor utama:

Search space: mewakili satu set solusi yang mungkin, yang mungkin dimiliki sistem.

Start state: keadaan asal agen saat memulai pencarian.

Goal test: Sebuah fungsi yang mengamati keadaan saat ini dan mengembalikan apakah keadaan tujuan tercapai atau tidak.

Search tree: Sebuah representasi pohon dari masalah pencarian disebut search tree atau pohon pencarian. Akar dari pohon pencarian adalah simpul akar yang sesuai dengan keadaan awal.

Action: Mendeskripsikan semua tindakan yang tersedia untuk agen.

Transition model: Deskripsi tentang apa yang dilakukan setiap tindakan, dapat direpresentasikan sebagai model transisi.

Cost: fungsi yang menetapkan biaya numerik untuk setiap jalur.

Solution: urutan tindakan yang mengarah dari node awal ke node tujuan.

Optimal solution: Jika solusi memiliki biaya terendah di antara semua solusi.

Karakteristik Algoritma Pencarian

Berikut adalah empat sifat penting dari algoritma pencarian untuk membandingkan efisiensi dari sebuah algoritma:


Completeness: Algoritma pencarian dikatakan lengkap jika menjamin untuk mengembalikan solusi jika setidaknya ada solusi untuk setiap input random.

Optimality: Jika solusi yang ditemukan untuk suatu algoritma dijamin sebagai solusi terbaik (biaya jalur terendah) di antara semua solusi lainnya, maka solusi untuk tersebut dikatakan sebagai solusi optimal.

Time Complexity: Ukuran waktu bagi suatu algoritma untuk menyelesaikan tugasnya.

Space Complexity: Ruang penyimpanan maksimum yang diperlukan pada setiap titik selama pencarian, sebagai kompleksitas masalah.

Jenis-jenis Algoritma Pencarian

Berdasarkan jenis operasi pencarian, algoritma ini umumnya diklasifikasikan menjadi dua jenis kategori:


Sequential Search: algoritma ini membandingkan setiap elemen array satu per satu secara berurutan, mulai dari elemen pertama, sampai elemen yang dicari ditemukan atau sampai semua elemen diperiksa. Jika elemen ditemukan, ia mengembalikan indeksnya, jika tidak -1. Contoh: Linear Search.

Interval Search: Algoritma ini digunakan untuk mencari elemen tertentu pada array/list dengan elemen yang berurutan yang mana elemen yang berada di dalam array harus diurutkan terlebih dahulu. Algoritma pencarian ini bekerja berdasarkan prinsip menemukan nilai tengah (M) pada array kemudian membagi menjadi dua bagian. Selanjutnya menentukan apakah nilai yang dicari lebih kecil (L) atau lebih besar (H) dari nilai yang ingin dicari. Apabila ditemukan kecocokan nilai maka akan mengembalikan output, jika tidak pencarian akan terus berlanjut hingga akhir dari pembagian jumlah elemen tersebut. Contoh: Binary Search.


Berikut adalah beberapa algoritma yang termasuk dalam algoritma pencarian:


Linear Search

Binary Search

Jump Search

Interpolation Search

Exponential Search

Sublist Search

Fibonacci Search dll

Komentar

Postingan populer dari blog ini

MOCH ALIEF AZUAN NASHRUL

ALGORITMA