Anda di halaman 1dari 23

LAPORAN HASIL PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN 1

NAMA

: ALI FAHRUDDIN

NIM

: DBC 113 046

KELAS

:G

MODUL

: VI (PROSEDUR DAN FUNGSI)

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2013

BAB I
TUJUAN DAN LANDASAN TEORI
1.1

Tujuan Praktikum

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 dan fungsi

1.2 Landasan Teori


Prosedur dan Fungsi
Di dalam dunia pemrograman untuk membuat suatu program yang besar,
maka program tersebut perlu disusun dari subprogram yang kecil-kecil. Setiap
subprogram terkadang dapat berdiri sendiri dari program utama dan tiap
subprogram itu disebut sebagai modul program.di dalam pemrograman pascal ada
2 jenis

modul

yang

sering digunakan yaitu

prosedur(procedure)

dan

fungsi(function). Dengan adanya modul dalam suatu program memberikan dua


kweuntungan ,pertama untuk menghindari penulisan teks program yang sama
secara berulang kali, kita cukup menuliskan modul progrma sekali saja,setelah itu
kita dapat mengakses (memanggil) modul program itu lebih dari satu kali, sesuai
dengan kebutuhan program itu sendiri,jadi,penggunaan modul program dapat
mengurangi panjangnya program.
A. Prosedur
prosedur adalah modul program yang mengerjakan aktivitas / tugas secara
khusus dan menghasilkan suatu efek tertentu. Dalam prosedur juga kita perlu
mendefinisikan variabel yang akan digunakan dalam prosedur tersebut. Variabel
pada prosedur ini bersifat lokal,artinya variabel dalam prosedur ini hanya berlaku
dalam operasi pada prosedur yang mendeklarasikan variabel tersebut.berikut
contoh pendeklarasian suatu prosedur.
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 statemen-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.
STRUKTUR PROCEDURE :

JUDUL (header) --> nama prosedur dan deklarasi parameter(kalau ada)

DEKLARASI --> mengumumkan nama-nama dan tipe data

ALGORITMA --> badan prosedur (instruksi)

NOTASI ALGORITMA UNTUK PROCEDURE :


Procedure NamaProsedur(deklarasi parameter, jika ada)
{spesifikasi prosedur, berisi penjelasan tentang apa yg dilakukan oleh prosedur
ini.
Kondisi awal : keadaan sebelum prosedur dilaksanakan.
Kondisi akhir : keadaan setelah prosedur dilaksanakan}
DEKLARASI
{semua nama yg dipakai di dalam prosedur dan hanya berlaku lokal di dalam
prosedur ini}
ALGORITMA
{badan prosedur, berisi urutan instruksi}
PENGGUNAAN/PEMANGGILAN PROCEDURE :

Prosedur bukan program yg beridiri sendiri

Prosedur tidak dapat dieksekusi secara langsung.

Instruksi-instruksi di dalam prosedur dapat dilaksanakan bila prosedur itu


diakses.

Prosedur diakses dg cara memanggil namanya dari program pemanggil


(misalnya dari program utama atau modul program lainnya)

Jika prosedur tanpa parameter, maka pemanggilannya cukup dg nama


prosedurnya saja,

Selain itu procedure yang banyak dipakai untuk menampung baris-baris perintah
yang sering dipakai dalam sebuah program. Untuk mendeklarasikan procedure
dapat dilakukan dengan dua cara :

Header Procedure tanpa parameter

Header Procedure dengan menggunakan parameter

1. Header Procedure tanpa parameter


yaitu penulisannya diawali dengan kata baku procedure dan diikuti dengan
nama procedure serta diakhiri dengan tanda titik koma (;).
Bentuk Umum :
Procedure <namaProcedure>
Example :
Procedure makcumabdu;
Procedure kampret;
Contoh Programnya :
uses wincrt;
var
kol,bar,has1,has2:integer;
procedure tabel;
begin
has1:= kol+bar;
has2:= kol*bar;
writeln('Kolom + Baris = ',has1);
writeln('Kolom * Baris = ',has2);
end;
begin
gotoxy(21,2); writeln('Contoh Program Procedure Tanpa Parameter');
gotoxy(21,3); writeln('----------------------------------------');

write('Masukkan Jumlah Kolom = '); readln(kol);


write('Masukkan Jumlah Baris = '); readln(bar);
tabel;
end.
Output Program :

2. Header Procedure Dengan Menggunakan parameter


