Selasa, 19 April 2011

Belajar PASCAL



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 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).


Percabangan Pada Pascal
1.       lIf ….. Then …. Else …..

Pernyataan percabangan/kendali/bersyarat merupakan pernyataan yang akan mengeksekusi suatu pernyataan yang mengikutinya bila suatu persyaratan dipenuhi. Salah satu pernyataan kendali untuk pengambilan keputusan dalam Pascal adalah pernyataan If … Then … Else …

Bentuk umum :

IF kondisi THEN
Statemen 1
ELSE
Statemen 2
Untuk pernyataan IF yang berkalang (ada pernyataan IF yang lain dalam pernyataan IF), ELSE selalu berpasangan dengan dengan IF yang terletak sebelum dan yang paling dekat dengan ELSE tersebut, serta terletak dalam blok pernyataan yang sama.

Contoh 1 : Program untuk mencari akar persamaan kuadrat di bawah ini
Program PersamaanKuadrat;
uses crt;
var a,b,c,d,x1,x2 :real;
begin
clrscr;
writeln('Menghitung akar-akar persamaan kuadrat');
writeln('Nilai a,b,c dimasukkan dengan jeda spasi');
write('Masukkan nilai a,b,c:');
readln(a,b,c);
d:=b*b-4*a*c;
if d<0 then writeln('tidak ada akar real')
else
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('x1 =',x1:6:2);
writeln('x2 =',x2:6:2);
end;
readln;
end.

Contoh Hasil Eksekusi :

- jika d = 0
Menghitung akar-akar persamaan kuadrat
Nilai a,b,c dimasukkan dengan jeda spasi
Masukkan nilai a,b,c:1 4 2
x1 = -0.59
x2 = -3.41

- jika d < 0 :
Menghitung akar-akar persamaan kuadrat
Nilai a,b,c dimasukkan dengan jeda spasi
Masukkan nilai a,b,c:1 2 6
tidak ada akar real

Catatan :
1. Di dalam IF boleh ada IF (pernyataan IF yang berkalang)
2. Jika diinginkan kondisi = FALSE tidak mengerjakan apa-apa, maka ELSE tidak perlu dituliskan.
3. Pernyataan ELSE tidak diakhri dengan ; (titik koma) begitu pula baris pernyataan sebelum ELSE.

2. Case ….. Of …..
Pernyataan CASE …. OF …. Digunakan untuk pengambilan keputusan jika terdapat lebih dari dua alternatif jawaban yang tersedia.

Bentuk umum :
CASE ungkapan OF
Label 1 : Statemen 1
Label 2 : Statemen 1
………..
………..
………..
Label n : Statemen n
END;

Pernyataan CASE …. OF …. boleh diikuti ELSE. Perlu diketahui, ELSE dalam pernyataan CASE …. OF …. Hanya bersifat pilihan, dalam artian boleh disertakan boleh tidak. Jika ELSE disertakan, pernyataan yang mengikuti ELSE akan dieksekusi hanya bila nilai dari syarat-pemilih tidak ada dalam semua label.

Contoh 1 :
Program nilai_ujian;
uses crt;
var nama : string[25];
nim : string[8];
nilai: integer;
begin
clrscr;
write('Masukkan nama mahasiswa : ');
readln(nama);
write('Masukkan nomor induk mahasiswa : ');
readln(nim);
write('Masukkan nilai ujian : ');
readln(nilai);
writeln;
case nilai div 10 of
10,9 : writeln('Nilai huruf = A');
8 : writeln('Nilai huruf = B');
7 : writeln('Nilai huruf = C');
6 : writeln('Nilai huruf = D');
5,4,3,2,1,0 : writeln('Nilai huruf = E');
end;
readln;
end.

