modul i pengenalan bahasa pemrograman pascal

34
Modul Praktikum Pascal Pemrograman Komputer -1- MATEMATIKA FMIPA UNIBBA MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL Program Kumpulan instruksi berdasarkan suatu aturan yang berdasarkan algoritma tertentu. Algoritma Langkah-langkah yang logis dalam menyelesaikan masalah dalam batas-batas tertentu. Pemrograman Kegiatan untuk membuat program. Bahasa Pemrograman Bahasa komputer yang digunakan dalam menulis program. Bahasa Pemrograman Pascal Salah satu bahasa komputer tingkat tinggi (bahasanya dekat /mirip bahasa manusia, biasanya mengambil kata-kata dari bahasa Inggris). Struktur Program Pascal Untuk dapat memahami bagaimana suatu program ditulis, maka struktur dari program harus dimengerti terlebih dahulu. (* JUDUL *) Program JUDUL (* nama program *) (* Penjelasan tentang program yang berisi uraian singkat mengenai apa yang dilakukan oleh program *) uses … (* deklarasi piranti *) (* KAMUS *) label … (* deklarasi label *) const … (* deklarasi konstanta *) type … (* deklarasi tipe data *) var … (* deklarasi variabel *) procedure SATU; procedure DUA; function TAMBAH; (* ALGORITMA *) begin (* awal program utama *) (* semua instruksi program ditulis disini *) end. (* akhir program utama *)

Upload: others

Post on 25-Oct-2021

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-1- MATEMATIKA FMIPA UNIBBA

MODUL I

PENGENALAN

BAHASA PEMROGRAMAN PASCAL

Program Kumpulan instruksi berdasarkan suatu aturan yang berdasarkan algoritma tertentu.

Algoritma

Langkah-langkah yang logis dalam menyelesaikan masalah dalam batas-batas

tertentu.

Pemrograman

Kegiatan untuk membuat program.

Bahasa Pemrograman Bahasa komputer yang digunakan dalam menulis program.

Bahasa Pemrograman Pascal Salah satu bahasa komputer tingkat tinggi (bahasanya dekat /mirip bahasa

manusia, biasanya mengambil kata-kata dari bahasa Inggris).

Struktur Program Pascal

Untuk dapat memahami bagaimana suatu program ditulis, maka struktur dari

program harus dimengerti terlebih dahulu.

(* JUDUL *)

Program JUDUL (* nama program *)

(* Penjelasan tentang program yang berisi uraian singkat

mengenai apa yang dilakukan oleh program *)

uses … (* deklarasi piranti *)

(* KAMUS *)

label … (* deklarasi label *)

const … (* deklarasi konstanta *)

type … (* deklarasi tipe data *)

var … (* deklarasi variabel *)

procedure SATU;

procedure DUA;

function TAMBAH;

(* ALGORITMA *)

begin (* awal program utama *)

(* semua instruksi program ditulis disini *)

end. (* akhir program utama *)

Page 2: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-2- MATEMATIKA FMIPA UNIBBA

Cara membuat program dalam bahasa Pascal

1. Hal pertama adalah masuk ke text editor Pascal.

2. Setelah selesai menulis instruksi dalam text editor simpan File dan berinama.

3. Setelah itu anda compile, untuk melihat hasil pelaksanaan instruksi oleh

komputer.

CONTOH-CONTOH PROGRAM PASCAL

YANG SEDERHANA

1. Program untuk mencetak Hello.

(* Nama Program : hello1.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : Menulis Hello *)

(* --------------------------------------------------- *)

uses crt;

begin

writeln(‘Hello, dunia’);

readkey;

end.

Keterangan :

1. Bagian program yang diletakan diantara [(* … *)] disebut komentar, komentar

bukan instruksi sehingga tidak akan dilaksanakan komputer.

2. Anda harus selalu menyertakan uses crt dalam setiap program. crt disebut file

Unit.

3. Instruksi writeln digunakan untuk mencetak apa yang ada di antara tanda

kurung.

4. Yang ditulis diantara tanda (‘’) disebut string/kalimat.

5. Setiap penulisan instruksi diakhiri dengan tanda semicolon/titik koma (‘;’)

6. readkey digunakan agar tampilan program dapat dilihat.

2. Program untuk menulis Hello dan mencetak assigment.

(* Nama Program : hello2.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : Menulis Hello dengan assigment *)

(* --------------------------------------------------- *)

uses crt;

var

i : integer;

Shello : string;

Page 3: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-3- MATEMATIKA FMIPA UNIBBA

begin

Shello := ‘Hello, dunia’;

i:=1234;

writeln(SHello);

writeln(‘Nilai i = ’,i);

readkey;

end.

Keterangan :

1. Kata var adalah kata kunci dalam pascal, kata ini menyatakan bahwa yang

dibawahnya adalah variabel, jadi i dan j adalah variabel bertipe masing-masing

integer dan string.

2. Tanda (‘:=’) adalah tanda assigment/penugasaan untuk memberi nilai variabel.

3. Program untuk assigment dan mencetak dengan format.

(* Nama Program : assign.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : assigment dan cetak dengan format *)

(* --------------------------------------------------- *)

uses crt;

(* KAMUS *)

var

i : integer;

j : word;

k : byte;

l : real;

Shello : string;

(* ALGORITMA *)

begin

Shello := ‘Hello, dunia’;

i:=-1234;

j:=60000;

k:=3;

l:=3.14;

writeln(SHello);

writeln(‘Nilai i (integer)= ’,i:5);

writeln(‘Nilai j (word) = ’,j:5);

writeln(‘Nilai k (byte) = ’,k:5);

writeln(‘Nilai l (real) = ’,l:5:2);

readkey;

end.

Keterangan :

1. Angka setelah titik dua dibelakang variabel adalah format panjang bilangan

bulat dan panjang angka dibelakang koma.

Page 4: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-4- MATEMATIKA FMIPA UNIBBA

4. Program untuk membaca dan mencetak nilai yang dibaca.

(* Nama Program : baca.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : contoh membaca nilai dan kemudian *)

(* menuliskan nilai yang dibaca *)

(* --------------------------------------------------- *)

uses crt;

var

i : integer;

j : real;

kar : char;

NString : string;

begin

clrscr;

