Jumat, 20 Desember 2024

Linear Search and Binary Search Version UWGM Student

 Program Linear Search and Binary Search











Di dalam Phyton ada yang namanya Linear Search dan Binary Search, jadi apa itu? simak sampe akhir. wk.

ini pengertian linear search

Linear search atau pencarian linier adalah algoritma pencarian data sederhana yang digunakan untuk menemukan elemen tertentu dalam sebuah daftar atau array. Algoritma ini bekerja dengan memeriksa setiap elemen secara berurutan dari awal hingga akhir daftar.

Cara kerja Linear Search;

1. Mulai dari indeks pertama daftar.

2. Bandingkan elemen saat ini dengan target yang dicari.

3. Jika cocok, kembalikan indeks elemen tersebut.

4. Jika tidak cocok, lanjutkan ke elemen berikutnya.

5. Ulangi langkah 2-4 hingga menemukan target atau mencapai akhir daftar.

6. Jika target tidak ditemukan, kembalikan nilai "tidak ditemukan".


Berikut implementasi program sederhana yang mudah dapat dimengerti dengan sekali lihat;

#soal
#datanya
data = [3, 9, 11, 15, 17, 23, 31, 35]

#nilai yang dicari angka 31
target_linear = 31

Input

#linear search, mencari angka satu per satu
def linear_search(arr, target):
    for i in range(len(arr)):  #periksa semua elemen satu per satu
        if arr[i] == target:  #jika ditemukan
            return i  #kembalikan posisi elemen
    return -1  #jika tidak ditemukan

#panggil fungsi Linear Search
result_linear = linear_search(data, target_linear)

#tampilkan hasilnya
print("Hasil Linear Search:")
if result_linear != -1:
    print(f"Angka {target_linear} ditemukan di indeks {result_linear}")
else:
    print(f"Angka {target_linear} tidak ditemukan")

Output

Hasil Linear Search: Angka 31 ditemukan di indeks 6


ini pengertian Binary Search

Binary Search (Pencarian Biner) adalah algoritma pencarian data efisien yang digunakan untuk menemukan elemen tertentu dalam daftar atau array yang telah diurutkan. Algoritma ini bekerja dengan membagi daftar menjadi dua bagian dan membandingkan target dengan elemen tengah.

Cara Kerja Binary Search;

1. Pastikan daftar sudah diurutkan.

2. Tentukan batas awal (low) dan akhir (high) daftar.

3. Hitung indeks tengah (mid).

4. Bandingkan target dengan elemen tengah.

5. Jika target cocok, kembalikan indeks tengah.

6. Jika target lebih kecil, ulangi langkah 2-5 untuk bagian kiri.

7. Jika target lebih besar, ulangi langkah 2-5 untuk bagian kanan.

8. Ulangi hingga menemukan target atau mencapai batas.


Berikut implementasi program sederhana dari Binary Search;

#Soal
#data nya
data = [3, 9, 11, 15, 17, 23, 31, 35]

#nilai yang dicari angka 11
target_binary = 11

Input

#binary search, cari angka dengan membagi dua data
def binary_search(arr, target):
    low = 0  #indeks awal
    high = len(arr) - 1  #indeks akhir

    while low <= high:  #selama masih ada data yang diperiksa
        mid = (low + high) // 2  #cari nilai tengah
        if arr[mid] == target:  #jika ditemukan
            return mid  #kembalikan posisi elemen
        elif arr[mid] < target:  #jika nilai tengah lebih kecil
            low = mid + 1  #periksa bagian kanan
        else:  #jika nilai tengah lebih besar
            high = mid - 1  #periksa bagian kiri
    return -1  #jika tidak ditemukan

#panggil fungsi binary search
result_binary = binary_search(data, target_binary)

#tampilkan hasilnya
print("Hasil Binary Search:")
if result_binary != -1:
    print(f"Angka {target_binary} ditemukan di indeks {result_binary}")
else:
    print(f"Angka {target_binary} tidak ditemukan")

Output

Hasil Binary Search: Angka 11 ditemukan di indeks 2

Kesimpulan; Dua duanya memiliki plus and minus, jadi terserah anda mau pakai yang mana.

Thank youu

Tidak ada komentar:

Posting Komentar

Memanajemen Waktu Menggunakan Array dan Doubly

  Memanajemen Waktu Menggunakan  Array dan Doubly Dalam kehidupan sehari-hari, kita sering dihadapkan dengan banyak kegiatan atau aktivitas....