Contoh 2 :
Program konversi;
uses crt;
var
menit, jam, kaki, meter, fahrenheit, celcius : real;
pilihan :char;
begin
clrscr;
writeln('Pilihan konversi:');
writeln('1) Menit ke jam');
writeln('2) Kaki ke meter');
writeln('3) Derajat Fahrenheit ke Celcius');
write('pilihan ? ');
readln(pilihan);
case pilihan of
'1' : begin
write('menit= ');
readln(menit);
jam:=menit/60;
writeln('nilai ini sama dengan ',jam:4:1,'
jam');
readln;
end;
'2' : begin
write('kaki= ');
readln(kaki);
meter:=0.3048*kaki;
writeln('nilai ini sama dengan ',meter:4:1,'
meter');
readln;
end;
'3' : begin
write('Derajat Fahrenheit = ');
readln(fahrenheit);
celcius:=5/9*(fahrenheit-32);
writeln('nilai ini sama dengan ',Celcius:4
:1,' Celcius');
readln;
end;
else writeln('Tidak melakukan konversi');
end;
end.

Macam-Macam Perulangan

FOR … TO … DO… dan FOR … DOWNTO … DO…

Bentuk umum :

FOR pengubah:=ungkapan1 TO ungkapan2 DO Statemen;
dan
FOR pengubah:=ungkapan1 DOWNTO ungkapan2 DO Statemen;

dimana,
pengubah : suatu pengubah yang disebut pengubah kendali, dapat berupa pengenal dari tipe integer, char, boolean atau tipe terbilang.
ungkapan1 : nilai awal pengubah
ungkapan2 : nilai akhir pengubah
Beberapa aturan yang harus dipenuhi :
- Pengubah, ungkapan1 dan ungkapan2 harus mempunyai tipe data yang sama
- Pada kalang TO ungkapan1
- Pada kalang DOWNTO ungkapan1>ungkapan2

Contoh 1 : Program untuk menghitung jumlah n bilangan pertama dan jumlah
kuadrat n bilangan pertama
Program jumlahKuadrat;
Uses crt;
Var jumlah, jmlkuadrat,i,n : integer;
begin
clrscr;
Write('Banyak n bilangan yang akan diproses');
readln(n);
jumlah:=0;
jmlkuadrat:=0;
for i:=1 to n do
begin
jumlah:=jumlah+i;
jmlkuadrat:=jmlkuadrat + i*i;
writeln('Jumlah ',i:2,' bilangan pertama
= ',jumlah:5);
writeln('Jumlah Kuadrat ',i:2,' bilangan pertama
= ',jmlkuadrat:5);
end;
readln;
end.

Contoh 2 : Mencetak abjad dengan urutan terbalik dari z…a
Program tulisabjad;
Uses crt;
Var karakter : char;
Bahasa Pemrograman Pascal
Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD
64
begin
clrscr;
for karakter:= 'z' downto 'a' do
write(karakter:2);
readln;
end.

Contoh 4 :
Bilangan Fibonacci memiliki rumusan : Fi = Fi-1 + Fi-2 Suku ke-1 merupakan penjumlahan bilangan Fibonacci suku ke-(i-1) dan suku ke- (i-2), dengan bilangan pada suku pertama dan suku kedua didefinisikan sama dengan satu.
Program Fibonacci;
Uses crt;
Var i,n,f,f1,f2 : integer;
begin
clrscr;
writeln('Ingin mencetak bilangan Fibonacci');
write('sampai suku ke-');
readln(n);
writeln;
writeln('Suku ke- 1 = ',1);
writeln('Suku ke- 2 = ',1);
f1 :=1; f2:=1;
for i:=3 to n do
begin
f:=f1+f2;
writeln('Suku ke- ',i:2,' = ',F:3);
f2:=f1; f1:=f;
end;
readln;
end.

While .… Do…. dan Repeat .... Until ….

bentuk umum:

WHILE kondisi DO
Statemen

dimana,
kondisi : adalah ungkapan boolean yang digunakan sebagai syarat agar statemen dikerjakan berulang kali
statemen : adalah pernyataan tunggal atau pernyataan majemuk yang akan diproses ulang.

Contoh 1 : Jumlah deret n bilangan asli pertama
Program Jumlah_Deret;
Uses crt;
Var n, jumlah, pencacah : integer;
begin
clrscr;
Writeln('Menghitung jumlah 1 + 2 + 3 + ... + n');
write('n = ? ');
readln(n);
pencacah:=1;
jumlah:=0;
while pencacah <= n do
begin
jumlah:=jumlah+pencacah;
pencacah:=pencacah + 1;
end;
writeln;
writeln('Jumlah deret = ',jumlah:5);
readln;
end.

REPEAT …. UNTIL
Bentuk Umum

REPEAT
…………
Statemen
………….
UNTIL kondisi

dimana,
statemen : adalah pernyataan tunggal atau pernyataan majemuk yang akan diproses ulang.
Kondisi : adalah ungkapan boolen sebagai syarat agar pernyataan diproses ulang.
Catatan : Salah satu statemen diantara repeat dan until harus ada yang bias merubah nilai kondisi sehingga kalang bisa berhenti

Contoh 2 :
Mengganti kalang WHILE … DO …. Dari contoh 1 dengan kalang REPEAT …. UNTIL …..
Program Jumlah_Deret;

Uses crt;
Var n, jumlah, pencacah : integer;
begin
clrscr;
Writeln('Menghitung jumlah 1 + 2 + 3 + ... + n');
write('n = ? ');
readln(n);
pencacah:=0;
jumlah:=0;
repeat
begin
jumlah:=jumlah+pencacah;
pencacah:=pencacah + 1;
end;
until pencacah = n+1;
writeln;
writeln('Jumlah deret = ',jumlah);
readln;
end.

Contoh 3 :
Program untuk menghitung mean dan standar deviasi dari sejumlah data masukkan non negatif dan berhenti apabila masukkan data adalah -1.
Program Mean_StdDev;

Uses crt;
Const neg=-1;
Var bilangan, total1, total2, mean, std : real;
n : integer;
begin
clrscr;
total1:=0.0;
total2:=0.0;
n:=0;
writeln('Masukkan data non negatif, dan untuk
mengakhiri masukkan angka -1');
readln(bilangan);
repeat
n:=n+1;
total1:=total1+bilangan;
total2:=total2+bilangan*bilangan;
writeln('Masukkan data non negatif, dan untuk
mengakhiri masukkan angka -1');
readln(bilangan);
until bilangan=neg;
mean:= total1/n;
std:=sqrt(total2/(n-1)-sqr(total1)/(n*(n-1)));
writeln('Mean = ',mean:7:2);
writeln('Deviasi Standar = ',std:8:3);
readln;
end.
di kutip dari :
http://id.wikipedia.org/wiki/Pascal_%28bahasa_pemrograman%29
 http://sahrulwijaya.blogspot.com/2009/03/pernyataan-kondisi-dalam-turbo-pascal.html

Tidak ada komentar:

Posting Komentar