writeln(‘Contoh membaca dan menulis’);

write(‘Masukkan nilai integer : ’);readln(i);

write(‘Masukkan nilai real : ‘);readln(j);

write(‘Masukkan nilai karakter : ‘);readln(kar);

write(‘Masukkan nilai string : ‘);readln(Nstring);

writeln(‘Nilai integer yang dibaca =‘,i);

writeln(‘Nilai real yang dibaca =‘,j);

writeln(‘Nilai karakter yang dibaca =‘,kar);

writeln(‘Nilai string yang dibaca =‘,NString);

readkey;

end.

Keterangan :

1. Instruksi readln() digunakan untuk meminta inputan dari keyboard dan

memasukkan nilai yang dibaca dari keyboard ke variabel yang bersesuaian.

5. Program mengenai operator.

(* Nama Program : operator.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : pengoperasian variabel bertipe dasar *)

(* --------------------------------------------------- *)

uses crt;

var

TF : boolean;

i,j,hsl : integer;

x,y : real;

hsl1 : integer;

hsl2 : real;

begin

clrscr;

(* proses boolean *)

writeln('tabel kebenaran');

Page 5: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-5- MATEMATIKA FMIPA UNIBBA

writeln('-----------------------------------------------------');

writeln('| x1 | x2 | x1 and x2 | x1 or x2 |');

writeln('----------------------------------------------------');

writeln('| true | true |',(true and true):12,'|':8,

(true or true):10,'|':8);

writeln('| true | false |',(true and false):12,'|':8,

(true or false):10,'|':8);

writeln('| false | true |',(false and true):12,'|':8,

(false or true):10,'|':8);

writeln('| false | false |',(false and false):12,'|':8,

(false or false):10,'|':8);

writeln('----------------------------------------------------');

(* proses operasi numerik *)

i:=5;j:=2;

writeln('operasi numerik pada tipe data integer');

writeln('---------------------------');

writeln('| operasi | hasil operasi |');

writeln('---------------------------');

writeln('| ',i,' + ',j,' | ',(i+j):6,' |');

writeln('| ',i,' - ',j,' | ',(i-j):6,' |');

writeln('| ',i,' * ',j,' | ',(i*j):6,' |');

writeln('| ',i,' / ',j,' | ',(i/j):6:2,' |');

writeln('| ',i,' div ',j,' | ',(i div j):6,' |');

writeln('| ',i,' mod ',j,' | ',(i mod j):6,' |');

writeln('---------------------------');

writeln(‘Tekan enter untuk meneruskan . . .’);

readkey;

x:=5.0;y:=2.0;

writeln('operasi numerik pada tipe data float');

writeln('---------------------------');

writeln('| operasi | hasil operasi |');

writeln('---------------------------');

writeln('| ',x:3:1,' + ',y:3:1,' | ',(x+y):6:1,' |');

writeln('| ',x:3:1,' - ',y:3:1,' | ',(x-y):6:1,' |');

writeln('| ',x:3:1,' * ',y:3:1,' | ',(x*y):6:1,' |');

writeln('| ',x:3:1,' / ',y:3:1,' | ',(x/y):6:1,' |');

writeln('---------------------------');

(* operator relasi numerik *)

TF := x<>y;

writeln(‘5.0 <> 2.0 adalah=’,TF);

TF := x<y;

writeln(‘5.0 < 2.0 adalah=’,TF);

readkey;

end.

Page 6: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-6- MATEMATIKA FMIPA UNIBBA

JENIS – JENIS OPERATOR

1. OPERATOR ARITMETIKA

Simbol Fungsi Contoh Penggunaan

-

+

/

*

Mod

Div

Pengurangan

Penjumlahan

Pembagian

Perkalian

Modulo

Divided

x := x – 10;

x := x + 10;

x := x / 10;

x := x * 10;

x := 11 Mod 2;

x := 11 Div 2;

2. OPERATOR ASSIGNMENT

Simbol Keterangan

:= Memberi Nilai

3. OPERATOR RELASI

Simbol Keterangan

=

<>

<

<=

>

>=

Equal(sama dengan)

Not Equal(tidak sama dengan)

Less Than(lebih kecil)

Less Than Or Equal (lebih kecil atau sama dengan)

Greater Than(lebih besar)

Greater Than Or Equal (lebih besar atau sama dengan)

4. OPERATOR LOGIKA

Simbol Keterangan

AND

OR

NOT

AND

OR

NOT

Page 7: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-7- MATEMATIKA FMIPA UNIBBA

TIPE DATA

Tipe Data Byte Batasan

byte 1 Bilangan bulat antara 0 s.d. 255

shortint 1 Bilangan bulat antara -128 s.d. 127

word 2 Bilangan bulat antara 0 s.d. 65.535

integer 2 Bilangan bulat antara -32.768 s.d. 32.767

unsign long 4 Bilangan bulat antara 0 s.d. 4.294.967.295

longint 4 Bilangan bulat antara -2.147.483.648 s.d. 2.147.483.647

Real 6 Bilangan real antara 2.9*10-39

s.d. 1.7*1038

single 4 Bilangan real antara 1.5*10-45

s.d. 3.4*1038

double 8 Bilangan real antara 5.0*10-324

s.d. 1.7*10308

extended 10 Bilangan real antara 3.4*10-4932

s.d. 1.1*104932

TUGAS

1. Apa tampilan akhir dari program dibawah ini.

uses wincrt;

var

i,b,c,d: real;

begin

i:=3.0;

b:=2.0;

c:=0.0;

i:=i+i;

b:=b+i;

c:=c*i;

write('Nilai i=',i,' b=',b,' c=',c);

end.

2. Buat program yang tampilannya sebagai berikut.

Masukkan nilai i : 1

Masukkan nilai j : 2

----------------------------

| operasi | hasil operasi |

----------------------------

| 1 + 2 | 3 |

| 1 - 2 | -1 |

| 1 * 2 | 2 |

| 1 div 2 | 0 |

| 1 mod 2 | 1 |

----------------------------

3. Buat program untuk menghitung luas suatu bidang datar.

Page 8: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-8- MATEMATIKA FMIPA UNIBBA

MODUL II

PEMILIHAN / SELEKSI

1. PENJELASAN

Dalam program yang lebih kompleks, terkadang terdapat instruksi yang

