- Konsep pemrograman prosedural
Ketika program yang dibuat sudah
terlalu panjang ratusan bahkan puluhan ribu baris, sehingga kita
mengalami kesulitan untuk memahami jalannya program secara
keseluruhan, maka ada baiknya bila program tersebut dipecah menjadi
beberapa bagian yang biasanya disebut modul, subprogram atau
subrutin. Konsep semacam ini biasa disebut dengan pemrograman
prosedural. Dalam tulisan ini selanjutnya akan digunakan kata modul
supaya lebih ringkas. Turbo Pascal yang digunakan pada percobaan ini
adalah versi 7.1, bila anda menggunakan Turbo Pascal 7.0 maka
prosesnya tidak jauh berbeda.
Memecah program menjadi modul-modul
tentunya akan lebih memudahkan dalam mencari kesalahan, memperbaiki
serta membuat dokumentasinya. Pembuatan modul di Turbo Pascal dibagi
dua jenis yaitu : Prosedur dan Fungsi. Prosedur atau Fungsi adalah
suatu modul program yang terpisah dari program utama, diletakan dalam
blok tersendiri yang berfungsi sebagai bagian dari program. Setiap
prosedur diawali dengan kata cadangan (reserver word)
Procedure, sedangkan Fungsi diawali dengan kata
cadangan Function.
Prosedur atau Fungsi banyak digunakan
pada program terstruktur, karena :
- Merupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana.
- Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
- Penulisan Prosedur (Procedure)
Prosedur memiliki struktur yang sama
dengan struktur program, yaitu terdiri dari nama prosedur,
deklarasi-deklarasi dan bagian deskripsi (statement atau aksi
di dalam prosedur). Semua deklarasi di dalam prosedur bersifat lokal
sehingga hanya bisa digunakan oleh prosedur itu saja, sedangkan
deklarasi di dalam program utama bersifat global sehingga dapat
dikenali di seluruh bagian program. Struktur umum prosedur adalah
sebagai berikut :
Procedure
Nama_Prosedur
(param_formal1:tipe_param1, param_formal2:tipe_param2,…);
{Jika
prosedur tidak memiliki parameter, tanda kurung tidak disertakan}
var
{bagian
deklarasi prosedur, sifatnya lokal}
begin
statement-1;
statement-2;
…………
Statement-n;
end;
Gambar 1. Cara
Penulisan Prosedur di dalam Turbo Pascal
Struktur blok program utama beserta
prosedur, adalah sebagai berikut :
Program
judul_program;
var
{bagian
deklarasi prosedur, sifatnya global}
Procedure
Nama_Prosedur;
{Jika
prosedur tidak memiliki parameter, tanda kurung tidak disertakan}
var
{bagian
deklarasi prosedur, sifatnya lokal}
begin
statement-1;
statement-2;
…………
Statement-n;
end;
{program
utama}
begin
Nama_Prosedur;
end.
Gambar 2. Struktur blok program
beserta prosedur tanpa parameter
- Bagaimana jika tanpa prosedur ?
Apakah dalam suatu program harus
selalu terdapat prosedur? Jawabannya adalah tidak. Bila kita membuat
program yang sangat sederhana, misalnya program untuk menampilkan
kata “hallo world” di layar, maka boleh saja tidak
menggunakan prosedur. Untuk lebih jelasnya berikut disajikan contoh
program untuk menghitung luas dan keliling persegipanjang yang
menggunakan prosedur dan tanpa prosedur.
Program
PersegiPanjang; {Judul Program Utama}
uses crt;
var
{deklarasi variabel global}
p,l:byte; {p
:panjang, l:lebar}
ls,kel:integer;
{ls:luas, kel:keliling}
begin
clrscr;
writeln('Program
Untuk Menghitung luas dan keliling persegipanjang');
writeln;
write('Masukan
panjang : ');readln(p);
write('Masukan
lebar : ');readln(l);
writeln;
ls:=p*l;
{luas=panjang x lebar}
Kel:=(2*p)+(2*l); {keliling=(2
x panjang) + (2 x lebar)}
writeln('Luas
: ',ls);
writeln('Keliling
: ',kel);
readln;
end.
Gambar 3. Program Persegipanjang
tanpa prosedur
Gambar 3. Program PersegiPanjang tanpa
menggunakan prosedur
Bila dituliskan di Editor Turbo Pascal
kira-kira tampilannya seperti dibawah ini. Untuk melihat hasilnya
silahkan tekan Ctrl + F9.
Gambar 4. Tampilan di Editor Turbo
Pascal, Program Persegipanjang tanpa prosedur
Setelah dirunning (Ctrl + F9),
maka hasilnya seperti dibawah ini, kemudian cobalah untuk
menginputkan data , misal : 4 untuk panjang dan 6 untuk lebar maka
hasilnya adalah, Luas = 24 dan Keliling = 20.
Gambar 5. Tampilan setelah dirunning
Silahkan anda bisa mencoba dengan
menginputkan angka yang berbeda, yang penting tidak melebihi 255,
karena type data byte yang digunakan oleh variabel p
dan
l
seperti pada contoh program
diatas hanya mampu menampung
data berupa angka sampai dengan 255, sedangkan variabel luas
& keliling
hanya mampu menampung angka -32768 s/d 32767 karena menggunakan tipe
data integer. Mengapa demikian, bagaimana cara mengetahui jangkauan
suatu tipe data?, Untuk mengetahui jangkauan (range)
tipe data, anda bisa melihat di bagian help.
Caranya : Help
> Index,
kemudian cari kata integer,
lalu tekan enter maka akan muncul tampilan sebagai berikut :
Gambar 6. Tampilan Help di
turbo pascal ketika menampilkan tipe data
Oh ya! di Turbo Pascal, terdapat
fasilitas untuk mengatur warna tampilan, misalnya warna Sintaks
(sintax), bila anda ingin mencoba silahkan masuk ke menu
Option > Environment > Color. Di bagian Group
cari kata Syntax, selanjutnya di bagian Item,
terdapat item-item : Whitespace, Comments, Reserver Words,
Identifiers, Symbols, Strings, Numbers, Assembler yang dapat
diatur warna tampilannya, caranya pilih salah satu Item kemudian
pilih warna apa yang dikehendaki pada bagian Foreground
untuk warna depan sedangkan Background untuk warna
latar belakang.
Gambar 7. Tampilan menu Colors
Pengaturan tampilan warna sintax
pada Editor Turbo Pascal memang bukan suatu kewajiban, dan tidak
akan berpengaruh terhadap proses program. Tetapi hal ini bermanfaat
pada saat proses pembuatan/pengetikan program, dimana perbedaan warna
item-item sintax akan membantu kita dalam pembacaan program.
- Menggunakan prosedur
Program
PersegiPanjang; {judul Program Utama}
uses crt;
var
{deklarasi variabel global}
p,l:byte;
{p :panjang, l:lebar}
ls,kel:integer;
{ls:luas, kel:keliling}
Procedure
Hitung_Luas; {Prosedur
untuk menghitung luas}
begin
ls:=p*l;
writeln('Luas
:',ls);
end;
Procedure
Hitung_Keliling; {Prosedur
untuk menghitung keliling}
begin
kel:=(2*p)+(2*l);
writeln('Keliling
:',kel);
end;
{===program
utama===}
begin
clrscr;
writeln('Program
Untuk Menghitung luas dan keliling persegipanjang');
writeln;
write('Masukan
panjang : ');readln(p);
write('Masukan
lebar : ');readln(l);
writeln;
Hitung_Luas;
{Memanggil prosedur Hitung_Luas}
Hitung_Keliling;
{Memanggil prosedur Hitung_Keliling}
readln;
end.
elanjutnya kita modifikasi program tadi, dengan menambahkan
prosedur sehingga menjadi seperti dibawah ini :
Gambar 8. Program Persegipanjang
menggunakan prosedur
Pada program tanpa
prosedur maka seluruh
statement
dituliskan di dalam blok program utama, sehingga ketika program
semakin besar maka blok program utama semakin padat. Tetapi bila
menggunakan prosedur maka di dalam blok program utama akan lebih
sedikit, karena hanya berisi nama prosedur yang dibutuhkan dan
statement
tambahan lainnnya yang dibutuhkan. Pada contoh diatas nama prosedur
yang dipanggil di dalam blok program utama yaitu Hitung_Luas
dan Hitung_Keliling
dan arah pemanggilan prosedur digambarkan dengan garis putus-putus
berwarna merah agar lebih jelas.
Bila dituliskan di Editor Turbo Pascal
kira-kira tampilannya seperti dibawah ini. Untuk melihat hasilnya,
seperti biasa silahkan tekan Ctrl + F9. Bila program sudah dieksekusi
maka kedua program tersebut (program dengan prosedur atau tanpa
prosedur) akan memberikan hasil yang sama, tetapi dari teknik
pembuatan program jelas berbeda.
Gambar
9. Tampilan di Editor Turbo Pascal,
Program
Persegipanjang menggunakan prosedur
Procedure
Prosedur1;
begin
statement-1;
statement-2;
...
Statement-n;
end;
3
4
5
9
etika kita membuat suatu program tanpa prosedur maka
seluruh statement yang terdapat di dalam program utama akan
dieksekusi secara beruntun (sequential) dari atas ke bawah,
sedangkan bila menggunakan prosedur, maka program utama hanya akan
mengeksekusi prosedur-prosedur yang dipanggil, bila prosedur tersebut
dipanggil di dalam program utama, jadi bila untuk sementara kita
tidak membutuhkannya, maka cara mudah yang dapat kita lakukan yaitu
tidak usah menghapusnya tetapi cukup dengan tidak memanggilnya di
dalam blok program utama.
{program
utama}
begin
statement-1;
statement-2;
Prosedur1;
statement-3;
statement-4;
statement-5;
Prosedur2;
Statement-6;
statement-n;
end.
2
1
Procedure
Prosedur2;
begin
statement-1;
statement-2;
...
Statement-n;
end;
6
7
8
Gambar
10. Arah eksekusi program utama ketika terdapat prosedur, maka akan
memanggil prosedur dan melakasanakan statement yang terdapat di dalam
prosedur
- Variabel Global dan Variabel Lokal
Untuk lebih memudahkan kita memahami
variabel lokal dan variabel global, mari kita modifikasi listing
prorgram pada Gambar 9, perubahannya hanya sedikit yaitu, memindahkan
penulisan variabel ls
ke dalam Procedure
Hitung_luas , dan variabel
kel
dipindahkan ke dalam Procedure
Hitung_keliling, sehingga
menjadi seperti dibawah ini.
Gambar
11. Program Persegipanjang menggunakan prosedur dengan
variabel lokal
Variabel
p
dan l
pada listing program di Gambar 11 diatas, bersifat global sehingga
dapat dikenali baik di program utama maupun didalam Procedure
Hitung_luas dan
Procedure
Hitung_keliling,
variabel semacam itulah yang dimaksud dengan variabel global.
Sedangkan variabel
ls
dan variabel kel
bersifat lokal dan hanya dikenali oleh program itu sendiri, variabel
seperti itu disebut variabel lokal. Bila variabel lokal dipanggil
diluar prosedur tersebut maka tidak akan dikenali dan program menjadi
error,
sebagai bukti mari kita sedikit modifikasi listing program pada
gambar 11, output program yang terdapat pada masing-masing program
kita pindahkan ke dalam blok program utama, sehingga di dalam setiap
prosedur hanya terdapat satu statement
saja, hasilnya seperti dibawah ini.
Gambar
12. Program Persegipanjang , bila variabel lokal dipanggil
dari luar
Bila program tersebut dicompile
maka akan
terjadi error
karena variabel ls dan
kel tidak dikenali (unknown
identifier) di dalam blok
program utama.
Prosedur yang terdapat
di dalam program pada listing diatas adalah contoh prosedur tanpa
parameter.. Bila prosedur tidak memiliki parameter maka tanda kurung
setelah nama prosedur tidak perlu disertakan. Agar
listing program pada gambar 12 tidak terjadi error
ketika
dicompile,
maka dapat dilakukan cara sebagai berikut :
- Dibuat bersifat global
Supaya suatu variabel bersifat global,
maka harus dideklarasikan di atas modul yang menggunakannya. Misalnya
listing program pada gambar 12 dikembalikan sepertii listing program
pada gambar 11.
- Dikirim sebagai parameter ke modul yang membutuhkannya.
Bagaimana caranya?, apa yang dimaksud
dengan parameter?, semoga tulisan berikut ini bisa menjawab kedua
pertanyaan tersebut.
- Parameter
Secara sederhana parameter merupakan
variabel yang dituliskan di dalam kurung setelah nama prosedur atau
fungsi. Dalam pembuatan program biasanya diperlukan pertukaran
informasi antara prosedur atau fungsi, serta pada blok progam utama
dimana nama prosedur atau fungsi tersebut dipanggil.
Berdasarkan penulisannya terdapat 2
jenis parameter, yaitu : parameter formal (formal
parameter) dan parameter aktual (actual parameter).
Parameter formal adalah parameter yang disertakan/dituliskan
pada saat pendefinisian prosedur/fungsi itu sendiri. Sedangkan
parameter aktual adalah parameter yang disertakan pada saat
pemanggilan prosedur/fungsi tersebut di blok program utama.
Berdasarkan tujuannya terdapat 3 jenis
parameter formal :
- Parameter masukan (input parameter), yaitu : parameter yang nilainya berfungsi sebagai masukan untuk prosedur/fungsi, jenis parameter ini kadang disebut juga parameter nilai (value parameter atau parameter by value).
- Parameter keluaran (output parameter), yaitu : parameter yang berfungsi untuk menampung keluaran yang dihasilkan oleh prosedur.
- Parameter masukan/keluaran (input/output parameter) adalah parameter yang berfungsi sebagai “pintu” masuk dan keluar bagi prosedur tersebut. Parameter keluaran (output parameter) dan parameter masukan/keluaran (input/output parameter) kadang disebut parameter acuan (reference parameter atau paramater by reference).
Untuk lebih jelasnya, kita langsung
praktekannya saja, seperti biasa kita modifikasi listing program pada
gambar 12, sehingga hasilnya seperti dibawah ini.
Program
PersegiPanjang; {judul Program Utama}
uses crt;
Procedure
Hitung_Luas(p,l:integer);
{Prosedur dengan parameter}
var
ls:integer; {variabel
lokal}
begin
ls:=p*l;
writeln('Luas
:',ls);
end;
Procedure
Hitung_Keliling(p,l:integer); {Prosedur
dengan parameter}
var
kel:integer; {variabel
lokal}
begin
kel:=(2*p)+(2*l);
writeln('Keliling
:',kel);
end;
{===program
utama===}
var
pj,lbr:integer;
begin
clrscr;
writeln('Program
Untuk Menghitung luas dan keliling persegipanjang');
writeln;
write('Masukan
panjang : ');readln(pj);
write('Masukan
lebar : ');readln(lbr);
writeln;
Hitung_Luas(pj,lbr);
{Memanggil prosedur Hitung_Luas}
Hitung_Keliling(pj,lbr);
{Memanggil prosedur Hitung_Keliling}
readln;
end.
Gambar 13. Program Persegipanjang , dengan parameter
Parameter input adalah parameter yang
nilainya berfungsi sebagai masukan untuk prosedur. Nilai yang
dimasukan adalah nilai dari parameter aktual. Pada listing program
gambar 13 diatas, parameter aktual/nyata (actual
parameter) adalah pj
dan lbr,
sedangkan p
dan l adalah
parameter formal (formal
parameter). Nama parameter
aktual dan parameter formal boleh berbeda, yang penting tipe datanya
sama, p
dan l
yang ditulis di dalam kurung setelah nama prosedur seperti listing
program diatas termasuk ke dalam parameter input. Maksudnya bahwa p
dan l berfungsi
sebagai pintu masuk data bagi prosedur Hitung_Luas
dan Hitung_Keliling.
Data yang masuk ke dalam parameter p
berasal dari parameter aktual pj,
dan data yang masuk ke dalam parameter
l berasal dari parameter
aktual lbr.
Bila diketikan di editor Turbo Pascal kurang lebih hasilnya sebagai
berikut :
Gambar
14. Tampilan di Editor Turbo Pascal, Program Persegipanjang ,
dengan parameter
- Passing Parameter
Proses pengiriman data dari parameter
aktual ke parameter formal disebut dengan transfer parameter (passing
parameter). Nama Parameter aktual dan parameter formal boleh
berbeda, tetapi harus memiliki tipe data yang sama selain itu juga
jumlah parameter aktual dan parameter formal harus sama. Di
Turbo Pascal, parameter dapat dikirim/ditransfer secara nilai (by
value) atau secara acuan (by
reference).
- Pengiriman parameter secara nilai (by value)
Jika parameter dikirim secara nilai
(by value), maka parameter formal yang terletak di dalam
pendefinisan prosedur akan berisi nilai yang dikirimkan dari
parameter aktual, yang kemudian bersifat lokal di prosedur tersebut.
Bila nilai parameter formal di dalam prosedur tersebut berubah, maka
tidak akan mempengaruhi nilai parameter aktual (nilai parameter
aktual tetap). Pengiriman parameter secara nilai (by value)
biasanya terjadi pada jenis parameter masukan (input parameter).
Agar lebih jelas seperti biasa kita modifikasi listing program Gambar
14, sehingga lebih pendek dan agar lebih sederhana kita buat hanya
terdapat satu prosedur saja, hasil modifikasinya dapat dilihat pada
gambar dibawah ini.
- Program PersegiPanjang; {judul Program Utama}
- uses crt;
- Procedure Hitung_Luas(p,l,ls:integer); {Prosedur dengan parameter}
- begin
- ls:=p*l;
- writeln('p = ',p);
- writeln('l = ',l);
- writeln('ls = ',ls);
- end;
- {===program utama===}
- var
- pj,lbr,luas:integer;
- begin
- clrscr;
- writeln('Program Untuk Menghitung luas persegipanjang');
- pj:=10;
- lbr:=6;
- luas:=0;
- writeln;
- Hitung_Luas(pj,lbr,luas); {Memanggil prosedur Hitung_Luas}
- writeln;
- writeln('pj = ',pj);
- writeln('lbr = ',lbr);
- writeln('luas = ',luas);
- readln;
- end.
Gambar
15. Program Persegipanjang , dengan pengiriman parameter
secara nilai
Nilai-nilai parameter aktual pj
, lbr dan
luas di dalam blok program
utama dikirimkan ke parameter formal p,
l dan
ls di prosedur
Hitung_Luas. Dengan
demikian, nilai parameter p,
l dan
ls di prosedur Hitung_Luas
akan berisi nilai yang sama dengan parameter
pj , lbr
dan
luas di dalam blok program
utama. Bila program dijalankan maka hasilnya seperti dibawah ini.
Gambar
16. Tampilan program hasil running
Parameter formal p
akan berisi nilai yang sama dengan parameter aktual pj,
yaitu 10. Parameter formal
l akan berisi nilai yang
sama dengan parameter aktual
lbr, yaitu 6. Parameter
formal ls
akan berisi nilai yang sama dengan parameter aktual
luas, yaitu 0. Selanjutnya
pada prosedur Hitung_Luas,
parameter formal ls
kemudian berganti nilai sebesar nilai p
dikali nilai l,
sehingga nilai parameter formal ls
menjadi 10 x 6 = 60. Nilai akhir parameter formal p,
l dan
ls adalah :
p = 10
l = 6
ls = 60
Gambar diatas adalah contoh pengiriman
parameter secara nilai (by
value), pengiriman
parameter seperti ini sifatnya lokal, maksudnya perubahan nilai
parameter di dalam prosedur tidak akan mempengaruhi nilai parameter
aktual di blok program utama, sehingga nilai parameter luas
tidak akan dipengaruhi oleh perubahan nilai ls,
jadi nilai parameter luas
masih tetap 0.
Jadi pengiriman parameter secara nilai
(by value) mempunyai karakteristik sebagai berikut :
- Data yang dikirim dari parameter aktual di blok program utama ke parameter formal di prosedur adalah nilai dari datanya bukan alamat memori letak dari datanya.
- Prosedur/Fungsi yang menerima nilai ini akan menyimpan data tersebut di alamat memori yang berbeda dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi/prosedur tersebut di blok program utama.
- Karena terdapat alamat memori yang berbeda, maka perubahan nilai di fungsi tidak akan merubah nilai asli di bagian program yang memanggil prosedur/fungsi tersebut.
- Pengiriman parameter secara acuan (by reference)
Bila parameter dikirimkan secara acuan
(by refence), maka perubahan-perubahan yang terjadi pada nilai
parameter formal di prosedur akan mempengaruhi nilai parameter aktual
di blok program utama. Jenis parameter ini dideklarasikan di dalam
prosedur dengan menggunakan kata cadangan var. Seperti
biasa, kita modifikasi program pada gambar 15, yaitu dengan
menambahkan kata var pada paramaternya, sehingga hasilnya sebagai
berikut :
- Program PersegiPanjang; {judul Program Utama}
- uses crt;
- Procedure Hitung_Luas(p,l:integer; var ls:integer);{Prosedur dgn parameter}
- begin
- ls:=p*l;
- writeln('p = ',p);
- writeln('l = ',l);
- writeln('ls = ',ls);
- end;
- {===program utama===}
- var
- pj,lbr,luas:integer;
- begin
- clrscr;
- writeln('Program Untuk Menghitung luas persegipanjang');
- pj:=10;
- lbr:=6;
- luas:=0;
- writeln;
- Hitung_Luas(pj,lbr,luas); {Memanggil prosedur Hitung_Luas}
- writeln;
- writeln('pj = ',pj);
- writeln('lbr = ',lbr);
- writeln('luas = ',luas);
- readln;
- end.
Gambar
17. Program Persegipanjang , dengan pengiriman parameter by
reference
Nilai-nilai parameter aktual pj
, lbr dan
luas di dalam blok program
utama dikirimkan ke parameter formal p,
l dan
ls di prosedur
Hitung_Luas. Tetapi karena
penulisan kata var
sebelum ls
pada parameter formal, maka parameter ls
berfungsi sebagai parmeter input/output. Jenis pengiriman parameter
seperti ini disebut pengiriman parameter secara acuan (by
refence). Sehingga hasil
perhitungan di prosedur Hitung_Luas
yang ditampung di ls
akan dilewatkan ke parameter ls
di prosedur tersebut, selanjutnya dikirimkan kembali ke parameter
luas
di blok program utama. Dengan demikian parameter
ls di prosedur Hitung_Luas
akan berisi nilai yang sama dengan parameter
luas di dalam blok program
utama yaitu 60.
Pada gambar diatas diberikan nomor urut 1, 2 dan 3 untuk
menggambarkan urutan langkah transfer parameter dan juga menggunakan
warna berbeda agar mudah membedakannnya.
Bila program dijalankan maka hasilnya
seperti dibawah ini.
Gambar
18. Tampilan program hasil running
Pengiriman parameter secara acuan (by
refence) biasanya terjadi pada jenis parameter keluaran (output
parameter) dan parameter masukan/keluaran (input/output
parameter). Pengiriman parameter secara acuan (by reference)
mempunyai karakteristik sebagai berikut :
- Pada saat pengiriman nilai, yang dikirim dari parameter aktual di blok program utama ke parameter formal di prosedur adalah alamat letak dari nilai datanya bukan.
- Prosedur/Fungsi yang menerima nilai ini akan menggunakan alamat memori yang sama dengan nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi/prosedur tersebut di blok program utama.
- Karena menggunakan alamat memori yang sama, maka perubahan nilai di prosedur/fungsi akan merubah nilai asli di bagian program yang memanggil prosedur/fungsi tersebut.
- Penulisan Fungsi (Function)
Apa yang dimaksud dengan fungsi?.
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. Cara penulisan fungsi
di Turbo Pascal seperti dibawah ini :
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;
Gambar 19. Cara Penulisan Fungsi
Program
PersegiPanjang;
uses
crt;
Function
Luas(p,l:integer ):integer;
begin
Luas:=p*l;
end;
{===program
utama===}
var
pj,lbr:integer;
begin
clrscr;
writeln('Program
Untuk Menghitung luas persegipanjang');
writeln;
write('Masukan
panjang : ');readln(pj);
write('Masukan
lebar : ');readln(lbr);
write('Luasnya
= ',Luas(pj,lbr));
readln;
end.
Gambar 20. Struktur blok program
beserta Fungsi
Jika kita ketikan di editor Turbo
Pascal, kira-kira tampilannya seperti terlihat pada gambar dibawah
ini :
Gambar 21. Tampilan di Editor Turbo
Pascal,
Program Persegipanjang dengan
Fungsi
Sama seperti prosedur, untuk mengakses
setiap Fungsi kita harus memanggil namanya. Fungsi juda 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. Bila kita perhatikan listing program
diatas, terdapat sebuah Fungsi/Function
dengan nama Luas
yang memiliki
parameter p
dan l,
sedangkan tipe nilai balik (return)
yang dihasilkan oleh fungsi tersebut adalah integer.
Pada contoh diatas Luas
digunakan sebagai nama fungsi, dan didalam fungsi tersebut, Luas
digunakan sebagai
variabel untuk menampung hasil perhitungan pada fungsi tersebut.
Tidak ada komentar:
Posting Komentar