Kamis, 05 Januari 2012

PASCAL

SEJARAH PASCAL

Pascal merupakan bahasa tingkat tinggi (high level language) yang orientasinya pada segala tujuan, dirancang oleh Professor Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama pascal diambil sebagai penghargaan terhadap Blaisse Pascal, ahli matematik dan philosophi terkenal abad 17 dari Perancis.

Professor Niklaus Wirth memperkenalkan kompiler bahsa pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan untu membantu mengajar program komputer secara sistematis, khususnya untuk memperkenalkan pemrograman yang terstruktur (structured programming). Jadi Pascal adalah bahasa yang ditujukan untuk mebuat program terstruktur.


STRUKTUR PROGRAM PASCAL


Struktur program pascal yang paling sederhana adalah :

uses ...;

var ...;

begin

.... {Your program is here}

end.



Adapun struktur dasar suatu program pascal adalah sebagai berikut :

program ... ; { Program heading }

uses ... ; { Uses clause }

label ... ; { Labels }

const ... ; { Constants }

type ... ; { Types }

var ... ; { Variables }

procedure ... ; { Procedures }

function ... ; { Functions }

begin

statement; { Statements }

...

end.



USES CLAUSE


Bagian uses clause digunakan untuk menentukan library yang dibutuhkan saat proses

program. LIBRARY merupakan file penyimpan subroutine yang secara berulang

digunakan saat proses program. Library ini diistilahkan sebagai unit dalam Turbo

PASCAL yang terdiri dari SYSTEM, OVERLAY, GRAPH, DOS, CRT yang ditempatkan

dalam file TURBO.TPL.

Contoh :

Uses Crt; (*menggunakan Unit Crt *)






DECLARATION

Bagian ini meliputi deklarasi untuk label, const, type, var, procedure dan function.

Syarat terpenting dalam pembentukan suatu program adalah, bahwa setiap variabel,

type non-standard, label, procedure non-standard, serta function non-standard yang

dipakai didalamnya harus nyatakan (deklarasi) terlebih dahulu pada bagian deklarasi.

Setiap deklarasi tersebut harus bersifat unik (tidak boleh serupa satu sama yang lain).

Penulisan nama dalam deklarasi tersebut harus memenuhi syarat-syarat sebagai

berikut :

- panjang nama maximum 63 character, diawali dengan alphabet

- tidak ada special character kecuali tanda garis bawah ("_")

- tidak boleh serupa dengan reserved word (kata tercadang)

- tidak boleh serupa dengan indentifier lainnya.





Variabel Deklarasi

Setiap variabel yang digunakan dalam program harus didefinisikan terlebih dahulu

sebelum digunakan. Cara penulisan ini adalah :

Var

<nama var> : <type variable>;



STATEMENT

Bagian ini merupakan inti dari program. Seluruh perintah dan urutannya serta proses

Input/Output dalam program perlu disusun secara teratur oleh penyusun program.

Segala yang ada pada bagian uses maupun deklarasi merupakan pendukung terhadap

isi program.




Rabu, 04 Januari 2012

PROGRAM PASCAL

CONTOH PROGRAM DERET

DERET

program deret;
uses wincrt;
var n,d:integer ;
begin
     d:=2;
     for n:=2 to 6 do
     begin
     write (d, ' ');
     d:=d+2
     end;
end.

CONTOH PROGRAM PEMGULANGAN ANGKA


PENGULANGAN ANGKA

Program pengulangan_angka_dari_1_sampai_13;
uses wincrt;
var    
   i:integer;
   hasil : integer;

begin
     i:=2;
     repeat
    write (i, ' ');
     i:= i+2;
    until i>10;
end.

CONTOH PROGRAM SEGITIGA

PROGRAM SEGITIGA

program segitiga_pascal_kombinasi;
uses wincrt;
var   a,b,c,n:integer;

function fkom(n:integer; m:integer): real;
var x,y,z,i: integer;
begin
x:=1; y:=1; z:=1;
for i:=1 to n do x:=x*i;
for i:=1 to m do y:=y*i;
for i:=1 to (n-m) do z:=z*i;
fkom:=x/(y*z);
end;

begin
write('masukkan nilai n = '); readln(n);
if n>=0 then
for a:=0 to n do
    begin
    for b:=n downto a do write('*');
        begin
        for c:=0 to a do write(fkom(a,c):3:0);
        writeln;
        end;
    end;
