Ticker

6/recent/ticker-posts

Program Pengurutan dan Pencarian data Perpustakaan menggunakan Pascal



Program Tugas_Strukdat;
uses crt;
const jummhs:integer=5;
type mahasiswa=record
     nim, ta:longint;
     nama, jb:string[20];
end;
   data = array [1..10] of mahasiswa;

var
   menu2, u, isearch :integer;
   x : mahasiswa;
   a : data;
   b : data;
   procedure menu;forward;
   procedure tampil;forward;
   procedure menu1;forward;
   procedure menu12;forward;
   procedure menu21;forward;
   procedure menu22;forward;
   procedure menu13;forward;
   procedure menu123;forward;
   procedure menu223;forward;
   procedure tampil1;forward;

{procedure input data untuk Mahasiswa peminjam}
procedure inputdata;
var
   i:integer;
begin
clrscr;
       writeln('  == Inputan Mahasiswa Peminjam ==');
       write('Masukkan Jumlah Mahasiswa Peminjam yang akan dimasukkan = ');readln(jummhs);
       for i:=1 to jummhs do
       begin
       write('Nama    : ');readln(a[i].nama);
       write('NIM     : ');readln(a[i].nim);
       writeln;
end;
menu;
end;

{procedure input data untuk mahasiswa Laporan TA}
procedure inputdata1;
var
   i:integer;
begin
clrscr;
       writeln('  == Inputan Mahasiswa Laporan TA ==');
       write('Masukkan Jumlah Mahasiswa Laporan TA yang akan dimasukkan = ');
            readln(jummhs);
       for i:=1 to jummhs do
       begin
       write('Nama            : ');readln(a[i].nama);
       write('NIM             : ');readln(a[i].nim);
       write('Tahun Angkatan  : ');readln(a[i].ta);
       write('Judul Skripsi   : ');readln(a[i].jb);
       writeln;
end;
menu1;
end;

{bubble sort untuk nama Mahasiswa Laporan TA}
procedure bubblesort11;
var
   tmp:mahasiswa;
   i,j:integer;
begin
     for i:=jummhs downto 2 do
     begin
          for j:=2 to i do
          begin
          if a[j].nama < a[j-1].nama then
          begin
          tmp:=a[j];
          a[j]:=a[j-1];
          a[j-1]:=tmp;
          end;
     end;
end;
clrscr;
writeln('====Pengurutan Nama Menggunakan Bubble Sort====');
writeln;
tampil1;
end;

{bubble sort untuk nim mahasiswa laporan TA}
procedure bubblesort12;
var
   tmp:mahasiswa;
   i,j:integer;
begin
     for i:=jummhs downto 2 do
     begin
          for j:=2 to i do
          begin
          if a[j].nim < a[j-1].nim then
          begin
          tmp:=a[j];
          a[j]:=a[j-1];
          a[j-1]:=tmp;
          end;
     end;
end;
clrscr;
writeln('====Pengurutan NIM Menggunakan Bubble Sort====');
writeln;
tampil1;
end;

{bubble sort untuk  angkatan mahasiswa laporan TA}
procedure bubblesort13;
var
   tmp:mahasiswa;
   i,j:integer;
begin
     for i:=jummhs downto 2 do
     begin
          for j:=2 to i do
          begin
          if a[j].ta < a[j-1].ta then
          begin
          tmp:=a[j];
          a[j]:=a[j-1];
          a[j-1]:=tmp;
          end;
     end;
end;
clrscr;
writeln('====Pengurutan Tahun Angkatan Menggunakan Bubble Sort====');
writeln;
tampil1;
end;

{bubble sort untuk judul laporan TA}
procedure bubblesort14;
var
   tmp:mahasiswa;
   i,j:integer;
begin
     for i:=jummhs downto 2 do
     begin
          for j:=2 to i do
          begin
          if a[j].jb < a[j-1].jb then
          begin
          tmp:=a[j];
          a[j]:=a[j-1];
          a[j-1]:=tmp;
          end;
     end;