dilaksanakan dan yang tidak, tergantung kondisi yang terjadi. Contohnya dalam

menghitung akar persamaan kuadrat, ada 3 jenis akar, 2 jenis rasional yaitu akar

kembar dan berlainan, 1 jenis imajiner. Sebuah persamaan kuadrat hanya memenuhi

satu jenis akar, tetapi dalam program ketiga jenis akar harus diperiksa karena itu kita

perlu pemilihan.

2. JENIS – JENIS PEMILIHAN

1. IF … THEN …

Cara Penulisan 1 :

if <kondisi> then

<instruksi>;

Cara Penulisan 2 : if <kondisi> then

begin

<instruksi ke 1>;

<instruksi ke 2>;

<instruksi ke n>;

end;

Jika kondisi bernilai benar maka instruksi setelah then akan dijalankan. Cara

penulisan 1 digunakan jika instruksi hanya satu baris jika banyak gunakan cara

penulisan 2.

Contoh :

Cara Penulisan 1 : (* Nama Program : Tunja1.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menghitung besarnya jumlah tunjangan *)

(* --------------------------------------------------- *)

uses crt;

var

JumlahAnak : integer;

GajiKotor,Tunjangan,PersenTunjangan : real ;

begin

PersenTunjangan:=0.2;

write(‘Gaji Kotor ?’);readln(GajiKotor);

write(‘Jumlah Anak ?’);readln(JumlahAnak);

if JumlahAnak>2 then

PersenTunjangan:=0.3;

Tunjangan := PersenTunjangan*GajiKotor;

writeln(‘Besar Tunjangan = Rp ’,Tunjangan:10:2);

readkey;

end.

Page 9: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-9- MATEMATIKA FMIPA UNIBBA

Cara Penulisan 2 : (* Nama Program : Tunja2.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menghitung besarnya jumlah tunjangan dan

potongan *)

(* --------------------------------------------------- *)

uses crt;

var

JumlahAnak : integer;

GajiKotor,Tunjangan,PersenTunjangan,PersenPotongan : real ;

Potongan:Real;

begin

PersenTunjangan:=0.2;

PersenPotongan:=0.05;

write(‘Gaji Kotor ?’);readln(GajiKotor);

write(‘Jumlah Anak ?’);readln(JumlahAnak);

if JumlahAnak>2 then

begin

PersenTunjangan:=0.3;

PersenPotongan:=0.07;

end;

Tunjangan := PersenTunjangan*GajiKotor;

Potongan:= PersenPotongan*GajiKotor;

writeln(‘Besar Tunjangan = Rp ’,Tunjangan:10:2);

writeln(‘Besar Potongan = Rp ’,Potongan:10:2);

readkey;

end.

2. IF … THEN … ELSE …

Cara Penulisan 1 :

if <kondisi> then

<instruksi>

else

<instruksi>;

Cara Penulisan 2 :

if <kondisi> then

begin

<instruksi ke 1>;

<instruksi ke 2>;

<instruksi ke n>;

end

else

begin

<instruksi ke 1>;

<instruksi ke 2>;

<instruksi ke n>;

end;

Jika kondisi bernilai benar maka instruksi setelah then akan dijalankan, bila

kondisi salah maka instruksi setelah else yang dijalankan. Cara penulisan 1

digunakan jika instruksi hanya satu baris jika banyak gunakan cara penulisan 2.

Page 10: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-10- MATEMATIKA FMIPA UNIBBA

Contoh :

Cara Penulisan 1 : (* Nama Program : MasukA.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : memeriksa inputan *)

(* --------------------------------------------------- *)

uses crt;

var

A : char;

begin

write(‘Masukkan Suatu Karakter :’);

A:=readkey;

writeln;

if A=’A’ then

writeln(‘Anda menekan A besar’)

else

writeln(‘Anda tidak menekan A besar’);

readkey;

end.

Cara Penulisan 2 : (* Nama Program : MasukAbj.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : memeriksa inputan *)

(* --------------------------------------------------- *)

uses crt;

var

A : char;

begin

write(‘Masukkan Suatu Karakter :’);

A:=readkey;

writeln;

if (A>=’A’)and(A<=’Z’) then

begin

writeln(‘Anda menekan huruf besar’);

writeln(‘Huruf yang anda tekan, Huruf ’,A);

end

else

begin

writeln(‘Anda tidak menekan huruf besar’);

writeln(‘Karakter yang anda tekan, Karakter ’,A);

end;

readkey;

end.

Page 11: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-11- MATEMATIKA FMIPA UNIBBA

3. IF BERKALANG / BANYAK KONDISI

Cara Penulisan 1 :

if <kondisi> then

<instruksi>

else

if <kondisi> then

<instruksi>;

Cara Penulisan 2 :

if <kondisi> then

begin

<instruksi ke 1>;

<instruksi ke 2>;

<instruksi ke n>;

end

else

if <kondisi> then

begin

<instruksi ke 1>;

<instruksi ke 2>;

<instruksi ke n>;

end;

Contoh :

Cara Penulisan 1 : (* Nama Program : Akar1.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menentukan jenis akar persamaan kuadrat*)

(* --------------------------------------------------- *)

uses crt;

var

a,b,c,D : real;

begin

writeln(‘Menentukan Jenis Akar Persamaan Kuadrat’);

writeln(‘ Persamaan Umum : ax^2+bx+c ’);

writeln;

write(‘a = ’);readln(a);

write(‘b = ’);readln(b);

write(‘c = ’);readln(c);

writeln;

D:=(b*b)-(4*a*c);

writeln(‘Nilai Diskriminan : ’,D);

write(‘Jenis Akar : ’);

if D=0 then

write(‘Kembar’)

else

if D>0 then

write(‘Berlainan’)

else

if D<0 then

write(‘imajiner berlainan’);

readkey;

end.

Page 12: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-12- MATEMATIKA FMIPA UNIBBA

Cara Penulisan 2 : (* Nama Program : Akar2.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : mencari akar persamaan kuadrat*)

(* --------------------------------------------------- *)

uses crt;

var

a,b,c,D,x1,x2 : real;

begin

writeln(‘ Mencari Akar Persamaan Kuadrat ’);

writeln(‘ Persamaan Umum : ax^2+bx+c ’);