Yaitu penulisannya hampir sama dengan Procedure tanpa parameter.
yaitu diawali dengan kata baku procedure, lalu diikuti dengan parameterparameter (yang berada didalam kurung) yang masing-masing dipisahkan dengan
koma beserta dengan tipenya yang dipisahkan dengan titik dua (:) serta diakhiri
dengan tanda titik koma (;).
Bentuk Umum :
Procedure <namaProcedure> (<daftarParameter>);
Example :
Procedure makcumabdu(nim:integer; nama:string);
Procedure kampret(jos,jis:real);
Contoh Programnya :
uses wincrt;
var
kol,bar,has1,has2:integer;
procedure tabel(a,b:integer);
begin
has1:= kol+bar;
has2:= kol*bar;
writeln('Kolom + Baris = ',has1);

writeln('Kolom * Baris = ',has2);


end;
begin
gotoxy(21,1); writeln('****************************************');
gotoxy(21,2); writeln('*Contoh Procedure Menggunakan Parameter*');
gotoxy(21,3); writeln('*--------------------------------------*');
gotoxy(21,4); writeln('****************************************');
write('Masukkan Jumlah Kolom = '); readln(kol);
write('Masukkan Jumlah Baris = '); readln(bar);
tabel(kol,bar);
end.
Output Programnya :

CONTOH KASUS :
Buatlah program dengan memanfaat Procedure untuk kasus Penilaian dengan
kreteria Tugas 30%, UTS 30% dan UAS 40%.
Programnya:
uses wincrt;
var
a,b,c,d:real;
procedure nilai;
begin
d:= ((a*0.3) + (b*0.3) + (c*0.4));
write(d:2:2);
end;
begin

write('Masukkan Nilai Tugas Anda : ');readln(a);


write('Masukkan Nilai UTS Anda : ');readln(b);
write('Masukkan Nilai UAS Anda : ');readln(c);
write('Nilai Anda : ');
nilai;
end.
Output Program :

B. Fungsi
Fungsi merupakan bagian yang terpisah dan mirip dengan prosedur,
namun ada perbedaannya. Kata Fungsi mengawali bagian deklarasi fungsi diikuti
oleh identifier yang merupakan nama dari fungsinya dan secara optional dapat
diikuti oleh kumpulan paramter, tipe dari fungsinya dan diakhiri dengan titik
koma.
Fungsi tidak jauh berbeda dengan prosedur, yaitu suatu modul program
terpisah dari progam utama yang diletakan dalam blok tersendiri yang berfungsi
sebagai bagian dari program. Namun fungsi memiliki perbedaan mendasar dengan
prosedur yaitu : fungsi memberikan nilai balik (return) sedangkan prosedur tidak.
Sama seperti prosedur, untuk mengakses setiap Fungsi kita harus
memanggil namanya. Fungsi juga dapat memiliki parameter, tetapi parameter
yang terdapat dalam fungsi selalu merupakan parameter masukan (input
parameter). Tipe hasil di dalam suatu fungsi merupakan tipe nilai balik (return)
yang diberikan oleh fungsi.
Cara Penulisan
Function Nama_Fungsi(param_formal:tipe_param,...):tipe_hasil;
var {bagian deklarasi fungsi, sifatnya lokal}

begin
statement-1;
statement-2;
Statement-n;
Nama_Fungsi:=hasil;
end;
Blok pada function hampir sama dengan blok pada procedure, hanya pada
function harus dideklarasikan dengan tipe dari function tersebut yang merupakan
tipe hasil dari function itu sendiri. Sehingga dikatakan function dapat
mengembalikan nilai.
Perbedaan fungsi dengan prosedur adalah:
Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya(kalau
pada prosedur parameter yang dikirimkan secara acuan).
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.
Pada prosedur, nama prosedur tidak dapat digunakan langsung, yang dapat
langsung digunakan adalah parameternya yang mengandung nilai balik.
Contoh program function :
Uses crt;
Function faktor(bilangan :integer) : real;
Begin
If bilangan = 0 then faktor := 1
Else
Faktor := faktor(bilangan-1)*bilangan;
End;
Var
n : integer;
begin
clrscr;
write(Berapa Faktorial Dari = ); readln(n);

writeln(n, faktorial = , faktor(n):9:0);


