Anda di halaman 1dari 16

LAPORAN HASIL PRAKTIKUM

ALGORITMA DAN PEMOGRAMAN I

NAMA : JERRY SETIAWAN RIZKY

NIM : DBC 115 013

KELAS :D

MODUL : VI (PROSEDUR DAN FUNGSI)

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS PALANGKARAYA

2015
BAB I

TUJUAN DAN LANDASAN TEORI

1.1 TUJUAN
1. Dapat memahami konsep prosedur dan fungsi.
2. Mampu membuat prosedur dan fungsi baik dengan parameter maupun
tanpa parameter.
3. Mampu membedakan kapan menggunakan prosedur atau fungsi.

1.2 LANDASAN TEORI

SUB ALGORITMA (PROCEDURE DAN FUNCTION)


Sub Algoritma adalah sebuah algoritma pendek yang ditulis terpisah
dari Algoritma utama, dimana setiap saat dibutuhkan dapat dipanggil tanpa
menulis ulang. Dalam pembuatan program Sub Algoritma disebut juga
dengan Sub Program. Dengan adanya Sub Algoritma atau Sub Program
dapat memberikan kemudahan dalam pembuatan atau pemahaman
terhadap program, karena program yang panjang dapat dipisah menjadi
blok-blok kecil yang mempunyai tugas sendiri sendiri. Keuntungan lain
dari Sub Program adalah bila dalam sebuah program terdapat proses
tertentu yang sering digunakan dalam program, maka dengan adanya sub
algoritma kita tidak perlu menuliskan proses tersebut berulang ulang,
cukup memanggil sub program yang sudah disiapkan.
Bentuk Sub Program dapat berupa sebuah Prosedur ataupun Fungsi, dan
dalam setiap Prosedur atau Fungsi tersebut dapat dilewatkan sebuah
Parameter agar Prosedur/ Fungsi tersebut mampu menerima inputan dari
program utama.
PROCEDURE (Prosedur)
Prosedur diawali dengan kata cadangan Procedure didalam bagian
deklarasi prosedur. Prosedur dipanggil dan digunakan didalam blok
program yang lainnya dengan menyebut judul prosedurnya.
Prosedur banyak digunakan pada program yang terstruktur, karena :
1. Merupakan penerapan konsep program modular, yaitu memecah-
mecah program yang rumit menjadi program-program bagian yang
lebih sederhana dalam bentuk prosedur-prosedur.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan
sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan
sewaktu-waktu bila diperlukan. Sebagaimana halnya sebuah program,
suatu prosedur juga memiliki header dan blok. Perbedaan bentuknya
dengan program hanyalah pada bagian header-nya saja.
Bentuk Umum header suatu procedure adalah :
PROCEDURE nama;
Atau
PROCEDURE nama (formal parameter : jenis);
Jika kita menggunakan procedure dalam suatu program, maka
procedure
tersebut harus dituliskan pada bagian deklarasi.
Contoh : Misal akan dibuat suatu procedure untuk menentukan bilangan
bulat terbesar diantara tiga bilangan bulat, maka procedure tersebut adalah
sebagai berikut :

PROCEDURE maksimum;
VAR max : integer;
BEGIN
IF a > b THEN max := a ELSE max := b;
IF c > max THEN max := c;
WRITELN(max);
END.

Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus
dideklarasikan dengan tipenya atau jenis hasilnya. Tipe deklarasi ini
menunjukkan tipe hasil dari fungsi. Pada bahasa Pascal dikenal beberapa
fungsi, misalkan : abs, pred, sqrt, sqr, succ dan sebagainya. Fungsi-fungsi
tersebut biasanya dikenal dengan Built in Function. Sedangkan function
yang akan kita bicarakan disini adalah fungsi yang kita buat sendiri.
Berbeda dengan procedure, function merupakan modul program yang
menghasilkan suatu kuantitas. Hal ini dapat dilihat dari bentuk header-nya
yang menyebutkan jenis data dari kuantitas yang dihasilkan.
PARAMETER
Perlu diingat bahwa sebuah prosedur biasa tidak bisa menerima inputan
nilai dari program utama (hanya bisa dipanggil saat diperlukan).
Tetapi sebuah prosedur akan bisa menerima inputan dari program utama
jika dilengkapi dengan sebuah PARAMETER. Parameter adalah variabel
dalam sebuah prosedur atau fungsi yang gunanya untuk menampung nilai
yang dikirimkan oleh program yang memanggil prosedur atau fungsi
tersebut.
PARAMETER dideklarasikan setelah nama prosedur, diikuti dengan jenis
variabelnya.
Contoh:
PROCEDURE satu(n_akhir:integer);