writeln;

write(‘a = ’);readln(a);

write(‘b = ’);readln(b);

write(‘c = ’);readln(c);

writeln;

D:=(b*b)-(4*a*c);

writeln(‘Nilai Diskriminan : ’,D);

write(‘Jenis Akar : ’);

if D=0 then

begin

X1:=(-b)/(2*a);

writeln(‘Kembar’);

writeln(‘x1=x2=’,x1:10:2);

end

else

if D>0 then

begin

x1:=((-b)+ sqrt(D))/(2*a);

x2:=((-b)+ sqrt(D))/(2*a);

writeln(‘Berlainan’);

writeln(‘x1 = ’,x1:10:2);

writeln(‘x2 = ’,x2:10:2);

end

else

if D<0 then

begin

x1:=(-b)/(2*a);

x2:=sqrt(-d)/(2*a);

writeln(‘2 akar imajiner berlainan’);

writeln(‘x1 = ’,x1:5:2,’+‘,x2:5:2,’i’);

writeln(‘x2 = ’,x1:5:2,’-’,x2:5:2,’i’);

end;

end.

Page 13: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-13- MATEMATIKA FMIPA UNIBBA

4. CASE … OF …

Cara Penulisan 1 :

case <nama> of

<kondisi ke 1> : <instruksi ke 1>;

<kondisi ke 2> : <instruksi ke 2>;

… <kondisi ke n> : <instruksi ke n>;

else <instruksi>

end;

Cara Penulisan 2 :

case <nama> of

<kondisi ke 1> : begin

<instruksi ke 1>;

<instruksi ke n>;

end;

<kondisi ke 2> : begin

<instruksi ke 1>;

<instruksi ke n>;

end;

… <kondisi ke n> : begin

<instruksi ke 1>;

<instruksi ke n>;

end;

else

begin

<instruksi ke 1>;

<instruksi ke n>;

end;

end;

Contoh :

Cara Penulisan 1 : (* Nama Program : upah.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menentukan upah karyawan berdasarkan

golongan dan tunjangan anak*)

(* --------------------------------------------------- *)

uses crt;

var

Nama : string;

Gol : char;

JmlAnak : integer;

Upahkotor,upahbersih : real;

PersenTunjangan:real;

Begin

Write(‘Nama : ’);readln(Nama);

Write(‘Gol (A - D) : ’);readln(Gol);

Write(‘Jumlah Anak : ’);readln(JmlAnak);

Case Gol of

‘A’ : Upahkotor:=1000000;

‘B’ : Upahkotor:=800000;

‘C’ : Upahkotor:=600000;

‘D’ : Upahkotor:=400000;

end;

Page 14: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-14- MATEMATIKA FMIPA UNIBBA

if(JmlAnak>2)then

PersenTunjangan := 0.3

else

PersenTunjangan := 0.2;

Upahbersih:= upahkotor – (upahkotor*persentunjangan);

writeln(‘Upah : ’,upahbersih);

end.

Cara Penulisan 2 : (* Nama Program : Menu.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : membuat menu*)

(* --------------------------------------------------- *)

uses crt;

const

pi = 3.14;

var

pilih : integer;

sisi,jari,tinggi : real;

begin

writeln(‘ <<< Menu >>> ’);

writeln;

writeln(‘1. Menghitung Isi Kubus’);

writeln(‘2. Menghitung Luas Lingkaran’);

writeln(‘3. Menghitung Isi Silisnde’);

writeln;

write(‘Pilih Nomor : ’);readln(pilih);

case pilih of

1 : begin

write(‘Panjang Sisi Kubus : ’);readln(sisi);

writeln(‘Isi Kubus : ’,sisi*sisi*sisi);

end;

2 : begin

write(‘Jari-jari lingkaran : ’);readln(jari);

writeln(‘Luas Lingkaran : ’,pi*jari*jari);

end;

3 : begin

write(‘Jari-jari lingkaran : ’);readln(jari);

write(‘Tinggi Silinder : ’);readln(tinggi);

writeln(‘Isi Silinder : ’,pi*jari*jari*tinggi);

end;

end;

end.

Page 15: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-15- MATEMATIKA FMIPA UNIBBA

TUGAS

1. Apa tampilan akhir dari program dibawah ini.

Uses wincrt;

var

nilai,quiz,absen,uts,uas,tugas:real;

Huruf_Mutu:char;

begin

quiz:=40;absen:=100;uts:=60;uas:=50;tugas:=80;

writeln(‘Absen = ‘,absen:5:2,’ UTS = ‘,uts:5:2);

writeln(‘Tugas = ‘,tugas:5:2,’ UAS = ‘,uas:5:2);

writeln(‘Quiz = ‘,quiz:5:2);

nilai:=((0.1*absen)+(0.2*tugas)+(0.3*quiz)

+(0.4*uts)+(0.5*uas))/2;

if (nilai>85) and (nilai<=100) then

Huruf_Mutu:=’A’

else if (nilai>70) and (nilai<=85) then

Huruf_Mutu:=’B’

else if (nilai>55) and (nilai<=70) then

Huruf_Mutu:=’C’

else if (nilai>40) and (nilai<=55) then

Huruf_Mutu:=’D’

else if (nilai>=0) and (nilai<=40) then

Huruf_Mutu:=’E’;

writeln(‘Huruf Mutu : ‘,Huruf_Mutu);

end.

2. Buat program untuk menghitung gaji karyawan dengan ketentuan sebagai berikut.

Ketentuan untuk gaji pokok:

Golongan A B

Gaji Pokok 200000 350000

Ketentuan untuk potongan iuran:

Gaji pokok Prosentase

<=300000 5%

>300000 10% Potongan iuran

=(gajipokok+tunjangan)*prosentase.

Ketentuan untuk tunjangan:

Golongan Status

Nikah Belum

A 50000 25000

B 75000 60000

Ketentuan untuk gaji bersih: Gajibersih=gajipokok+tunjangan-potongan iuran.

Tampilan Program : Nama Karyawan : Anwar

Golongan (A\B): B

Satus (Nikah\Belum): Nikah

Gaji Pokok : Rp. 350000

Tunjangan : Rp. 75000

Potongan Iuran: Rp. 42500

Gaji Bersih : Rp. 382500

