Anda di halaman 1dari 13

LAPORAN HASIL PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN I

NAMA : FAJAR BREBY F. TARIGAN


NIM : 193020503044
KELAS : C
MODUL : PROCEDURE & FUNCTION

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2020
BAB 1
TUJUAN DAN LANDASAN TEORI
1. Tujuan
1.1 Dapat memahami konsep prosedur dan fungsi
1.2 Mampu membuat prosedur dan fungsi baik dengan parameter maupun tanpa
Parameter
1.3 Mampu membedakan kapan menggunakan prosedur maupun fungsi

2. Landasan Teori

Di dalam pemrograman prosedur dan fungsi memiliki pengertian yang sama


yaitu sebagai sebuah program terpisah (sub-program) yang berfungsi untuk
mengerjakan tugas tertentu.

Tujuan dibuatnya prosedur atau fungsi adalah untuk memudahkan dalam


proses ngoding, karena setiap tugas atau fungsi nantinya dapat di kelompokan ke
dalam satu blok program (sub-program) yang terpisah dari program utama.
sehingga proses yang kelihatannya rumit dapat di pecah menjadi bagian-bagian
yang lebih sederhana.

Walaupun tujuan fungsi dan prosedur sama sebagai sub program namun
keduanya memiliki sifat dan ciri-ciri yang berbeda. Berikut ini adalah
perbedaannya:

▪ Perbedaan pertama terletak pada cara pendeklarasiannya, prosedur di


deklarasi menggunakan kata kunci procedure, sedangkan fungsi
memakai function.
▪ Perbedaan yang kedua, prosedur tidak memiliki tipe data sedangkan
fungsi mempunyai tipe data
▪ Karena fungsi memiliki tipe data maka fungsi akan mengembalikan nilai
sesuai dengan tipe nya saat fungsi tersebut dipanggil.
BAB II
PEMBAHASAN

Procedure/prosedur merupakan suatu program yang terpisah dalam


blok sendiri yang berfungsi sebagai sub-program (modul program) yang
merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan
program utama. Procedure berguna untuk mengumpulkan statement-statement
(Pernyataan) yang dapat dijalankan menjadi satu dalam blok dan untuk
menjalankan Kembali hanya dengan menuliskan nama procedure yang
menampungnya, yaitu pemanggilan dilakukan pada program utama.
Sedangkan Fungsi hampir sama dengan Prosedur. Perbedaannya adalah
bahwa fungsi memiliki tipe data sedangkan prosedut tidak memiliki tipe data.
Artinya bahwa sebuah fungsi dapat mengembalikan nilai sesuai dengan
tipenya Ketika menerima panggilan.
Bentuk umum procedure & function
Procedure nama_procedure
(parameter_input:tipe ; var
parameter output:tipe)
Begin
(kode program)
End.

Function Nama_Fungsi
(parameter_input:tipe; Var
parameter_output : tipe);
Begin
<pernyataan dalam Fungsi>;
End;

Parameter
Parameter adalah nama variabel yang dideklarasikan pada bagian
header Fungsi.
1. Parameter aktual (argumen) adalah parameter yang disertakan pada
waktu pemanggilan Fungsi.
2. Parameter formal adalah parameter yang dideklarasikan di dalam
bagian header Fungsi itu sendiri.

Aturan Parameter
Aturan yang harus diperhatikan antara parameter aktual dan parameter
formal:
1. Jumlah parameter aktual pada pemanggilan Fungsi harus sama
dengan jumlah parameter formal pada header Fungsinya.
2. Tiap parameter aktual harus bertipe sama dengan tipe parameter
formal yang bersesuaian
• Procedure tanpa parameter

