Senin, 21 Desember 2015

 

Pascal (bahasa pemrograman)

Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.

Kelebihan

Kelebihan dari bahasa pemrograman Pascal adalah:
  • Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real, char, string,
  • User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
  • Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan.
  • Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan berulang-ulang.
  • Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami.
Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in Informatics).

Tipe Data

Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah variabel atau konstanta pada program. Tipe Data tersebut antara lain adalah
Tipe Data Deskripsi (range variabel)
Byte angka dari 0 sampai 255
Integer angka dari -32768 sampai 32767
Real semua nilai pecahan dari 1E-38 sampai 1E+38
Boolean nilai TRUE atau FALSE
Char semua karakter dari tabel ASCII
String semua huruf, spasi, frasa

Hello World

Contoh program Hello World menggunakan bahasa pascal adalah sebagai berikut:
Program HelloWorld;
begin
   writeln('Hello world');

end.

Program Pascal untuk Ketegori Nilai

 

Menggunakan IF...THEN :


program nilai1;
uses wincrt;
var nilai:byte;
begin
write('masukkan nilai =');readln(nilai);
If (nilai<65) and (nilai>=50) Then
Writeln('D')
Else If (nilai<85) and (nilai>=75) Then
Writeln('B')
Else If (nilai<75) and (nilai>=65) Then
Writeln('C')
Else If (nilai<100) and (nilai>=85) Then
Writeln('A')
Else If nilai<=50 then
Writeln('E')
end.


Menggunakan Case...OF:


program nilai2;
uses wincrt;
var
Ket:String;
nilai:integer; 
begin
write ('masukkan nilai =');readln(nilai); 
case nilai of
86..100:Ket :='A';
76..85:Ket :='B';
61..75:Ket :='C';
51..60:Ket :='D';
0..50:Ket :='E';
end;
write('keterangan =',Ket);
end.


Contoh Program Pascal Pembelian Produk Susu

Biasanya ketika membeli susu, harganya pasti berbeda-beda sesuai dengan merek dan ukurannya. Nah berikut ini adalah contoh program pascal untuk pembelian susu :

Program Pembelian;
Uses wincrt;
Var
harga,n:integer;
size,tm:char;
Begin
Write('pilih type merk susu [D/I/M] :');readln(tm);
case tm of
'D':begin
writeln('DANCOW');
write('B/S/K :');readln(size);
write('Banyaknya :');readln(n);
     if size='B' then
     begin
     harga:=10000*n;
     writeln('Total harga :',harga);
     end
     else if size='S' then
     begin
     harga:=4250*n;               
     writeln('Total harga :',harga);
     end
     else if size='K' then
     begin
     harga:=2100*n;
     writeln('Total harga :',harga);
     end
   end;
'I':begin
writeln('INDOMILK');
write('B/S/K :');readln(size);
write('Banyaknya :');readln(n);
     if size='B' then
     begin
     harga:=8500*n;
     writeln('Total harga :',harga);
     end
     else if size='S' then
     begin
     harga:=4000*n;               
     writeln('Total harga :',harga);
     end
     else if size='K' then
     begin
     harga:=2025*n;
     writeln('Total harga :',harga);
     end
   end;
'M':begin
writeln('MILO');
write('B/S/K :');readln(size);
write('Banyaknya :');readln(n);
     if size='B' then
     begin
     harga:=7750*n;
     writeln('Total harga :',harga);
     end
     else if size='S' then
     begin
     harga:=3750*n;               
     writeln('Total harga :',harga);
     end
     else if size='K' then
     begin
     harga:=2200*n;
     writeln('Total harga :',harga);
     end
   end;
end;
end.

Program Pascal Perulangan untuk Menghitung Rata-rata Bilangan Ganjil dengan Input Bilangan Awal dan Akhir

 
For...to...do
program for_to_do;
uses wincrt;
label back;
var
 i:byte;
 k,awal,akhir:integer;
 rata,jum:real;
begin
back:
clrscr;
write('nilai awal=');readln(awal);
write('nilai akhir=');readln(akhir);
if awal<=akhir then
begin
for i:=awal to akhir do
if i mod 2=1 then
begin
jum:=jum+i;
awal:=awal+2;
k:=k+1;
end;
end
else goto back;
rata:=jum/k;
writeln('rata-rata=',rata:2:2);
end.

While...do

program while_do;

uses wincrt;

label back;

var
 k,awal,akhir:integer;
 rata,jum:real;
begin
back:
clrscr;
write('nilai awal=');readln(awal);
write('nilai akhir=');readln(akhir);
if awal<=akhir then
begin
while awal<=akhir do
begin
jum:=jum+awal;
awal:=awal+2;
k:=k+1;
end;
end
else goto back;
rata:=jum/k;
writeln('rata-rata=',rata:2:2);
end.


Repeat...Until

program repeat_until;
uses wincrt;
label back;
var
 k,awal,akhir:integer;
 rata,jum:real;
begin
back:
clrscr;
write('nilai awal=');readln(awal);
write('nilai akhir=');readln(akhir);
if awal<=akhir then
begin
repeat
jum:=jum+awal;
awal:=awal+2;
k:=k+1;
until awal>akhir;
end
else goto back;
rata:=jum/k;
writeln('rata-rata=',rata:2:2);
end.

Program Pascal untuk Mencari Akar Persamaan Kuadrat


Program persamaan_kuadrat;
Uses wincrt;
var
a,b,c,D,x1,x2:real;
begin
writeln('Program Persamaan Kuadrat');
write('Ketikkan nilai a: ');readln(a);
write('Ketikkan nilai b: ');readln(b);
write('Ketikkan nilai c: ');readln(c);
D:=(b*b)-(4*a*c);
writeln('D=',D:5:2);
if D<0 then
begin
writeln('D<0');
writeln('x1 dan x2 tidak real atau imajiner');
end
else if D=0 then
begin
writeln('D=0');
writeln('x1 dan x2 real dan sama');
x1:=(-b+(sqrt(D)))/(2*a);
x2:=(-b-(sqrt(D)))/(2*a);
writeln('x1=',x1:5:2);
writeln('x2=',x2:5:2);
end
else if D>0 then
begin
writeln('D>0');
writeln('x1 dan x2 real dan berlainan');
x1:=(-b+(sqrt(D)))/(2*a);
x2:=(-b-(sqrt(D)))/(2*a);
writeln('x1=',x1:5:2);
writeln('x2=',x2:5:2);
end;
end.

Program Pascal Array untuk mencetak matriks 3x3


program matriks_identitas_3x3;
uses wincrt;
var matrik:array[1..3,1..3] of integer;
i,j:byte;
begin
writeln('Matriks identitas 3x3 :');
matrik[1,1] := 1;
matrik[1,2] := 0;
matrik[1,3] := 0;
matrik[2,1] := 0;
matrik[2,2] := 1;
matrik[2,3] := 0;
matrik[3,1] := 0;
matrik[3,2] := 0;
matrik[3,3] := 1;
for i:= 1 to 3 do
begin
for j:=1 to 3 do
write (matrik[i,j]:5);
writeln;
end;
end.

Contoh Program Pascal menggunakan Array


Program kartun1;
Uses wincrt;
Const
max=5;
Type
kartun=array[1..max] of string[10];
Var
Jnskartun :kartun;
i:integer;
begin
For i:=1 to max do
Jnskartun[1]:='Shinchan';
Jnskartun[2]:='Doraemon';
Jnskartun[3]:='Larva';
Jnskartun[4]:='Dragonball';
Jnskartun[5]:='Avatar';
For i:=1 to max do
writeln(i,'. ',Jnskartun[i]);
end.