readln;
end.
Contoh
Buatkan program menggunkan fungsi untuk menghitung volume suatu balok jika
volume balok dihitung dengan rumus volume=p*l*t?
Program fungsi;
uses wincrt;
var
pjg,lbr,tinggi:integer;
function volume(p,l,t :integer) :integer;
begin
volume:=p*l*t;
end;
begin
writeln('***FUNGSI PADA PASCAL***');
writeln('------------------------------');
writeln('masukan nilai panjang: ');
readln(pjg);
writeln('masukan nilai lebar: ');
readln(lbr);
writeln('masukan nilai tinggi: ');
readln(tinggi);
writeln('volume kotak: ',volume(pjg,lbr,tinggi));
writeln('------------------------------');
writeln('------------------------------');
end.

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 dengan nama NamaAnda_prosedur2.pas
3. Modifikasi program diatas dengan menggunakan parameter keluaran
simpan file dengan nama NamaAnda_prosedur3.pas
4. Modifikasi program prosedur3 anda dengan menggunakan fungsi.

Tugas
1. Tulislah prosedur yang menghasilkan nilai rata-rata sekumpulan bilangan
bulat yang dibaca secara berulang-ulang dari piranti masukan (akhir dari
pembacaan adalah 9999). Prosedur memiliki parameter keluaran, yaitu
nilai rata-rata yang dihasilkan.
2. Modifikasi tugas 1 dengan menggunakan fungsi.

BAB III

PEMBAHASAN
Langkah 1
Dalam program pertama kita dapat membuat program prosedur tanpa
menggunakan parameter, keuntungan menggunakan prosedur kita dapat
memanggil prosedur sewaktu waktu digunakan dan hanya menuliskan satu kali
dalan prosedur tersebut.
Kita dapat menuliskan algoritmanya
NOTASI ALGORITMA UNTUK PROCEDURE :
Procedure Luas_persegi
{menghitung luas persegi panjang dari input panjang dan lebar yang dimasukkan}
Kondisi awal : keadaan sebelum prosedur dilaksanakan.
Kondisi akhir : keadaan setelah prosedur dilaksanakan}
DEKLARASI
p

: integer { panjang yang diinputkan}

: integer { lebar yang di inputkan }

luas

: integer { hasil output }

ALGORITMA

Kita untuk menuliskan program luas persegi panjang kita memerlukan 3 buah
variabel yaitu panjang ( p ) dan luas ( l ) digunakan untuk input, sedanggkan
Luas untuk hasil output

Kita menggunakan nama prosedur Luas_Persegi yang digunakan untuk


memanggil prosedur yang dipakai dan tidak usah menuliskan lagi dalam
program utama.

Dalam prosedur dibawah nama prosedur yang merupakan bagian prosedurnya


yang digunakan untuk pemanggilan sewaktu-waktu dipakai

Dalam program utama kita tidak usah menuliskan rumus luas persegi panjang
karena kita sudah menuslikan dalam prosedur dan kita langsung saja
memanggilnya apabila ingin memakainya hanya dengan menuliskan nama
prosedurnya

langkah 2
Dalam program kedua kita dapat menuliskan prosedur dengan menggunakan
parameter masukkan, masukkan kita gunakan adalah panjang ( p ) dan lebar ( l ).
Program kedua sama dengan pada program yang kedua tetapi kita menuliskan
parameter masukkan pada program kedua.
Untuk menuliskan parameter masukkan kita tuliskan didalam kurung variabel
masukkan yang kita gunakan beserta tipe data yang dipakai, penulisannya
setelah nama prosedur.

Dan pada pemanggilan prosedur pada program utama kita menuliskan nama
prosedur ditambah variabel masukkan yang dimasukkan kedalam kurung.

Langkah 3
Dalam program ketiga kita juga dapat menuliskan prosedur dengan menggunakan
parameter keluaran yang kita tulis setelah nama prosedur dengan diapit oleh
kurung.

Penulisan parameter keluaran kita tulis didalam kurung setelah nama prosedur
kita, keluaran kita adalah luas dan bertipe data integer, tetapi kita juga harus
menuliskan Var menghasilkan output yang benar, apabila kita menuliskan Var
maka program kita akan menghasilkan Output yang salah.

Untuk pemanggilan prosedur menggunakan parameter keluaran kita harus


menuliskan nama prosedur tersebut dan variabel keluaran yang diapit kurung
dan diakhiri dengan tanda titik koma

Langkah 4

Dalam fungsi sebenarnya sama dengan prosedur hanya saja tulisannya diganti
Function dan memakai titik dua ( : ) kemudian tipe data dan di akhiri dengan
menggunakan titik koma ( ; ).

Dalam penulisan Fungsi kita megunakan nama fungsi yang digunakan seperti
prosedur yang kita gunakan tapi kita harus menambahkan tanda titik dua dan
tipe data yang digunakan kemudian diakhiri dengan titik koma