3. Buat program untuk menentukan huruf mutu suatu matakuliah.

Page 16: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-16- MATEMATIKA FMIPA UNIBBA

MODUL III

PERULANGAN / LOOPING

1. PENJELASAN

Salah satu kelebihan komputer dibandingkan dengan manusia adalah

kemampuannya untuk melaksanakan suatu instruksi berulangkali tanpa mengenal

lelah dan bosan. Perulangan dapat dilakukan sejumlah kali atau kondisi berhenti

pengulangan tercapai.

2. JENIS – JENIS PERULANGAN

1. FOR

Cara Penulisan 1 :

For naik : for var:=NAwal to NAkhir do

<instruksi>;

For turun : for var:=NAwal downto NAkhir do

<instruksi>;

Cara Penulisan 2 :

For naik : for var:=NAwal to NAkhir do

begin

<instruksi ke 1>;

<instruksi ke n>;

end;

For turun : for var:=NAwal downto NAkhir do

begin

<instruksi ke 1>;

<instruksi ke n>;

end;

Bila banyaknya perulangan diketahui barulah dipakai bentuk perulangan for.

Cara penulisan 1 digunakan jika instruksi hanya satu baris jika banyak gunakan

cara penulisan 2.

Page 17: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-17- MATEMATIKA FMIPA UNIBBA

Contoh :

Cara Penulisan 1 :

For naik : (* Nama Program : Pangkat.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : memangkatkan bilangan dengan pangkat

tertentu *)

(* --------------------------------------------------- *)

uses crt;

var

i,pangkat:integer;

hasilpangkat,dipangkatkan:real;

begin

write(‘Bilangan yang akan dipangkatkan : ‘);

readln(dipangkatkan);

write(‘Masukkan pangkatnya : ‘);readln(pangkat);

hasilpangkat:=1;

for i:=1 to pangkat do

hasilpangkat:=hasilpangkat*dipangkatkan;

write(dipangkatkan,‘^’,pangkat,’ : ‘,hasilpangkat);

readkey;

end.

For turun : (* Nama Program : cdown.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menghitung mundur *)

(* N,N-1,N-2,… ,1,0 *)

(* --------------------------------------------------- *)

uses crt;

Var

N : integer; (* angka awal *)

i: integer;(* counter *)

begin

write(‘Masukan angka : ‘);readln(N);

for i:=N downto 1 do

write(i,’, ’);

write(‘0’);

end.

Page 18: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-18- MATEMATIKA FMIPA UNIBBA

Cara Penulisan 2 :

For naik : (* Nama Program : rata2.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menghitung rata-rata *)

(* --------------------------------------------------- *)

uses crt;

Var

i,N : integer;(* counter dan jumlah data *)

Data,Rata,Total : real;

begin

write(‘Banyaknya data : ’);readln(N);

for i:=1 to N do

begin

write(‘Data ke ’,i,’ : ‘);readln(Data);

Total:=Total+Data;

end;

Rata:=Total/N;

writeln(‘Banyaknya Data : ‘,N);

writeln(‘Total Nilai Data : ‘,Total:5:2);

writeln(‘Rata-rata nilai Data : ’,Rata:5:2)

end.

For turun : (* Nama Program : bintang.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : mencetak bintang *)

(* --------------------------------------------------- *)

uses crt;

Var

N : integer; (* u *)

I,j: integer;(* counter *)

begin

write(‘Masukan jumlah awal bintang : ‘);readln(N);

for i:=N downto 0 do

begin

for j:=1 to i do

write(‘*’);

writeln;

end;

end.

Page 19: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-19- MATEMATIKA FMIPA UNIBBA

2. WHILE … DO …

Cara Penulisan :

while (kondisi) do

begin

<instruksi ke 1>;

<instruksi ke n>;

end;

Bentuk perulangan ini dipakai bila anda tidak mengetahui berapa kali akan

melakukan perulangan/ bila ingin melakukan perulangan dengan kondisi

tertentu.

Contoh : (* Nama Program : tabel.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : *)

(* *)

(* --------------------------------------------------- *)

uses crt;

var

x,i,pangkat,hasilpangkat:integer;

begin

writeln(‘ x 1/x x^2 x^3’);

writeln(‘-----------------------------------’);

x:=1;

while (x<=10) do

begin

write(x:5,(1.0/x):8:5);

pangkat:=2;

while(pangkat<=3) do

begin

hasilpangkat:=1;

for i:=1 to pangkat do

hasilpangkat:=hasilpangkat*x;

write(hasilpangkat:8);

pangkat:=pangkat+1;

end;

writeln;

x:=x+1;

end;

end.

Page 20: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-20- MATEMATIKA FMIPA UNIBBA

3. REPEAT … UNTIL

Cara Penulisan :

repeat

<instruksi ke 1>;

<instruksi ke n>;

until (kondisi);

Bentuk perulangan ini dipakai bila anda tidak mengetahui berapa kali akan

melakukan perulangan/ bila ingin melakukan perulangan dengan kondisi

tertentu.

Contoh : (* Nama Program : Menu2.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : membuat menu*)

(* --------------------------------------------------- *)

uses crt;

const

pi = 3.14;

var

pilih : integer;

sisi,jari,tinggi : real;

begin

repeat

writeln(‘ <<< Menu >>> ’);

writeln;

writeln(‘1. Menghitung Isi Kubus’);

writeln(‘2. Menghitung Luas Lingkaran’);

writeln(‘3. Menghitung Isi Silinder’);

writeln(‘0. Keluar Program‘);

write(‘Pilih Nomor : ’);readln(pilih);

case pilih of

1 : begin

write(‘Panjang Sisi Kubus : ’);readln(sisi);

writeln(‘Isi Kubus : ’,sisi*sisi*sisi);

end;

2 : begin

write(‘Jari-jari lingkaran : ’);readln(jari);

writeln(‘Luas Lingkaran : ’,pi*jari*jari);

end;

3 : begin

write(‘Jari-jari lingkaran : ’);readln(jari);

write(‘Tinggi Silinder : ’);readln(tinggi);

writeln(‘Isi Silinder : ’,pi*jari*jari*tinggi);

end;

end;

readkey;

until pilih=0;

end.

Page 21: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-21- MATEMATIKA FMIPA UNIBBA

