Minggu, 10 Mei 2015

File Sederhana

Assalamualaikum wr. wb.
Alhamdulillahhirobbil'alamin
Program Ketujuh Algoritma & Pemrograman II Selesai
1. Screen Shot Program


Gambar 1.1 Menu utama program dan pilih menu 1


Gambar 1.2 Menu program 1 yaitu input data dan jika ingin menambahkan lagi input "y'


Gambar 1.3 Menu utama program dan pilih menu 2


Gambar 1.4 Menu program 2 yaitu tampilan data yang sudah diinput


Gambar 1.5 Menu utama program dan pilih menu 3 dan program akan keluar.
2. Source Code Program
Program FileSdr;
Uses Crt;
Var
    tes : Text;
    nama,nim : String;
    no,shift,pilih,i : byte;
    Tanya : Char;

Begin
Repeat
 Clrscr;
 Writeln(' Program File Text Sederhana');
 Writeln(' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
 Writeln(' | 1. Masukan Data Anda         |');
 Writeln(' | 2. Lihat Data                |');
 Writeln(' | 3. Keluar                    |');
 Writeln(' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
 Write(' Pilihan Anda : ');Readln(Pilih);
 Case Pilih Of
  1 : Begin
       clrscr;
       Assign(tes,'praktikum.txt');
       rewrite(tes);
       Repeat
       inc(i);
       writeln(' Data - ',i);
       writeln(' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
       write(' Nama     : '); readln(nama);
 writeln(tes,nama);
       write(' NIM      : '); readln(nim);
writeln(tes,nim);
       write(' Shift    : ');
readln(shift);writeln(tes,shift);
       write(' No. Meja : '); readln(no); 
writeln(tes,no);
       writeln(tes,' ');
       Write(' Memasukan Lagi (Y/T) : '); readln(tanya);
       writeln(' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
       writeln;
       Until UpCase(tanya) = 'T';
       Close(tes);
      End;
 2 : Begin
     clrscr;
     Assign(tes,'praktikum.txt');
     reset(tes);
     i:= 0;
     while not eof(tes) do
     begin
      inc(i);
      readln(tes,nama);  readln(tes,nim);
      readln(tes,shift); readln(tes,no);
      readln(tes);
      writeln(' Data - ',i);
      writeln(' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
      writeln(' Nama     : ',nama);
      writeln(' NIM      : ',nim);
      writeln(' Shift    : ',shift);
      writeln(' No. Meja : ',no);
      writeln;
     end;
     readln;
     End;
 else
 End;
until pilih=3;
End.

Senin, 20 April 2015

Linked List

Assalamu'alaikum wr. wb.
Alhamdulillahirobbil'alamin
Program keenam Algoritma & Pemrograman II Selesai
1. Screen Shot Program
Gambar 1.1 Tampilan awal program menginputkan jumlah data kemudian meinginputkan data yaitu nim, nama, dan fakultas hingga data batasan yang sudah diinput.

Gambar 1.2   Tampilan output setelah menginputkan data sebelumnya.

2. Source Code Program
Program Linkedlist;
uses crt;
type ptrmhs=^mhs;
     mhs=record
     nim:string;
     nama:string;
     fakultas:string;
end;
var a : array [1..50] of mhs;
    plh, back : char;
    i, n      : integer;
    p         : ptrmhs;
    b         : byte;
BEGIN
Begin
clrscr;
 write('Input Jumlah Data : ');readln(n);
 for i:=1 to n do
 begin
  p:=@a[i];
  writeln('Data Ke-',i);
  with p^ do
  begin
   write('  NIM      : ');readln(nim);
   write('  NAMA     : ');readln(nama);
   write('  Fakultas : ');readln(fakultas);
  end;
  writeln;
 end;
End;


Begin
 clrscr;
 writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
 writeln('|    NIM    |     Nama Lengkap     |  Fakultas  |');
 writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');

 for i:= 1 to n do
 begin
  p:=@a[i];
  with p^ do
  begin
   gotoxy(1,3+i);
 writeln('|           |                      |            |');
   gotoxy(3,3+i);writeln(nim);
   gotoxy(15,3+i);writeln(nama);
   gotoxy(41,3+i);writeln(fakultas);
  end;
 writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
   readkey;
 end;
End;
End.

Senin, 13 April 2015

Pointer Tak Bertipe

Assalamu'alaikum wr. wb.
Alhamdulillahirobbil'alamin
Program kelima Algoritma & Pemrograman II Selesai
1. Screen Shot Program
Gambar 1.1 Tampilan Program PointerTT yaituinput jumlah data dan output muncul.
2. Source Code Program
Program PointerTT;
uses crt;
var
ptr : Pointer;
q   : ^byte;
r   : array [0..50] of Byte;
i,n : integer;

BEGIN
 clrscr;
 GetMem(ptr, 20);
 q := ptr;
 writeln('Pointer Tidak Bertipe');
 writeln('~~~~~~~~~~~~~~~~~~~~~');
 writeln;
 write  ('Input jumlah data : '); readln(n);
 writeln;
 for i := 1 to n do
  begin
   r[i] := n - i ;
   q^   := n - i;
   inc(q);
  end;

 q := ptr;
 for i := 1 to n do
  begin
   write  ('r[',i,'] = ',r[i],' ;    ');
   writeln('ptr^ ke-',i,' = ',q^);
   inc(q);
  end;
  readln;
end.

Minggu, 05 April 2015

Ekstrim Search ( Data Terbesar - Terkecil )

Assalamu'alaikum wr. wb.
Alhamdulillahirobbil'alamin
Program keempat Algoritma & Pemrograman II Selesai
1. Screen Shot Program
Gambar 1.1 Tampilan program maxmin yaitu input jumlah data dan data.

2. Source Code Program
Program MaxMin;
Uses crt;
Var data : array [1..50] of integer;
    n,i,j,temp,max,min : integer;
BEGIN
    clrscr;
    Writeln('Ekstrim Search Max-Min ');
    Writeln('~~~~~~~~~~~~~~~~~~~~~~');
    Writeln;
    Write  ('Input Jumlah Data : '); readln(n);
    writeln('~~~~~~~~~~~~~~~~~~~~~');
    for i:=1 to n do
     begin
      write ('Data ke- ',i,' : ');
      readln(data[i]);
     end;
      writeln;

    for i:=n-1 downto 1 do
     for j:= 1 to i do
     if data[j] > data[j+1] then
      Begin
       temp:=data[j];
       data[j]:=data[j+1];
       data[j+1]:=temp;
      End;

    Writeln('Data Terurut : ');
    writeln('~~~~~~~~~~~~~~');
    max:=data[1];
    min:=data[1];
    For i:= 1 to n do
      Begin
       Write(data[i],' ');
       if (max<data[i]) then max:=data[i]
       else
       min:=data[i];
      End;

 writeln;
 writeln;
 Writeln('Data Terkecil : ',min);
 writeln('~~~~~~~~~~~~~~~~~~');
 Writeln('Data Terbesar : ',max);
 writeln('~~~~~~~~~~~~~~~~~~');
 readkey;
END.

Minggu, 29 Maret 2015

Sorting : Heap Sort

Assalamu'alaikum wr. wb.
Alhamdulillahirobbil'alamin
Program ketiga Algoritma & Pemrograman II Selesai

1. Screen shot program

Gambar 1.1 Tampilan awal program saat di run, input banyak data.

Gambar 1.2 Menginput data angka sesuai dengan banyak data yang diinput tadinya, kemudian tekan enter data terurut. 



















2. Source Code Program

Program HeapSort;

uses crt;

type Angka = array[0..100] of string;
var Data : Angka;
    i, n: integer;

Procedure temp (var a, b : string);
Var tmp : string;
begin
 tmp := a;
 a := b;
 b := tmp;
end;

procedure SB (var Data: Angka; M, S: integer);
var akr, ank : integer;
Begin
 akr := M;
 while (akr*2+1 <= S) do
 begin
  ank := akr*2+1;
  if (ank < S) and (Data[ank] < Data[ank+1]) then
  ank:=ank+1;

  if (Data[akr] < Data[ank]) then
   begin
    temp (Data[akr], Data[ank]);
    akr := ank;
   end
   else
   break;
 end;
End;

Procedure temp2 (var Data: angka; cnt: integer);
var M : integer;
Begin
 M := (cnt-1) div 2;
 while (M >= 0) do
 begin
  SB (Data, M, cnt-1);
  M:=M-1;
 end;
End;

Procedure heapSort(var Data : angka; n : integer);
var S : integer;
Begin
 temp2(Data, n);
 S := n-1;
 while (S > 0 ) do
 begin
  temp(Data[s], Data[0]);
  s:=s-1;
  SB(Data, 0, S);
 end;
End;

BEGIN
  Clrscr;
  writeln('H e a p  S o r t i n g ');
  writeln('~~~~~~~~~~~~~~~~~~~~~~ ');
  writeln;
  write('Input Banyak Data : '); readln(n);
  writeln('~~~~~~~~~~~~~~~~~~~~~');
  for i := 0 to n-1 do
  begin
   write('Data angka ke-',i+1:2,': ');
   readln(Data[i]);
  end;
   writeln('~~~~~~~~~~~~~~~~~~~~~~');
   heapsort (Data, n);
   writeln;
   writeln('Data Terurut');
   writeln('~~~~~~~~~~~~');
   for i := 0 to n-1 do
   begin
    writeln('Data angka ke-',i+1:2,': ',Data[i]);
   end;
  readkey;
END.