end;
clrscr;
writeln('====Pengurutan Judul Skripsi Menggunakan Bubble Sort====');
writeln;
tampil1;
end;

{bubble sort untuk nama mahasiswa peminjam}
procedure bubblesort21;
var
   tmp:mahasiswa;
   i,j:integer;
begin
     for i:=jummhs downto 2 do
     begin
          for j:=2 to i do
          begin
          if a[j].nama < a[j-1].nama then
          begin
          tmp:=a[j];
          a[j]:=a[j-1];
          a[j-1]:=tmp;
          end;
     end;
end;
clrscr;
writeln('====Pengurutan Nama Menggunakan Bubble Sort====');
writeln;
tampil;
end;

{bubble sort untuk nim mahasiswa peminjam}
procedure bubblesort22;
var
   tmp:mahasiswa;
   i,j:integer;
begin
     for i:=jummhs downto 2 do
     begin
          for j:=2 to i do
          begin
          if a[j].nim < a[j-1].nim then
          begin
          tmp:=a[j];
          a[j]:=a[j-1];
          a[j-1]:=tmp;
          end;
     end;
end;
clrscr;
writeln('====Pengurutan NIM Menggunakan Bubble Sort====');
writeln;
tampil;
end;


{selection untuk nama mahasiswa laporan TA}
procedure selectionsort11;
var
   tmp:mahasiswa;
   i,j,min:integer;
begin
     for i:=1 to jummhs-1 do
     begin
     min:=i;
     for j:=i+1 to jummhs do
     begin
     if a[j].nama < a[min].nama then
     a[min].nama:=a[j].nama;
     tmp:=a[min];
     a[min]:=a[i];
     a[i]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan Nama Menggunakan Selection Sort====');
tampil1;
end;

{selection untuk nim mahasiswa laporan TA}
procedure selectionsort12;
var
   tmp:mahasiswa;
   i,j,min:integer;
begin
     for i:=1 to jummhs-1 do
     begin
     min:=i;
     for j:=i+1 to jummhs do
     begin
     if a[j].nim < a[min].nim then
     a[min].nim:=a[j].nim;
     tmp:=a[min];
     a[min]:=a[i];
     a[i]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan NIM Menggunakan Selection Sort=====');
writeln;
tampil1;
end;

{selection untuk angkatan mahasiswa laporan TA}
procedure selectionsort13;
var
   tmp:mahasiswa;
   i,j,min:integer;
begin
     for i:=1 to jummhs-1 do
     begin
     min:=i;
     for j:=i+1 to jummhs do
     begin
     if a[j].ta < a[min].ta then
     a[min].ta:=a[j].ta;
     tmp:=a[min];
     a[min]:=a[i];
     a[i]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan Tahun Angkatan Menggunakan Selection Sort====');
tampil1;
end;

{selection untuk judul Laporan TA}
procedure selectionsort14;
var
   tmp:mahasiswa;
   i,j,min:integer;
begin
     for i:=1 to jummhs-1 do
     begin
     min:=i;
     for j:=i+1 to jummhs do
     begin
     if a[j].jb < a[min].jb then
     a[min].jb:=a[j].jb;
     tmp:=a[min];
     a[min]:=a[i];
     a[i]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan Judul Skripsi Menggunakan Selection Sort====');
tampil1;
end;

{selection untuk nama mahasiswa peminjam}
procedure selectionsort21;
var
   tmp:mahasiswa;
   i,j,min:integer;
begin
     for i:=1 to jummhs-1 do
     begin
     min:=i;
     for j:=i+1 to jummhs do
     begin
     if a[j].nama < a[min].nama then
     a[min].nama:=a[j].nama;
     tmp:=a[min];
     a[min]:=a[i];
     a[i]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan Nama Menggunakan Selection Sort====');
tampil;
end;

{selection untuk nim mahasiswa peminjam}
procedure selectionsort22;
var
   tmp:mahasiswa;
   i,j,min:integer;
