TUGAS PERTEMUAN 11

NAMA : VANI NUR AMELIA PUTRI

NIM : 15220340

KELAS : 15.1B.01

PERTEMUAN 11

LOGIKA & ALGORITMA

1. Pengertian :

a. Searching : Teknik dalam memilih dan menyeleksi sebuah elemen dari beberapa elemen yang ada.

b. Linear Searching : Linear/Sequential Search (Untuk data yang belum terurut/yang sudah terurut ) Pencarian yang dimulai dari record-1 diteruskan ke record selanjutnya yaitu record-2, ke-3,..., sampai diperoleh isi record sama dengan informasi yang dicari (Nilai X).

c. Binary Searching : Binary Search (Untuk data yang sudah terurut) Digunakan mencari sebuah data pada himpunan data-data yang tersusun secara urut, yaitu data yang telah diurutkan dari besar ke kecil/sebaliknya. Proses dilaksanakan pertama kali pada bagian tengah dari elemen himpunan, jika data yang dicari ternyata < elemen bagian atasnya, maka pencarian dilakukan dari bagian tengah ke bawah.

d. Straith MaxMin : Menentukan/mencari elemen max&min. Pada Himpunan yang berbentuk array linear. Analisis waktu tempuh/time complexity yang digunakan untuk menyelesaikan pencarian hingga mendapatkan tingkat kompleksitas yang terbagi atas best case, worst case dan average case.

2. Terdapat urutan angka sebagai berikut : 

a. 15, 25, 30, 55, 95, 100 

b. 25, 30, 35, 40, 45, 55, 65, 115 

c. 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110 

Gunakan teknik pencarian untuk soal nomor 2 diatas (a, b dan c) masing-masing dengan menggunakan teknik pencarian (Searching) Linier search dan Binary Search untuk bilangan yang dicari : 

a. X1 = 30, X2 = 100, X3 = 55 

b. X1 = 45, X2 = 65, X3 = 115

c. X1 = 100, X2 = 90, X3 = 10

3. Membuat Program sederhana (Python) dengan menggunakan struktur Branching dan Looping untuk mencari bilangan pada soal nomor 2 diatas (a, b dan c) masing-masing menggunakan teknik Binary Search.

print("TUGAS PERTEMUAN 11")
print("   BINARY SEARCH  ")
print("===============================================")
def naive_search(data:list, target:int):
    for i in range (len(data)):
        if data [i] == target:
            return i
    return -1

def main():
    print("SOAL A")
    print ("URUTAN ANGKA [15,25,30,55,95,100]")
    data_list: list = [15,25,30,55,95,100]
    target: int = 30
    result = naive_search(data=data_list, target=target)
    print("X1 = 30 ")
    print("Terdapat pada urutan ke ",result)
    target: int = 100
    result = naive_search(data=data_list, target=target)
    print("X2 = 100")
    print("Terdapat pada urutan ke ",result)
    target: int = 55
    result = naive_search(data=data_list, target=target)
    print("X3 = 55")
    print("Terdapat pada urutan ke ",result)
    print("===============================================")
if __name__ == '__main__':
    main()

def main():
    print("SOAL B")
    print ("URUTAN ANGKA [25,30,35,40,45,55,65,115]")
    data_list: list = [25,30,35,40,45,55,65,115]
    target: int = 45
    result = naive_search(data=data_list, target=target)
    print("X1 = 45 ")
    print("Terdapat pada urutan ke ",result)
    target: int = 65
    result = naive_search(data=data_list, target=target)
    print("X2 = 65")
    print("Terdapat pada urutan ke ",result)
    target: int = 115
    result = naive_search(data=data_list, target=target)
    print("X3 = 115")
    print("Terdapat pada urutan ke ",result)
    print("===============================================")
if __name__ == '__main__':
    main()

def main():
    print("SOAL ")
    print ("URUTAN ANGKA [10,20,30,40,50,60,70,80,90,100,110]")
    data_list: list = [10,20,30,40,50,60,70,80,90,100,110]
    target: int = 100
    result = naive_search(data=data_list, target=target)
    print("X1 = 100 ")
    print("Terdapat pada urutan ke ",result)
    target: int = 90
    result = naive_search(data=data_list, target=target)
    print("X2 = 90")
    print("Terdapat pada urutan ke ",result)
    target: int = 10
    result = naive_search(data=data_list, target=target)
    print("X3 = 10")
    print("Terdapat pada urutan ke ",result)
    print("===============================================")
if __name__ == '__main__':
    main()





Komentar