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

Dokumen yang terkait

ANALISIS KELAYAKAN FINANSIAL AGRIBISNIS PERBENIHAN KENTANG (Solanum tuberosum, L) Di KABUPATEN LUMAJANG PROVINSI JAWA TIMUR

27 309 21

ANALISIS PENGARUH MANAJEMEN LABA TERHADAP NILAI PERUSAHAAN (Studi Empiris Pada Perusahaan Property dan Real Estate Yang Terdaftar Di Bursa Efek Indonesia)

47 440 21

STUDI PENGGUNAAN SPIRONOLAKTON PADA PASIEN SIROSIS DENGAN ASITES (Penelitian Di Rumah Sakit Umum Dr. Saiful Anwar Malang)

13 140 24

FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)

27 310 2

PENILAIAN MASYARAKAT TENTANG FILM LASKAR PELANGI Studi Pada Penonton Film Laskar Pelangi Di Studio 21 Malang Town Squere

17 165 2

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

SENSUALITAS DALAM FILM HOROR DI INDONESIA(Analisis Isi pada Film Tali Pocong Perawan karya Arie Azis)

33 290 2

PROSES KOMUNIKASI INTERPERSONAL DALAM SITUASI PERTEMUAN ANTAR BUDAYA STUDI DI RUANG TUNGGU TERMINAL PENUMPANG KAPAL LAUT PELABUHAN TANJUNG PERAK SURABAYA

97 602 2

Analisis Penyerapan Tenaga Kerja Pada Industri Kerajinan Tangan Di Desa Tutul Kecamatan Balung Kabupaten Jember.

7 76 65

ERBANDINGAN PREDIKSI LEEWAY SPACE DENGAN MENGGUNAKAN TABEL MOYERS DAN TABEL SITEPU PADA PASIEN USIA 8-10 TAHUN YANG DIRAWAT DI KLINIK ORTODONSIA RUMAH SAKIT GIGI DAN MULUT UNIVERSITAS JEMBER

2 124 18