Source Code Program Pencarian biner (binary search) dengan Metode Divide & Conquer

program Project_video_2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  A : array [1..100] of integer;
  n, i : integer;
  indeks : integer;
  Cari, batasatas, batasbawah, tengah : integer;
  ketemu : boolean;

procedure pengurutan; {metode insertion}
var
  urut, j,i : integer;
  find : boolean;
begin
  for i := 2 to n do
    begin
      urut := A[i];

      j := i-1;
      find := false;
    while (j>=1) and (not find) do
      begin
          if urut < A[j] then
          begin
            A[j+1] := A[j];
            j := j-1;
          end
          else
        find := true;
    end;
        A[j+1] := urut;
  end;
end;

begin
  writeln ;
  write ('jumlah data : '); readln (n);
  writeln ;
    for i := 1 to n do
     begin
      write (' indeks  ', i,' : '); readln (A[i]);
     end;

      pengurutan;

  writeln;
  writeln (' data urut');
    for i := 1 to n do
      write (A[i] :2 ,'  ');
    writeln;
    writeln;
    write ('masukan data yang ingin dicari : '); readln (cari);
    batasatas :=1;
    batasbawah := n;
    indeks :=0;
    ketemu := false;

    while ((batasatas <= batasbawah) and (not ketemu)) do
    begin
      tengah := (batasatas + batasbawah) div 2;
      if cari = A[tengah] then
      begin
        ketemu := true ;
        indeks := tengah;
      end
      else
      begin
        if cari < A[tengah] then
          batasbawah := tengah-1   {cari di bagian kanan}
        else
          batasatas := tengah +1;  {cari di bagian kiri}
      end;
    end;
    if indeks <> 0 then
    begin
      writeln;
      writeln ('data yang dicari ',cari);
      writeln;
      writeln ('ditemukan di indeks ', indeks);
      writeln;
    end
    else

    writeln(cari,' tidak ditemukan');
    writeln;
    writeln ('--------------------------------------');
    writeln (' Created by : Zanuardy Supria Dwinata ');
    writeln ('--------------------------------------');
    readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.

Komentar

Postingan populer dari blog ini

ERD (Entity Relationship Diagram)