begin
     for i:=1 to jummhs-1 do
     begin
     min:=i;
     for j:=i+1 to jummhs do
     begin
     if a[j].nim < a[min].nim then
     a[min].nim:=a[j].nim;
     tmp:=a[min];
     a[min]:=a[i];
     a[i]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan NIM Menggunakan Selection Sort====');
tampil;
end;

{insertion untuk nama mahasiswa laporan TA}
procedure insertionsort11;
var
   i,j:integer;
   tmp:mahasiswa;
begin
     for i:=2 to jummhs do
     begin
     tmp:=a[i];
     j:=i;
     while (j>1) and (tmp.nama < a[j-i].nama) do
     begin
     tmp:=a[j];
     a[j]:=a[j-1];
     j:=j-1;
     a[j-1]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan Nama Menggunakan Insertion Sort====');
tampil1;
end;

{insertion untuk nim mahasiswa laporan TA}
procedure insertionsort12;
var
   i,j:integer;
   tmp:mahasiswa;
begin
     for i:=2 to jummhs do
     begin
     tmp:=a[i];
     j:=i;
     while (j>1) and (tmp.nim < a[j-i].nim) do
     begin
     tmp:=a[j];
     a[j]:=a[j-1];
     j:=j-1;
     a[j-1]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan NIM Menggunakan Insertion Sort====');
tampil1;
end;

{insertion untuk angkatan mahasiswa Laporan TA}
procedure insertionsort13;
var
   i,j:integer;
   tmp:mahasiswa;
begin
     for i:=2 to jummhs do
     begin
     tmp:=a[i];
     j:=i;
     while (j>1) and (tmp.ta < a[j-i].ta) do
     begin
     tmp:=a[j];
     a[j]:=a[j-1];
     j:=j-1;
     a[j-1]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan Tahun Angkatan Menggunakan Insertion Sort====');
tampil1;
end;

{insertion untuk judul Laporan TA}
procedure insertionsort14;
var
   i,j:integer;
   tmp:mahasiswa;
begin
     for i:=2 to jummhs do
     begin
     tmp:=a[i];
     j:=i;
     while (j>1) and (tmp.jb < a[j-i].jb) do
     begin
     tmp:=a[j];
     a[j]:=a[j-1];
     j:=j-1;
     a[j-1]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan Judul Skripsi Menggunakan Insertion Sort====');
tampil1;
end;

{insertion untuk nama mahasiswa peminjam}
procedure insertionsort21;
var
   i,j:integer;
   tmp:mahasiswa;
begin
     for i:=2 to jummhs do
     begin
     tmp:=a[i];
     j:=i;
     while (j>1) and (tmp.nama < a[j-i].nama) do
     begin
     tmp:=a[j];
     a[j]:=a[j-1];
     j:=j-1;
     a[j-1]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan Nama Menggunakan Insertion Sort====');
tampil;
end;

{insertion untuk nim mahasiswa peminjam}
procedure insertionsort22;
var
   i,j:integer;
   tmp:mahasiswa;
begin
     for i:=2 to jummhs do
     begin
     tmp:=a[i];
     j:=i;
     while (j>1) and (tmp.nim < a[j-i].nim) do
     begin
     tmp:=a[j];
     a[j]:=a[j-1];
     j:=j-1;
     a[j-1]:=tmp;
     end;
end;
clrscr;
writeln('====Pengurutan NIM Menggunakan Insertion Sort====');
tampil;
end;

{sekuensial untuk nama mahasiswa laporan TA}
procedure sekuensial11(b:data;u:integer; x:mahasiswa; var isearch:integer);
var i:integer;
begin
if (u=0) then
   isearch:= 0 else
   begin
        i:=1;
        while (A[i].nama<>x.nama) and (i<u) do
        i:=i+1;
        if (A[i].nama=x.nama) then
        isearch:=i
        else
        isearch:=0;
     end;
end;

