BINARY SEARCH STRUKTUR DATA
PEMAHAMAN BINARY SEARCH Proses pencarian terhadap array yang telah terurut secara menarik Proses menemukan lokasi dari item pada data.
Algoritma Pada setiap tingkatan algoritma, pencarian item menjadi segmen-segmen elemen data DATA[BEG], DATA[BEG+1], DATA[BEG+2]....DATA[END] BEG =data awal END=data akhir Bandingkan ITEM dengan elemen tengah segmen yaitu DATA[MID] MID=INT(BEG+END/2) jika ITEM<DATA[MID], maka ada perubahan END:=MID-1 Jika ITEM>DATA[MID],maka ada perubahan BEG:=MID+1 Bila END<BEG,maka ITEM tidak ada dalam data, maka LOC:=Nol
Contoh Diketahui array terurut sebagai berikut : Ditanyakan : loc[7] dan loc[8]. . .? Jawab : loc[7] Dik BEG=1 AND=5 Mid = INT(BEG+AND/2) = INT(1+5/2) = INT (3) = loc 3 -> 9 {data MID} ITEM{7} . . . DATA[MID]{9} No [1] [2] [3] [4] [5] Item 5 7 9 10 11
Sehingga Loc[7]:= 2 ITEM{7} < DATA[MID]{9} Maka END:=MID-1 END:= 3-1 BEG:= 1 = 2 MID = INT(BEG+AND/2) = INT (1+2/2) = INT (1) = Loc 1-> 5 ITEM{7} > DATA[MID]{5} Maka BEG:=MID+1 BEG:=1+1 END:=2 MID = INT(BEG+AND/2) = INT (2+2/2) = INT (2) = Loc 2-> 7 Sehingga Loc[7]:= 2
Ditanyakan : loc[8]. Diketahui BEG:=1 END:=5 MID = INT(BEG+AND/2) = INT (1+5/2) = INT (3) = Loc 3-> 9 ITEM{8} < DATA[MID]{9} Maka END:=MID-1 BEG:= 1 = 3 -1 = 2 = INT (1+2/2) = INT (1) = Loc 1 -> 5 = 1
ITEM{8} > DATA[MID]{5} Maka BEG:= MID+1 END:= 2 = 1+1 = 2 MID = INT(BEG+AND/2) = INT (2+2/2) = INT (2) = Loc 2 -> 7 ITEM{8} > DATA[MID]{7} Maka Beg:=MID+1 END:=2 =3 Sehingga END < BEG maka LOC[8]:=Nol