TUGAS PRAKTIKUM ALGORITMA
SEMESTER GENAP II
Di susun oleh:
Sandi Ifan Maulana
NIM 04114017
UNIVERSITAS NAROTAMA
SURABAYA
Daftar Isi
MODUL I...1
STRUKTUR DASAR PROGRAM...1
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.}
b. Raptor
2. Menghitung luas dan volume bola
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();
>> Hasil Pascal
>> Hasil Raptor
3. Konversi Suhu
a. Pascal
program project1;
uses
crt;
var
C,F,R,K : Real;
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.
b. Raptor
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);
>> Hasil Pascal
>> Hasil Raptor
2. Menampilkan Predikat Kelulusan
a. Pascal
program project1;
uses
crt;
var
Predikat :String;
Nilai : Real;
begin
Write('Masukan Nilai IPK : ');
ReadLn(Nilai);
if (Nilai>=2.0) and (Nilai<2.5) then
Predikat:='Baik'
else
ReadLn();
end.
>> Hasil Pascal
>> 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
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.
b. Raptor
MODUL 3
LOOPING
A. Tugas I
1. Menghitung Kuadrat 100 sampai 200
a. Pascal
WriteLn('Bilangan Kuadrat dari 100 sampai 200 : ');
>> Hasil Pascal
>> Hasil Raptor
2. Menghitung Faktorial dengan While
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
a,i,n : Integer;
f : Real;
begin
repeat
ClrScr;
Write('Masukan Bilangan Faktorial = ');
ReadLn(n);
Write('Apakah Anda akan mengulang ? (y/t)');
ReadLn(answer);
until answer=('t') ;
ReadLn();
>> Hasil Pascal
b. Raptor
3. Menampilkan Bilangan Prima 0 sampai 100
n,q,r,hasil : Integer;
prima : Real;
begin
TextColor(Yellow);
n:=1;
WriteLn('Bilangan Prima 0 sampai 100');
if (q=2) then
begin
prima:=n;
n:=n+1;
Write(prima:0:0,' ');
end
else n:=n+1;
end;
ReadLn();
end.
b. Raptor
>> Hasil Raptor
4. Menampilkan Deret Febonacci
a. Pascal
program project1;
{$mode objfpc}{$H+}
uses
crt;
var
deret : array[0..10] of Integer;
begin
Write('Masukan Jumlah Deret = ');
ReadLn(n);
b. Raptor
MODUL 4
ARRAYA. Tugas I
1. Menghitung Matriks Berordo
a. Pascal
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
begin
2. Mencari Nilai Akhir
a. Pascal
program project1;
uses
crt;
var nilai : array[1..10, 1..10] of integer;
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
MODUL 5
RECORDA. 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;
{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();
writeln('Rata-rata nilai ipk ', rata:3:2);
readln();
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 = ');
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;
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.
ReadLn(A);
Write('Masukan nilai pangkat : ');
ReadLn(n);
WriteLn('Jadi ',A,'^',n,' Adalah ',Pangkat(n):9:0);
ReadLn();
end.
MODUL 7
PROSEDURA. Tugas I
1. Menghitung Luas, Volume & Panjang Rusuk Balok
a. Pascal
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);
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();
Luas_Balok;
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
var
GP,GL,TA,TK,JM,JA,JG : Real;
i,a,b : Integer;
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;
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.
MODUL 8
POINTERA. Tugas I
1. Menghitung Usia dengan Pointer
a. Pascal
WriteLn('Usia : ',usia);
ReadLn();
>> Hasil Pascal