Minggu, 19 April 2015

program SingleLinkedList;
uses crt;
type simpul = ^data;
     data = record
       nama : string[25];
       kait : simpul;
     end;
var awal,akhir,bantu : simpul;
    ya : char;
begin
  clrscr;
  awal := nil;
  ya := 'y';
  while ya in ['y','Y'] do
  begin
  writeln('--------------------------------------------------');
  writeln('          MENU MAKANAN RESTORAN ILKOM             ');
  writeln('--------------------------------------------------');
  writeln('1. Ayam Kentucky');
  writeln('2. Nasi Goreng');
  writeln('3. Udang Asam Manis');
  writeln('4. Kepiting Saos Tiram');
  writeln('5. Fu Yung Hai       ');
  writeln('6. Spagheti');
  writeln('==================================================');
    new (bantu);
    write ('Masukkan Nama Makanan Yang Dipesan: ');
    readln (bantu^.nama);
    write ('Tambah Pesanan lagi [Y/N]: ?');
    readln (ya);
    writeln;
    if awal = nil then
    begin
      bantu^.kait := nil;
      awal := bantu;
      akhir := bantu;
    end
    else
    begin
      akhir^.kait := bantu;
      bantu^.kait := nil;
      akhir := bantu;
    end;
  end;
  bantu := awal;
  writeln (bantu^.nama);
  while bantu^.kait <> nil do
  begin
    bantu := bantu^.kait;
    writeln (bantu^.nama);
  end;
  readln;
end.



OUTPUT :




Minggu, 12 April 2015

Program Menggunakan Pointer

Program Pointer_tidak_bertipe;
Uses crt;
Var
    p : Pointer;
    q : ^Byte;
    r : array [0..100] of Byte;
    i,n : Byte;

Begin
     Clrscr;
     GetMem(p, 20);
     q := p;
     Write('Input angka : '); readln(n);
     Clrscr;
     For i := 0 to n do
     Begin
          r[i] := n - i;
          q^ := n - i;
          inc(q);
     End;
     q := p;
     For i := 0 to n do
     Begin
          Write('r[ ', i ,' ] = ', r[i], ': ');
          Writeln('p^ ke-', i ,' = ', q^);
          inc(q);
     End;
    Readln;
End.









OUTPUT :




Senin, 06 April 2015

program searching;
uses crt;
label awal;
var pil:char;
    lg :char;

const nmin = 1;
      nmax = 100;

type  arrint = array [nmin..nmax] of integer;
var tabint : arrint;
    x,n,i,indeks,max,min,maks : integer;

function seqsearch1(xx : integer): integer;
  var i : integer;
  begin
    i := 1;
    while ((i<n) and (tabint[i] <> xx)) do
      i:=i+1;
      if tabint[i] = xx then
        seqsearch1:=i
        else
        seqsearch1:=0;
  end;

function maksimum (tabint: arrint; n : integer) : integer;
  var i, max : integer;
  begin
   for i:=2 to n do
   if max<tabint[i] then
   max:=tabint[i];
   maksimum:=max;
  end;

function minimum (tabint: arrint; n : integer) : integer;
  var i, min : integer;
  begin
   for i:=1 to n do
   if min>tabint[i] then
   min:=tabint[i];
   minimum:=min;
  end;


begin
  clrscr;
  writeln;
  write('Masukkan Jumlah Data = '); readln(n);
  writeln;
  Clrscr;
  for i:=1 to n do
    begin
       write('   Data[',i,'] = '); readln(tabint[i]);
     end;
    writeln;
        write ('  Nilai yang dicari : '); readln(x);
    indeks:=seqsearch1(x);
      if indeks <> 0 then
      write ('  Nilai : ',x,' ditemukan pada indeks ke-',indeks)
       else
      write('   Nilai : ',x,'tidak ditemukan !');
      writeln;


    begin
    writeln;
    maks:=maksimum(tabint,n);
    min:=minimum(tabint,n);
    writeln;
    writeln ('  Nilai maksimum : ',maks);
    writeln ('  Nilai minimum  : ',min );
    readkey;
    end;
         end.


Output :











;;

By :
Free Blog Templates