FUNCTION (FUNGSI)

Function hampir sama dengan prosedur, bedanya function hanya


menghasilkan satu nilai output, dan sebuah function bisa mengembalikan
nilai output yang dihasilkannya tersebut ke program utama
(pemanggilnya).
FUNCTION nama : je nis hasil;
Atau FUNCTION nama (formal parameter : jenis ) : je nis_hasil;
Contoh :
Akan dibuat suatu fungsi dengan nama MAX yang dapat menentukan
integer terbesar di antara dua integer.
Function MAX (x,y : integer) : integer;
Begin
If x < y then MAX := y ;
Else MAX := x;
End;
Contoh :
Function Hitung(Var A,B : integer): integer;
Begin
Hitung := A + B;
End;
Var X,Y : integer;
Begin
Write(‘Nilai X ? ‘);
Readln(X);
Write(‘Nilai Y ? ‘);
Readln(Y);
Writeln;
Writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y));
End.
Hasilnya :
Nilai X ? 2
Nilai Y ? 3
2+3=5
BAB II
LANGKAH KERJA

1. Buatlah program dengan menggunakan prosedur untuk menghitung


luas persegi panjang tanpa parameter masukan. Simpan file dengan
nama NamaAnda_prosedur1.pas
2. Modifikasi program diatas dengan menggunakan parameter masukan.
Simpan file dengan nama NamaAnda_prosedur2.pas
3. Modifikasi program diatas dengan menggunakan parameter keluaran.
Simpan file dengan nama NamaAnda_prosedur3.pas
4. Modifikasi program prosedur3 dengan menggunakan fungsi.
BAB III
PEMBAHASAN

Hal-hal yang dibahas pada laporan hasil praktikum kali ini adalah
tentang Prosedur dan Fungsi, dan yang akan dibahas yaitu program pada
langkah kerja yang ke 3 dan 4. Berikut saya sertakan juga Tampilan
program pada langkah kerja yang ke 1 dan 2 :

1. Tampilan program pertama menggunakan prosedur tanpa prameter


masukan :

Program diatas sebenarnya tidak terlalu berbeda jauh dengan


program tanpa menggunakan prosedur, karena prosedur diatas masih
merupakan contoh yang paling sederhana dari prosedur dan tidak
terdapat banyak perubahan dari program yang tidak menggunakan
prosedur. Pada tampilan output, program akan mengarahkan user
untuk memasukan nilai Panjang dan Lebar dari suatu persegi panjang
lalu akan melakukan perhitungan dan dihasilkan Luas dari persegi
panjang tersebut.
Berikut tampilan outputnya ketika sudah diberi input panjang dan lebar
2. Pembahasan modifikasi program Prosedur1 dengan menggunakan
parameter masukan :

Ketika di Run, program diatas akan meminta kita memberikan


inputan dari nilai panjang dan lebar. Disini saya memasukan Panjang
= 4, dan Lebar = 5. Berikut tampilan outputnya :

Maka ketika di enter, akan tampil pada outputnya tulisan “Persegi


dengan Panjang 4 dan lebar 5 memiliki Luas 20”. Berikut tampilan
outputnya :

3. Tampilan listing modifikasi program prosedur2 dengan menggunakan


