Untitled

 avatar
unknown
plain_text
5 months ago
861 B
5
Indexable
program BinarySearch;

type
  TArray = array[1..100] of Integer;

var
  arr: TArray;
  n, i, x, result: Integer;

{ Fungsi Binary Search }
function BinarySearch(arr: TArray; low, high, x: Integer): Integer;
var
  mid: Integer;
begin
  while low <= high do
  begin
    mid := (low + high) div 2;
    if arr[mid] = x then
      Exit(mid);
    if arr[mid] < x then
      low := mid + 1
    else
      high := mid - 1;
  end;
  Exit(-1);
end;

begin
  write('Banyaknya elemen array L? ');
  readln(n);

  writeln('Masukkan elemen Array L:');
  for i := 1 to n do
  begin
    write('Elemen Array L ke-', i, ' = ');
    readln(arr[i]);
  end;

  write('Elemen X yang dicari = ');
  readln(x);

  result := BinarySearch(arr, 1, n, x);

  if result <> -1 then
    writeln(x, ' Ditemukan pada indeks: ', result)
  else
    writeln(x, ' Tidak ditemukan di array.');
end.
Editor is loading...
Leave a Comment