Misalkan X adalah sebuah array integer yang isinya diurutkan menurut besarnya, misal: [1,3,12,17,21,50,71,121,461,888,1121,1141,1821,3345].

Salah satu cara tercepat untuk mencari lokasi sebuah bilangan N adalah sebagai berikut:

  1. Ambil bilangan yang berada di tengah array sebagai O. Bila O sama dengan N, maka kita telah menemukan lokasi bilangan yang kita cari dan pencarian dihentikan. Bila tidak maka langkah ke 2.
  2. Operasi nomor 1 telah membagi X menjadi 2 sub array. Pilih 1 dari 2 array tersebut dimana N berada didalamnya, lalu lakukan langkah 1 terhadap array tersebut.

Buatlah sebuah prosedur yang mengimplementasikan algoritma diatas dalam dua bentuk:

  1. menggunakan fungsi rekursif.
  2. menggunakan loop.

Code boleh dalam pseudo code atau dalam bahasa pemrograman imperatif (C, C++, Java, PHP, Ruby atau sejenisnya).

Have fun… :)

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>