Laporan Modul 6
Laporan Modul 6
Nama
NIM
Kelas
Modul
:
:
:
:
Dian Furnomo
DBC 114 144
D
VI (PROSEDUR DAN FUNGSI)
BAB I
TUJUAN DAN LANDASAN TEORI
I.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.
I.2.Landasan Teori
Sebuah program yang baik adalah program yang membagi permasalahan
utama menjadi bagian-bagian kecil dimana setiap bagian kecil ditangani oleh
sebuah subprogram, cara ini disebut dengan modular programming (pemrograman
terbagi/terpecah). Cara ini termasuk pemrograman terstruktur dan sangat
didukung oleh bahasa Pascal. Untuk itu, Pascal telah menyediakan dua jenis
subprogram, yaitu procedure dan function (prosedur dan fungsi). Dengan modular
programming, program lebih mudah dibaca dan dimengerti.
Selain itu, pembenahan program dan penelusuran jalannya program (debugging)
menjadi lebih mudah sebab dapat langsung diketahui sub program mana yang
berjalan tidak sesuai dengan yang diharapkan.
I.2.1 Prosedur
Prosedur adalah subprogram yang menerima masukan tetapi tidak
mempunyai keluaran secara langsung.Pada dasarnya, struktur prosedur sama
dengan struktur algoritma yang sudah anda kenal. Setiap prosedur mempunyai
nama yang unik. Nama prosedur sebaiknya diawali dengan kata kerja karena
prosedur berisi suatu aktivitas.Notasi algoritma yang digunakan untuk
mendefinisikan struktur prosedur (tanpa parameter) adalah :
Procedur namaprosedur
{spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan oleh
prosedur ini.}
{k.awal : keadaan sebelum prosedur dilaksanakan}
{k.akhir : keadaan setelah prosedur dilaksanakan}
Deklarasi
{semua nama yang dipakai dalam prosedur dan hanya berlaku local di
dalam prosedur di definisikan disini}
Deskripsi
{badan prosedur, yang berisi kumpulan instruksi}
I.2.2. F u n g s i
Fungsi adalah subprogram yang menerima masukan dan mempunyai keluaran
secara langsung. Cara mendeklarasikan sebuah fungsi adalah sebagai berikut :
function A : integer; { nama fungsi adalah A dengan }
begin { tipe data keluaran adalah integer }
{ statement }
A := 3; { nilai yang dikeluarkan fungsi }
end;
Sebagaimana dalam prosedur, fungsi juga dapat diberikan parameter. Cara
mendeklarasikan fungsi dengan parameter juga tidak jauh berbeda dengan
pendeklarasian parameter pada prosedur.
function B(X : integer) : integer;
begin
{ statement }
B := X * 2;
end;
Perbedaan utama antara prosedur dan fungsi adalah dalam menghasilkan
keluaran.Walaupun prosedur bisa menghasilkan nilai keluaran, tetapi nilai
tersebut tidak dapat diambil secara langsung, melainkan harus diambil melalui
parameter referensi. Sedangkan keluaran dari fungsi dapat diambil langsung
dari fungsi tersebut.
BAB II
LANGKAH KERJA
II.1.Langkah Kerja
1. Membuat program dengan menggunakan prosedur untuk menghitung
luas persegi panjang tanpa parameter masukan. Simpan file dengan
nama NamaAnda_prosedur1.pas.
2. Memodifikasi program diatas dengan menggunakan parameter
masukan. Simpan file dengan nama NamaAnda_prosedur2.pas.
3. Memodifikasi program diatas dengan menggunakan parameter
keluaran. Simpan file dengan nama NamaAnda_prosedur3.pas.
4. Memodifikasi program prosedur3 anda dengan menggunakan fungsi.
Tugas
1. Menulis prosedur yang menghasilkan nilai rata-rata sekumpulan
bilangan bulat yang dibaca secara berulang-ulang dari piranti
masukan (akhir dari pembacaaan adalah 9999). Prosedur memiliki
parameter keluaran, yaitu rata-rata yang dihasilkan.
2. Modifikasi tugas 1 dengan menggunakan fungsi!
BAB III
PEMBAHASAN
III.1 Tujuan
1. Menghitumg luas persegi panjang tanpa parameter masukan dan simpan
dengan nama NamaAnda_prosedur1.pas.
var p, l : integer;
begin
clrscr;
write('Masukan Panjang : '); readln(p);
write('Masukan lebar : '); readln(l);
writeln('Hasil Luas : ', p*l);
end;
{program utama}
begin
clrscr;
hitungluas;
readkey;
end.
c.
crt.
Judul prosedur yaitu procedure hit_luas.
Pada program ini boleh meletakan judul prosedur sebelum
pendeklarasian. Ini disebabkan karena tidak menggunakan parameter
d.
masukan.
Pada bagian deklarasi , menggunakan variable p dan I yaitu integer.
e.
Badan prosedur :
Begin disini digunakan untuk memulai prosedur.
Menggunakan perintah write (masukan panjang : ).
Perintah write digunakan untuk menuliskan output, dengan
posisi cursor - petunjuk aktif, terletak pada akhir output yang
ditampilkan pada baris yang sama. Write menampilkan hasil tanpa
ganti baris dan tampilan berikutnya akan disambung dalam baris
yang sama. Perintah write disini digunakan untuk menuliskan
output masukan nilai panjang dan masukkan nilai panjang
dilakukan sesuai dengan nilai yang diinginkan oleh user.
Menggunakan perintah readln untuk memasukan data ke variabel p.
Menggunakan perintah write (masukan lebar : ).
Perintah write digunakan untuk menuliskan output, dengan
posisi cursor - petunjuk aktif, terletak pada akhir output yang
ditampilkan pada baris yang sama. Write menampilkan hasil tanpa
ganti baris dan tampilan berikutnya akan disambung dalam baris
yang sama. Perintah write disini digunakan untuk menuliskan
output masukan nilai lebar dan masukkan nilai lebar dilakukan
sesuai dengan nilai yang diinginkan oleh user.
Menggunakan perintah readln untuk memasukan data ke variabel l.
Menggunakan perintah writeln (hasil luas : ,p*l).
Perintah writeln digunakan untuk menuliskan output, dengan
posisi cursor petunjuk aktif, terletak pada awal baris berikutnya.
Writeln digunakan untuk menampilkan tampilan perbaris, akan
ganti baris untuk tampilan berikutnya. Di program ini perintah
writeln digunakan untuk menuliskan output hasil luas yang didapat
dari p dikalikan dengan l.
Endif digunakan untuk mengakhiri prosedur.
f.
Program utama :
Begin disini digunakan untuk memulai program
clrscr; digunakan untuk menghapus layar dan kalau perintah ini
tidak ditulis maka layar akan menumpuk dengan isi dari versi turbo
pascal sebelumnya.
Hit_luas : nama dari judul prosedur.
Kenapa nama dari judul prosedur ditulis pada program utama. Ini
disebabkan karena prosedur diakses dengan memanggil namanya
dari program pemanggil (program utama).
readln: memasukan data apapun dari keyboard agar program
keluar.
End : akhir dari program.
Output percobaan 1
2. Percobaan Kedua
Program Kedua;
uses crt;
var p, l : integer;
procedure hitungluas(a,b : integer);
begin
writeln('Hasil Luas : ', a*b);
end;
{program utama}
begin
clrscr;
write('Masukan Panjang : ');readln(p);
write('Masukan lebar : ');readln(l);
hitungluas(p,l);
readkey;
end.
c.
d.
crt.
Pada bagian deklarasi , menggunakan variable p dan l yaitu integer.
Judul prosedur yaitu procedure hit_luas (a, b : integer).
Peletakan judul prosedur diprogram ini tidak boleh sebelum
pendeklarasian berbeda dengan program pertama, peletakan judul
prosedur diprogram ini harus sesudah pendeklarasian. Ini disebabkan
karena pada judul prosedur diprogram ini menggunakan parameter
e.
masukan.
Badan prosedur :
Begin disini digunakan untuk memulai prosedur.
Menggunakan perintah write (hasil luas : a*b).
Perintah write digunakan untuk menuliskan output, dengan
posisi cursor - petunjuk aktif, terletak pada akhir output yang
ditampilkan pada baris yang sama. Write menampilkan hasil tanpa
Program utama :
Begin disini digunakan untuk memulai program
clrscr; digunakan untuk menghapus layar dan kalau perintah ini
tidak ditulis maka layar akan menumpuk dengan isi dari versi turbo
pascal sebelumnya.
Menggunakan perintah write (masukan panjang : ).
Perintah write digunakan untuk menuliskan output, dengan
posisi cursor - petunjuk aktif, terletak pada akhir output yang
ditampilkan pada baris yang sama. Write menampilkan hasil tanpa
ganti baris dan tampilan berikutnya akan disambung dalam baris
yang sama. Perintah write disini digunakan untuk menuliskan
output masukan nilai panjang dan masukkan nilai panjang
dilakukan sesuai dengan nilai yang diinginkan oleh user.
Menggunakan perintah readln untuk memasukan data ke variabel p.
Menggunakan perintah write (masukan lebar : ).
Perintah write digunakan untuk menuliskan output, dengan
posisi cursor - petunjuk aktif, terletak pada akhir output yang
ditampilkan pada baris yang sama. Write menampilkan hasil tanpa
ganti baris dan tampilan berikutnya akan disambung dalam baris
yang sama. Perintah write disini digunakan untuk menuliskan
output masukan nilai lebar dan masukkan nilai lebar dilakukan
sesuai dengan nilai yang diinginkan oleh user.
Menggunakan perintah readln untuk memasukan data ke variabel l.
Hit_luas (p, l ) : nama dari judul prosedur.
Seperti yang telah dijelaskan tentang parameter aktual dan
parameter formal yaitu:
Parameter aktual : parameter yang disertakan pada waktu
pemanggilan.
Parameter formal : parameter yang dideklarasikan di bagian
header prosedur itu sendiri.
Nama
parameter
aktual
di
program
pemanggil
akan
c.
crt.
Pada bagian deklarasi , menggunakan variable p, l, dan luas yaitu
d.
integer.
Judul prosedur yaitu procedure hit_luas (a, b : integer; var c : integer).
Peletakan judul prosedur diprogram ini tidak boleh sebelum
pendeklarasian berbeda dengan program pertama, peletakan judul
prosedur diprogram ini harus sesudah pendeklarasian. Ini disebabkan
karena pada judul prosedur diprogram ini menggunakan parameter
g.
h.
keluaran.
Badan prosedur :
Begin disini digunakan untuk memulai prosedur.
Menggunakan variabel c := a*b.
Nilai a dan b dikalikan lalu dimasukan ke variabel c.
Endif digunakan untuk mengakhiri prosedur.
Program utama :
Begin disini digunakan untuk memulai program
pascal sebelumnya.
Menggunakan perintah write (masukan panjang : ).
Perintah write digunakan untuk menuliskan output, dengan
posisi cursor - petunjuk aktif, terletak pada akhir output yang
ditampilkan pada baris yang sama. Write menampilkan hasil tanpa
ganti baris dan tampilan berikutnya akan disambung dalam baris
yang sama. Perintah write disini digunakan untuk menuliskan
output masukan nilai panjang dan masukkan nilai panjang
dilakukan sesuai dengan nilai yang diinginkan oleh user.
Menggunakan perintah readln untuk memasukan data ke variabel p.
Menggunakan perintah write (masukan lebar : ).
Perintah write digunakan untuk menuliskan output, dengan
posisi cursor - petunjuk aktif, terletak pada akhir output yang
ditampilkan pada baris yang sama. Write menampilkan hasil tanpa
ganti baris dan tampilan berikutnya akan disambung dalam baris
yang sama. Perintah write disini digunakan untuk menuliskan
output masukan nilai lebar dan masukkan nilai lebar dilakukan
sesuai dengan nilai yang diinginkan oleh user.
Menggunakan perintah readln untuk memasukan data ke variabel l.
Hit_luas (p, l , luas) : nama dari judul prosedur.
Seperti yang telah dijelaskan tentang parameter aktual dan
parameter formal yaitu:
Parameter aktual : parameter yang disertakan pada waktu
pemanggilan.
Parameter formal : parameter yang dideklarasikan di bagian
header prosedur itu sendiri.
Parameter aktual diprogram ini adalah p, l dan luas, sedangkan
parameter formal di program ini adalah a, b dan c.
Kenapa nama dari judul prosedur ditulis pada program utama.
Ini disebabkan karena prosedur diakses dengan memanggil
namanya dari program pemanggil (program utama) dan nilai
parameter aktual yaitu p, l, luas akan diisikan kedalan parameter
digunakan
untuk
menampilkan
tampilan
4. Percobaan keempat
Program Keempat;
uses crt;
var p,l, hasil : integer;
function luas(a,b : integer) : integer;
begin
luas := a*b;
end;
{program utama}
begin
clrscr;
write('Panjang : '); readln(p);
write('Lebar : '); readln(l);
hasil := luas(p,l);
writeln('Hasil : ', hasil);
readkey;
end.
c.
crt.
Pada bagian deklarasi , menggunakan variable p, l, dan hasil yaitu
d.
integer.
Judul fungsi yaitu funcition luas (a, b : integer) : integer).
Blok fungsi hampir sama dengan blok prosedur, hanya fungsi
harus dideklarasikan dengan tipenya atau jenis hasilnya. Tipe
deklarasi ini menunjukkan tipe hasil dari fungsi. Hasil fungsi
diprogram ini adalah integer.
e.
f.
Badan fungsi :
Begin disini digunakan untuk memulai fungsi.
Menggunakan variabel luas := a*b.
Nilai a dan b dikalikan lalu dimasukan ke variabel luas.
Endif digunakan untuk mengakhiri prosedur.
Program utama :
Begin disini digunakan untuk memulai program
clrscr; digunakan untuk menghapus layar dan kalau perintah ini
tidak ditulis maka layar akan menumpuk dengan isi dari versi
p.
Menggunakan perintah write (masukan lebar : ).
Perintah write digunakan untuk menuliskan output, dengan
posisi cursor - petunjuk aktif, terletak pada akhir output yang
ditampilkan pada baris yang sama. Write menampilkan hasil tanpa
ganti baris dan tampilan berikutnya akan disambung dalam baris
yang sama. Perintah write disini digunakan untuk menuliskan
output masukan nilai lebar dan masukkan nilai lebar dilakukan
program
ini
perintah
writeln
digunakan
untuk
menuliskan output hasil luas yang didapat dari luas yang sudah
keluar.
End : akhir dari program.
Output Percobaan 4
TUGAS
1.
:integer;
:real;
begin
clrscr;
write('Masukan Jumlah Perulangan : ' ); readln(N);
totalBilangan:=0;
for a:=1 to n do
begin
write ('Masukan Bilangan Ke -',a,' : ');
readln(Bilangan);
TotalBilangan:=TotalBilangan+Bilangan;
end;
Nilairata2(totalbilangan,N);
writeln('Nilai Rata-Rata
: ', rata2:1:0);
readkey;
end.
2.
:integer;
:real;
end;
begin
clrscr;
write('Masukan Jumlah Perulangan : ' ); readln(N);
totalBilangan:=0;
for a:=1 to n do
begin
write ('Masukan Bilangan Ke -',a,' : '); readln(Bilangan);
TotalBilangan:=TotalBilangan+Bilangan;
end;
Nilairata2(totalbilangan,N);
writeln('Nilai Rata-Rata
readkey;
end.
Output Tugas
: ', rata2:1:0);
BAB IV
KESIMPULAN
Pada praktikum keenam Algoritma pemprograman I yaitu modul 6 prosedur
dan fungsi. Disini akan menarik kesimpulan tentang perbedaan prosedur dan
fungsi, serta penggunaan prosedur dengan parameter masukan dan parameter
keluaran
A. Prosedurdan Fungsi adalah suatu program terpisah dalam blok sendiri yang
berfungsi sebagai sub-program (modul program) yang merupakan sebuah
program kecil untuk memproses sebagian dari pekerjaan program utama.
B. Perbedaan fungsi dengan prosedur adalah :
1) Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya
(kalau pada prosedur pada parameter yang dikirimkan secara acuan).
2) Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut
dapat langsung digunakan untuk dicetak hasilnya, Sedang pada prosedur,
nama prosedur tersebut tidak dapat digunakan langsung, yang dapat
langsung digunakan adalah parameternya yang mengandung nilai balik.
C. Jika kita menggunakan procedure dalam suatu program, maka procedure
tersebut harus dituliskan pada bagian deklarasi.
D. Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi
prosedur. Prosedur dipanggil dan digunakan di dalam blok program yang
lainnya dengan menyebutkan judul prosedurnya.
E. Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus
dideklarasikan dengan tipenya atau jenis hasilnya. Tipe deklarasi ini
menunjukkan tipe hasil dari fungsi.
F.
G. Suatu fungsi atau prosedur dalam bahasa Pascal dapat bersifat rekursif.
Artinya, fungsi atau prosedur tersebut dapat memanggil dirinya sendiri.
H. Procedure dengan parameter : Nilai di dalam suatu modul program Pascal
sifatnya adalah lokal, artinya hanya dapat digunakan pada modul atau unit
program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit
I.
J.
parameter aktual.
4) Nama parameter aktual boleh berbeda dengan nama parameter formal.
Parameter Keluaran yaitu :
1) Digunakan untuk menampung nilai keluaran dari prosedur yang akan
digunakan oleh program pemanggil.
2) Nama parameter aktual di program pemanggil akan menggantikan
(substitute) nama parameter formal yang bersesuaian di prosedur.
3) Setelah pemanggilan, parameter aktual akan berisi nilai keluaran dari
prosedur yang dipanggil.
BAB V
DAFTAR PUSTAKA
Hawksley Chris (1987) Pemrograman Pascal. Jakarta : PT Eelex Media
Komputindo, Kelompok Gramedia.
Waktu akses,kamis 4 desember 2014 pukul 19.00
Ir. Abdul kadir (2001) Pemrograman Pascal Menggunakan Turbo Pascal 7.0.
Bandung : Informatika Bandung kamis 4 desember 2014 pukul 19.00
ivan_maurits.staff.gunadarma.ac.id/.../4+-+Prosedure+dan+Function.pdf
Jogiyanto HM, Akt., MBA, Ph.D. (1989) Teori dan Aplikasi Program Komputer
Bahasa Turbo Pascal. Yogyakarta : ANDI OFFSET.
kamis 4 desember 2014 pukul 19.02
www.teknokrat.ac.id/...ajar/.../Prosedur_dan_Fungsi_di_Turbo_Pascal.pdf
kamis 4 desember 2014 pukul 19
Jogianto, H.M. 1988. Teoridanaplikasi Program KomputerBahasa Pascal.
Yogyakarta: Andi Offset.
Agung. 2007.KumpulanMateri Pascal.
Penyusun Modul. 2014. Modul praktikum Algoritma dan pemprograman I.
Palangka Raya. Universitas Palangka. Fakultas Teknik. Jurusan Teknik
Informatika.
BAB VI
LAMPIRAN
1. Percobaan Pertama
2. Percobaan Kedua
3. Percobaan Ketiga
4. Percobaan Keemppat
TUGAS
1. Tugas Satu
2. Tugas Dua