parameter keluaran :
Pada program diatas, pada baris pertama ada “Program
Prosedur3;” yaitu judul program.
Lalu pada baris kedua ada “Uses crt ;”, disini Uses crt berfungsi
sebagai pemanggil Library yang digunakan pada program.
Pada baris ketiga ada “Var”, Var disini berfungsi sebagai pembaca
Variabel yang ada pada program serta tipe data yang digunakan. Pada
program diatas, variabel yang digunakan adalah p,l,Luas dengan tipe
datanya integer. Dapat ditulis seperti berikut : “p,l,Luas:integer;”.
Integer sendiri digunakan untuk inputan berupa bilangan bulat. Dan
pada bagian ini, isi dari variabelnya disebut juga dengan parameter
global.
Tanda “ : ’’ itu sendiri digunakan untuk membaca tipe data yang
digunakan oleh variabel. Sedangkan tanda “ ; ” itu sendiri digunakan
sebagai pembatas atau akhir dari statemen tersebut ketika dibaca oleh
program.
Lalu pada baris selanjutnya, sesuai dengan perintah pada langkah
kerja. Saya menggunakan prosedur pada program yang penulisanya
“Procedure Hitung_Luas(Var a,b,c:integer);”. Tulisan Procedure
disini menyatakan bahwa program tersebut menggunakan prosedur.
Sedangkan Hitung_Luas adalah nama dari prosedur yang digunakan.
Selanjutnya, setelah nama prosedur yang digunakan, disematkan
variabel dan parameter yang digunakan. Penulisannya ditulis
menyambung dengan nama prosedur dan berada didalam kurung.
Pada baris selanjutnya, ada badan program “Begin” dan “End;”
yang didalamnya terdapat proses atau rumus “c:=a*b” yang digunakan
untuk menghitung inputan pada program.
Selanjutnya, masuk pada “Begin” dan “End.” sebagai inti program
yang akan membaca setiap inputan yang prosesnya sudah dilakukan
pada prosedur diatas. Dibawah begin selalu dituliskan “Clrscr”
fungsinya untuk membersihkan layar dari hasil output sebelumnya.
Pada bagian inti program ini, hanya akan dilakukan pemanggilan
prosedur untuk menampilkan outputnya.
Berikut instruksi-instruksi yang terdapat pada inti program :
Writeln(‘Program Menghitung Luas Persegi Panjang’);
Writeln;
Write(‘Masukan Panjang :’); readln(p);
Write(‘Masukan Lebar :’); readln(l);
Writeln;
Hitung_Luas(p,l,Luas);
Writeln(‘Luas Persegi Panjang = ’,Luas);
Pada baris selanjutnya, ada instruksi “Readkey;” yang berfungsi
untuk membaca kembali program serta mengenali setiap Library yang
digunakan pada program. Dan program diakhiri dengan perintah
“End.”.
Berikut tampilan output dari modifikasi program prosedur2 dengan
menggunakan parameter keluaran :

4. Pembahasan modifikasi program Prosedur3 dengan menggunakan


fungsi :

Pada program diatas, pada baris pertama “Program Fungsi;”


merupakan judul program. Lalu pada baris kedua ada “Uses crt ;”,
disini Uses crt berfungsi sebagai pemanggil Library yang digunakan
pada program.
Pada baris ketiga ada “Var”, Var disini berfungsi sebagai pembaca
Variabel yang ada pada program serta tipe data yang digunakan. Pada
program diatas, variabel yang digunakan adalah p,l,Luas dengan tipe
datanya integer. Dapat ditulis seperti berikut : “p,l,Luas:integer;”.
Integer sendiri digunakan untuk inputan berupa bilangan bulat.
Lalu pada baris selanjutnya, sesuai dengan perintah pada langkah
kerja. Saya menggunakan fungsi pada program yang penulisanya
“Function Hitung_Luas(Var a,b,c:integer):integer;”. Tulisan
Function disini menyatakan bahwa program tersebut menggunakan
prosedur fungsi. Sedangkan Hitung_Luas adalah nama dari prosedur
fungsi yang digunakan. Selanjutnya, setelah nama dari prosedur fungsi
yang digunakan, disematkan variabel dan parameter yang digunakan.
Penulisannya ditulis menyambung dengan nama prosedur dan berada
didalam kurung. Kemudian, dibelakangnya selalu diberi tipe data dari
Variabel dan parameter yang digunakan. Fungsinya untuk membaca
kembali variabel dan parameternya.
Pada baris selanjutnya, ada badan program “Begin” dan “End;”
yang didalamnya terdapat proses “Hitung_Luas=p*l” yang digunakan
untuk menghitung inputan pada program lalu memberikannya kepada
output.
Selanjutnya, masuk pada “Begin” dan “End.” sebagai inti program
yang akan membaca setiap inputan yang prosesnya sudah dilakukan
pada prosedur diatas. Dibawah begin selalu dituliskan “Clrscr”
fungsinya untuk membersihkan layar dari hasil output sebelumnya.
Pada bagian inti program ini,
Berikut instruksi-instruksi yang terdapat pada inti program :
Write(‘Masukan Panjang :’); readln(p);
Write(‘Masukan Lebar :’); readln(l);
Writeln(‘Persegi dengan panjang:’,p,’ dan lebar:’,l,’ memiliki
luas=’, Hitung_Luas(p,l));
Pada baris selanjutnya, ada instruksi “Readkey;” yang berfungsi
untuk membaca kembali program serta mengenali setiap Library yang
digunakan pada program. Dan program diakhiri dengan perintah
“End.”.