end.

CONTOH PROGRAM PERPANGKATAN

PANGKAT

program perpangkatan;
uses wincrt;
var
   i,o,p,hasil:longint;
begin
     writeln ('a pangkat b');
     write('masukkan a='); read (o);
     write ('masukkan  b=');read (p);
     hasil:=1;
     for i:=1 to abs(p) do
     hasil:=o*hasil;
      if (p<0) then
      begin
       write (1/hasil);
       end
     else
     begin
     write('hasil= ', hasil);
     end
    
end.

CONTOH PROGRAM MEDIAN

MEDIAN

Program median;
Uses Wincrt;
Var
x: array [1..100] of integer;
n,i,pos:integer;
md:real;
lagi:char;
Begin
lagi:='y';
while lagi='y' do
begin
writeln('=============');
Writeln('Program median');
Writeln('=============');
Writeln;
writeln('*dalam program mini ini, data yang harus dimasukkan nanti harus sudah urut*');
writeln;
Write('Masukkan Jumlah Data (n): ');
readln(n);
clrscr;
Writeln;
For i:= 1 to n do
Readln(x[i]);
Writeln;
For i:= 1 to n do
if (n mod 2 = 1) then
begin
pos:=(n div 2)+1;
md:=x[pos];
end
else
begin
pos:=(n div 2);
md:=(x[pos]+x[pos+1])/2;
end;
writeln;
Writeln('Median dari data berjumlah ', n,' tadi adalah : ',md:4:2);
writeln;
writeln('*terimakasih sudah menggunakan program ini*');
writeln('hitung lagi?');
readln(lagi);
end;
end.

CONTOH PROGRAM MODUS

MODUS

program modus;
uses wincrt;
var i,n,j,modus:integer;
A,frek:array[1..100] of integer;
begin
readln(n);
for i:=1 to n do
readln(A[i]);
writeln;
for i:=1 to n-1 do
begin
for j:=i+1 to n do
if A[i]=A[j] then
frek[i]:=frek[i]+1;
end;
modus:=1;
for i:=1 to n do
begin
write(frek[i],' ');
if frek[modus]<frek[i] then
modus:=i;
end;
write('modus: ',A[modus],' sebanyak ',frek[modus]+1);
end.

CONTOH PROGRAM MATRIK

CONTOH PROGRAM BENTUK MATRIK

program matriks;
uses wincrt;
var
x:array[1..100,1..100] of integer;
p,l,i,j:integer;
begin
write('banyaknya kolom = '); read(p);
write('banyaknya baris = '); read(l);
 writeln('tulis kebawah sebanyak baris kali kolom');
for i:=1 to l do
for j:=1 to p do
readln(x[i,j]);
writeln('bentuk matriknya : ');
for i:=1 to l do
begin
for j:=1 to p do
write(x[i,j],' ');
writeln;
end;
end.


PROGRAM PENJUMLAHAN DAN PENGURANGAN MATRIK

program matrix;
uses wincrt;
type
    larik=array[1..25,1..25] of real;
var
   i,j,k:byte;
   bar,col:byte;
   a,b,c,d,e:larik;
begin
     write ('baris matrik ?  ');readln(bar);
     write ('kolom matrik ? ');readln(col);
  
     writeln;

     writeln ('matrik pertama');
     for i:=1 to bar do
     begin
          for j:=1 to col do
          begin
               write ('nilai[',i,',',j,']');readln(a[i,j]);
          end;
          writeln;
     end;
     writeln;

     writeln ('matrik kedua');
     writeln;
   
     for i:=1 to bar do
     begin
          for j:=1 to col do
          begin
               write ('nilai[',i,',',j,']');readln(b[i,j]);
          end;
          writeln;
     end;

      writeln;

   
      writeln;
     for i:=1 to bar do
     begin
          for j:=1 to bar do
          begin
               for k:=1 to col do
                   d[i,j]:=a[i,j]+b[i,j]
               end;
          end;

     writeln;
     for i:=1 to bar do
     begin
          for j:=1 to bar do
          begin
               for k:=1 to col do
                   e[i,j]:=a[i,j]-b[i,j]
               end;
          end;
     clrscr;
      writeln ('matrik pertama:');
      for i:=1 to bar do
     begin
          for j:=1 to col do
          begin
               write (a[i,j]:0:0,' ');
          end;
     writeln;
     end;

     writeln ('matrik kedua:');

      for i:=1 to bar do
     begin
          for j:=1 to col do
          begin
               write (b[i,j]:0:0,' ');
          end;
     writeln;
     end;


     writeln ('hasil penjumlahan matrik:');
     writeln;
     for i:=1 to bar do
     begin
          for j:=1 to col do
          write(d[i,j]:9:2);
          writeln;
     end;

     writeln ('hasil pengurangan matrik:');
     writeln;
     for i:=1 to bar do
     begin
          for j:=1 to col do
          write(e[i,j]:9:2);
          writeln;
     end;
