tugas algoritma pencarian bagi dua.docx

Upload: elfrid-bael

Post on 05-Jul-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 tugas ALGORITMA PENCARIAN BAGI DUA.docx

    1/5

    BAB II

    PEMBAHASAN

    1.  Algoritma pencarian Bagi Dua

    Pengertian

    Pencarian bagi dua adalah sebuah algoritma pencarian dengan cara membagi data

    menjadi dua bagian setiap kali terjadi proses pencarian untuk menemukan nilai tertentu dalam

    sebuah larik (array) linear . Sebuah pencarian biner mencari nilai tengah (median),

    melakukan sebuah pembandingan untuk menentukan apakah nilai yang dicari ada sebelum

    atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama. Pada intinya,

    algoritma ini menggunakan prinsip divide and conquer, dimana sebuah masalah atau tujuan

    diselesaikan dengan cara mempartisi masalah menjadi bagian yang lebih kecil. Algoritma ini

    membagi sebuah tabel menjadi dua dan memproses satu bagian dari tabel itu saja.Algoritma

    ini bekerja dengan cara memilih record dengan indeks tengah dari tabel dan

    membandingkannya dengan record yang hendak dicari. Jika record tersebut lebih rendah atau

    lebih tinggi, maka tabel tersebut dibagi dua dan bagian tabel yang bersesuaian akan diproses

    kembali secara rekursi.

    Penerapan terbanyak dari pencarian biner adalah untuk mencari sebuah nilai tertentu

    dalam sebuah list terurut. Jika dibayangkan, pencarian biner dapat dilihat sebagai sebuah

     permainan tebak!tebakan, kita menebak sebuah bilangan, atau nomor tempat, dari datar (list )

    nilai.

    Pencarian dia"ali dengan memeriksa nilai yang ada pada posisi tengah list# oleh

    karena nilai!nilainya terurut, kita mengetahui apakah nilai terletak sebelum atau sesudah nilai

    yang di tengah tersebut, dan pencarian selanjutnya dilakukan terhadap setengah bagian

    dengan cara yang sama.

    Metoda Pencarian Bagi Dua ( Binary Search) hanya i!a diterap"an #i"a data

    array !udah terurut. Pengurutan Array bisa menggunakan jenis sorting descending atau

    asscending.

  • 8/16/2019 tugas ALGORITMA PENCARIAN BAGI DUA.docx

    2/5

    $. Itera!i

    $isalkan kita mempunyai data sebagai berikut % &', , , *, *, +, +, -. /ata yang kita

    cari adalah*.0api sebelum itu kita harus mengurutkan data tersebut

    Itera!i Data

    + ' %  * * + + -

    ' 11 * * + + -

    ' 1& * + + -

    1 ' * & + + -

    - * ' * 1' + -

    * * ' + * $' -

    * ' + * + 1

    2 * ' + - * +

    Pada iterasi 2, data sudah terurut.

    Setelah memperoleh data yang sudah terurut, maka diselesaikan dengan cara berikut %

     3ilai 0engah /ata

    4terasi + 1 - * 2

    4terasi - * ' + - * +4terasi * ' + - * +

  • 8/16/2019 tugas ALGORITMA PENCARIAN BAGI DUA.docx

    3/5

    4terasi 2 * ' + - * +

    /itemukan   15

    /iketahui nilai kiri5+ (nilai a"al array) dan nilai kanan 5 '. 6umus posisi tengah adalah

    (kanan 7 kiri)8. Jadi 3ilai tengah pada langkah pertama yaitu ('7+)85-. Jika dimasukkankedalam tabel akan menunjuk nilai + (ber"arna kuning). 9emudian dibandingkan dengan

    nilai yang dicari (*), karena nilai yang dicari lebih besar dari data ditengah maka pencarian

    di alihkan ke sebelah kanan dengan batas kiri (a"al pencarian) merupakan nilai tengah yakni

    -.

     3ilai tengah pada langkah kedua yaitu ('7-)85. Jika dimasukkan ke dalam tabel maka akan

    menunjuk nilai - (ber"arna kuning). 9emudian dibandingkan lagi dengan nilai yang dicari

    (*), karena nilai yang dicari masih lebih besar dari nilai tengah, maka pencarian dialihkan

    lagi ke kanan dengan batas kiri (a"al pencarian) merupakan nilai tengah yakni .

     3ilai tengah pada langkah ketiga yaitu ('7)852. Jika dimasukkan ke dalam tabel maka akan

    menunjuk nilai * (ber"arna orange). 9emudian dibandingkan lagi dengan nilai yang dicari

    (*), setelah dibandingkan nilainya sama, maka pencarian selesai dengan keterangan data

    ditemukan

    . *lo+chart

  • 8/16/2019 tugas ALGORITMA PENCARIAN BAGI DUA.docx

    4/5

    .  ,i!ting Program

  • 8/16/2019 tugas ALGORITMA PENCARIAN BAGI DUA.docx

    5/5

    #include #include

    int binary_s(int array[], int size, int elemen);

    int main(){  int size=;  int data[]={, !, "", ", , "$, %$, "&,' ;  cout