TUGAS :

1. Tulislah prosedur yang menghasilkan nilai rata-rata sekumpulan bilangan


bulat yang dibaca secara berulang-ulang dari piranti masukkan. Akhir dari
pembacaan adalah 9999. Prosedur memiliki parameter keluaran yaitu nilai
rata-rata yang dihasilkan.
Berikut adalah Program yang saya buat

Pada program diatas saya menggunakan perintah prosedur untuk menghasilkan


nilai rata-rata dari bilangan bulat yang kita ketahui bahwa Procedure adalah
sebuah sub program yang dapat dipanggil sewaktu – waktu jika diperlukan oleh
program utama. Selain menggunakan prosedur saya juga menggunakan perintah
For to do untuk membaca bilangan bulat secara berulang-ulang untuk
menghasilkan nilai rata-rata pada piranti keluaran dengan memasukan jumlah
perulangannya. Berikut adalah hasil outputnya.
Output Program

2. Memodifikasi tugas 1 dengan menggunakan fungsi.

Berikut adalah Program yang saya buat

Pada program diatas saya diperintahkan untuk memodifikasi tugas 1 dengan


menggunakan Fungsi, Function hampir sama dengan prosedur, bedanya function
hanya menghasilkan satu nilai output, dan sebuah function bisa mengembalikan
nilai output yang dihasilkannya tersebut ke program utama(pemanggilnya).
Kemudian saya juga menggunakan perintah For to do untuk membaca bilangan
bulat secara berulang-ulang untuk menghasilkan nilai rata-rata pada piranti
keluaran dengan memasukkan jumlah perulangannya. Berikut hasil output dari
program yang saya buat.

Output Program
BAB IV
KESIMPULAN

PROSEDUR
Prosedur adalah suatu program terpisah dalam blok sendiri yang
berfungsi sebagai subprogram (program bagian). Diawali dengan kata
cadangan “procedure” didalam bagian deklarasi prosedur. Prosedur
biasanya bersifat suatu aktifitas seperti menghitung luas, menghitung
factorial, mencari nilai maksimum/minimum, dan sebagainya. Prosedur
banyak digunakan pada program yang terstruktur karena :
1. Merupakan konsep program modular, yaitu memecah-mecah program
yang rumit menjadi program-program bagian yang lebih sederhana
dalam bentuk prosedur-prosedur.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan
sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan
sewaktu-waktu bila diperlukan.

FUNGSI
Fungsi sama seperti halnya dengan procedure, namun tetap ada
perbedaannya yaitu fungsi mempunyai output dengan tipe variabel yang
kita tentukan. Dan cara pemanggilan variabel ada 2 macam dalam pascal,
yaitu :
- Meng-outputkan nilai dari fungsi tersebut. Contoh :
Writeln(NamaFungsi(parameter));
- Dengan assignment variabel_1 := NamaFungsi(parameter);
Berbeda dengan procedure yang bisa tidak menggunakan parameter,
fungsi harus menggunakan parameter dalam penggunaannya. Blok fungsi
juga diawai dengan kata cadangan Begin dan di akhiri dengan kata
cadangan End dan titik koma.
Perbedaan fungsi dan prosedur adalah :
1. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya
(kalau pada prosedur pada parameter dikirimkan secara acuan).
2. Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut
dapat langsung digunakan untuk dicetak hasilnya atau nilai fungsi
tersebut dapat juga langsung dipindahkan ke pengenal variabel yang
lainnya.
3. Pada prosedur, nama prosedur tidak dapat digunakan langsung, yang
dapat langsung digunakan adalah parameternya yang mengandung
nilai balik.

Mengapa menggunakan prosedur dan fungsi ?


1. Memecahkan program yang rumit dan besar menjadi program yang
lebih sederhana.
2. Untuk aktivitas yang dilakukan lebih dari satu kali/sering dilakukan
berulang-ulang.
BAB V
DAFTAR PUSTAKA

- http://blacklustersoldiers.multiply.com/journal/item/2.
- http://kur2003.if.itb.ac.id/file/IF1282/Pemograman-prosedural-
pertemuan4v01.pdf.
- http://www.varia.web.id/2013/05/Prosedur-dan-fungsi-pada-
algoritma.html.
- http://www.khabib.staff.ugm.ac.id/index.php?
option=com_content&task=view&id=82&Itemid=33.
- Modul praktikum Algoritma dan Pemrograman I, 2015

Anda mungkin juga menyukai