{sekuensial untuk nim mahasiswa laporan TA}
procedure sekuensial12(b:data;u:integer; x:mahasiswa; var isearch:integer);
var i:integer;
begin
if (u=0) then
   isearch:= 0 else
   begin
        i:=1;
        while (A[i].nim<>x.nim) and (i<u) do
        i:=i+1;
        if (A[i].nim=x.nim) then
        isearch:=i
        else
        isearch:=0;
     end;
end;

{sekuensial untuk angkatan mahasiswa laporan TA}
procedure sekuensial13(b:data;u:integer; x:mahasiswa; var isearch:integer);
var i:integer;
begin
if (u=0) then
   isearch:= 0 else
   begin
        i:=1;
        while (A[i].ta<>x.ta) and (i<u) do
        i:=i+1;
        if (A[i].ta=x.ta) then
        isearch:=i
        else
        isearch:=0;
     end;
end;

{sekuensial untuk judul laporan TA}
procedure sekuensial14(b:data;u:integer; x:mahasiswa; var isearch:integer);
var i:integer;
begin
if (u=0) then
   isearch:= 0 else
   begin
        i:=1;
        while (A[i].jb<>x.jb) and (i<u) do
        i:=i+1;
        if (A[i].jb=x.jb) then
        isearch:=i
        else
        isearch:=0;
     end;
end;

{sekuensial untuk nama mahasiswa peminjam}
procedure sekuensial21(b:data;u:integer; x:mahasiswa; var isearch:integer);
var i:integer;
begin
if (u=0) then
   isearch:= 0 else
   begin
        i:=1;
        while (A[i].nama<>x.nama) and (i<u) do
        i:=i+1;
        if (A[i].nama=x.nama) then
        isearch:=i
        else
        isearch:=0;
     end;
end;

{sekuensial untuk nim mahasiswa peminjam}
procedure sekuensial22(b:data;u:integer; x:mahasiswa; var isearch:integer);
var i:integer;
begin
if (u=0) then
   isearch:= 0 else
   begin
        i:=1;
        while (A[i].nim<>x.nim) and (i<u) do
        i:=i+1;
        if (A[i].nim=x.nim) then
        isearch:=i
        else
        isearch:=0;
     end;
end;


{binary untuk nama mahasiswa peminjam}
procedure binsearch21;
var
   atas,bawah,tengah:integer;
   cari:string;
begin
     clrscr;
     write('Masukan Nama Mahasiswa yang Akan Dicari :');readln(cari);
     atas:=1;
     bawah:=jummhs;
     tengah:=(atas+bawah)div 2;
     while ((atas<bawah) and (a[tengah].nama<>cari)) do
     begin
     if a[tengah].nama < cari then
     atas:= tengah+1
     else
     bawah:=tengah-1;
     tengah:=(atas+bawah)div 2;
     end;
     if a[tengah].nama = cari then
     begin
     clrscr;
     writeln('Hasil Pencarian :');
     gotoxy(3,3);write('NIM');
     gotoxy(14,3);Write('Nama');
     gotoxy(3,5);write(a[tengah].nim);
     gotoxy(14,5);Write(a[tengah].nama);
     readkey;
     menu;
     end
     else
     begin
     writeln('Data Mahasiswa Tidak Ditemukan');
     readkey;
     menu;
     end;
end;

{binary untuk nim mahasiswa peminjam}
procedure binsearch22;
var
   atas,bawah,tengah:integer;
   cari:longint;
begin
     clrscr;
     write('Masukan NIM Mahasiswa yang Akan Dicari :');readln(cari);
     atas:=1;
     bawah:=jummhs;
     tengah:=(atas+bawah)div 2;
     while ((atas<bawah) and (a[tengah].nim<>cari)) do
     begin
     if a[tengah].nim < cari then
     atas:= tengah+1
     else
     bawah:=tengah-1;
     tengah:=(atas+bawah)div 2;
     end;
     if a[tengah].nim = cari then
     begin
     clrscr;
     writeln('Hasil Pencarian :');
     gotoxy(3,3);write('NIM');
     gotoxy(14,3);Write('Nama');
     gotoxy(3,5);write(a[tengah].nim);
     gotoxy(14,5);Write(a[tengah].nama);
     readkey;
     menu;
     end
     else
     begin
     writeln('Data Mahasiswa Tidak Ditemukan');
     readkey;
     menu;
     end;