Pada program utama dalam pemanggilan fungsi kita tuliskan nama funsi dan
kemudian variabel yang kita gunakan

TUGAS 1
Untuk membuat prosedur yang menghasilkan nilai rata-rata sekumpulan bilangan
bulat yang dibaca secara berulang-ulang dari piranti masukan kita menggunakan
pengulangan Repeat..Until untuk menggulang masukkan yang diberikan secara
berulang-ulang dan apabila sudh sesesai/pemberhentian penginputan maka
diketahui rata-ratanya

Kita menggunakan variabel dalam prosedur adalah untuk rumus repeat..until

Untuk prosedurnya kita gunakan repeat until untuk menuliskan beberapa kali
dan jika ditekan T maka proses akan berhenti dan kita akan mendapatkan hasil
dari masukkan yang kita berikan dan kemudian didapat nilai rata-ratanya

Dan untuk program utamanya kita gunakan langsung prosedur dengan nama
rata-rata langsung untuk memanggilnya

Nama prosedur

Program utama

TUGAS 2
Seperti program diatas tetapi kita gunakan fungsi dalam pemanggilannya

Kita gunakan nama fungsi dengan Rata2

Untuk pembuatan rumus fungsi kita gunakan repeat until seperti program
pertama tadi

Untuk mengakhiri masukkan kita gunakan until T untuk menutup masukkan


dan menghasilkan rata_rata

Kita mengunakan rumus untuk menghitung rata rata yaitu semua jumlah
masukkan dibagi berapa kali masukkan diberikan

Untuk menampilkan hasil kita gunakan instruksi

Setelah prosedur kita buat selesai maka kita harus membuat program utama
dan memanggil prosedur untuk menghasilkan data yang diinginkan

Maka outputnya adalah

Kita masukkan angka 75 dan jkita disuruh melanjutkan masukkan lagi atau tidak,
kita tekan y untuk melanjutkan inputan

Kita masukkan nilai kedua yaitu 90 dan mengakhirinya dengan menekan T

Dan akhirnya kita mendapat hasil rata-ratanya yaitu 82,50

BAB IV
KESIMPULAN
1. Subprogram merupakan suatu teknik untuk menulis program yang berukuran
besar. Tiap bagian program yang kecil-kecil disebut subprogram atau module,
yang berguna untuk melakukan suatu tugas tertentu.
2. Subprogram yang kita ketahui dan biasa digunakan adalah Prosedur dan
Fungsi.
3. Prosedur adalah kumpulan program kecil yang dikumpulkan untuk
mempermudah pekerjaan pembuatan program karena dapat dipakai berkalikali tanpa harus menuliskan ulang kodenya lagi.
4. Fungsi merupakan elemen dalam pernyataan penugasan atau suatu ungkapan
yang digunakan untuk memperoleh sebuah nilai. Fungsi tidak dapat berdiri
sebagai sebuah pernyataan.
5. Perbedaan fungsi dan prosedur antara lain dalam hal pengembalian nilai.
Fungsi dipastikan mengembalikan nilai yang diinputkan dari program utama
karena nama fungsi itu sendiri dijadikan variable. Namun, prosedur
memerlukan parameter lagi untuk dapat mengembalikan nilai yang diinputkan
tersebut.
6. Cara membuat suatu variable dapat dilakukan dengan cara :

Mendeklarasikan variable tersebut di program induk ataupun membuat


pendefenisian variable sendiri.

Dengan mendefesikan variable tersebut di dalam prosedur .

7. Pendefenisian function pada suatu program ini berarti bahwa nama fungsi
yang didefenikan adalah pada baris pertama yang berarti integer. Isi fungsi
cukup untuk disingkat yaitu memberikan nilai fungsi tersebut dengan jumlah
yang telah ditentukan pada programnya.

BAB V

DAFTAR PUSTAKA
http://semutlewat.blogspot.com/2012/12/prosedur-dan-fungsi-pada-turbopascal.html
http://sangwidy.wordpress.com/web-design/oop-1/sub-routinction-functionvoidfunction/procedure-dan-fungsi-pada-pascal/
http://pionermediacomputer.com/berita-126-function-dalam-pascalalgoritma.html
http://irpantips4u.blogspot.com/2012/10/prosedur-dan-fungsi-padabahasa.html

BAB VI
LAMPIRAN

Langkah 1
Input

Output

Langkah 2
Input

Output

Langkah 3
Input

Output

Langkah 4
Input

Output

Tugas 1

Input

Output

Tugas 2

Input

Output