TUGAS

1. Apa tampilan akhir dari program dibawah ini.

Uses crt;

var

i:integer;

begin

i:=2345;

writeln(‘Bilangan : ’,i);

write(‘Dibalik : ‘);

while(i<>0)do

begin

write(i mod 10);

i:=i div 10;

end;

end.

2. Buat program dengan tampilan sebagai berikut.

*** TABEL SINUS DAN COSINUS DALAM SATUAN DERAJAD ***

x sin(x) cos(x)

-----------------------

0 0.00 1.00

30 0.50 0.87

60 0.87 0.50

90 1.00 0.00

120 0.87 -0.50

150 0.50 -0.87

180 0.00 -1.00

210 -0.50 -0.87

240 -0.87 -0.50

270 -1.00 0.00

300 -0.87 0.50

330 -0.50 0.87

360 0.00 1.00

petunjuk : gunakan fungsi sin dan cos dengan terlebih dahulu membagi x dengan

57,2958.

3. Buat program untuk menghitung faktorial.

Page 22: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-22- MATEMATIKA FMIPA UNIBBA

MODUL IV

FUNGSI & PROCEDURE

FUNGSI

Suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas

tertentu dan letaknya dipisahkan dari bagian program yang menggunakannya.

Seperti halnya fungsi dalam matematika fungsi dalam program juga menghasilkan

suatu nilai.

Cara Penulisan 1 :

function Nama_fungsi(parameter):<tipe>;

var

var1:<tipe>;

begin

<instruksi>;

Nama_fungsi:=var1;

end;

var

var1:<tipe>;

begin

<instruksi>;

var1:=Nama_fungsi(parameter);

end.

Cara Penulisan 2 :

function Nama_fungsi(parameter):<tipe>;

forward;

var

var1:<tipe>;

begin

<instruksi>;

var1:=Nama_fungsi(parameter);

end.

function Nama_fungsi(parameter):<tipe>;

var

var1:<tipe>;

begin

<instruksi>;

Nama_fungsi:=var1;

end;

Pada cara penulisan 1 fungsi didefinisikan sebelum program utama. Pada cara

penulisan 2 fungsi dideklarasikan dahulu function Nama_fungsi(parameter):<tipe>;forward;

baru kemudian didefinisikan sesudah program utama. Fungsi dipanggil dengan

nama fungsinya : var1:=Nama_fungsi(parameter);

Latihan :

Lihat listing program pangkat.pas di modul 3, rubah bentuk program tersebut

menjadi di bawah ini :

(* Nama Program : pangkat.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : memangkatkan bilangan dengan pangkat

tertentu *)

(* --------------------------------------------------- *)

uses crt;

function fpangkat(dipangkatkan:real;pangkat:integer):real;

var

(* variabelnya anda tentukan sendiri *)

begin

(* pahami program pangkat.pas dan kemudian lengkapi bagian

ini*)

end;

Page 23: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-23- MATEMATIKA FMIPA UNIBBA

var

(* lengkapi bagian ini *)

begin

write(‘Bilangan yang akan dipangkatkan : ‘);

readln(dipangkatkan);

write(‘Masukkan pangkatnya : ‘);readln(pangkat);

write(dipangkatkan,‘^’,pangkat,’ : ‘,

fpangkat(dipangkatkan,pangkat));

readkey;

end.

FUNGSI REKURSIF

Fungsi yang memanggil/menggunakan dirinya sendiri.

Contoh : (* Nama Program : torial2.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menghitung n! secara rekrusif*)

(* --------------------------------------------------- *)

uses crt;

function fakt(n:longint):longint;

begin

if (n=0) then

fakt:=1

else

begin

n:=n*fakt(n-1);

fakt:=n;

end;

end;

var

n:longint;

begin

write(‘Masukkan n : ‘);readln(n);

writeln(n,‘! = ‘,fakt(n));

end.

Page 24: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-24- MATEMATIKA FMIPA UNIBBA

PROCEDURE

Bagian program yang tidak harus menghasilkan suatu nilai.

Cara Penulisan 1 :

procedure Nama_proc(parameter)

begin

<instruksi>;

end;

begin

<instruksi>;

Nama_proc(parameter);

end.

Cara Penulisan 2 :

procedure Nama_proc(parameter);forward; begin

<instruksi>;

Nama_proc(parameter);

end.

procedure Nama_proc(parameter)

begin

<instruksi>;

end;

Pada cara penulisan 1 procedure didefinisikan sebelum program utama. Pada

cara penulisan 2 procedure dideklarasikan dahulu procedure Nama_proc(parameter);forward;

baru kemudian didefinisikan sesudah program utama.

Latihan:

Lihat listing program tabel.pas di modul 3, pahami dan rubah menjadi seperti di

bawah ini :

(* Nama Program : tabel.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : *)

(* *)

(* --------------------------------------------------- *)

uses crt;

function fpangkat(dipangkatkan:real;pangkat:integer):real;

var

(* variabelnya anda tentukan sendiri *)

begin

(* pahami program tabel.pas dan kemudian lengkapi bagian

ini*)

end;

procedure cetak(x:integer);

var

(* variabelnya anda tentukan sendiri *)

begin

writeln(‘ x 1/x x^2 x^3’);

writeln(‘-----------------------------------’);

(* pahami program tabel.pas dan kemudian lengkapi bagian ini*)

end;

var

(* variabelnya anda tentukan sendiri *)

begin

write(‘Masukkan banyaknya data : ’);readln(x);

cetak(x);

readkey;

end.

Page 25: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-25- MATEMATIKA FMIPA UNIBBA

PROCEDURE YANG MENGEMBALIKAN NILAI

Procedure mengembalikan nilai melalui parameter, .

Cara Penulisan 1 :

procedure Nama_proc(var parameter)

begin

<instruksi>;

end;

begin

<instruksi>;

Nama_proc(parameter);

End.

Cara Penulisan 2 :

procedure Nama_proc(var parameter);forward;

begin

<instruksi>;

Nama_proc(parameter);

end.

procedure Nama_proc(var parameter)

begin

<instruksi>;

end;

Latihan : Lihat program upah.pas di modul 2, dan rubah menjadi seperti di bawah ini :

(* Nama Program : upah.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menentukan upah karyawan berdasarkan

golongan dan tunjangan anak*)