end;

{binary untuk judul laporan TA}
procedure binsearch1;
var
   atas,bawah,tengah:integer;
   cari:string;
begin
     clrscr;
     write('Masukan Judul Skripsi yang Akan Dicari :');readln(cari);
     atas:=1;
     bawah:=jummhs;
     tengah:=(atas+bawah)div 2;
     while ((atas<bawah) and (a[tengah].jb<>cari)) do
     begin
     if a[tengah].jb < cari then
     atas:= tengah+1
     else
     bawah:=tengah-1;
     tengah:=(atas+bawah)div 2;
     end;
     if a[tengah].jb = cari then
     begin
     clrscr;
     writeln('Hasil Pencarian :');
     gotoxy(3,3);write('NIM');
     gotoxy(14,3);Write('Nama');
     gotoxy(35,3);write('Angkatan');
             gotoxy(50,3);write('Judul Skripsi');
     gotoxy(3,5);write(a[tengah].nim);
     gotoxy(14,5);Write(a[tengah].nama);
     gotoxy(35,5);write(a[tengah].ta);
             gotoxy(50,5);write(a[tengah].jb);
     readkey;
     menu1;
     end
     else
     begin
     writeln('Data Mahasiswa Tidak Ditemukan');
     readkey;
     menu1;
     end;
end;

{Binary untuk nama mahasiswa Laporan TA}
procedure binsearch12;
var
   atas,bawah,tengah:integer;
   cari:string;
begin
     clrscr;
     write('Masukan Nama Mahasiswa yang Akan Dicari :');readln(cari);
     atas:=1;
     bawah:=jummhs;
     tengah:=(atas+bawah)div 2;
     while ((atas<bawah) and (a[tengah].nama<>cari)) do
     begin
     if a[tengah].nama < cari then
     atas:= tengah+1
     else
     bawah:=tengah-1;
     tengah:=(atas+bawah)div 2;
     end;
     if a[tengah].nama = cari then
     begin
     clrscr;
     writeln('Hasil Pencarian :');
     gotoxy(3,3);write('NIM');
     gotoxy(14,3);Write('Nama');
     gotoxy(35,3);write('Angkatan');
             gotoxy(50,3);write('Judul Skripsi');
     gotoxy(3,5);write(a[tengah].nim);
     gotoxy(14,5);Write(a[tengah].nama);
     gotoxy(35,5);write(a[tengah].ta);
             gotoxy(50,5);write(a[tengah].jb);
     readkey;
     menu1;
     end
     else
     begin
     writeln('Data Mahasiswa Tidak Ditemukan');
     readkey;
     menu1;
     end;
end;

{binary untuk nim mahasiswa peminjam}
procedure binsearch13;
var
   atas,bawah,tengah:integer;
   cari:longint;
begin
     clrscr;
     write('Masukan NIM Mahasiswa yang Akan Dicari :');readln(cari);
     atas:=1;
     bawah:=jummhs;
     tengah:=(atas+bawah)div 2;
     while ((atas<bawah) and (a[tengah].nim<>cari)) do
     begin
     if a[tengah].nim < cari then
     atas:= tengah+1
     else
     bawah:=tengah-1;
     tengah:=(atas+bawah)div 2;
     end;
     if a[tengah].nim = cari then
     begin
     clrscr;
     writeln('Hasil Pencarian :');
     gotoxy(3,3);write('NIM');
     gotoxy(14,3);Write('Nama');
     gotoxy(35,3);write('Angkatan');
             gotoxy(50,3);write('Judul Skripsi');
     gotoxy(3,5);write(a[tengah].nim);
     gotoxy(14,5);Write(a[tengah].nama);
     gotoxy(35,5);write(a[tengah].ta);
             gotoxy(50,5);write(a[tengah].jb);
     readkey;
     menu1;
     end
     else
     begin
     writeln('Data Mahasiswa Tidak Ditemukan');
     readkey;
     menu1;
     end;
