Pertemuan 2 - Procedure Dan Fungsi
Pertemuan 2 - Procedure Dan Fungsi
ALGORITMAdanSTRUKTURDATAII
MODUL
Pertemuan2
Waktu
:135menit
TujuanPembelajaran
:Mahasiswamampumenjelaskanteknikpemrograman
menggunakanModul.
:Modul
SubstansiMateri
TabulasiKegiatanPerkuliahan
Tahap
Kegiatan
No
KegiatanPengajar
Pendahuluan 1.
2.
Penyajian
Materi
Penutup
1.
2.
3.
4.
5.
6.
1.
2.
3.
Membukapertemuan
Mengulangmateripertemuan
sebelumnya
Definisiprocedure
Kegunaanprocedure
Definisifungsi
Kegunaanfungsi
Contohprogramyangmenggunakan
proceduredanfungsi
Contohsoalproceduredanfungsi
Menyimpulkanmateripertemuan
Memberikantugaskecil
Menutuppertemuan
Kegiatan
Mahasiswa
Media&
Alat
Waktu
Menyimak
Bertanya
PapanTulis
20Menit
Menyimak
Bertanya
Menjawab
Pertanyaan
PapanTulis
80Menit
Menyimak
Papantulis
35Menit
MATERIKULIAH
PROCEDURE
Procedure berguna untuk mengumpulkan statementstatement yang dapat dijalankan
menjadi satu dalam suatu blok dan untuk menjalankannya kembali hanya dengan
menuliskan nama procedure yang menampungnya. Selain itu procedure juga banyak
dipakai untuk menampung barisbaris perintah yang sering dipakai dalam sebuah
program.
Untukmendeklarasikanproceduredapatdilakukandenganduacara,yaitu:
Headerproceduretanpaparameter
Headerproceduredenganparameter
V3/20092010 1
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII
MODUL
Headerproceduretanpaparameter
Bentukumum:
Procedure<NamaProcedure>;
Contoh:
ProcedureBuatKotak;
ProcedureInput;
ProcedureOutput;
Penulisan header procedure tanpa parameter diawali dengan kata baku Procedure dan
diikutidengannamaproceduresertadiakhiridengantandatitikkoma(;).
Berikutdigambarkanstrukturblokprogrambesertaproceduretanpaparameter.
Program<NamaProgram>
Procedure<NamaProcedure>
Gambar1.Strukturblokprogrambesertaproceduretanpaparameter
Contohprogrampemanfaatanproceduretanpaparameter
ProgramHitung;
Varp,q,x,y:byte;
ProcedureTambahKali;
Begin
P:=x+y;
V3/20092010 2
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII
MODUL
Q:=x*y;
Writeln(X+Y=,p);
Writeln(X*Y=,q);
End;
Begin
Write(X=);ReadLn(x);
Write(Y=);ReadLn(y);
TambahKali;{UntukmenjalankanprocedureTambahKali}
End.
DarilistingprogramdiatasdapatdilihatbahwaProcedureTambahKalihanyaberisibaris
barisprogramyangdapatdijalankan,danpadaprocedureitusendiritidakadahasilyang
ditampungnya.
Headerproceduredenganparameter
Bentukumum:
Procedure<NamaProcedure>(<daftarparameter>);
Contoh:
ProcedureHitung(a,b:byte;c:real);
ProcedureLingkaran(x,y,jari:integer);
Penulisan header procedure dengan parameter hamper sama dengan procedure tanpa
parameter yaitu diawali dengan kata baku Procedure lalu nama procedure dan diikuti
dengan parameterparameter (yang berada di dalam kurung) yang masingmasing
V3/20092010 3
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII
MODUL
dipisahkan dengan koma beserta dengan tipe datanya serta diakhiri dengan tanda titik
koma(;).
Berikutdigambarkanstrukturblokprogrambesertaproceduretanpaparameter.
Program<NamaProgram>
Procedure<NamaProcedure>(<daftarparameter>);
Gambar2.Strukturblokprogrambesertaproceduredenganparameter
Contohprogrampemanfaatanproceduredenganparameter
ProgramHitung;
Varp,q,x,y:byte;
ProcedureTambahKali(a,b:byte);
Begin
P:=x+y;
Q:=x*y;
Writeln(X+Y=,p);
Writeln(X*Y=,q);
End;
Begin{ProgramUtama}
Write(X=);ReadLn(x);
Write(Y=);ReadLn(y);
TambahKali(x,y);{UntukmenjalankanprocedureTambahKali}
End.
V3/20092010 4
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII
MODUL
FUNCTION
Function tidak hanya dapat dipakai untuk mengelompokan barisbaris perintah seperti
halnyaprocedure,tetapifunctionitusendiridapatmenampungnilaiyangdisimpanpada
namafunction.Haltersebutmerupakanperbedaanutamaantarafungsidanprosedur.
Sepertiprocedure,penulisanheaderfunctionpundapatdilakukandenganduacara(sesuai
dengankebutuhan),yaitu:
Headerfunctiontanpaparameter
Headerfunctiondenganparameter
HeaderFunctionTanpaParameter
Bentukumum:
Function<NamaFunction>:TipeData;
Contoh:
FunctionHitung:integer;
FunctionNama:string;
FunctionCheck:Boolean;
Header function selalu diawali dengan kata baku Function dan diikuti dengan nama
function serta tipe datanya yang dipisahkan dengan tanda titik dua (:). Berikut
digambarkanstrukturblokprogramsertafunctiontanpaparameter.
Program<NamaProgram>
Function<NamaFunction>:TipeData;
Gambar3.Blokprogramsertafunctiontanpaparameter
V3/20092010 5
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII
MODUL
Contohprogrampemanfaatanfunctiontanpaparameter
ProgramHitung;
Varx,y:byte;
FunctionTambah:byte;
Begin
Tambah:=x+y;
End;
FunctionKali:byte;
Begin
Kali:=x*y;
End;
Begin
Write(X=);ReadLn(x);
Write(Y=);ReadLn(y);
WriteLn(X+Y=,Tambah);
WriteLn(X*Y=,Kali);
End.
Functiontambahdankalipadacontohdiatasdapatmenampunghasildariperkalianantara
xdanysehinggavariablepdanqhanyadipakaisebagaipenampungsementara,sedangkan
pada procedure tidak dapat demikian. Inilah salah satu perbedaan function dengan
proceduresepertiyangtelahdijelaskansebelumnya
HeaderFunctiondenganParameter
Bentukumum:
Function<NamaFunction>(<DaftarParameter>):TipeData;
V3/20092010 6
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII
MODUL
Contoh:
FunctionHitung(a,b:byte):integer;
FunctionCheckPosisi(x,y:integer):Boolean;
Penulisan function dengan parameter tidak jauh berbeda dengan function tanpa
parameter,hanyasajaperluditambahkanparameterparameteryangditulisdidalam().
Berikutdigambarkanstrukturblokprogrambesertafunctiondenganparameter.
Program<NamaProgram>
Function<NamaFunction>(<DaftarParameter>):TipeData;
Gambar4.Strukturblokprogrambesertafunctiondenganparameter
Contohprogrampemanfaatanfunctiondenganparameter
ProgramHitung;
Varx,y:byte;
FunctionTambah(x,y:byte):byte;
Begin
Tambah:=x+y;
End;
FunctionKali(x,y:byte):byte;
Begin
Kali:=x*y;
End;
Begin
V3/20092010 7
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII
MODUL
Write(X=);ReadLn(x);
Write(Y=);ReadLn(y);
WriteLn(X+Y=,Tambah(x,y));
WriteLn(X*Y=,Kali(x,y));
End.
PerbedaanantaraFunctiondanProcedure,sebagaiberikut:
Jikamembuatsuatuproceduremakaharusmendeklarasikandenganreservedword
Procedure,sedangkanjikainginmembuatsuatufunctionmakaharus
mendeklarasikandenganreservedwordFunction.
Functionharusdideklarasikandengantipenya,sedangkanproceduretidak.Halini
menunjukkanbahwapadafunctionitusendiridapatmenampungnilai,sedangkan
proceduretidak.
PersamaanantaraFunctiondanProcedure,terletakpadafungsinya,yaitu:
Jikaterdapatperintahperintahyangsamayangakandipakaidalamsuatuprogram,
makasebaiknyaperintahperintahtersebutdipisahkandalamsuatumodulprogram
dengan menggunakan procedure, sehingga jika ingin memakainya hanya tinggal
memanggilnamaproceduretersebut.
Mempermudahprosesdokumentasi.
V3/20092010 8