(* --------------------------------------------------- *)

uses crt;

procedure input(var Nama:String;var gol:char;var

jmlanak:integer);

begin

(* definisikan sendiri *)

end;

function Upahkotor(gol:char):real;

begin

(* definisikan sendiri *)

end;

function Persentunjangan(jmlanak:integer)real;

begin

(* definisikan sendiri *)

end;

var

(* definisikan sendiri *)

Begin

input(Nama,Gol,jmlanak);

Upahbersih:= upahkotor(Gol) –

(upahkotor(Gol)*persentunjangan(jmlanak));

writeln(‘Upah : ’,upahbersih);

end.

Page 26: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-26- MATEMATIKA FMIPA UNIBBA

TUGAS

1. Tuliskan proses yang terjadi pada procedure cetak yang ada di program tabel.pas,

tahap pertahap untuk nilai-nilai x = 1, 2, 3, …. 5

2. Pisahkanlah program tugas 2 modul 2 menjadi beberapa fungsi dan procedure

dibawah ini :

procedure input(var Nama:string;var gol:char;var status:string);

procedure cetak(gol:char,status:string);

function gapok(gol:char):real;

function tunjangan(gol:char;status:string):real;

function prosentase(gapok2:real;tunja:real):real;

function potongan_iuran(gapok2:real;tunja:real;prosen:real):real;

function gaji_bersih(gapok2:real;tunja:real;potong:real)

3. Buat program untuk menghitung kombinasi.

Page 27: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-27- MATEMATIKA FMIPA UNIBBA

MODUL V

TIPE DATA BENTUKKAN

ARRAY

PENJELASAN

Secara umum terdapat dua tipe data yaitu :

1. Tipe data bawaan : tipe data yang sudah disediakan oleh bahasa Pascal

(integer,real,string ,dll)

2. Tipe data bentukkan : tipe data baru yang dibuat oleh programer.

ARRAY

Kumpulan data dengan tipe sama, diakses melalui indeks.

Cara Pendeklarasian :

Sebagai Variabel :

Var

Var:array [indeks]of <tipe>;

Begin

<instruksi>;

end.

Sebagai tipe data bentukan :

type

var_baru=array[indeks]of <tipe>;

var

var:var_baru;

begin

<instruksi>;

end.

Contoh : (* Nama Program : isicetak.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : mengisi dan mencetak array*)

(* --------------------------------------------------- *)

uses crt;

var

i : integer;

nilai:array[1..3]of integer;

begin

writeln(‘Mengisi elemen array’);

i:=1;

while(i<=3) do

begin

write(‘Nilai ke ‘,i,’ = ‘);readln(nilai[i]);

i:=i+1;

end;

writeln(‘Mencetak elemen array’);

for i:=1 to 3 do

writeln(‘Nilai ke ‘,i,’ = ‘,nilai[i]);

Page 28: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-28- MATEMATIKA FMIPA UNIBBA

end.

ARRAY DALAM FUNGSI / PROCEDURE

Contoh : (* Nama Program : isictk2.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : mengisi dan mencetak array*)

(* --------------------------------------------------- *)

uses crt;

type

Tarray=array[1..3] of integer;

procedure isi(var nilai:Tarray);

var

i:integer;

begin

i:=1;

while (i<=3) do

begin

write(‘Nilai ke ‘,i,’ = ‘);readln(nilai[i]);

i:=i+1;

end;

end;

procedure cetak(nilai:Tarray);

var

i:integer;

begin

for i:=1 to 3 do

begin

writeln(‘Nilai ke ‘,i,’ = ‘,nilai[i]);

end;

end;

var

nilai:Tarray;

n:integer;(*data yang dicari*)

begin

writeln(‘Mengisi elemen array’);

isi(nilai);

writeln(‘Mencetak elemen array’);

cetak(nilai);

end.

Page 29: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-29- MATEMATIKA FMIPA UNIBBA

ARRAY 2 DIMENSI (MATRIKS)

Contoh : (* Nama Program : matrik.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : mengisi dan mencetak matrik*)

(* --------------------------------------------------- *)

uses crt;

type

tmatrik=array[1..3,1..3]of integer;

procedure isi(var matrik:tmatrik);

var

i,j:integer;

begin

for i:=1 to 3 do

for j:=1 to 3 do

begin

write(‘A[‘,i,’,’,j,’] = ‘);readln(matrik[i,j]);

end;

end;

procedure cetak(matrik:tmatrik);

var

i,j:integer;

begin

for i:=1 to 3 do

begin

for j:=1 to 3 do

write(matrik[i,j]:3);

writeln;

end;

end;

var

matrik:tmatrik;

begin

writeln(‘Mengisi elemen matrik A’);

isi(matrik);

writeln(‘Mencetak elemen matrik A’);

cetak(matrik);

end.

STRING DAPAT DIAKSES SEPERTI ARRAY

Latihan : - Buat program untuk mencetak kalimat karakter demi karakter.

- Berikan indeks pada varibel bertipe string, dan kemudian cetak,

sepanjang kalimat tsb.

Page 30: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-30- MATEMATIKA FMIPA UNIBBA

TUGAS DIKUMPULKAN 22 MEI 2004

1. Procedure di bawah ini untuk mengurut elemen larik. Type

Tarray= array[1..16] of integer;

procedure urut(A:Tarray)

var

i,j,tmp:integer;

begin

for i:=1 to 15 do

begin

for j:=i+1 to 16 do

if (A[i] >A[j]) then

begin

tmp=A[i];

A[i]=A[j];

A[j]=tmp;

end;

end;

end;

Dengan menggunakan procedure di atas lengkapi tabel berikut.

Nilai NILAI A

i j

0 0 A[0]=561 A[4]=508 A[8]=400 A[12]=301

A[1]=329 A[5]=375 A[9]=561 A[13]=390

A[2]=455 A[6]=508 A[10]=473 A[14]=329

A[3]=561 A[7]=455 A[11]=346 A[15]=301

… …. A[0]=… A[4]=… A[8]=… A[12]=…

A[1]=… A[5]=… A[9]=… A[13]=…

A[2]=… A[6]=… A[10]=… A[14]=…

A[3]=… A[7]=… A[11]=… A[15]=…