end;

{binary untuk angkatan mahasiswa laporan TA}
procedure binsearch14;
var
   atas,bawah,tengah:integer;
   cari:longint;
begin
     clrscr;
     write('Masukan Tahun Angkatan yang Akan Dicari :');readln(cari);
     atas:=1;
     bawah:=jummhs;
     tengah:=(atas+bawah)div 2;
     while ((atas<bawah) and (a[tengah].ta<>cari)) do
     begin
     if a[tengah].ta < cari then
     atas:= tengah+1
     else
     bawah:=tengah-1;
     tengah:=(atas+bawah)div 2;
     end;
     if a[tengah].ta = cari then
     begin
     clrscr;
     writeln('Hasil Pencarian :');
     gotoxy(3,3);write('NIM');
     gotoxy(14,3);Write('Nama');
     gotoxy(35,3);write('Angkatan');
     gotoxy(50,3);write('Judul Skripsi');
     gotoxy(3,5);write(a[tengah].nim);
     gotoxy(14,5);Write(a[tengah].nama);
     gotoxy(35,5);write(a[tengah].ta);
     gotoxy(50,5);write(a[tengah].jb);
     readkey;
     menu1;
     end
     else
     begin
     writeln('Data Mahasiswa Tidak Ditemukan');
     readkey;
     menu1;
     end;
end;

{untuk mencetak hasil pencarian dari data laporan TA}
procedure cetak1;
begin
         writeln('Hasil Pencarian :');
         writeln;
         gotoxy(14,5);writeln('Nama          : ',B[isearch].nama);
         gotoxy(14,6);writeln('NIM           : ',B[isearch].nim);
         gotoxy(14,7);writeln('Angkatan      : ',B[isearch].ta);
         gotoxy(14,8);writeln('Skripsi       : ',B[isearch].jb);
         writeln;
         gotoxy(14,10);writeln('Tekan Enter untuk kembali ke menu pencarian');
     end;

{untuk mencetak hasil pencarian dari data mahasiswa peminjam}
procedure cetak2;
begin
         writeln('Hasil Pencarian :');
         writeln;
         gotoxy(14,5);writeln('Nama          : ',B[isearch].nama);
         gotoxy(14,6);writeln('NIM           : ',B[isearch].nim);
         writeln;
         gotoxy(14,10);writeln('Tekan Enter untuk kembali ke menu pencarian');
     end;

{untuk menampilkan data mahasiswa peminjam}
procedure tampil;
var
   i:integer;
begin
     gotoxy(3,2);write('NIM');
     gotoxy(14,2);Write('Nama');
     for i:=1 to jummhs do
     begin
     gotoxy(3,3+i);write(a[i].nim);
     gotoxy(14,3+i);Write(a[i].nama);
     end;
end;

{untuk menampilkan data Laporan TA}
procedure tampil1;
var
   i:integer;
begin
     gotoxy(3,2);write('NIM');
     gotoxy(14,2);Write('Nama');
     gotoxy(35,2);write('Angkatan');
             gotoxy(50,2);write('Judul Skripsi');
     for i:=1 to jummhs do
     begin
     gotoxy(3,3+i);write(a[i].nim);
     gotoxy(14,3+i);Write(a[i].nama);
     gotoxy(35,3+i);write(a[i].ta);
             gotoxy(50,3+i);write(a[i].jb);
     end;
end;

{menu untuk pengurutan pada data Laporan TA}
procedure menu123;
var
   pil:integer;
