program pencarian;
uses crt;
label z,g,f,h;
const mak = 100;
type pegawai = record
nomor : integer;
nama : string [30];
bagian : string [20];
gaji : integer;
end;
tabel = array [1..mak] of pegawai;
var
a:tabel;
n:integer;
ni:integer;
i,j,temp:integer;
p:char;
pilih:integer;
procedure mencari (a:tabel;n:integer;x:integer;var isearch:integer);
var
i : integer;
begin
if(n=0) then isearch := 0 else
begin
i:=1;
while((a[i].nomor<x) and (i<n)) do
i := i+1;
if (a[i].nomor = x) then
begin
writeln('Data yang dicari :');
writeln('Nomor Pegawai :',a[i].Nomor);
writeln('Nama Pegawai :',a[i].nama);
writeln('Bagian :',a[i].bagian);
writeln('Gaji :',a[i].gaji);
end
else
writeln('Data Tidak Berhasil Ditemukan --*.*;');
end;
end;
procedure Biner (a:tabel;n:integer;x:integer;var isearch:integer);
var
bawah, atas, tengah:integer;
found : boolean;
begin
if (n=0) then isearch := 0 else
begin
bawah := 1;
atas := n;
found := false;
while ((not found) and (atas >= bawah)) do
begin
tengah := (bawah + atas) div 2;
if (a[tengah].nomor=x) then found := true
else if (a[tengah].nomor>x) then atas := tengah -1
else bawah := tengah+1;
end;
if found then begin
isearch := tengah;
writeln('Data yang dicari :');
writeln('Nomor Pegawai : ',a[i].nomor);
writeln('Nama Pegawai : ',a[i].nama);
writeln('Bagian : ',a[i].bagian);
writeln('Gaji : ',a[i].gaji);
end
else writeln('Data tidak ditemukan???');
end;
end;
begin
h : clrscr; writeln;
gotoxy(20,2);writeln('----PROGRAM SEARCHING MODUL 7----');
gotoxy(20,3);writeln('-----priliawan.blogspot.com------');writeln;writeln;
write('Banyaknya Database Pegawai:');readln(n);
writeln;
for i:= 1 to n do
begin
write('Nomor pegawai ke-',i,':');readln(a[i].nomor);
write('Nama Pegawai ke-',i,' :');readln(a[i].nama);
write('Bagian ke-',i,':');readln(a[i].bagian);
write('Gaji ke-',i,':');readln(a[i].gaji);
writeln;
end;
uses crt;
label z,g,f,h;
const mak = 100;
type pegawai = record
nomor : integer;
nama : string [30];
bagian : string [20];
gaji : integer;
end;
tabel = array [1..mak] of pegawai;
var
a:tabel;
n:integer;
ni:integer;
i,j,temp:integer;
p:char;
pilih:integer;
procedure mencari (a:tabel;n:integer;x:integer;var isearch:integer);
var
i : integer;
begin
if(n=0) then isearch := 0 else
begin
i:=1;
while((a[i].nomor<x) and (i<n)) do
i := i+1;
if (a[i].nomor = x) then
begin
writeln('Data yang dicari :');
writeln('Nomor Pegawai :',a[i].Nomor);
writeln('Nama Pegawai :',a[i].nama);
writeln('Bagian :',a[i].bagian);
writeln('Gaji :',a[i].gaji);
end
else
writeln('Data Tidak Berhasil Ditemukan --*.*;');
end;
end;
procedure Biner (a:tabel;n:integer;x:integer;var isearch:integer);
var
bawah, atas, tengah:integer;
found : boolean;
begin
if (n=0) then isearch := 0 else
begin
bawah := 1;
atas := n;
found := false;
while ((not found) and (atas >= bawah)) do
begin
tengah := (bawah + atas) div 2;
if (a[tengah].nomor=x) then found := true
else if (a[tengah].nomor>x) then atas := tengah -1
else bawah := tengah+1;
end;
if found then begin
isearch := tengah;
writeln('Data yang dicari :');
writeln('Nomor Pegawai : ',a[i].nomor);
writeln('Nama Pegawai : ',a[i].nama);
writeln('Bagian : ',a[i].bagian);
writeln('Gaji : ',a[i].gaji);
end
else writeln('Data tidak ditemukan???');
end;
end;
begin
h : clrscr; writeln;
gotoxy(20,2);writeln('----PROGRAM SEARCHING MODUL 7----');
gotoxy(20,3);writeln('-----priliawan.blogspot.com------');writeln;writeln;
write('Banyaknya Database Pegawai:');readln(n);
writeln;
for i:= 1 to n do
begin
write('Nomor pegawai ke-',i,':');readln(a[i].nomor);
write('Nama Pegawai ke-',i,' :');readln(a[i].nama);
write('Bagian ke-',i,':');readln(a[i].bagian);
write('Gaji ke-',i,':');readln(a[i].gaji);
writeln;
end;
z:
writeln;
writeln('--Menu Pilihan Pencarian--');
writeln('1. Pencarian Skuensial');
writeln('2. Pencarian Biner');
writeln('3. Exit');
write('Pilihan :');readln(pilih);writeln('-----------------');writeln;
writeln;
writeln('--Menu Pilihan Pencarian--');
writeln('1. Pencarian Skuensial');
writeln('2. Pencarian Biner');
writeln('3. Exit');
write('Pilihan :');readln(pilih);writeln('-----------------');writeln;
case pilih of
1 : begin
g:
writeln;
writeln('--Pencarian Skuensial--');
writeln;
for i:= 1 to n do begin
with a[i] do begin
writeln('No : ',nomor);
writeln('Nama : ',nama);
writeln('Bagian : ',bagian);
writeln('Gaji : ',gaji);
writeln;
end;
end;
for i:= 1 to n-1 do
begin
for j:= 1 to n-i do
begin
if (a[j].nomor)>(a[j+1].nomor)then
begin
temp:=a[j].nomor;
a[j].nomor:=a[j+1].nomor;
a[j+1].nomor:=temp;
end;
end;
end;
g:
writeln;
writeln('--Pencarian Skuensial--');
writeln;
for i:= 1 to n do begin
with a[i] do begin
writeln('No : ',nomor);
writeln('Nama : ',nama);
writeln('Bagian : ',bagian);
writeln('Gaji : ',gaji);
writeln;
end;
end;
for i:= 1 to n-1 do
begin
for j:= 1 to n-i do
begin
if (a[j].nomor)>(a[j+1].nomor)then
begin
temp:=a[j].nomor;
a[j].nomor:=a[j+1].nomor;
a[j+1].nomor:=temp;
end;
end;
end;
writeln;
write('Masukkan Nomor Pegawai yang akan di Searching : ');readln(ni);
writeln;
mencari(a,n,ni,i);
writeln;
write('Mencari Lagi(y/t) : ');readln(p);
if (p='Y') or (p='y') then goto g;
goto z;
writeln;
end;
write('Masukkan Nomor Pegawai yang akan di Searching : ');readln(ni);
writeln;
mencari(a,n,ni,i);
writeln;
write('Mencari Lagi(y/t) : ');readln(p);
if (p='Y') or (p='y') then goto g;
goto z;
writeln;
end;
2 : begin
f:
writeln;writeln('--Pencarian Biner--');
for i:= 1 to n-1 do
begin
for j:= 1 to n-i do
begin
if (a[j].nomor) > (a[j+1].nomor) then
begin
temp:= a[j].nomor;
a[j].nomor := a[j+1].nomor;
a[j+1].nomor := temp;
end;
end;
end;
f:
writeln;writeln('--Pencarian Biner--');
for i:= 1 to n-1 do
begin
for j:= 1 to n-i do
begin
if (a[j].nomor) > (a[j+1].nomor) then
begin
temp:= a[j].nomor;
a[j].nomor := a[j+1].nomor;
a[j+1].nomor := temp;
end;
end;
end;
writeln('Masukkan Nomor Pegawai yang akan di searching : ');readln(ni);
writeln;
biner(a,n,ni,i);
writeln;
write('Ingin mencari lagi (y/t) : ');readln(p);
if (p='Y') or (p='y') then goto f;
goto z;
writeln;
end;
writeln;
biner(a,n,ni,i);
writeln;
write('Ingin mencari lagi (y/t) : ');readln(p);
if (p='Y') or (p='y') then goto f;
goto z;
writeln;
end;
3 : begin
writeln ('Program Diakhiri (Good By)');
writeln;
end;
else
writeln('Pilihan Salah');
for i:= 1 to n do delay(50000);
goto h;
end;
readkey;
end.
karena ga bs copas jd klo mau download diSINI
hehehehe.....
writeln ('Program Diakhiri (Good By)');
writeln;
end;
else
writeln('Pilihan Salah');
for i:= 1 to n do delay(50000);
goto h;
end;
readkey;
end.
karena ga bs copas jd klo mau download diSINI
hehehehe.....
Tidak ada komentar:
Posting Komentar