15 16 A[0]=301 A[4]=346 A[8]=455 A[12]=508

A[1]=301 A[5]=375 A[9]=455 A[13]=561

A[2]=329 A[6]=390 A[10]=473 A[14]=561

A[3]=329 A[7]=400 A[11]=508 A[15]=561

2. Tulis sebuah procedure untuk mengurutkan elemen matrik.

Contoh :

9 8 7 2 5 7

6 5 6 setelah diurut akan menjadi 3 6 8

4 3 2 4 6 9

3. Tulis sebuah procedure untuk mengganti karakter-karakter dari kalimat yang diinput

dengan abjad setelahnya menurut urutan abjad latin. a diganti dengan b, b diganti

dengan c, …, z diganti dengan a. Contoh :

Misal kalimat yang diinput : AsepSopian

Setelah digeser : BtfqTpqjbo

Page 31: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-31- MATEMATIKA FMIPA UNIBBA

MODUL VI

TIPE DATA BENTUKKAN

RECORD

RECORD

Pengelompokkan dari variabel-variabel yang bernaung dalam satu nama yang

sama.

Cara Pendeklarasian :

Type

Tnama=record

var_1:<tipe 1>;

var_n:<tipe n>;

end;

var

var: Tnama ;

begin

<instruksi>;

end.

Contoh: (* Nama Program : upah.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menentukan upah karyawan berdasarkan

golongan dan tunjangan anak*)

(* --------------------------------------------------- *)

uses crt;

type

Tpegawai=record

Nama : string[20];

Gol : char;

JmlAnak : integer;

end;

var

pegawai:tpegawai;

Upahkotor,upahbersih : real;

PersenTunjangan:real;

Begin

Write(‘Nama : ’);readln(pegawai.Nama);

Write(‘Gol (A - D) : ’);readln(pegawai.Gol);

Write(‘Jumlah Anak : ’);readln(pegawai.JmlAnak);

Case pegawai.Gol of

‘A’ : Upahkotor:=1000000;

‘B’ : Upahkotor:=800000;

‘C’ : Upahkotor:=600000;

‘D’ : Upahkotor:=400000;

Page 32: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-32- MATEMATIKA FMIPA UNIBBA

end;

if(pegawai.JmlAnak>2)then

PersenTunjangan := 0.3

else

PersenTunjangan := 0.2;

Upahbersih:= upahkotor – (upahkotor*persentunjangan);

writeln(‘Upah : ’,upahbersih);

end.

STRUCTURE DALAM FUNGSI / PROCEDURE

Contoh : (* Nama Program : upah2.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menentukan upah karyawan berdasarkan

golongan dan tunjangan anak*)

(* --------------------------------------------------- *)

uses crt;

type

Tpegawai=record

Nama : string[20];

Gol : char;

JmlAnak : integer;

end;

procedure input(var pegawai:tpegawai);

begin

with pegawai do

begin

write(‘Nama : ’);readln(Nama);

write(‘Gol (A - D) : ’);readln(Gol);

write(‘Jumlah Anak : ’);readln(JmlAnak);

end;

end;

function upahkotor(gol:char):real;

begin

Case Gol of

‘A’ : upahkotor:=1000000;

‘B’ : upahkotor:=800000;

‘C’ : upahkotor:=600000;

‘D’ : upahkotor:=400000;

end;

end;

function persentunjangan(jmlanak:integer):real;

begin

if(JmlAnak>2)then

persenTunjangan := 0.3

else

persenTunjangan := 0.2;

Page 33: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-33- MATEMATIKA FMIPA UNIBBA

end;

procedure cetak(pegawai:tpegawai);

var

upahbersih : real;

begin

clrscr;

with pegawai do

begin

writeln(‘Nama : ’,Nama);

writeln(‘Gol (A - D) : ’,Gol);

writeln(‘Jumlah Anak : ’,JmlAnak);

upahbersih:= upahkotor(gol) –

(upahkotor(gol)*persentunjangan(jmlanak));

writeln(‘Upah : ’,upahbersih:5:2);

end;

end;

var

pegawai:tpegawai;

Begin

input(pegawai);

cetak(pegawai);

end.

ARRAY OF RECORD DALAM FUNGSI/PROCEDURE

Contoh : (* Nama Program : upah3.pas *)

(* NPM : … *)

(* Nama : … *)

(* Tgl buat : … *)

(* Deskripsi : menentukan upah karyawan berdasarkan

golongan dan tunjangan anak*)

(* --------------------------------------------------- *)

uses crt;

type

Tpegawai=record

Nama : string[20];

Gol : char;

JmlAnak : integer;

end;

Tdaf_peg=array[1..5]of Tpegawai;

procedure input(var pegawai:tpegawai);

begin

with pegawai do

begin

write(‘Nama : ’);readln(Nama);

write(‘Gol (A - D) : ’);readln(Gol);

write(‘Jumlah Anak : ’);readln(JmlAnak);

end;

end;

function upahkotor(gol:char):real;

Page 34: MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

Modul Praktikum Pascal Pemrograman Komputer

-34- MATEMATIKA FMIPA UNIBBA

begin

Case Gol of

‘A’ : upahkotor:=1000000;

‘B’ : upahkotor:=800000;

‘C’ : upahkotor:=600000;

‘D’ : upahkotor:=400000;

end;

end;

function persentunjangan(jmlanak:integer):real;

begin

if(JmlAnak>2)then

persenTunjangan := 0.3

else

persenTunjangan := 0.2;

end;

procedure cetak(pegawai:tpegawai);

var

upahbersih : real;

begin

clrscr;

with pegawai do

begin

writeln(‘Nama : ’,Nama);

writeln(‘Gol (A - D) : ’,Gol);

writeln(‘Jumlah Anak : ’,JmlAnak);

upahbersih:= upahkotor(gol) –

(upahkotor(gol)*persentunjangan(jmlanak));

writeln(‘Upah : ’,upahbersih:5:2);

end;

end;

var

daf_pegawai:tdaf_peg;

i:integer;

Begin

For i:=1 to 5 do

begin

writeln('Data ke ',i,':');

input(daf_pegawai[i]);

end;

For i:=1 to 5 do

begin

writeln('Data ke ',i,':');

cetak(daf_pegawai[i]);

readkey;

end;

end.