end.
 


PERKALIAN MATRIK

program Kali_Matrix;
uses crt;
var
a,b,c : array [1..50,1..50] of integer;
i,j,k,x,y,z : integer;
begin
clrscr;
writeln('Ukuran matrix A');
write('Baris : ');
readln(x);
write('Kolom : ');
readln(y);
writeln;
writeln;
writeln('Ukuran matrix B');
writeln('Baris : ',y);
write('Kolom : ');
readln(z);
for i:=1 to x do
for j:=1 to y do
begin
write('Elemen A[',i,',',j,'] : ');
readln(a[i,j]);
end;
writeln;
for i:=1 to y do
for j:=1 to z do
begin
write('Elemen B[',i,',',j,'] : ');
readln(b[i,j]);
end;
for i:=1 to x do
for j:=1 to z do
for k:=1 to y do
c[i,j] := c[i,j] + a[i,k]*b[k,j];
writeln;
writeln;
writeln('Hasil dari perkalian Matrix A dengan Matrix B adalah : ');
Writeln;
for i:=1 to x do
begin
for j:=1 to z do
write(c[i,j],' ');
writeln;
end;
writeln;
readln;
end.


PROGRAM DETERMINAN

program determinan;
uses wincrt;
var n,i,j,x,y,z,k,l,q,e: integer;
    o,m,p,d:real;
    a:array[1..20,1..20] of real;
    b,c:array[1..20]of real;
    ulang:char;

begin
repeat
clrscr;
writeln ('********************************************');
writeln ('Selamat Datang di Program Determinan Matriks');
writeln ('********************************************');
writeln;
write ('Ordo Matriks yang ingin di input (n x n) : ');
readln (n);
writeln ('Matriks yang akan di input :  Matriks (',n,' x ',n,')');
writeln;
writeln ('--------------------------------------------');
writeln ('Mulai Untuk Input Elemen Matriks Anda') ;
for i:=1 to n do
    begin
    for j:=1 to n do
        begin
        write ('Elemen A(',i,',',j,') : ');
        readln (a[i,j]);
        end;
    end;
clrscr;
writeln ('Bentuk Matriks Anda :');
for i:=1 to n do
    begin
    for j:=1 to n do
        write ('   ',a[i,j]:0:0);
    writeln;
    end;
writeln;

if (n=2) then 
writeln ('Determinan Matriks Anda = ',(a[1,1])*(a[2,2])-(a[1,2])*(a[2,1]):0:0)
else

begin
   for i:=1 to n do
       begin
       for j:=n+1 to n+(n-1) do
           begin
           a[i,j]:=a[i,j-n];
           end;
       end;
   for j:=1 to n do
       begin
       o:=1;
       q:=j-1;
       for z:=1 to n do
           begin
           q:=q+1;
           o:=o*a[z,q];
           end;
           b[j]:=o;
       end;
   for i:=n+(n-1) downto n-1 do
       begin
       o:=1;
       q:=i+1;
       for z:=1 to n do
           begin
           q:=q-1;
           o:=o*a[z,q];
           end;
       c[i]:=o;
       end;
   m:=0;
   p:=0;
   for j:=1 to n do
       m:=m+b[j];
   for i:=n+(n-1) downto n-1 do
       p:=p+c[i];
   d:=m-p; 
   writeln ('Determinan Matriks Anda = ',d:0:0);
end;
writeln;
write('Ingin mencari determinan dari matriks lain [y/t] : ' );
readln(ulang);
until (ulang='t') or (ulang='T');
clrscr;
writeln ('******************************************');
writeln ('Terimakasih Telah Menggunakan Progran Kami');
writeln ('                 @_@                      ');
writeln ('          STATISTIKA ITS 2010             ');
writeln ('******************************************');
end.

 
Design Downloaded from Free Blogger Templates | Free Website Templates