program luassegitiga;
uses crt;
var a,t,h:real;
procedure luassegi3;
begin clrscr;
write('masukan nilai alas:'); readln(a);
write('masukan nilai tinggi:'); readln(t);
h:=a*t/2;
writeln('Hasilnya adalah:',h:0:0);
end;
begin
luassegi3;
readln;
end.
• Procedure dengan parameter
program luassegitiga;
uses crt;
var a,t:real;
procedure luassegi3(a,t:real);
var h:real;
begin
h:=a*t/2;
writeln('Hasilnya adalah:',h:0:0);
end;
begin
clrscr;
write('masukan nilai alas:'); readln(a);
write('masukan nilai tinggi:'); readln(t);
luassegi3(a,t);
readln;
end.

• Function tanpa parameter


program luaspersegi_panjang;
uses crt;
function lpersegipanjang:string;
var p,l,h:real;
begin
write('masukan nilai panjang:'); readln(p);
write('masukan nilai lebar:'); readln(l);
h:=p*l;
writeln('Hasilnya adalah:',h:0:0);
end;
begin
clrscr;
lpersegipanjang;
readln;
end.
• Function dengan parameter

program luaspersegipanjang;
uses crt;
function lpersegipanjang(p,l:integer):real;
begin lpersegipanjang:=p*l;
end;
var p,l:integer;
begin
clrscr;
write('masukan nilai panjang:');readln(p);
write('masukan nilai lebar:');readln(l);
writeln('Hasilnya adalah:',lpersegipanjang(p,l):0:0);
readln;
end.

Tugas.
1. Buatlah Kalkulator pengurangan,penjumlahan menggunakan Procedure tanpa
parameter.
Maka programnya ialah :
Program kal_tanpapara;
Uses crt;
Var a, b : integer;
jumlah, kurang : real;
procedure penjumlahan ;
begin
jumlah := a+b;
writeln (‘Jumlah A + B = ‘, jumlah:0:2);
end;
procedure pengurangan ;
begin
jumlah := a-b;
writeln (‘Kurang A - B = ‘, kurang:0:2);
end;
begin
clrscr;
write (‘Masukkan Nilai A =’);readln(a);
write (‘Masukkan Nilai B =’);readln(b);
penjumlahan;
pengurangan;
readln;
end.
2. Buatlah Kalkulator perkalian dan pembagian menggunakan Procedure
dengan parameter.
Maka programnya seperti berikut
Program kal_parameter;
Uses crt;
Var c, d :integer;
j: real;
procedure perkalian (a,b : integer; kali: real);
begin
kali:= a*b;
writeln(‘Hasil Perkalian :’,kali:6:2);
end;
procedure pembagian (a,b : integer; bagi: real);
begin
bagi:= a/b;
writeln(‘Hasil Pembagian :’,bagi:6:2);
end;
begin
clrscr;
write(‘Masukkan Bilangan Pertama : ‘);readln(c);
write(‘Masukkan Bilangan Kedua : ‘);readln(d);
perkalian (c,d,j);
pembagian (c,d,j);
readln;
end.

3. Buatlah procedure untuk menghitung volume balok dan volume kubus.


Programnnya sebagai berikut :
program volume;
usescrt;
var
menu : integer;
ulang : char;
p,l,v:real;
s,j:real;
al,tg,lu:real;
procedure volume_balok;
begin
repeat
clrscr;
writeln ('Menghitung Volume Balok ');
write ('Masukan Nilai Panjang :');readln (p);
write ('Masukan Nilai Tinggi :');readln(l);
write ('Masukan Nilai Lebar :');readln(t);
writeln ('Rumus : p*l*t');
v :=p*l*t;
writeln ('Volume Balok adalah :',v:0:0);
write (' ulang lagi[y/n]?'); readln (ulang);
until upcase (ulang) <>'Y';
end;

