Search

PERNGERTIAN SEARCH

    Pencarian (search) adalah proses menemukan elemen tertentu dalam suatu koleksi data, seperti array atau vektor. Dalam C++, terdapat berbagai algoritma pencarian yang dapat digunakan, baik yang sederhana maupun yang lebih kompleks. Berikut adalah penjelasan terstruktur mengenai algoritma pencarian dalam bahasa pemrograman C++.


KEGUNAAAN DATA

Kegunaan beberapa struktur data dalam penyimpanan data sehingga dapat memudahkan proses pencarian, tergantung pada:

  • Media penyimpanan data (memori, disk, tape).
  • Karakteristik jenis data yang disimpan (data
  • numerik/character/string).
  • Jumlah data yang akan disimpan dan keperluan untuk
  • akses data secepat-cepatnya.

Contoh struktur data yang dipakai untuk proses penyimpanan pada proses pencarian yaitu: array, list, dan pohon biner.


LINGKUP PENCARIAN

Pencarian dapat dilakukan berdasarkan tempat penyimpanan, yang dibagi atas dua, yaitu pencarian internal dan pencarian eksternal. Pencarian internal yaitu pencarian yang dilakukan terhadap data yang berada dalam memori komputer. Pencarian eksternal yaitu pencarian yang dilakukan terhadap data yang berada dalam memori eksternal. Di dalam pembahasan ini hanya membahas tentang pencarian internal.


1. Pengenalan Search

    Pencarian adalah proses untuk menemukan posisi atau keberadaan elemen tertentu dalam struktur data. Ada tiga jenis pencarian dasar: 

  • Pencarian Linear (Linear Search)
  • Pencarian Biner (Binary Search)
  • Pencarian Sequential

2. Pencarian Linear

    Pencarian Linear adalah metode pencarian yang paling sederhana. Algoritma ini bekerja dengan memeriksa setiap elemen dalam koleksi data satu per satu sampai elemen yang dicari ditemukan atau semua elemen telah diperiksa.

Implementasi pencarian linear;



3. Pencarian Biner

    Pencarian Biner adalah metode pencarian yang lebih efisien dibandingkan pencarian linear, tetapi memerlukan array yang sudah diurutkan. Algoritma ini bekerja dengan membagi array menjadi dua bagian dan membandingkan elemen tengah dengan elemen yang dicari. Jika elemen yang dicari lebih kecil dari elemen tengah, pencarian dilanjutkan pada separuh kiri, sebaliknya pada separuh kanan.




4. Pencarian Sequential

    Sequential Search (pencarian beruntun) adalah metode pencarian yang paling mudah. Prosesnya membandingkan setiap elemen array satu-per-satu secara beruntun yang dimulai dari elemen pertama hingga elemen yang dicari ditemukan atau hingga elemen terakhir dari array. Pencarian beruntun dapat dilakukan terhadap elemen array yang belum terurut atau terhadap elemen array yang terurut. Perbedaan dari keduanya terletak pada efisiensi operasi pembandingan yang dilakukan.


    Dengan kata lain sequential search akan mencari data dengan cara membandingkannya satu-per-satu dengan data yang ada. Metode ini disarankanuntuk digunakan pada data yang sedikit saja.


5. Kompleksitas Waktu

  • Pencarian Linear: O(n), di mana n adalah jumlah elemen dalam array. Pencarian linear melakukan pemeriksaan satu per satu sehingga kurang efisien untuk array besar.
  • Pencarian Biner: O(log n), di mana n adalah jumlah elemen dalam array. Pencarian biner jauh lebih efisien dibandingkan pencarian linear untuk array besar, tetapi memerlukan array yang sudah diurutkan.

6. Penggunaan Fungsi Bawaan di C++
C++ menyediakan fungsi bawaan untuk pencarian, seperti std::find dan std::binary_search, yang dapat digunakan untuk memudahkan proses pencarian. Menggunakan std::find untuk Pencarian Linear;


Memahami berbagai algoritma pencarian dan kapan menggunakannya sangat penting untuk efisiensi dalam pemrograman. Pencarian linear dan pencarian biner adalah dua metode dasar yang sering digunakan, dan keduanya memiliki aplikasi yang berbeda tergantung pada kondisi data yang dihadapi.


Pergi ke materi  Linked list c++ >>







Tidak ada komentar:

Posting Komentar

Pages