SlideShare a Scribd company logo
1 of 34
Download to read offline
Modul Praktikum Pascal Pemrograman Komputer
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 *)
Modul Praktikum Pascal Pemrograman Komputer
• 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 wincrt;
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;
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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');
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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;
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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:
Status
Golongan
Nikah Belum
A 50000 25000
B 75000 60000
Ketentuan untuk gaji bersih:
Gajibersih=gajipokok+tunjangan-potongan iuran.
Tampilan Program :
Nama Karyawan : Anwar
Golongan (AB): B
Satus (NikahBelum): 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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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;
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
 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.
Modul Praktikum Pascal Pemrograman Komputer
 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.
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
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]);
Modul Praktikum Pascal Pemrograman Komputer
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.
Modul Praktikum Pascal Pemrograman Komputer
 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.
Modul Praktikum Pascal Pemrograman Komputer
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
i j
NILAI A
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
Modul Praktikum Pascal Pemrograman Komputer
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;
Modul Praktikum Pascal Pemrograman Komputer
end;
if(pegawai.JmlAnak2)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(JmlAnak2)then
persenTunjangan := 0.3
else
persenTunjangan := 0.2;
Modul Praktikum Pascal Pemrograman Komputer
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;
Modul Praktikum Pascal Pemrograman Komputer
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(JmlAnak2)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.

More Related Content

Similar to PascalPemrograman

Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record withSyaiful Ahdan
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUREDIS BLOG
 
Pengenalan Bahasa C++
Pengenalan Bahasa C++Pengenalan Bahasa C++
Pengenalan Bahasa C++guestaf3e8f4
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Azka Mutia
 
Tugas mu'thi modul pascal
Tugas mu'thi modul pascalTugas mu'thi modul pascal
Tugas mu'thi modul pascalMu'thi Cinsayf
 
Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrogramanpurispace
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)Hardini_HD
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)Hardini_HD
 
Pascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdfPascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdfJurnal IT
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascalNadya Olivia
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi FundamentalAkmal Fajar
 
Struktur data chapter_01
Struktur data chapter_01Struktur data chapter_01
Struktur data chapter_01Sejahtera Affif
 
Modul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionModul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionPolytechnic State Semarang
 

Similar to PascalPemrograman (20)

Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record with
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUR
 
Modul ii
Modul iiModul ii
Modul ii
 
Modul 2
Modul 2Modul 2
Modul 2
 
Pengenalan Bahasa C++
Pengenalan Bahasa C++Pengenalan Bahasa C++
Pengenalan Bahasa C++
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
 
Tugas mu'thi modul pascal
Tugas mu'thi modul pascalTugas mu'thi modul pascal
Tugas mu'thi modul pascal
 
Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrograman
 
Tugas sp algo
Tugas sp algoTugas sp algo
Tugas sp algo
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)
 
Pascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdfPascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdf
 
Bab ii
Bab iiBab ii
Bab ii
 
Algoritma dan Pemrograman
Algoritma dan Pemrograman Algoritma dan Pemrograman
Algoritma dan Pemrograman
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi Fundamental
 
Desain Top Down
Desain Top DownDesain Top Down
Desain Top Down
 
Struktur data chapter_01
Struktur data chapter_01Struktur data chapter_01
Struktur data chapter_01
 
Tutorial iii jawaban no2
Tutorial iii jawaban no2Tutorial iii jawaban no2
Tutorial iii jawaban no2
 
Modul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionModul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_function
 

Recently uploaded

pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptAhmadSyajili
 
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiCristianoRonaldo185977
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfAuliaAulia63
 
Menggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxMenggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxImahMagwa
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxrikosyahputra0173
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxzidanlbs25
 
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxMARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxmariaboisala21
 

Recently uploaded (7)

pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.ppt
 
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdf
 
Menggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxMenggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptx
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
 
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxMARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
 

PascalPemrograman

  • 1. Modul Praktikum Pascal Pemrograman Komputer 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 *)
  • 2. Modul Praktikum Pascal Pemrograman Komputer • 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 wincrt; 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;
  • 3. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 4. Modul Praktikum Pascal Pemrograman Komputer 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');
  • 5. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 6. Modul Praktikum Pascal Pemrograman Komputer 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
  • 7. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 8. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 9. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 10. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 11. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 12. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 13. Modul Praktikum Pascal Pemrograman Komputer 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;
  • 14. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 15. Modul Praktikum Pascal Pemrograman Komputer 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: Status Golongan Nikah Belum A 50000 25000 B 75000 60000 Ketentuan untuk gaji bersih: Gajibersih=gajipokok+tunjangan-potongan iuran. Tampilan Program : Nama Karyawan : Anwar Golongan (AB): B Satus (NikahBelum): 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.
  • 16. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 17. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 18. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 19. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 20. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 21. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 22. Modul Praktikum Pascal Pemrograman Komputer 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;
  • 23. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 24. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 25. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 26. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 27. Modul Praktikum Pascal Pemrograman Komputer 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]);
  • 28. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 29. Modul Praktikum Pascal Pemrograman Komputer 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.
  • 30. Modul Praktikum Pascal Pemrograman Komputer 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 i j NILAI A 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
  • 31. Modul Praktikum Pascal Pemrograman Komputer 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;
  • 32. Modul Praktikum Pascal Pemrograman Komputer end; if(pegawai.JmlAnak2)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(JmlAnak2)then persenTunjangan := 0.3 else persenTunjangan := 0.2;
  • 33. Modul Praktikum Pascal Pemrograman Komputer 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;
  • 34. Modul Praktikum Pascal Pemrograman Komputer 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(JmlAnak2)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.