procedure volume_kubus;
begin
repeat
clrscr;
writeln ('Menghitung Volume kubus ');
write ('Masukan Nilai sisi :');readln (s);
writeln ('Rumus : s*s*s');
j:=s*s*s;
writeln ('Volume kubus adalah :',j:0:0);
write (' ulang lagi[y/n]?'); readln (ulang);
until upcase (ulang) <>'Y';
end;
procedure menu_utama;
begin
clrscr;
writeln ('Menu Utama');
writeln ('1. Volume Balok');
writeln ('2. volume kubus');
writeln ('3. keluar');
writeln;
write ('Pilih Menu :');readln(menu);
case menu of
1: begin
volume_balok;
menu_utama;
end;
2:begin
volume_kubus;
menu_utama;
end;
3:donewincrt;
end;
end;
begin
clrscr;
menu_utama;
end.

4. Buatlah Kalkulator (penjumlahan, pengurangan, perkalian, pembagian)


menggunakan function
program kalkulatorfunction;
usescrt;
var
a,b:integer;
jum,bagi,kurang,kali:real;
function jumlah:real;
begin
jum:=a+b;
end;
function pengurang:real;
begin
kurang:=a-b;
end;
function perkalian:real;
begin
kali:=a*b;
end;
function pembagi:real;
begin
bagi:=a/b;
end;
begin
clrscr;
write('Masukan Nilai A : ');readln(a);
write('Masukan Nilai B : ');readln(b);
jumlah;
writeln('Hasil Jumlah A+B =',jum:6:2);
pengurang;
writeln('Hasil Kurang A-B =',kurang:6:2);
perkalian;
writeln('Hasil Kali A*B =',kali:6:2);
pembagi;
writeln('Hasil Bagi A/B =',bagi:6:2);

readln;
end.

5. Buatlah program menghitung keliling dan luas segitiga sama kaki


Maka programnya adalah :
program segitiga_samakaki;
uses wincrt;
var s, a, t, luas, keliling : real;
respon : string;
begin
writeln('Program Segitiga Samakaki');
write('Sisi : '); readln(s);
write('Alas : '); readln(a);

t := sqrt( sqr(s) - sqr(a/2) );


luas := a*t/2;
keliling := 2*s+a;

writeln('tinggi = ',t:3:2);
writeln('Luas = ',luas:3:2);
writeln('Keliling = ',keliling:3:2);
write('Press Any Key '); readln(respon);
end.
6. Buatlah program menghitung keliling dan luas lingkaran.
Maka programnnya adalah:
Program hitunglingkaran;
Uses crt;
Var
r : integer;
keliling, luas: real;
const
phi =3.14;
begin
clrscr;
writeln(‘Program Hitung Lingkaran’);
writeln;
write(‘Masukkan Jari jari : ‘);readln(r);
luas := phi*r*r;
writeln;
writeln(‘Luas Lingkaran = ‘, luas:0:2);
keliling := 2*phi*r;
writeln(‘Keliling Lingkaran = ‘.keliling:0:2);
readln;
end.
BAB III
KESIMPULAN

Procedure/prosedur merupakan suatu program yang terpisah dalam


blok sendiri yang berfungsi sebagai sub-program (modul program) yang
merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan
program utama. Procedure berguna untuk mengumpulkan statement-statement
(Pernyataan) yang dapat dijalankan menjadi satu dalam blok dan untuk
menjalankan Kembali hanya dengan menuliskan nama procedure yang
menampungnya, yaitu pemanggilan dilakukan pada program utama.
Sedangkan Fungsi hampir sama dengan Prosedur. Perbedaannya adalah
bahwa fungsi memiliki tipe data sedangkan prosedut tidak memiliki tipe data.
DAFTAR PUSTAKA
Tim Dosen Teknik Informatika, Modul Praktikum Algoritma Pemrograman 1 ,
Fakultas Teknik Universitas Palangka Raya

Setiawan Dimas, https://kelasprogrammer.com/contoh-program-pascal-prosedur-dan-


fungsi/ , Diakses pada 24 November 2020
Unknown , http://ginanursayyidah.blogspot.com/2013/12/contoh-program-pascal-
dengan-procedure.html, Diakses pada 25 November 2020