begin
     clrscr;
     writeln('=====Pengurutan Data=====');
     writeln('========================');
     writeln('1. Sorting Nama                          ');
     writeln('2. Sorting NIM                             ');
     writeln('3. Sorting Tahun Angkatan        ');
     writeln('4. Sorting Judul Skripsi               ');
     writeln('5. Menu Sebelumnya                 ');
     writeln('=========================');
     write('Pilih Menu >> ');readln(pil);
case pil of
1: begin
            bubblesort11;
            readkey;
            insertionsort11;
            readkey;
            selectionsort11;
            readkey;
            menu123;
end;
2: begin
     bubblesort12;
             readkey;
             insertionsort12;
             readkey;
             selectionsort12;
             readkey;
             menu123;
end;
3: begin
   bubblesort13;
   readkey;
   insertionsort13;
   readkey;
   selectionsort13;
   readkey;
   menu123;
end;
4: begin
   bubblesort14;
   readkey;
   insertionsort14;
   readkey;
   selectionsort14;
   readkey;
   menu123;
end;
5:exit;
end;
end;

{menu untuk pengurutan pada data mahasiswa peminjam}
procedure menu223;
var
   pil:integer;
begin
     clrscr;
     writeln('===Pengurutan Data===');
     writeln('====================');
     writeln('1. Sorting Nama               ');
     writeln('2. Sorting NIM                  ');
     writeln('3. Menu Sebelumnya      ');
     writeln('====================');
     write('Pilih Menu >> ');readln(pil);
case pil of
1: begin
            bubblesort21;
            readkey;
            insertionsort21;
            readkey;
            selectionsort21;
            readkey;
            menu223;
end;
2: begin
     bubblesort22;
             readkey;
             insertionsort22;
             readkey;
             selectionsort22;
             readkey;
             menu223;
end;

3:exit;
end;
end;

{menu untuk pencarian biner pada data Laporan TA}
procedure menu12;
var
   pil:integer;
begin
     clrscr;
     writeln('===Pencarian Biner==== ');
     writeln('==================== ');
     writeln('1. Cari Judul Skripsi           ');
     writeln('2. Cari Nama Mahasiswa ');
     writeln('3. Cari NIM Mahasiswa    ');
     writeln('4. Cari Tahun Angkatan   ');
     writeln('5. Menu Sebelumnya       ');
     writeln('=====================');
     write('Pilih Menu >> ');readln(pil);
case pil of
1: begin
            binsearch1;
            menu12;
end;
2: begin
     binsearch12;
             menu12;
end;
3: begin
   binsearch13;
   menu12;
end;
4: begin
   binsearch14;
   menu12;
end;
5:exit;
end;
end;

{menu untuk pencarian sekuensial pada data Laporan TA}
procedure menu13;
var
   pil:integer;
begin
     clrscr;
     writeln('==Pencarian Sekuensial==');
     writeln('========================');
     writeln('1. Cari Nama Mahasiswa  ');
     writeln('2. Cari NIM Mahasiswa   ');
     writeln('3. Cari Tahun Angkatan  ');
     writeln('4. Cari Judul Skripsi   ');
     writeln('5. Menu Sebelumnya      ');
     writeln('========================');
     write('Pilih Menu >> ');readln(pil);
case pil of
1: begin
            clrscr;
    write  ('Masukan Nama yang Akan Dicari : ');readln(x.nama);
    writeln;
    B:=A;
    sekuensial11(b,u,x,isearch);
            cetak1;
            readkey;
   menu13;
end;
2: begin
    clrscr;
    write  ('Masukan NIM yang Akan Dicari : ');readln(x.nim);
    writeln;
    B:=A;
    sekuensial12(b,u,x,isearch);
            cetak1;
            readkey;
   menu13;
end;
3: begin
    clrscr;
    write  ('Masukan Tahun Angkatan yang Akan Dicari : ');readln(x.ta);
    writeln;
    B:=A;
    sekuensial13(b,u,x,isearch);
            cetak1;
            readkey;
   menu13;
