TUGAS PRAKTIKUM ALGORITMA SEMESTER GENAP II Di susun oleh: Sandi Ifan Maulana NIM 04114017 UNIVERSITAS NAROTAMA SURABAYA 2015 Daftar Isi - TUGAS PRAKTIKUM ALGORITMA copy
TUGAS PRAKTIKUM ALGORITMA
SEMESTER GENAP II
Di susun oleh:
Sandi Ifan Maulana
NIM 04114017
UNIVERSITAS NAROTAMA
SURABAYA
2015
Daftar Isi
MODUL I..........................................................................................................................1
STRUKTUR DASAR PROGRAM................................................................................1
MODUL 2..........................................................................................................................8
STATEMEN KONDISIONAL......................................................................................8
MODUL 3........................................................................................................................16
LOOPING....................................................................................................................16
MODUL 4........................................................................................................................27
ARRAY.......................................................................................................................27
MODUL 5........................................................................................................................35
RECORD.....................................................................................................................35
MODUL 6........................................................................................................................38
FUNCTION.................................................................................................................38
MODUL 7........................................................................................................................43
PROSEDUR.................................................................................................................43
MODUL 8........................................................................................................................48
POINTER.....................................................................................................................48
i
ii
MODUL I
STRUKTUR DASAR PROGRAM
A. Tugas I
1. Menampilkan text pada monitor
a. Program Pascal
{program project1;
{$mode objfpc}{$H+}
begin
WriteLn('Kuliah Di Universitas Narotama');
WriteLn('Mencetak Sarjana Komputer Dengan Kompetensi Standart');
ReadLn;
end.}
>> Hasil Pascal
1
b. Raptor
>> Hasil Raptor
2
2. Menghitung luas dan volume bola
a. Pascal
program project1;
uses
crt;
var
r : Integer;
L,V : Real;
begin
Write('Masukan Jari-jari Bola = ');
ReadLn(r);
L:=4*3.14*r*r;
V:=4/3*3.14*r*r*r;
WriteLn('Luas Bola = ',L:9:2,' Satuan Luas');
WriteLn('Volume Bola = ',V:9:2,' Satuan Volume');
ReadLn();
end.
3
>> Hasil Pascal
b. Raptor
4
>> Hasil Raptor
3. Konversi Suhu
a. Pascal
program project1;
uses
crt;
var
C,F,R,K : Real;
i,j,l : Integer;
5
begin
Write('Masukan Suhu dalam Celcius : ');
ReadLn(C);
i:=5;
j:=9;
l:=4;
F:=(j/i)*C+32;
R:=C+32;
K:=(l/i*C);
WriteLn('Celcius ke Farenheit : ',F:9:2,' f');
WriteLn('Celcius ke Reamur : ',R:9:2,' r');
WriteLn('Celcius ke Kelvin : ',K:9:2,' k');
ReadLn();
end.
>> Hasil Pascal
6
b. Raptor
>> Hasil Raptor
7
MODUL 2
STATEMEN KONDISIONAL
A. Tugas I
1. Menghitung Rata-rata
a. Pascal
program project1;
uses
crt;
var
nilai: array [1..10] of Integer;
jum,x,n,i: Integer;
rt: Real;
begin
Write('Masukan Nilai Teori : ');
ReadLn(n);
Write('Masukan Nilai Praktikum : ');
ReadLn(i);
begin
jum:=n+i;
rt:=jum/2;
WriteLn('Jumlahnya adalah : ',jum);
WriteLn('Rata-ratanya adalah : ',rt:9:2);
WriteLn(' ');
if (rt>=60) and (rt> Hasil Pascal
b. Raptor
9
>> Hasil Raptor
2. Menampilkan Predikat Kelulusan
a. Pascal
program project1;
{$mode objfpc}{$H+}
10
uses
crt;
var
Predikat :String;
Nilai : Real;
begin
Write('Masukan Nilai IPK : ');
ReadLn(Nilai);
if (Nilai>=2.0) and (Nilai=2.5) and (Nilai=3.0) and (Nilai=3.5) and (Nilai> Hasil Pascal
b. Raptor
12
>>
Hasil Raptor
3. Merubah Angka Hari Jadi Nama Hari
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
angka_hari : Integer;
nama_hari,tanya : String;
begin
Repeat
clrscr;
13
Write('Masukan Angka : ');
ReadLn(angka_hari);
case angka_hari of
1: WriteLn('Senin');
2: WriteLn('Selasa');
3: WriteLn('Rabu');
4: WriteLn('Kamis');
5: WriteLn('Jumat');
6: WriteLn('Sabtu');
7: WriteLn('Minggu');
end;
Write('Apakah Mau Mengulang ? (y/n) ');
ReadLn(tanya);
until tanya='n' ;
ReadLn();
end.
>> Hasil Pascal
14
b. Raptor
>> Hasil Raptor
15
MODUL 3
LOOPING
A. Tugas I
1. Menghitung Kuadrat 100 sampai 200
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
a,b : Integer;
begin
WriteLn('Bilangan Kuadrat dari 100 sampai 200 : ');
for a:=100 to 200 do
begin
b:=sqr(a);
WriteLn('Bilangan Kuadrat dari ',a,' = ',b)
end;
ReadLn();
end.
16
>> Hasil Pascal
b. Raptor
17
>> Hasil Raptor
2. Menghitung Faktorial dengan While
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
a,i,n : Integer;
f : Real;
answer : String;
18
begin
repeat
ClrScr;
Write('Masukan Bilangan Faktorial = ');
ReadLn(n);
a:=0;
f:=1;
for i:=1 to n do
begin
a:=a+1;
f:=f*i;
WriteLn('Bilangan Faktorial dari ',a,' = ',f:0:0);
end;
WriteLn();
Write('Apakah Anda akan mengulang ? (y/t)');
ReadLn(answer);
until answer=('t') ;
ReadLn();
end.
19
>> Hasil Pascal
b. Raptor
>>
Hasil Raptor
20
3. Menampilkan Bilangan Prima 0 sampai 100
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
n,q,r,hasil : Integer;
prima : Real;
begin
TextColor(Yellow);
n:=1;
WriteLn('Bilangan Prima 0 sampai 100');
WriteLn();
while n Hasil Pascal
22
b. Raptor
>> Hasil Raptor
4. Menampilkan Deret Febonacci
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
deret : array[0..10] of Integer;
n,i : Integer;
23
begin
Write('Masukan Jumlah Deret = ');
ReadLn(n);
for i:=0 to n-1 do
begin
if (i=0) or (i=1) then
begin
deret[i]:=1;
Write(deret[i],' ');
end
else
begin
deret[i]:=deret[i-1]+deret[i-2];
Write(deret[i],' ');
end;
end;
ReadLn();
end.
>> Hasil Pascal
24
b. Raptor
>> Hasil Raptor
25
MODUL 4
ARRAY
A. Tugas I
1. Menghitung Matriks Berordo
a. Pascal
program project1;
uses
crt;
var
{a: array [0..2, 0..2] of integer = ((0,2,3),(9,8,7),(9,5,4));
i,j : integer; }
matrikA : array[1..3, 1..2] of integer;
matrikB : array[1..2, 1..3] of integer;
matrikC : array[1..2, 1..2] of integer;
h,i,j : integer;
begin
{for i:=0 to 3 do
for j:=0 to 3 do
a[i,j]:= i * j;
a:=((0,2,3),(9,8,7),(9,5,4));
26
for i:=0 to 2 do
begin
for j:=0 to 2 do
write(a[i,j],' ');
writeln;
end;
readln();}
writeln('Elemen Matrik A : ');
for h:=1 to 3 do
begin
for i:=1 to 2 do
begin
write('Baris-',h,'kolom-',i,'=');
readln(matrikA[h,i]);
end;
end;
writeln;
writeln('Elemen Matrik B : ');
for j:=1 to 2 do
begin
for h:=1 to 3 do
begin
write('Baris- ',j,' Kolom- ',h,'= ');
readln(matrikB[j,h]);
27
end;
end;
for h:= 1 to 2 do
begin
for i:=1 to 2 do
begin
matrikC[h,i]:=0;
for j:=1 to 3 do
begin
MatrikC[h,i]:=matrikC[h,i] + matrikA[j,h] * matrikB[i,j];
end;
end;
end;
writeln;
for h:=1 to 3 do
begin
for j:=1 to 2 do
begin
write(matrikA[h,j]:4);
end;
writeln;
end;
writeln('X');
for j:=1 to 2 do
28
begin
for i:=1 to 3 do
begin
write(matrikB[j,i]:4);
end;
writeln;
end;
writeln('=');
for h:=1 to 2 do
begin
for i:=1 to 2 do
begin
write(matrikC[i,h]:4);
end;
writeln;
end;
readln();
end.
>> Hasil Pascal
29
2. Mencari Nilai Akhir
a. Pascal
program project1;
uses
crt;
var nilai : array[1..10, 1..10] of integer;
nama : array[1..10] of string;
n,i : integer;
result : double;
begin
write('masukkan jumlah data = ' );
readln(n);
{Input Data}
for i := 1 to n do
begin
write ('masukkan nama - ',i, ' = ' );
readln(nama[i]);
write('masukkan nilai teori - ',i,' = ');
readln(nilai[i,1]);
write('masukkan nilai praktek - ',i,' = ');
readln(nilai[i,2]);
end;
writeln();
30
writeln('-----------------------------------------------');
for i := 1 to n do
begin
writeln('Nama = ', nama[i]);
result:= (nilai[i,1] + nilai[i,2])/2;
writeln('Teori : ', nilai[i,1],', Praktek : ', nilai[i,2],', Nilai Akhir : ', result:3:2);
writeln('-----------------------------------------------');
end;
readln();
end.
>> Hasil Pascal
b. Raptor
31
>> Hasil Raptor
32
MODUL 5
RECORD
A. Tugas I
1. Menghitung Rata-rata IPK Mahasiswa
a. Pascal
program project1;
uses
crt;
Type
recordMahasiswa = record
nim : string;
nama : string;
ipk : double;
end;
var nilai : array[1..10] of recordMahasiswa;
i : integer;
result,rata : double;
begin
33
{Input Data}
for i := 1 to 5 do
begin
write ('masukkan nim - ',i, ' = ' );
readln(nilai[i].nim);
write('masukkan nama - ',i,' = ');
readln(nilai[i].nama);
write('masukkan ipk - ',i,' = ');
readln(nilai[i].ipk);
writeln();
end;
writeln();
writeln('-----------------------------------------------');
for i := 1 to 5 do
begin
writeln('NIM = ', nilai[i].nim, ', Nama = ', nilai[i].nama ,', IPK = ', nilai[i].ipk:3:2);
result:= result + nilai[i].ipk;
writeln('-----------------------------------------------');
end;
rata := result/5;
writeln('Rata-rata nilai ipk ', rata:3:2);
readln();
end.
34
>> Hasil Pascal
35
MODUL 6
FUNCTION
A. Tugas I
1. Mencari Fungsi Perimeter
a. Pascal
program project1;
uses
crt;
var p,l,result:integer;
function Perimeter(p,l:integer) : integer;
begin
Perimeter:=2*(p+l);
end;
begin
write('Masukkan panjang = ');
readln(p);
write('Masukkan lebar = ');
readln(l);
36
writeln();
write('Hasil Perimeter Persegi Panjang ', Perimeter(p,l));
readln();
end.
>> Hasil Pascal
2. Memasukan 2 Argumen Integer
a. Pascal
program project1;
uses
crt;
var bila,bilb:integer;
function Pembagi(bila,bilb:integer) : real;
begin
37
if bilb > 0 then
Pembagi:=bila/bilb
else
Pembagi:= -1;
end;
begin
write('Masukkan bil 1 = ');
readln(bila);
write('Masukkan bil 2 = ');
readln(bilb);
writeln();
write('Hasil Pembagi ', Pembagi(bila,bilb):5:2);
readln();
end.
>> Hasil Pascal
38
3. Menghitung Hasil A^n
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
A,n : Integer;
function Pangkat(x:Integer):Real;
var
Hasil : Real;
begin
Hasil:=exp(x*ln(A));
Pangkat:=Hasil;
end;
begin
ClrScr;
Write('Masukan Angka
: ');
39
ReadLn(A);
Write('Masukan nilai pangkat : ');
ReadLn(n);
WriteLn('Jadi ',A,'^',n,' Adalah ',Pangkat(n):9:0);
ReadLn();
end.
>> Hasil Pascal
40
MODUL 7
PROSEDUR
A. Tugas I
1. Menghitung Luas, Volume & Panjang Rusuk Balok
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
Volume,Luas,Panjang,p,l,t,hasil : Integer;
tanya : String;
procedure awal;
begin
Write('Masukan Panjang Balok = ');
ReadLn(p);
Write('Masukan Lebar Balok = ');
ReadLn(l);
Write('Masukan Tinggi Balok = ');
41
ReadLn(t);
end;
procedure Luas_Balok;
begin
Luas:=2*(p*l)+2*(l*t)+2*(t*p);
WriteLn('Luas Permukaan Balok = ',Luas);
end;
procedure Volume_Balok;
begin
Volume:=p*l*t;
WriteLn('Volume Permukaan Balok = ',Volume);
end;
procedure Panjang_balok;
begin
hasil:=p*l*t;
Panjang:=hasil div (l*t);
WriteLn('Panjang Rusuk Balok = ',Panjang);
ReadLn();
end;
begin
repeat
ClrScr;
begin
awal;
Luas_Balok;
Volume_Balok;
42
Panjang_Balok;
end;
Write('Apakah Akan Mengulang (y/t) ? ');
ReadLn(tanya);
until tanya='t';
ReadLn();
end.
>> Hasil Pascal
2. Menghitung Gaji Karyawan
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
43
var
GP,GL,TA,TK,JM,JA,JG : Real;
i,a,b : Integer;
procedure awal;
begin
Write('Input Jam Masuk Kerja = ');
ReadLn(JM);
Write('Input Banyaknya Anak = ');
ReadLn(JA);
end;
procedure Gaji_Pokok;
begin
GP:=JM*25000;
WriteLn('Gaji Pokok
= Rp. ',GP:3:2);
end;
procedure Gaji_Lembur;
begin
GL:=(10000-300)*JM;
WriteLn('Gaji Lembur
= Rp. ',GL:0:2);
end;
procedure Tunjangan_Anak;
begin
TA:=JA*50000;
WriteLn('Tunjangan Anak
= Rp. ',TA:3:2);
end;
procedure Tunjangan_Kesehatan;
44
begin
TK:=100000;
WriteLn('Tunjangan Kesehatan = Rp. ',TK:3:2);
end;
procedure Jumlah_Gaji;
begin
JG:=GP+GL+TA+TK;
WriteLn('Jumlah Gaji diTerima = Rp. ',JG:9:2);
end;
begin
awal;
Gaji_Pokok;
Gaji_Lembur;
Tunjangan_Anak;
Tunjangan_Kesehatan;
WriteLn('=====================================');
Jumlah_Gaji;
ReadLn();
end.
>> Hasil Pascal
45
MODUL 8
POINTER
A. Tugas I
1. Menghitung Usia dengan Pointer
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
p :^Integer;
usia : Integer;
begin
p:=@usia;
p^:=25;
WriteLn('Usia : ',usia);
ReadLn();
end.
46
>> Hasil Pascal
------------------------------------Terima Kasih----------------------------------------
47
SEMESTER GENAP II
Di susun oleh:
Sandi Ifan Maulana
NIM 04114017
UNIVERSITAS NAROTAMA
SURABAYA
2015
Daftar Isi
MODUL I..........................................................................................................................1
STRUKTUR DASAR PROGRAM................................................................................1
MODUL 2..........................................................................................................................8
STATEMEN KONDISIONAL......................................................................................8
MODUL 3........................................................................................................................16
LOOPING....................................................................................................................16
MODUL 4........................................................................................................................27
ARRAY.......................................................................................................................27
MODUL 5........................................................................................................................35
RECORD.....................................................................................................................35
MODUL 6........................................................................................................................38
FUNCTION.................................................................................................................38
MODUL 7........................................................................................................................43
PROSEDUR.................................................................................................................43
MODUL 8........................................................................................................................48
POINTER.....................................................................................................................48
i
ii
MODUL I
STRUKTUR DASAR PROGRAM
A. Tugas I
1. Menampilkan text pada monitor
a. Program Pascal
{program project1;
{$mode objfpc}{$H+}
begin
WriteLn('Kuliah Di Universitas Narotama');
WriteLn('Mencetak Sarjana Komputer Dengan Kompetensi Standart');
ReadLn;
end.}
>> Hasil Pascal
1
b. Raptor
>> Hasil Raptor
2
2. Menghitung luas dan volume bola
a. Pascal
program project1;
uses
crt;
var
r : Integer;
L,V : Real;
begin
Write('Masukan Jari-jari Bola = ');
ReadLn(r);
L:=4*3.14*r*r;
V:=4/3*3.14*r*r*r;
WriteLn('Luas Bola = ',L:9:2,' Satuan Luas');
WriteLn('Volume Bola = ',V:9:2,' Satuan Volume');
ReadLn();
end.
3
>> Hasil Pascal
b. Raptor
4
>> Hasil Raptor
3. Konversi Suhu
a. Pascal
program project1;
uses
crt;
var
C,F,R,K : Real;
i,j,l : Integer;
5
begin
Write('Masukan Suhu dalam Celcius : ');
ReadLn(C);
i:=5;
j:=9;
l:=4;
F:=(j/i)*C+32;
R:=C+32;
K:=(l/i*C);
WriteLn('Celcius ke Farenheit : ',F:9:2,' f');
WriteLn('Celcius ke Reamur : ',R:9:2,' r');
WriteLn('Celcius ke Kelvin : ',K:9:2,' k');
ReadLn();
end.
>> Hasil Pascal
6
b. Raptor
>> Hasil Raptor
7
MODUL 2
STATEMEN KONDISIONAL
A. Tugas I
1. Menghitung Rata-rata
a. Pascal
program project1;
uses
crt;
var
nilai: array [1..10] of Integer;
jum,x,n,i: Integer;
rt: Real;
begin
Write('Masukan Nilai Teori : ');
ReadLn(n);
Write('Masukan Nilai Praktikum : ');
ReadLn(i);
begin
jum:=n+i;
rt:=jum/2;
WriteLn('Jumlahnya adalah : ',jum);
WriteLn('Rata-ratanya adalah : ',rt:9:2);
WriteLn(' ');
if (rt>=60) and (rt> Hasil Pascal
b. Raptor
9
>> Hasil Raptor
2. Menampilkan Predikat Kelulusan
a. Pascal
program project1;
{$mode objfpc}{$H+}
10
uses
crt;
var
Predikat :String;
Nilai : Real;
begin
Write('Masukan Nilai IPK : ');
ReadLn(Nilai);
if (Nilai>=2.0) and (Nilai=2.5) and (Nilai=3.0) and (Nilai=3.5) and (Nilai> Hasil Pascal
b. Raptor
12
>>
Hasil Raptor
3. Merubah Angka Hari Jadi Nama Hari
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
angka_hari : Integer;
nama_hari,tanya : String;
begin
Repeat
clrscr;
13
Write('Masukan Angka : ');
ReadLn(angka_hari);
case angka_hari of
1: WriteLn('Senin');
2: WriteLn('Selasa');
3: WriteLn('Rabu');
4: WriteLn('Kamis');
5: WriteLn('Jumat');
6: WriteLn('Sabtu');
7: WriteLn('Minggu');
end;
Write('Apakah Mau Mengulang ? (y/n) ');
ReadLn(tanya);
until tanya='n' ;
ReadLn();
end.
>> Hasil Pascal
14
b. Raptor
>> Hasil Raptor
15
MODUL 3
LOOPING
A. Tugas I
1. Menghitung Kuadrat 100 sampai 200
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
a,b : Integer;
begin
WriteLn('Bilangan Kuadrat dari 100 sampai 200 : ');
for a:=100 to 200 do
begin
b:=sqr(a);
WriteLn('Bilangan Kuadrat dari ',a,' = ',b)
end;
ReadLn();
end.
16
>> Hasil Pascal
b. Raptor
17
>> Hasil Raptor
2. Menghitung Faktorial dengan While
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
a,i,n : Integer;
f : Real;
answer : String;
18
begin
repeat
ClrScr;
Write('Masukan Bilangan Faktorial = ');
ReadLn(n);
a:=0;
f:=1;
for i:=1 to n do
begin
a:=a+1;
f:=f*i;
WriteLn('Bilangan Faktorial dari ',a,' = ',f:0:0);
end;
WriteLn();
Write('Apakah Anda akan mengulang ? (y/t)');
ReadLn(answer);
until answer=('t') ;
ReadLn();
end.
19
>> Hasil Pascal
b. Raptor
>>
Hasil Raptor
20
3. Menampilkan Bilangan Prima 0 sampai 100
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
n,q,r,hasil : Integer;
prima : Real;
begin
TextColor(Yellow);
n:=1;
WriteLn('Bilangan Prima 0 sampai 100');
WriteLn();
while n Hasil Pascal
22
b. Raptor
>> Hasil Raptor
4. Menampilkan Deret Febonacci
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
deret : array[0..10] of Integer;
n,i : Integer;
23
begin
Write('Masukan Jumlah Deret = ');
ReadLn(n);
for i:=0 to n-1 do
begin
if (i=0) or (i=1) then
begin
deret[i]:=1;
Write(deret[i],' ');
end
else
begin
deret[i]:=deret[i-1]+deret[i-2];
Write(deret[i],' ');
end;
end;
ReadLn();
end.
>> Hasil Pascal
24
b. Raptor
>> Hasil Raptor
25
MODUL 4
ARRAY
A. Tugas I
1. Menghitung Matriks Berordo
a. Pascal
program project1;
uses
crt;
var
{a: array [0..2, 0..2] of integer = ((0,2,3),(9,8,7),(9,5,4));
i,j : integer; }
matrikA : array[1..3, 1..2] of integer;
matrikB : array[1..2, 1..3] of integer;
matrikC : array[1..2, 1..2] of integer;
h,i,j : integer;
begin
{for i:=0 to 3 do
for j:=0 to 3 do
a[i,j]:= i * j;
a:=((0,2,3),(9,8,7),(9,5,4));
26
for i:=0 to 2 do
begin
for j:=0 to 2 do
write(a[i,j],' ');
writeln;
end;
readln();}
writeln('Elemen Matrik A : ');
for h:=1 to 3 do
begin
for i:=1 to 2 do
begin
write('Baris-',h,'kolom-',i,'=');
readln(matrikA[h,i]);
end;
end;
writeln;
writeln('Elemen Matrik B : ');
for j:=1 to 2 do
begin
for h:=1 to 3 do
begin
write('Baris- ',j,' Kolom- ',h,'= ');
readln(matrikB[j,h]);
27
end;
end;
for h:= 1 to 2 do
begin
for i:=1 to 2 do
begin
matrikC[h,i]:=0;
for j:=1 to 3 do
begin
MatrikC[h,i]:=matrikC[h,i] + matrikA[j,h] * matrikB[i,j];
end;
end;
end;
writeln;
for h:=1 to 3 do
begin
for j:=1 to 2 do
begin
write(matrikA[h,j]:4);
end;
writeln;
end;
writeln('X');
for j:=1 to 2 do
28
begin
for i:=1 to 3 do
begin
write(matrikB[j,i]:4);
end;
writeln;
end;
writeln('=');
for h:=1 to 2 do
begin
for i:=1 to 2 do
begin
write(matrikC[i,h]:4);
end;
writeln;
end;
readln();
end.
>> Hasil Pascal
29
2. Mencari Nilai Akhir
a. Pascal
program project1;
uses
crt;
var nilai : array[1..10, 1..10] of integer;
nama : array[1..10] of string;
n,i : integer;
result : double;
begin
write('masukkan jumlah data = ' );
readln(n);
{Input Data}
for i := 1 to n do
begin
write ('masukkan nama - ',i, ' = ' );
readln(nama[i]);
write('masukkan nilai teori - ',i,' = ');
readln(nilai[i,1]);
write('masukkan nilai praktek - ',i,' = ');
readln(nilai[i,2]);
end;
writeln();
30
writeln('-----------------------------------------------');
for i := 1 to n do
begin
writeln('Nama = ', nama[i]);
result:= (nilai[i,1] + nilai[i,2])/2;
writeln('Teori : ', nilai[i,1],', Praktek : ', nilai[i,2],', Nilai Akhir : ', result:3:2);
writeln('-----------------------------------------------');
end;
readln();
end.
>> Hasil Pascal
b. Raptor
31
>> Hasil Raptor
32
MODUL 5
RECORD
A. Tugas I
1. Menghitung Rata-rata IPK Mahasiswa
a. Pascal
program project1;
uses
crt;
Type
recordMahasiswa = record
nim : string;
nama : string;
ipk : double;
end;
var nilai : array[1..10] of recordMahasiswa;
i : integer;
result,rata : double;
begin
33
{Input Data}
for i := 1 to 5 do
begin
write ('masukkan nim - ',i, ' = ' );
readln(nilai[i].nim);
write('masukkan nama - ',i,' = ');
readln(nilai[i].nama);
write('masukkan ipk - ',i,' = ');
readln(nilai[i].ipk);
writeln();
end;
writeln();
writeln('-----------------------------------------------');
for i := 1 to 5 do
begin
writeln('NIM = ', nilai[i].nim, ', Nama = ', nilai[i].nama ,', IPK = ', nilai[i].ipk:3:2);
result:= result + nilai[i].ipk;
writeln('-----------------------------------------------');
end;
rata := result/5;
writeln('Rata-rata nilai ipk ', rata:3:2);
readln();
end.
34
>> Hasil Pascal
35
MODUL 6
FUNCTION
A. Tugas I
1. Mencari Fungsi Perimeter
a. Pascal
program project1;
uses
crt;
var p,l,result:integer;
function Perimeter(p,l:integer) : integer;
begin
Perimeter:=2*(p+l);
end;
begin
write('Masukkan panjang = ');
readln(p);
write('Masukkan lebar = ');
readln(l);
36
writeln();
write('Hasil Perimeter Persegi Panjang ', Perimeter(p,l));
readln();
end.
>> Hasil Pascal
2. Memasukan 2 Argumen Integer
a. Pascal
program project1;
uses
crt;
var bila,bilb:integer;
function Pembagi(bila,bilb:integer) : real;
begin
37
if bilb > 0 then
Pembagi:=bila/bilb
else
Pembagi:= -1;
end;
begin
write('Masukkan bil 1 = ');
readln(bila);
write('Masukkan bil 2 = ');
readln(bilb);
writeln();
write('Hasil Pembagi ', Pembagi(bila,bilb):5:2);
readln();
end.
>> Hasil Pascal
38
3. Menghitung Hasil A^n
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
A,n : Integer;
function Pangkat(x:Integer):Real;
var
Hasil : Real;
begin
Hasil:=exp(x*ln(A));
Pangkat:=Hasil;
end;
begin
ClrScr;
Write('Masukan Angka
: ');
39
ReadLn(A);
Write('Masukan nilai pangkat : ');
ReadLn(n);
WriteLn('Jadi ',A,'^',n,' Adalah ',Pangkat(n):9:0);
ReadLn();
end.
>> Hasil Pascal
40
MODUL 7
PROSEDUR
A. Tugas I
1. Menghitung Luas, Volume & Panjang Rusuk Balok
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
Volume,Luas,Panjang,p,l,t,hasil : Integer;
tanya : String;
procedure awal;
begin
Write('Masukan Panjang Balok = ');
ReadLn(p);
Write('Masukan Lebar Balok = ');
ReadLn(l);
Write('Masukan Tinggi Balok = ');
41
ReadLn(t);
end;
procedure Luas_Balok;
begin
Luas:=2*(p*l)+2*(l*t)+2*(t*p);
WriteLn('Luas Permukaan Balok = ',Luas);
end;
procedure Volume_Balok;
begin
Volume:=p*l*t;
WriteLn('Volume Permukaan Balok = ',Volume);
end;
procedure Panjang_balok;
begin
hasil:=p*l*t;
Panjang:=hasil div (l*t);
WriteLn('Panjang Rusuk Balok = ',Panjang);
ReadLn();
end;
begin
repeat
ClrScr;
begin
awal;
Luas_Balok;
Volume_Balok;
42
Panjang_Balok;
end;
Write('Apakah Akan Mengulang (y/t) ? ');
ReadLn(tanya);
until tanya='t';
ReadLn();
end.
>> Hasil Pascal
2. Menghitung Gaji Karyawan
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
43
var
GP,GL,TA,TK,JM,JA,JG : Real;
i,a,b : Integer;
procedure awal;
begin
Write('Input Jam Masuk Kerja = ');
ReadLn(JM);
Write('Input Banyaknya Anak = ');
ReadLn(JA);
end;
procedure Gaji_Pokok;
begin
GP:=JM*25000;
WriteLn('Gaji Pokok
= Rp. ',GP:3:2);
end;
procedure Gaji_Lembur;
begin
GL:=(10000-300)*JM;
WriteLn('Gaji Lembur
= Rp. ',GL:0:2);
end;
procedure Tunjangan_Anak;
begin
TA:=JA*50000;
WriteLn('Tunjangan Anak
= Rp. ',TA:3:2);
end;
procedure Tunjangan_Kesehatan;
44
begin
TK:=100000;
WriteLn('Tunjangan Kesehatan = Rp. ',TK:3:2);
end;
procedure Jumlah_Gaji;
begin
JG:=GP+GL+TA+TK;
WriteLn('Jumlah Gaji diTerima = Rp. ',JG:9:2);
end;
begin
awal;
Gaji_Pokok;
Gaji_Lembur;
Tunjangan_Anak;
Tunjangan_Kesehatan;
WriteLn('=====================================');
Jumlah_Gaji;
ReadLn();
end.
>> Hasil Pascal
45
MODUL 8
POINTER
A. Tugas I
1. Menghitung Usia dengan Pointer
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
p :^Integer;
usia : Integer;
begin
p:=@usia;
p^:=25;
WriteLn('Usia : ',usia);
ReadLn();
end.
46
>> Hasil Pascal
------------------------------------Terima Kasih----------------------------------------
47