end;
4: begin
    clrscr;
    write  ('Masukan Judul Skripsi yang Akan Dicari : ');readln(x.jb);
    writeln;
    B:=A;
    sekuensial14(b,u,x,isearch);
            cetak1;
            readkey;
   menu13;
end;
5: exit;
end;
end;

{menu untuk pencarian biner untuk mahasiswa Peminjam}
procedure menu21;
var
   pil:integer;
begin
     clrscr;
             writeln('====Pencarian Biner=====');
     writeln('========================');
     writeln('1. Cari Nama Mahasiswa  ');
     writeln('2. Cari NIM Mahasiswa   ');
     writeln('3. Menu Sebelumnya      ');
     writeln('========================');
     write('Pilih Menu >> ');readln(pil);
case pil of
1: begin
            binsearch21;
            menu12;
end;
2: begin
     binsearch22;
             menu12;
end;

3: exit;
end;
end;

{menu untuk pencarian sekuensial untuk mahasiswa peminjam}
procedure menu22;
var
   pil:integer;
begin
     clrscr;
             writeln('==Pencarian Sekeunsial==');
     writeln('========================');
     writeln('1. Cari Nama Mahasiswa  ');
     writeln('2. Cari NIM Mahasiswa   ');
     writeln('3. Menu Sebelumnya');
     writeln('========================');
     write('Pilih Menu >> ');readln(pil);
case pil of
1: begin
            clrscr;
    write  ('Masukan Nama yang Akan Dicari : ');readln(x.nama);
    writeln;
    B:=A;
    sekuensial21(b,u,x,isearch);
            cetak2;
            readkey;
   menu22;
end;
2: begin
    clrscr;
    write  ('Masukan NIM yang Akan Dicari : ');readln(x.nim);
    writeln;
    B:=A;
    sekuensial21(b,u,x,isearch);
            cetak2;
            readkey;
   menu22;
end;

3: exit;
end;
end;

{menu untuk data Laporan TA}
procedure menu;
var
   pil:integer;
begin
     clrscr;
     writeln('=======================');
     writeln('=========MENU==========');
     writeln('=======================');
     writeln('1. Input Data          ');
     writeln('2. Pengurutan Data     ');
     writeln('3. Pencarian Sekuensial');
     writeln('4. Pencarian Biner     ');
     writeln('5. Ke Menu Utama       ');
     writeln('=======================');
     write('Pilih Menu >> ');readln(pil);
case pil of
1:inputdata;
2: begin
     menu223;
     menu;
end;
3: begin
   menu22;
   menu;
end;
4: begin
   menu21;
   menu;
end;
5:exit;
end;
end;

{menu untuk mahasiswa peminjam}
procedure menu1;
var
   pil:integer;
begin
     clrscr;
     writeln('=======================');
     writeln('========MENU===========');
     writeln('=======================');
     writeln('1. Input Data          ');
     writeln('2. Pengurutan Data     ');
     writeln('3. Pencarian Sekuensial');
     writeln('4. Pencarian Biner     ');
     writeln('5. Ke Menu Utama       ');
     writeln('=======================');
     write('Pilih Menu >> ');readln(pil);
case pil of
1:inputdata1;
2: begin
     menu123;
     menu1;
end;
3: begin
   menu13;
   menu1;
end;
4: begin
   menu12;
   menu1;
end;
5:exit;
end;
end;

{menu utama program}
begin
repeat
     clrscr;
     writeln('================ Menu Utama Perpustakaan =====================');
     writeln(' 1. Data Mahasiswa Beserta Judul Laporan TA                                                    ');
     writeln(' 2. Data Mahasiswa Peminjam                                   ');
     writeln(' 3. Keluar                                                    ');
     writeln('==============================================================');
     writeln;
     write('Masukkan Pilihan >> '); readln(u);
     case  u of
          1 : Menu1;
          2 : Menu;
          3 : halt;
end;
Until u=3;
End.






Posting Komentar

2 Komentar

  1. makasih ,amazing dah
    ini yang gw cari" dari tadi di google
    pokoknya makasih banyak deh

    BalasHapus